diff --git a/data/gui/systray_context_menu.ui b/data/gui/systray_context_menu.ui index 7f0a410a7..b93dc00eb 100644 --- a/data/gui/systray_context_menu.ui +++ b/data/gui/systray_context_menu.ui @@ -66,13 +66,11 @@ - Show _Roster True True image5 False accelgroup1 - diff --git a/src/statusicon.py b/src/statusicon.py index f7a97a2f3..42cebdcd3 100644 --- a/src/statusicon.py +++ b/src/statusicon.py @@ -172,6 +172,7 @@ class StatusIcon: status_menuitem = self.xml.get_object('status_menu') join_gc_menuitem = self.xml.get_object('join_gc_menuitem') sounds_mute_menuitem = self.xml.get_object('sounds_mute_menuitem') + show_roster_menuitem = self.xml.get_object('show_roster_menuitem') if self.single_message_handler_id: single_message_menuitem.handler_disconnect( @@ -316,6 +317,16 @@ class StatusIcon: sounds_mute_menuitem.set_active(not gajim.config.get('sounds_on')) + win = gajim.interface.roster.window + if win.get_property('has-toplevel-focus'): + show_roster_menuitem.get_children()[0].set_label(_('Hide _Roster')) + show_roster_menuitem.connect('activate', + self.on_hide_roster_menuitem_activate) + else: + show_roster_menuitem.get_children()[0].set_label(_('Show _Roster')) + show_roster_menuitem.connect('activate', + self.on_show_roster_menuitem_activate) + if os.name == 'nt': if self.added_hide_menuitem is False: self.systray_context_menu.prepend(gtk.SeparatorMenuItem()) @@ -342,6 +353,10 @@ class StatusIcon: win = gajim.interface.roster.window win.present() + def on_hide_roster_menuitem_activate(self, widget): + win = gajim.interface.roster.window + win.hide() + def on_preferences_menuitem_activate(self, widget): if 'preferences' in gajim.interface.instances: gajim.interface.instances['preferences'].window.present()