ability to show / hide roster from statusicon menu. Fixes #5557
This commit is contained in:
parent
abb846f883
commit
062caecfc8
|
@ -66,13 +66,11 @@
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImageMenuItem" id="show_roster_menuitem">
|
<object class="GtkImageMenuItem" id="show_roster_menuitem">
|
||||||
<property name="label">Show _Roster</property>
|
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<property name="image">image5</property>
|
<property name="image">image5</property>
|
||||||
<property name="use_stock">False</property>
|
<property name="use_stock">False</property>
|
||||||
<property name="accel_group">accelgroup1</property>
|
<property name="accel_group">accelgroup1</property>
|
||||||
<signal name="activate" handler="on_show_roster_menuitem_activate"/>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
|
|
@ -172,6 +172,7 @@ class StatusIcon:
|
||||||
status_menuitem = self.xml.get_object('status_menu')
|
status_menuitem = self.xml.get_object('status_menu')
|
||||||
join_gc_menuitem = self.xml.get_object('join_gc_menuitem')
|
join_gc_menuitem = self.xml.get_object('join_gc_menuitem')
|
||||||
sounds_mute_menuitem = self.xml.get_object('sounds_mute_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:
|
if self.single_message_handler_id:
|
||||||
single_message_menuitem.handler_disconnect(
|
single_message_menuitem.handler_disconnect(
|
||||||
|
@ -316,6 +317,16 @@ class StatusIcon:
|
||||||
|
|
||||||
sounds_mute_menuitem.set_active(not gajim.config.get('sounds_on'))
|
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 os.name == 'nt':
|
||||||
if self.added_hide_menuitem is False:
|
if self.added_hide_menuitem is False:
|
||||||
self.systray_context_menu.prepend(gtk.SeparatorMenuItem())
|
self.systray_context_menu.prepend(gtk.SeparatorMenuItem())
|
||||||
|
@ -342,6 +353,10 @@ class StatusIcon:
|
||||||
win = gajim.interface.roster.window
|
win = gajim.interface.roster.window
|
||||||
win.present()
|
win.present()
|
||||||
|
|
||||||
|
def on_hide_roster_menuitem_activate(self, widget):
|
||||||
|
win = gajim.interface.roster.window
|
||||||
|
win.hide()
|
||||||
|
|
||||||
def on_preferences_menuitem_activate(self, widget):
|
def on_preferences_menuitem_activate(self, widget):
|
||||||
if 'preferences' in gajim.interface.instances:
|
if 'preferences' in gajim.interface.instances:
|
||||||
gajim.interface.instances['preferences'].window.present()
|
gajim.interface.instances['preferences'].window.present()
|
||||||
|
|
Loading…
Reference in New Issue