From bfa79729a27f6f2bb504d2137f0bc89d192e5f68 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 11 Jan 2011 13:34:18 -0700 Subject: [PATCH] ... --- src/calibre/gui2/preferences/plugins.ui | 4 ++++ src/calibre/gui2/shortcuts.py | 7 ++++++- src/calibre/gui2/viewer/documentview.py | 7 +++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/preferences/plugins.ui b/src/calibre/gui2/preferences/plugins.ui index 18f0786a66..83a904eb08 100644 --- a/src/calibre/gui2/preferences/plugins.ui +++ b/src/calibre/gui2/preferences/plugins.ui @@ -76,6 +76,10 @@ &Add a new plugin + + + :/images/plugins.png:/images/plugins.png + diff --git a/src/calibre/gui2/shortcuts.py b/src/calibre/gui2/shortcuts.py index bdd699a69d..5e56435e10 100644 --- a/src/calibre/gui2/shortcuts.py +++ b/src/calibre/gui2/shortcuts.py @@ -150,7 +150,7 @@ class Delegate(QStyledItemDelegate): custom = [] if editor.custom.isChecked(): for x in ('1', '2'): - sc = getattr(editor, 'shortcut'+x) + sc = getattr(editor, 'shortcut'+x, None) if sc is not None: custom.append(sc) @@ -266,6 +266,11 @@ class ShortcutConfig(QWidget): self.view.scrollTo(index) + @property + def is_editing(self): + return self.view.state() == self.view.EditingState + + if __name__ == '__main__': from calibre.gui2 import is_ok_to_use_qt from calibre.gui2.viewer.keys import SHORTCUTS diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index 55abae0392..4485e63373 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -120,6 +120,13 @@ class ConfigDialog(QDialog, Ui_Dialog): def accept(self, *args): + if self.shortcut_config.is_editing: + from calibre.gui2 import info_dialog + info_dialog(self, _('Still editing'), + _('You are in the middle of editing a keyboard shortcut' + ' first complete that, by clicking outside the ' + ' shortcut editing box.'), show=True) + return c = config() c.set('serif_family', unicode(self.serif_family.currentFont().family())) c.set('sans_family', unicode(self.sans_family.currentFont().family()))