From 43661588b05d21b9c95be146df29e9f3ec7bb412 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 4 Sep 2011 12:56:01 -0600 Subject: [PATCH] ... --- src/calibre/gui2/actions/__init__.py | 4 +++- src/calibre/gui2/keyboard.py | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/actions/__init__.py b/src/calibre/gui2/actions/__init__.py index 4f42a1d2bc..7b07cdf732 100644 --- a/src/calibre/gui2/actions/__init__.py +++ b/src/calibre/gui2/actions/__init__.py @@ -15,6 +15,8 @@ from calibre import prints from calibre.gui2 import Dispatcher from calibre.gui2.keyboard import NameConflict +def menu_action_unique_name(plugin, unique_name): + return u'%s : menu action : %s'%(plugin.unique_name, unique_name) class InterfaceAction(QObject): @@ -214,7 +216,7 @@ class InterfaceAction(QObject): if shortcut is not None and shortcut is not False: keys = ((shortcut,) if isinstance(shortcut, basestring) else tuple(shortcut)) - unique_name = '%s : menu action : %s'%(self.unique_name, unique_name) + unique_name = menu_action_unique_name(self, unique_name) if description is not None: ac.setToolTip(description) ac.setStatusTip(description) diff --git a/src/calibre/gui2/keyboard.py b/src/calibre/gui2/keyboard.py index 6413b216ce..9b0b1d8f69 100644 --- a/src/calibre/gui2/keyboard.py +++ b/src/calibre/gui2/keyboard.py @@ -116,6 +116,11 @@ class Manager(QObject): # {{{ done unregistering. ''' self.shortcuts.pop(unique_name, None) + for group in self.groups.itervalues(): + try: + group.remove(unique_name) + except ValueError: + pass def finalize(self): custom_keys_map = {un:tuple(keys) for un, keys in self.config.get(