From 8e743613364a1cece4cfa054aa627a4f71249db0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 8 Jul 2014 12:23:33 +0530 Subject: [PATCH] When clicking in the search box, select all existing text, for easy replacement. Fixes #1338862 [[Enhancement] Search enhancements](https://bugs.launchpad.net/calibre/+bug/1338862) --- src/calibre/gui2/search_box.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/calibre/gui2/search_box.py b/src/calibre/gui2/search_box.py index 31603fb50c..15a165eb17 100644 --- a/src/calibre/gui2/search_box.py +++ b/src/calibre/gui2/search_box.py @@ -21,6 +21,7 @@ from calibre.gui2.dialogs.search import SearchDialog class SearchLineEdit(QLineEdit): # {{{ key_pressed = pyqtSignal(object) + select_on_mouse_press = False def keyPressEvent(self, event): self.key_pressed.emit(event) @@ -38,6 +39,16 @@ class SearchLineEdit(QLineEdit): # {{{ def paste(self, *args): self.parent().normalize_state() return QLineEdit.paste(self) + + def focusInEvent(self, ev): + self.select_on_mouse_press = True + return QLineEdit.focusInEvent(self, ev) + + def mousePressEvent(self, ev): + QLineEdit.mousePressEvent(self, ev) + if self.select_on_mouse_press: + self.select_on_mouse_press = False + self.selectAll() # }}} class SearchBox2(QComboBox): # {{{