From 621f12fc8be94a13fd2e5d2f84ec65f1a39e7b61 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 10 Jun 2017 16:19:08 +0530 Subject: [PATCH] Use a gear icon for advanced search and restore Saved search discoverability --- imgsrc/gear.svg | 120 +++++++++++++++++++++++++++++++++ resources/images/gear.png | Bin 0 -> 7319 bytes src/calibre/gui2/layout.py | 6 +- src/calibre/gui2/search_box.py | 2 +- 4 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 imgsrc/gear.svg create mode 100644 resources/images/gear.png diff --git a/imgsrc/gear.svg b/imgsrc/gear.svg new file mode 100644 index 0000000000..c40d1c7064 --- /dev/null +++ b/imgsrc/gear.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + Kovid Goyal + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/images/gear.png b/resources/images/gear.png new file mode 100644 index 0000000000000000000000000000000000000000..9220638f49a9e7aba33bf8cf5ca818b1c60a0c55 GIT binary patch literal 7319 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 literal 0 HcmV?d00001 diff --git a/src/calibre/gui2/layout.py b/src/calibre/gui2/layout.py index fb7e6c1e10..e5906faf82 100644 --- a/src/calibre/gui2/layout.py +++ b/src/calibre/gui2/layout.py @@ -214,7 +214,7 @@ class SearchBar(QWidget): # {{{ x.setMinimumContentsLength(10) l.addWidget(x) - parent.advanced_search_toggle_action = ac = parent.search.add_action('search.png', QLineEdit.LeadingPosition) + parent.advanced_search_toggle_action = ac = parent.search.add_action('gear.png', QLineEdit.LeadingPosition) parent.addAction(ac) parent.keyboard.register_shortcut('advanced search toggle', _('Advanced search'), default_keys=("Shift+Ctrl+F",), @@ -222,6 +222,8 @@ class SearchBar(QWidget): # {{{ self.search_button = QToolButton() self.search_button.setToolButtonStyle(Qt.ToolButtonTextOnly) + self.search_button.setIcon(QIcon(I('search.png'))) + self.search_button.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.search_button.setText(_('Search')) self.search_button.setAutoRaise(True) self.search_button.setCursor(Qt.PointingHandCursor) @@ -264,6 +266,8 @@ class SearchBar(QWidget): # {{{ x.setToolTip(_( 'Use an existing Saved search or create a new one' )) + x.setText(_('Saved search')) + x.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) x.setCursor(Qt.PointingHandCursor) x.setPopupMode(x.InstantPopup) x.setAutoRaise(True) diff --git a/src/calibre/gui2/search_box.py b/src/calibre/gui2/search_box.py index 33a08e3097..9446eae4a7 100644 --- a/src/calibre/gui2/search_box.py +++ b/src/calibre/gui2/search_box.py @@ -447,7 +447,7 @@ class SearchBoxMixin(object): # {{{ def init_search_box_mixin(self): self.search.initialize('main_search_history', colorize=True, - help_text=_('Search (For advanced search click the icon to the left)')) + help_text=_('Search (For advanced search click the gear icon to the left)')) self.search.cleared.connect(self.search_box_cleared) # Queued so that search.current_text will be correct self.search.changed.connect(self.search_box_changed,