# HG changeset patch # User Goffi # Date 1579385572 -3600 # Node ID a77386b73e55cb6fffb8c8cb21636ee8cd0fb482 # Parent 38d763febed6827f749dd38277aa4f1c6879d99b core: change selected_widget when root screen widget is changed diff -r 38d763febed6 -r a77386b73e55 cagou/core/cagou_main.py --- a/cagou/core/cagou_main.py Sat Jan 18 23:12:52 2020 +0100 +++ b/cagou/core/cagou_main.py Sat Jan 18 23:12:52 2020 +0100 @@ -419,10 +419,16 @@ self.app.default_avatar = os.path.join(self.media_dir, "misc/default_avatar.png") self.app.icon = os.path.join(self.media_dir, "icons/muchoslava/png/cagou_profil_bleu_96.png") - self._plg_wids = [] # main widgets plugins - self._plg_wids_transfer = [] # transfer widgets plugins + # main widgets plugins + self._plg_wids = [] + # transfer widgets plugins + self._plg_wids_transfer = [] self._import_plugins() - self._visible_widgets = {} # visible widgets by classes + # visible widgets by classes + self._visible_widgets = {} + # used to keep track of last selected widget in "main" screen when changing + # root screen + self._selected_widget_main = None self.backend_version = sat.__version__ # will be replaced by getVersion() if C.APP_VERSION.endswith('D'): self.version = "{} {}".format( @@ -976,14 +982,20 @@ """show a XMLUI""" self.app.root.changeWidget(ui, "xmlui") self.app.root.show("xmlui") + self._selected_widget_main = self.selected_widget + self.selected_widget = ui def showExtraUI(self, widget): """show any extra widget""" self.app.root.changeWidget(widget, "extra") self.app.root.show("extra") + self._selected_widget_main = self.selected_widget + self.selected_widget = widget def closeUI(self): self.app.root.show() + self.selected_widget = self._selected_widget_main + self._selected_widget_main = None screen = self.app.root._manager.get_screen("extra") screen.clear_widgets()