=== modified file 'softwarestore/app.py' --- softwarestore/app.py 2009-09-18 14:46:47 +0000 +++ softwarestore/app.py 2009-09-19 21:54:02 +0000 @@ -134,7 +134,10 @@ self.available_pane.connect("app-list-changed", self.on_app_list_changed, self.NOTEBOOK_PAGE_AVAILABLE) - self.alignment_available.add(self.available_pane) + self.available_pane.connect("app-activated", + self.on_app_activated, + self.NOTEBOOK_PAGE_AVAILABLE) + self.alignment_available.add(self.available_pane) # installed pane self.installed_pane = InstalledPane(self.cache, self.xapiandb, @@ -148,6 +151,9 @@ self.installed_pane.connect("app-list-changed", self.on_app_list_changed, self.NOTEBOOK_PAGE_INSTALLED) + self.installed_pane.connect("app-activated", + self.on_app_activated, + self.NOTEBOOK_PAGE_INSTALLED) self.alignment_installed.add(self.installed_pane) # pending view @@ -190,6 +196,9 @@ self._selected_pkgname_for_page[page] = pkgname self.menuitem_copy.set_sensitive(True) self.menuitem_copy_web_link.set_sensitive(True) + + def on_app_activated(self, widget, page): + self.label_status.set_text('') def on_window_main_delete_event(self, widget, event): gtk.main_quit() @@ -219,6 +228,12 @@ self.notebook_view.set_current_page(action) self.update_status_bar() self.update_app_status_menu() + # hide label text when switching to details of package + self.check_switched_page() + + def check_switched_page(self): + if self.active_pane.notebook.get_current_page() == self.active_pane.PAGE_APP_DETAILS: + self.label_status.set_text('') # Menu Items === modified file 'softwarestore/view/availablepane.py' --- softwarestore/view/availablepane.py 2009-09-16 15:58:32 +0000 +++ softwarestore/view/availablepane.py 2009-09-19 21:57:58 +0000 @@ -216,6 +216,7 @@ return self.notebook.set_current_page(self.PAGE_APP_DETAILS) self.searchentry.hide() + self.emit("app-activated") def on_category_activated(self, cat_view, name, query): #print cat_view, name, query # FIXME: integrate this at a lower level, e.g. by sending a === modified file 'softwarestore/view/basepane.py' --- softwarestore/view/basepane.py 2009-09-18 08:56:57 +0000 +++ softwarestore/view/basepane.py 2009-09-19 20:40:06 +0000 @@ -58,6 +58,10 @@ "app-list-changed" : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (int, ), + ), + "app-activated" : (gobject.SIGNAL_RUN_LAST, + gobject.TYPE_NONE, + (), ) } PADDING = 6 === modified file 'softwarestore/view/installedpane.py' --- softwarestore/view/installedpane.py 2009-09-16 15:58:32 +0000 +++ softwarestore/view/installedpane.py 2009-09-19 21:58:22 +0000 @@ -52,6 +52,8 @@ (PAGE_APPLIST, PAGE_APP_DETAILS) = range(2) + new_model_len = 0 + def __init__(self, cache, db, icons, datadir): # parent BasePane.__init__(self, cache, db, icons, datadir) @@ -105,7 +107,8 @@ query, filter=self.apps_filter) self.app_view.set_model(new_model) - self.emit("app-list-changed", len(new_model)) + self.new_model_len = len(new_model) + self.emit("app-list-changed", self.new_model_len) return False def on_search_terms_changed(self, searchentry, terms): """callback when the search entry widget changes""" @@ -130,12 +133,14 @@ self.navigation_bar.remove_id("details") self.notebook.set_current_page(self.PAGE_APPLIST) self.searchentry.show() + self.emit("app-list-changed", self.new_model_len) def on_navigation_details(self, button): """callback when the navigation button with id 'details' is clicked""" if not button.get_active(): return self.notebook.set_current_page(self.PAGE_APP_DETAILS) self.searchentry.hide() + self.emit("app-activated") if __name__ == "__main__": #logging.basicConfig(level=logging.DEBUG)