def create_menu_item_ex(self, parent_menu, menu_text, image=None, tooltip=None, shortcut=None, triggered=None, is_checked=None, shortcut_name=None, unique_name=None): ac = create_menu_action_unique(self, parent_menu, menu_text, image, tooltip, shortcut, triggered, is_checked, shortcut_name, unique_name) self.actions_unique_map[ac.calibre_shortcut_unique_name] = ac.calibre_shortcut_unique_name return ac
def rebuild_menus(self): m = self.menu m.clear() self.actions_unique_map = {} self.add_item = create_menu_action_unique(self, m, _('Capture cover!'), None, shortcut=False, triggered=self.capture_cover) self.add_item = create_menu_action_unique(self, m, _('Open preview page'), None, shortcut=False, triggered=self.open_preview) m.addSeparator() self.add_item = create_menu_action_unique(self, m, _('Settings'), None, shortcut=False, triggered=self.show_configuration) for menu_id, unique_name in self.old_actions_unique_map.iteritems(): if menu_id not in self.actions_unique_map: self.gui.keyboard.unregister_shortcut(unique_name) self.old_actions_unique_map = self.actions_unique_map self.gui.keyboard.finalize() from calibre.gui2 import gprefs if self.name not in gprefs['action-layout-context-menu']: gprefs['action-layout-context-menu'] += (self.name, ) if self.name not in gprefs['action-layout-toolbar']: gprefs['action-layout-toolbar'] += (self.name, ) for x in (self.gui.preferences_action, self.qaction): x.triggered.connect(self.capture_cover)