def __init__(self, notifier, INOTIFY_SUPPORT): self.menu = GtkMenu(self.destroy, self.ExecuteAction) self.notifier = notifier config = ConfigController() self.terminal = config.getValue("terminal") self.systray = config.getValue("systray") self.hideList = config.getValue("hide_list").split(",") self.showFavorites = config.getValue("favorites") self.makemenu = snapfly_core.MakeMenu( self.ExecuteAction, self.move_on_scroll_event, self.terminal, self.hideList, self.showFavorites ) # self.menu.len = self.makemenu.make(self.menu.nbook) self.menu.set_menu(self.makemenu.get_menu()) self.menu.create_menu(self.makemenu.get_favorites(), snapfly_core.cat_icon) self.INOTIFY_SUPPORT = INOTIFY_SUPPORT if self.systray == "true": self.tray = TrayIcon(self.menu.toggle_hide, self.doQuit) self.menu.set_tray_icon(self.tray)
class Menu: def __init__(self, notifier, INOTIFY_SUPPORT): self.menu = GtkMenu(self.destroy, self.ExecuteAction) self.notifier = notifier config = ConfigController() self.terminal = config.getValue("terminal") self.systray = config.getValue("systray") self.hideList = config.getValue("hide_list").split(",") self.showFavorites = config.getValue("favorites") self.makemenu = snapfly_core.MakeMenu( self.ExecuteAction, self.move_on_scroll_event, self.terminal, self.hideList, self.showFavorites ) # self.menu.len = self.makemenu.make(self.menu.nbook) self.menu.set_menu(self.makemenu.get_menu()) self.menu.create_menu(self.makemenu.get_favorites(), snapfly_core.cat_icon) self.INOTIFY_SUPPORT = INOTIFY_SUPPORT if self.systray == "true": self.tray = TrayIcon(self.menu.toggle_hide, self.doQuit) self.menu.set_tray_icon(self.tray) def doQuit(self, *gtk_args): gtk.main_quit() def run(self): gtk.main() def update_menu(self): if not self.updating: self.updating = True self.menu.set_menu(self.makemenu.get_menu()) self.menu.create_menu(self.makemenu.get_favorites(), snapfly_core.cat_icon) self.updating = False def ExecuteAction(self, widget, event, cmd): self.focus_check = False launch_command(cmd) self.menu.toggle_hide(widget, event) def callback_signal(self): self.menu.mode = "mouse" self.menu.toggle_hide() self.menu.mode = None def callback_signal_show(self, category): self.menu.mode = "mouse" self.menu.set_current_page(category) self.menu.toggle_hide() self.menu.mode = None def destroy(self): if self.INOTIFY_SUPPORT: self.notifier.stop() def move_on_scroll_event(self, *gtk_args): """ Method, that have to been called when mouse moves at right part of menu. """ self.mouse_at_scroll = True