From 215e013edafbf2688cf5dc1742716be919502ee5 Mon Sep 17 00:00:00 2001 From: Marek Siarkowicz Date: Fri, 12 Jun 2015 19:03:25 +0200 Subject: Allow adding different zik version interfaces. --- SysIndicator.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'SysIndicator.py') diff --git a/SysIndicator.py b/SysIndicator.py index ea93677..e8d59be 100644 --- a/SysIndicator.py +++ b/SysIndicator.py @@ -109,14 +109,17 @@ class UniversalMenu: self.actions[MenuItem.title] = MenuItem.action self.menubarMenu.addItem_(MenuItem.nsmenu_item) + def reposition(self): + if sys.platform == "linux2" or sys.platform == "win32": + self.gtk_menu.reposition() + class MenuItem: - def __init__(self, name, action, sensitive=True, checkitem=False): + def __init__(self, name, action, sensitive=True, checkitem=False, visible=True): if sys.platform == "linux2" or sys.platform == "win32": if checkitem: self.gtk_item = gtk.CheckMenuItem(name) else: self.gtk_item = gtk.MenuItem(name) - self.gtk_item.show() if action: self.gtk_item.connect("activate", action) @@ -126,8 +129,11 @@ class MenuItem: self.nsmenu_item = ( NSMenuItem.alloc().initWithTitle_action_keyEquivalent_( name, 'clicked:', '')) - self.set_sensitive(sensitive) + if visible: + self.show() + else: + self.hide() def set_sensitive(self, option): if sys.platform == "linux2" or sys.platform == "win32": @@ -156,6 +162,18 @@ class MenuItem: self.nsmenu_item.setTitle_(option) #self.rumps_item.title=option + def show(self): + if sys.platform == "linux2" or sys.platform == "win32": + self.gtk_item.show() + elif sys.platform == "darwin": + self.nsmenu_item.show() + + def hide(self): + if sys.platform == "linux2" or sys.platform == "win32": + self.gtk_item.hide() + elif sys.platform == "darwin": + self.nsmenu_item.hide() + if __name__ == "__main__": quit_item = MenuItem("Quit", sys.exit, True) -- cgit v1.2.1