Merge lp:~mvo/software-center/fix-lp1011522 into lp:software-center/5.2

Proposed by Michael Vogt
Status: Merged
Merged at revision: 3058
Proposed branch: lp:~mvo/software-center/fix-lp1011522
Merge into: lp:software-center/5.2
Diff against target: 72 lines (+27/-6)
2 files modified
softwarecenter/ui/gtk3/app.py (+3/-1)
test/gtk3/test_app.py (+24/-5)
To merge this branch: bzr merge lp:~mvo/software-center/fix-lp1011522
Reviewer Review Type Date Requested Status
Gary Lasker (community) Approve
Review via email: mp+112288@code.launchpad.net

Description of the change

This branch fixes bug #1011522. To test:
- run software-center
- click on reinstall-previous purchases
- wait until the data is available
- click on reinstall-previous-purchases again
- a spinner appears and never goes away

This branch fixes that behavior.

To post a comment you must log in.
Revision history for this message
Gary Lasker (gary-lasker) wrote :

Nice simple fix, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'softwarecenter/ui/gtk3/app.py'
--- softwarecenter/ui/gtk3/app.py 2012-06-01 17:51:05 +0000
+++ softwarecenter/ui/gtk3/app.py 2012-06-27 08:26:28 +0000
@@ -882,12 +882,14 @@
882 def on_menuitem_reinstall_purchases_activate(self, menuitem):882 def on_menuitem_reinstall_purchases_activate(self, menuitem):
883 self.view_manager.set_active_view(ViewPages.AVAILABLE)883 self.view_manager.set_active_view(ViewPages.AVAILABLE)
884 self.view_manager.search_entry.clear_with_no_signal()884 self.view_manager.search_entry.clear_with_no_signal()
885 self.available_pane.show_appview_spinner()
886 if self.available_for_me_query:885 if self.available_for_me_query:
887 # we already have the list of available items, so just show it886 # we already have the list of available items, so just show it
887 # (no need for spinner here)
888 self.available_pane.on_previous_purchases_activated(888 self.available_pane.on_previous_purchases_activated(
889 self.available_for_me_query)889 self.available_for_me_query)
890 else:890 else:
891 # show spinner as this may take some time
892 self.available_pane.show_appview_spinner()
891 # fetch the list of available items and show it893 # fetch the list of available items and show it
892 self._create_scagent_if_needed()894 self._create_scagent_if_needed()
893 self._login_via_dbus_sso()895 self._login_via_dbus_sso()
894896
=== modified file 'test/gtk3/test_app.py'
--- test/gtk3/test_app.py 2012-05-21 20:10:39 +0000
+++ test/gtk3/test_app.py 2012-06-27 08:26:28 +0000
@@ -5,17 +5,23 @@
55
6from collections import defaultdict6from collections import defaultdict
7from functools import partial7from functools import partial
88import xapian
9from mock import Mock9
1010from mock import Mock, patch
11from testutils import FakedCache, get_mock_options, setup_test_env11
12from testutils import (
13 FakedCache,
14 get_mock_options,
15 setup_test_env,
16 do_events_with_sleep,
17 )
12setup_test_env()18setup_test_env()
1319
14import softwarecenter.paths20import softwarecenter.paths
15from softwarecenter.db import DebFileApplication, DebFileOpenError21from softwarecenter.db import DebFileApplication, DebFileOpenError
16from softwarecenter.enums import PkgStates, SearchSeparators22from softwarecenter.enums import PkgStates, SearchSeparators
17from softwarecenter.ui.gtk3 import app23from softwarecenter.ui.gtk3 import app
1824from softwarecenter.ui.gtk3.widgets.spinner import SpinnerNotebook
1925
20class ParsePackagesArgsTestCase(unittest.TestCase):26class ParsePackagesArgsTestCase(unittest.TestCase):
21 """Test suite for the parse_packages_args helper."""27 """Test suite for the parse_packages_args helper."""
@@ -315,6 +321,19 @@
315321
316 installed = True322 installed = True
317323
324class MenuTestCase(AppTestCase):
325 """ Test case for the menus """
326
327 def test_reinstall_previous_purchases_lp1011522(self):
328 # pretend we have the available_for_me data (much quicker
329 # than to do a real s-c-agent query for this)
330 self.app.available_for_me_query = xapian.Query()
331 self.app.on_menuitem_reinstall_purchases_activate(None)
332 do_events_with_sleep()
333 self.assertEqual(
334 self.app.available_pane.spinner_notebook.get_current_page(),
335 SpinnerNotebook.CONTENT_PAGE)
336
318337
319if __name__ == "__main__":338if __name__ == "__main__":
320 # avoid spawning recommender-agent, reviews, software-center-agent etc,339 # avoid spawning recommender-agent, reviews, software-center-agent etc,

Subscribers

People subscribed via source and target branches