mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add a clear button at the end of all search boxes. Fixes #1696737 [[Opinion] Move the Reset button inside the search field](https://bugs.launchpad.net/calibre/+bug/1696737)
This commit is contained in:
parent
be38e09a34
commit
78a9477167
@ -234,10 +234,7 @@ class SchedulerDialog(QDialog):
|
|||||||
self.go_button = b = QToolButton(self)
|
self.go_button = b = QToolButton(self)
|
||||||
b.setText(_("Go"))
|
b.setText(_("Go"))
|
||||||
b.clicked.connect(self.search.do_search)
|
b.clicked.connect(self.search.do_search)
|
||||||
self.clear_search_button = cb = QToolButton(self)
|
h.addWidget(s), h.addWidget(b)
|
||||||
self.clear_search_button.clicked.connect(self.search.clear_clicked)
|
|
||||||
cb.setIcon(QIcon(I('clear_left.png')))
|
|
||||||
h.addWidget(s), h.addWidget(b), h.addWidget(cb)
|
|
||||||
self.recipes = RecipesView(self)
|
self.recipes = RecipesView(self)
|
||||||
l.addWidget(self.recipes, 1, 0, 1, 1)
|
l.addWidget(self.recipes, 1, 0, 1, 1)
|
||||||
self.recipe_model = recipe_model
|
self.recipe_model = recipe_model
|
||||||
|
@ -229,12 +229,6 @@ class SearchBar(QWidget): # {{{
|
|||||||
self.search_button.setToolTip(
|
self.search_button.setToolTip(
|
||||||
_('Do Quick Search (you can also press the Enter key)'))
|
_('Do Quick Search (you can also press the Enter key)'))
|
||||||
|
|
||||||
x = parent.clear_button = QToolButton(self)
|
|
||||||
x.setIcon(QIcon(I('clear_left.png')))
|
|
||||||
x.setObjectName("clear_button")
|
|
||||||
l.addWidget(x)
|
|
||||||
x.setToolTip(_("Reset Quick Search"))
|
|
||||||
|
|
||||||
x = parent.highlight_only_button = QToolButton(self)
|
x = parent.highlight_only_button = QToolButton(self)
|
||||||
x.setIcon(QIcon(I('arrow-down.png')))
|
x.setIcon(QIcon(I('arrow-down.png')))
|
||||||
l.addWidget(x)
|
l.addWidget(x)
|
||||||
|
@ -102,11 +102,14 @@ class SearchBox2(QComboBox): # {{{
|
|||||||
changed = pyqtSignal()
|
changed = pyqtSignal()
|
||||||
focus_to_library = pyqtSignal()
|
focus_to_library = pyqtSignal()
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None, add_clear_action=True):
|
||||||
QComboBox.__init__(self, parent)
|
QComboBox.__init__(self, parent)
|
||||||
self.normal_background = 'rgb(255, 255, 255, 0%)'
|
self.normal_background = 'rgb(255, 255, 255, 0%)'
|
||||||
self.line_edit = SearchLineEdit(self)
|
self.line_edit = SearchLineEdit(self)
|
||||||
self.setLineEdit(self.line_edit)
|
self.setLineEdit(self.line_edit)
|
||||||
|
if add_clear_action:
|
||||||
|
self.clear_action = self.lineEdit().addAction(QIcon(I('clear_left.png')), self.lineEdit().TrailingPosition)
|
||||||
|
self.clear_action.triggered.connect(self.clear_clicked)
|
||||||
|
|
||||||
c = self.line_edit.completer()
|
c = self.line_edit.completer()
|
||||||
c.setCompletionMode(c.PopupCompletion)
|
c.setCompletionMode(c.PopupCompletion)
|
||||||
@ -166,6 +169,7 @@ class SearchBox2(QComboBox): # {{{
|
|||||||
|
|
||||||
def clear_clicked(self, *args):
|
def clear_clicked(self, *args):
|
||||||
self.clear()
|
self.clear()
|
||||||
|
self.setFocus(Qt.OtherFocusReason)
|
||||||
|
|
||||||
def search_done(self, ok):
|
def search_done(self, ok):
|
||||||
if isinstance(ok, basestring):
|
if isinstance(ok, basestring):
|
||||||
@ -443,7 +447,6 @@ class SearchBoxMixin(object): # {{{
|
|||||||
self.search.changed.connect(self.search_box_changed,
|
self.search.changed.connect(self.search_box_changed,
|
||||||
type=Qt.QueuedConnection)
|
type=Qt.QueuedConnection)
|
||||||
self.search.focus_to_library.connect(self.focus_to_library)
|
self.search.focus_to_library.connect(self.focus_to_library)
|
||||||
self.clear_button.clicked.connect(self.search.clear_clicked)
|
|
||||||
self.advanced_search_button.clicked[bool].connect(self.do_advanced_search)
|
self.advanced_search_button.clicked[bool].connect(self.do_advanced_search)
|
||||||
|
|
||||||
self.search.clear()
|
self.search.clear()
|
||||||
@ -460,7 +463,6 @@ class SearchBoxMixin(object): # {{{
|
|||||||
self.search.setStatusTip(re.sub(r'<\w+>', ' ',
|
self.search.setStatusTip(re.sub(r'<\w+>', ' ',
|
||||||
unicode(self.search.toolTip())))
|
unicode(self.search.toolTip())))
|
||||||
self.advanced_search_button.setStatusTip(self.advanced_search_button.toolTip())
|
self.advanced_search_button.setStatusTip(self.advanced_search_button.toolTip())
|
||||||
self.clear_button.setStatusTip(self.clear_button.toolTip())
|
|
||||||
self.set_highlight_only_button_icon()
|
self.set_highlight_only_button_icon()
|
||||||
self.highlight_only_button.clicked.connect(self.highlight_only_clicked)
|
self.highlight_only_button.clicked.connect(self.highlight_only_clicked)
|
||||||
tt = _('Enable or disable search highlighting.') + '<br><br>'
|
tt = _('Enable or disable search highlighting.') + '<br><br>'
|
||||||
@ -525,7 +527,7 @@ class SavedSearchBoxMixin(object): # {{{
|
|||||||
|
|
||||||
def init_saved_seach_box_mixin(self):
|
def init_saved_seach_box_mixin(self):
|
||||||
self.saved_search.changed.connect(self.saved_searches_changed)
|
self.saved_search.changed.connect(self.saved_searches_changed)
|
||||||
self.clear_button.clicked.connect(self.saved_search.clear)
|
self.search.clear_action.triggered.connect(self.saved_search.clear)
|
||||||
self.save_search_button.clicked.connect(
|
self.save_search_button.clicked.connect(
|
||||||
self.saved_search.save_search_button_clicked)
|
self.saved_search.save_search_button_clicked)
|
||||||
self.copy_search_button.clicked.connect(
|
self.copy_search_button.clicked.connect(
|
||||||
|
@ -447,7 +447,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{
|
|||||||
'log will be displayed automatically.')%self.gui_debug, show=True)
|
'log will be displayed automatically.')%self.gui_debug, show=True)
|
||||||
|
|
||||||
def esc(self, *args):
|
def esc(self, *args):
|
||||||
self.clear_button.click()
|
self.search.clear()
|
||||||
|
|
||||||
def shift_esc(self):
|
def shift_esc(self):
|
||||||
self.current_view().setFocus(Qt.OtherFocusReason)
|
self.current_view().setFocus(Qt.OtherFocusReason)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user