From ba831d21e38f0d0bad7ff0f791126d95ec2c417a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 30 Nov 2010 19:03:01 -0700 Subject: [PATCH] Search box: Remove select all on focus event as focus events are fired when completion fails/succeeds. Instead select all only when search box is focussed via the keyboard shortcut --- src/calibre/gui2/search_box.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/calibre/gui2/search_box.py b/src/calibre/gui2/search_box.py index 94c9bbe33d..dabd88ff9f 100644 --- a/src/calibre/gui2/search_box.py +++ b/src/calibre/gui2/search_box.py @@ -28,10 +28,6 @@ class SearchLineEdit(QLineEdit): QLineEdit.mouseReleaseEvent(self, event) QLineEdit.selectAll(self) - def focusInEvent(self, event): - QLineEdit.focusInEvent(self, event) - QLineEdit.selectAll(self) - def dropEvent(self, ev): self.parent().normalize_state() return QLineEdit.dropEvent(self, ev) @@ -334,14 +330,17 @@ class SearchBoxMixin(object): shortcuts = QKeySequence.keyBindings(QKeySequence.Find) shortcuts = list(shortcuts) + [QKeySequence('/'), QKeySequence('Alt+S')] self.action_focus_search.setShortcuts(shortcuts) - self.action_focus_search.triggered.connect(lambda x: - self.search.setFocus(Qt.OtherFocusReason)) + self.action_focus_search.triggered.connect(self.focus_search_box) self.addAction(self.action_focus_search) self.search.setStatusTip(re.sub(r'<\w+>', ' ', unicode(self.search.toolTip()))) self.advanced_search_button.setStatusTip(self.advanced_search_button.toolTip()) self.clear_button.setStatusTip(self.clear_button.toolTip()) + def focus_search_box(self, *args): + self.search.setFocus(Qt.OtherFocusReason) + self.search.lineEdit().selectAll() + def search_box_cleared(self): self.tags_view.clear() self.saved_search.clear()