change click on systray behaviour. left click always toggle roster appearance, middle lcick to open pending events. fixes #2932

This commit is contained in:
Yann Leboulanger 2007-02-15 22:15:37 +00:00
parent 3fd9792b20
commit d7f5885778

View file

@ -267,8 +267,7 @@ class Systray:
def on_left_click(self): def on_left_click(self):
win = gajim.interface.roster.window win = gajim.interface.roster.window
if len(gajim.events.get_systray_events()) == 0: # toggle visible/hidden for roster window
# no pending events, so toggle visible/hidden for roster window
if win.get_property('visible'): # visible in ANY virtual desktop? if win.get_property('visible'): # visible in ANY virtual desktop?
# we could be in another VD right now. eg vd2 # we could be in another VD right now. eg vd2
@ -281,8 +280,6 @@ class Systray:
# because user wants to see roster # because user wants to see roster
win.deiconify() win.deiconify()
win.present() win.present()
else:
self.handle_first_event()
def handle_first_event(self): def handle_first_event(self):
account, jid, event = gajim.events.get_first_systray_event() account, jid, event = gajim.events.get_first_systray_event()
@ -291,11 +288,9 @@ class Systray:
def on_middle_click(self): def on_middle_click(self):
'''middle click raises window to have complete focus (fe. get kbd events) '''middle click raises window to have complete focus (fe. get kbd events)
but if already raised, it hides it''' but if already raised, it hides it'''
win = gajim.interface.roster.window if len(gajim.events.get_systray_events()) == 0:
if win.is_active(): # is it fully raised? (eg does it receive kbd events?) return
win.hide() self.handle_first_event()
else:
win.present()
def on_clicked(self, widget, event): def on_clicked(self, widget, event):
self.on_tray_leave_notify_event(widget, None) self.on_tray_leave_notify_event(widget, None)