def build_menu(self): if ConfigManager.SETTINGS[SHOW_TRAY_ICON]: # Get phrase folders to add to main menu folders = [] items = [] for folder in self.configManager.allFolders: if folder.showInTrayMenu: folders.append(folder) for item in self.configManager.allItems: if item.showInTrayMenu: items.append(item) # Construct main menu menu = popupmenu.PopupMenu(self.app.service, folders, items, False, "AutoKey") if len(items) > 0: menu.addSeparator() self.toggleAction = KToggleAction(i18n("&Enable Monitoring"), menu) self.toggleAction.connect(self.toggleAction, SIGNAL("triggered()"), self.on_enable_toggled) self.toggleAction.setChecked(self.app.service.is_running()) self.toggleAction.setEnabled(not self.app.serviceDisabled) menu.addAction(self.toggleAction) menu.addAction(KIcon("edit-clear"), i18n("&Hide Icon"), self.on_hide_icon) menu.addAction(KIcon("configure"), i18n("&Show Main Window"), self.on_configure) menu.addAction(KStandardAction.quit(self.on_quit, menu)) self.icon.setContextMenu(menu)
def rebuild_menu(self): # Main Menu items self.errorItem = Gtk.MenuItem(_("View script error")) enableMenuItem = Gtk.CheckMenuItem(_("Enable Expansions")) enableMenuItem.set_active(self.app.service.is_running()) enableMenuItem.set_sensitive(not self.app.serviceDisabled) configureMenuItem = Gtk.ImageMenuItem(_("Show Main Window")) configureMenuItem.set_image( Gtk.Image.new_from_stock(Gtk.STOCK_PREFERENCES, Gtk.IconSize.MENU)) removeMenuItem = Gtk.ImageMenuItem(_("Remove icon")) removeMenuItem.set_image( Gtk.Image.new_from_stock(Gtk.STOCK_CLOSE, Gtk.IconSize.MENU)) quitMenuItem = Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_QUIT, None) # Menu signals enableMenuItem.connect("toggled", self.on_enable_toggled) configureMenuItem.connect("activate", self.on_show_configure) removeMenuItem.connect("activate", self.on_remove_icon) quitMenuItem.connect("activate", self.on_destroy_and_exit) self.errorItem.connect("activate", self.on_show_error) # Get phrase folders to add to main menu folders = [] items = [] for folder in self.configManager.allFolders: if folder.showInTrayMenu: folders.append(folder) for item in self.configManager.allItems: if item.showInTrayMenu: items.append(item) # Construct main menu self.menu = popupmenu.PopupMenu(self.app.service, folders, items, False) if len(items) > 0: self.menu.append(Gtk.SeparatorMenuItem()) self.menu.append(self.errorItem) self.menu.append(enableMenuItem) self.menu.append(configureMenuItem) self.menu.append(removeMenuItem) self.menu.append(quitMenuItem) self.menu.show_all() self.errorItem.hide() self.indicator.set_menu(self.menu)