From 5ad0ce80c9bb474559d23cc8e3ec5d8507d8dccf Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 3 Dec 2013 08:47:31 +0530 Subject: [PATCH] Shortcuts config, commit open editor if user clicks OK --- src/calibre/gui2/keyboard.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/calibre/gui2/keyboard.py b/src/calibre/gui2/keyboard.py index 12ea5310e8..9c700adc1b 100644 --- a/src/calibre/gui2/keyboard.py +++ b/src/calibre/gui2/keyboard.py @@ -538,9 +538,13 @@ class Delegate(QStyledItemDelegate): # {{{ w = Editor(parent=parent) w.editing_done.connect(self.editor_done) self.editing_index = index + self.current_editor = w self.sizeHintChanged.emit(index) return w + def accept_changes(self): + self.editor_done(self.current_editor) + def editor_done(self, editor): self.commitData.emit(editor) @@ -579,6 +583,7 @@ class Delegate(QStyledItemDelegate): # {{{ editor.setGeometry(option.rect) def editing_done(self, *args): + self.current_editor = None idx = self.editing_index self.editing_index = None if idx is not None: @@ -625,6 +630,8 @@ class ShortcutConfig(QWidget): # {{{ self.changed_signal.emit() def commit(self): + if self.view.state() == self.view.EditingState: + self.delegate.accept_changes() self._model.commit() def initialize(self, keyboard):