def on_mnuMenuDelete_activate(self, *a): id = self.get_selected_menu() if MenuEditor.menu_is_global(id): text = _("Really delete selected global menu?") else: text = _("Really delete selected menu?") d = Gtk.MessageDialog(parent=self.editor.window, flags = Gtk.DialogFlags.MODAL, type = Gtk.MessageType.WARNING, buttons = Gtk.ButtonsType.OK_CANCEL, message_format = text, ) if MenuEditor.menu_is_global(id): d.format_secondary_text(_("This action is not undoable!")) if d.run() == -5: # OK button, no idea where is this defined... if MenuEditor.menu_is_global(id): fname = os.path.join(get_menus_path(), id) try: os.unlink(fname) except Exception, e: log.error("Failed to remove %s: %s", fname, e) else: del self.app.current.menus[id] self.app.on_profile_modified() self.load_menu_list()
def on_mnuMenuDelete_activate(self, *a): id = self.get_selected_menu() if MenuEditor.menu_is_global(id): text = _("Really delete selected global menu?") else: text = _("Really delete selected menu?") d = Gtk.MessageDialog( parent=self.editor.window, flags=Gtk.DialogFlags.MODAL, type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.OK_CANCEL, message_format=text, ) if MenuEditor.menu_is_global(id): d.format_secondary_text(_("This action is not undoable!")) if d.run() == -5: # OK button, no idea where is this defined... if MenuEditor.menu_is_global(id): fname = os.path.join(get_menus_path(), id) try: os.unlink(fname) except Exception, e: log.error("Failed to remove %s: %s", fname, e) else: del self.app.current.menus[id] self.app.on_profile_modified() self.load_menu_list()
def on_btEditMenu_clicked(self, *a): name = self._get_selected_menu() if name: log.debug("Editing %s", name) me = MenuEditor(self.app, self.on_menu_changed) id = self._get_selected_menu() log.debug("Opening editor for menu ID '%s'", id) me.set_menu(id) me.show(self.editor.window)
def on_new_menu_selected(self, make_copy=False): # 'New menu' selected self.load_menu_list() log.debug("Creating editor for new menu") me = MenuEditor(self.app, self.on_menu_changed) if make_copy: name = self.get_selected_menu() log.debug("Copying %s", name) me = MenuEditor(self.app, self.on_menu_changed) me.set_menu(name) me.set_new_menu() me.allow_menus(self.allow_globals, self.allow_in_profile) me.show(self.editor.window)
def on_cbMenus_changed(self, *a): """ Called when user chooses menu in selection combo """ if self._recursing : return name = self._get_selected_menu() if name == "": # 'New menu' selected self.load_menu_list() log.debug("Creating editor for new menu") me = MenuEditor(self.app, self.on_menu_changed) me.set_new_menu() me.show(self.editor.window) return if name: self.editor.set_action(MenuAction(name))
def on_btEditMenu_clicked(self, *a): name = self.get_selected_menu() if name: log.debug("Editing %s", name) me = MenuEditor(self.app, self.on_menu_changed) id = self.get_selected_menu() log.debug("Opening editor for menu ID '%s'", id) me.set_menu(id) me.allow_menus(self.allow_globals, self.allow_in_profile) me.show(self.editor.window)
def on_cbMenus_changed(self, *a): """ Called when user chooses menu in selection combo """ if self._recursing : return name = self.get_selected_menu() if name == "": # 'New menu' selected self.load_menu_list() log.debug("Creating editor for new menu") me = MenuEditor(self.app, self.on_menu_changed) me.set_new_menu() me.allow_menus(self.allow_globals, self.allow_in_profile) me.show(self.editor.window) return if name: self.builder.get_object("btEditMenu").set_sensitive(name not in MenuEditor.OPEN) cbm = self.builder.get_object("cbMenuType") if cbm and cbm.get_model().get_value(cbm.get_active_iter(), 1) == "gridmenu": # Grid menu self.editor.set_action(GridMenuAction(name)) else: # Normal menu self.editor.set_action(MenuAction(name)) self.editor.set_action(MenuAction(name))
def on_cbMenus_changed(self, *a): """ Called when user changes any menu settings """ if self._recursing: return cbMenuAutoConfirm = self.builder.get_object("cbMenuAutoConfirm") cbConfirmWith = self.builder.get_object("cbConfirmWith") cbCancelWith = self.builder.get_object("cbCancelWith") if cbMenuAutoConfirm and cbConfirmWith: # Control Options block exists in UI lblConfirmWith = self.builder.get_object("lblConfirmWith") lblConfirmWith.set_sensitive(not cbMenuAutoConfirm.get_active()) cbConfirmWith.set_sensitive(not cbMenuAutoConfirm.get_active()) name = self.get_selected_menu() if name == "": # 'New menu' selected self.load_menu_list() log.debug("Creating editor for new menu") me = MenuEditor(self.app, self.on_menu_changed) me.set_new_menu() me.allow_menus(self.allow_globals, self.allow_in_profile) me.show(self.editor.window) return if name: # There is some menu choosen cbControlWith = self.builder.get_object("cbControlWith") self.builder.get_object("btEditMenu").set_sensitive( name not in MenuEditor.OPEN) params = [name] if cbControlWith: params += [ cbControlWith.get_model().get_value( cbControlWith.get_active_iter(), 1), getattr( SCButtons, cbConfirmWith.get_model().get_value( cbConfirmWith.get_active_iter(), 1)), getattr( SCButtons, cbCancelWith.get_model().get_value( cbCancelWith.get_active_iter(), 1)) ] if self.confirm_with_same_active(): params[2] = SAME elif self.confirm_with_same_active(): params += [STICK, SAME] cbm = self.builder.get_object("cbMenuType") # Hide / apply and display 'Items per row' selector if it exists in UI if self.builder.get_object("rvMaxSize"): rvMaxSize = self.builder.get_object("rvMaxSize") spMaxSize = self.builder.get_object("spMaxSize") visible = cbm.get_model().get_value(cbm.get_active_iter(), 1) == "gridmenu" rvMaxSize.set_reveal_child(visible) if visible: max_size = int(spMaxSize.get_adjustment().get_value()) if max_size > 0: # max_size is 2nd parameter params = [params[0], max_size] + params[1:] # Grab menu type and choose apropriate action action = NoAction() if cbm and cbm.get_model().get_value(cbm.get_active_iter(), 1) == "gridmenu": # Grid menu action = GridMenuAction(*params) elif cbm and cbm.get_model().get_value(cbm.get_active_iter(), 1) == "radialmenu": # Circular menu action = RadialMenuAction(*params) elif cbm and cbm.get_model().get_value(cbm.get_active_iter(), 1) == "hmenu": # Horizontal menu action = HorizontalMenuAction(*params) else: # Normal menu action = MenuAction(*params) # Apply Menu Position options, if such block exists in UI if self.builder.get_object("spMenuPosX"): cbMenuPosX = self.builder.get_object("cbMenuPosX") cbMenuPosY = self.builder.get_object("cbMenuPosY") x = int(self.builder.get_object("spMenuPosX").get_value()) y = int(self.builder.get_object("spMenuPosY").get_value()) x *= cbMenuPosX.get_model().get_value( cbMenuPosX.get_active_iter(), 0) y *= cbMenuPosY.get_model().get_value( cbMenuPosY.get_active_iter(), 0) if (x, y) != MenuAction.DEFAULT_POSITION: action = PositionModifier(x, y, action) self.editor.set_action(action)
def on_cbMenus_changed(self, *a): """ Called when user changes any menu settings """ if self._recursing: return cbMenuConfirmWithClick = self.builder.get_object( "cbMenuConfirmWithClick") cbMenuAutoConfirm = self.builder.get_object("cbMenuAutoConfirm") cbMenuAutoCancel = self.builder.get_object("cbMenuAutoCancel") lblControlWith = self.builder.get_object("lblControlWith") cbControlWith = self.builder.get_object("cbControlWith") lblConfirmWith = self.builder.get_object("lblConfirmWith") cbConfirmWith = self.builder.get_object("cbConfirmWith") lblCancelWith = self.builder.get_object("lblCancelWith") cbCancelWith = self.builder.get_object("cbCancelWith") cbm = self.builder.get_object("cbMenuType") menu_type = cbm.get_model().get_value(cbm.get_active_iter(), 1) if cbControlWith: sensitive = True if menu_type == "quickmenu": sensitive = False lblControlWith.set_sensitive(sensitive) cbControlWith.set_sensitive(sensitive) if cbConfirmWith: sensitive = True if cbMenuAutoConfirm and cbMenuAutoConfirm.get_active(): sensitive = False if cbMenuConfirmWithClick and cbMenuConfirmWithClick.get_active(): sensitive = False if menu_type == "quickmenu": sensitive = False lblConfirmWith.set_sensitive(sensitive) cbConfirmWith.set_sensitive(sensitive) if cbCancelWith: sensitive = True if cbMenuAutoCancel and cbMenuAutoCancel.get_active(): sensitive = False if menu_type == "quickmenu": sensitive = False lblCancelWith.set_sensitive(sensitive) cbCancelWith.set_sensitive(sensitive) if cbMenuAutoConfirm: sensitive = True if menu_type == "quickmenu": sensitive = False cbMenuAutoConfirm.set_sensitive(sensitive) name = self.get_selected_menu() if name == "": # 'New menu' selected self.load_menu_list() log.debug("Creating editor for new menu") me = MenuEditor(self.app, self.on_menu_changed) me.set_new_menu() me.allow_menus(self.allow_globals, self.allow_in_profile) me.show(self.editor.window) return if name: # There is some menu choosen self.builder.get_object("btEditMenu").set_sensitive( name not in MenuEditor.OPEN) params = [name] cow = SAME if cbMenuAutoConfirm and cbMenuAutoConfirm.get_active(): cow = SAME elif cbMenuConfirmWithClick and cbMenuConfirmWithClick.get_active( ): cow = DEFAULT elif cbConfirmWith: cow = cbConfirmWith.get_model().get_value( cbConfirmWith.get_active_iter(), 1) cow = getattr(SCButtons, cow) if cow == self.get_default_confirm(): cow = DEFAULT caw = DEFAULT if cbMenuAutoCancel and cbMenuAutoCancel.get_active(): caw = DEFAULT elif cbCancelWith: caw = cbCancelWith.get_model().get_value( cbCancelWith.get_active_iter(), 1) caw = getattr(SCButtons, caw) if caw == self.get_default_cancel(): caw = DEFAULT params += [self.get_control_with(), cow, caw] # Hide / apply and display 'Items per row' selector if it exists in UI if self.builder.get_object("rvMenuSize"): spMenuSize = self.builder.get_object("spMenuSize") menu_type = cbm.get_model().get_value(cbm.get_active_iter(), 1) if menu_type == "gridmenu": self.update_size_display(GridMenuAction("dummy")) size = int(spMenuSize.get_adjustment().get_value()) if size > 0: # size is 2nd parameter params += [False, size] elif menu_type == "radialmenu": self.update_size_display(RadialMenuAction("dummy")) size = int(spMenuSize.get_adjustment().get_value()) if size > 0 and size < 100: # Both 0 and 100 means default here # size is 2nd parameter params += [False, size] else: # , "radialmenu"): self.update_size_display(None) # Grab menu type and choose apropriate action action = NoAction() if cbm and menu_type == "gridmenu": # Grid menu action = GridMenuAction(*params) elif cbm and menu_type == "radialmenu": # Circular menu action = RadialMenuAction(*params) elif cbm and menu_type == "hmenu": # Horizontal menu action = HorizontalMenuAction(*params) elif cbm and menu_type == "quickmenu": # Horizontal menu action = QuickMenuAction(name) else: # Normal menu action = MenuAction(*params) # Apply Menu Position options, if such block exists in UI if self.builder.get_object("spMenuPosX"): cbMenuPosX = self.builder.get_object("cbMenuPosX") cbMenuPosY = self.builder.get_object("cbMenuPosY") x = int(self.builder.get_object("spMenuPosX").get_value()) y = int(self.builder.get_object("spMenuPosY").get_value()) x *= cbMenuPosX.get_model().get_value( cbMenuPosX.get_active_iter(), 0) y *= cbMenuPosY.get_model().get_value( cbMenuPosY.get_active_iter(), 0) if (x, y) != MenuAction.DEFAULT_POSITION: action = PositionModifier(x, y, action) self.editor.set_action(action)
def on_cbMenus_changed(self, *a): """ Called when user changes any menu settings """ if self._recursing : return cbMenuAutoConfirm = self.builder.get_object("cbMenuAutoConfirm") cbConfirmWith = self.builder.get_object("cbConfirmWith") cbCancelWith = self.builder.get_object("cbCancelWith") if cbMenuAutoConfirm and cbConfirmWith: # Control Options block exists in UI lblConfirmWith = self.builder.get_object("lblConfirmWith") lblConfirmWith.set_sensitive(not cbMenuAutoConfirm.get_active()) cbConfirmWith.set_sensitive(not cbMenuAutoConfirm.get_active()) name = self.get_selected_menu() if name == "": # 'New menu' selected self.load_menu_list() log.debug("Creating editor for new menu") me = MenuEditor(self.app, self.on_menu_changed) me.set_new_menu() me.allow_menus(self.allow_globals, self.allow_in_profile) me.show(self.editor.window) return if name: # There is some menu choosen cbControlWith = self.builder.get_object("cbControlWith") self.builder.get_object("btEditMenu").set_sensitive(name not in MenuEditor.OPEN) params = [ name ] if cbControlWith: params += [ cbControlWith.get_model().get_value(cbControlWith.get_active_iter(), 1), getattr(SCButtons, cbConfirmWith.get_model().get_value(cbConfirmWith.get_active_iter(), 1)), getattr(SCButtons, cbCancelWith.get_model().get_value(cbCancelWith.get_active_iter(), 1)) ] if self.confirm_with_same_active(): params[2] = SAME elif self.confirm_with_same_active(): params += [ STICK, SAME ] # Grab menu type and choose apropriate action cbm = self.builder.get_object("cbMenuType") action = NoAction() if cbm and cbm.get_model().get_value(cbm.get_active_iter(), 1) == "gridmenu": # Grid menu action = GridMenuAction(*params) elif cbm and cbm.get_model().get_value(cbm.get_active_iter(), 1) == "radialmenu": # Circular menu action = RadialMenuAction(*params) else: # Normal menu action = MenuAction(*params) # Apply Menu Position options, if such block exists in UI if self.builder.get_object("spMenuPosX"): cbMenuPosX = self.builder.get_object("cbMenuPosX") cbMenuPosY = self.builder.get_object("cbMenuPosY") x = int(self.builder.get_object("spMenuPosX").get_value()) y = int(self.builder.get_object("spMenuPosY").get_value()) x *= cbMenuPosX.get_model().get_value(cbMenuPosX.get_active_iter(), 0) y *= cbMenuPosY.get_model().get_value(cbMenuPosY.get_active_iter(), 0) if (x, y) != MenuAction.DEFAULT_POSITION: action = PositionModifier(x, y, action) self.editor.set_action(action)