mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Reset Tag browser if the text in the search box is edited
This commit is contained in:
parent
919e123889
commit
e7d0e32148
@ -56,7 +56,8 @@ class SearchBox2(QComboBox):
|
|||||||
To use this class:
|
To use this class:
|
||||||
|
|
||||||
* Call initialize()
|
* Call initialize()
|
||||||
* Connect to the search() and cleared() signals from this widget
|
* Connect to the search() and cleared() signals from this widget.
|
||||||
|
* Connect to the cleared() signal to know when the box content changes
|
||||||
* Call search_done() after every search is complete
|
* Call search_done() after every search is complete
|
||||||
* Use clear() to clear back to the help message
|
* Use clear() to clear back to the help message
|
||||||
'''
|
'''
|
||||||
@ -75,6 +76,7 @@ class SearchBox2(QComboBox):
|
|||||||
type=Qt.DirectConnection)
|
type=Qt.DirectConnection)
|
||||||
self.line_edit.mouse_released.connect(self.mouse_released,
|
self.line_edit.mouse_released.connect(self.mouse_released,
|
||||||
type=Qt.DirectConnection)
|
type=Qt.DirectConnection)
|
||||||
|
self.activated.connect(self.history_selected)
|
||||||
self.setEditable(True)
|
self.setEditable(True)
|
||||||
self.help_state = False
|
self.help_state = False
|
||||||
self.as_you_type = True
|
self.as_you_type = True
|
||||||
@ -139,6 +141,9 @@ class SearchBox2(QComboBox):
|
|||||||
|
|
||||||
def key_pressed(self, event):
|
def key_pressed(self, event):
|
||||||
self.normalize_state()
|
self.normalize_state()
|
||||||
|
if self._in_a_search:
|
||||||
|
self.emit(SIGNAL('changed()'))
|
||||||
|
self._in_a_search = False
|
||||||
if event.key() in (Qt.Key_Return, Qt.Key_Enter):
|
if event.key() in (Qt.Key_Return, Qt.Key_Enter):
|
||||||
self.do_search()
|
self.do_search()
|
||||||
self.timer = self.startTimer(self.__class__.INTERVAL)
|
self.timer = self.startTimer(self.__class__.INTERVAL)
|
||||||
@ -154,6 +159,10 @@ class SearchBox2(QComboBox):
|
|||||||
self.timer = None
|
self.timer = None
|
||||||
self.do_search()
|
self.do_search()
|
||||||
|
|
||||||
|
def history_selected(self, text):
|
||||||
|
self.emit(SIGNAL('changed()'))
|
||||||
|
self.do_search()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def smart_text(self):
|
def smart_text(self):
|
||||||
text = unicode(self.currentText()).strip()
|
text = unicode(self.currentText()).strip()
|
||||||
@ -345,6 +354,7 @@ class SearchBoxMixin(object):
|
|||||||
self.search.initialize('main_search_history', colorize=True,
|
self.search.initialize('main_search_history', colorize=True,
|
||||||
help_text=_('Search (For Advanced Search click the button to the left)'))
|
help_text=_('Search (For Advanced Search click the button to the left)'))
|
||||||
self.connect(self.search, SIGNAL('cleared()'), self.search_box_cleared)
|
self.connect(self.search, SIGNAL('cleared()'), self.search_box_cleared)
|
||||||
|
self.connect(self.search, SIGNAL('changed()'), self.search_box_changed)
|
||||||
self.connect(self.clear_button, SIGNAL('clicked()'), self.search.clear)
|
self.connect(self.clear_button, SIGNAL('clicked()'), self.search.clear)
|
||||||
QObject.connect(self.advanced_search_button, SIGNAL('clicked(bool)'),
|
QObject.connect(self.advanced_search_button, SIGNAL('clicked(bool)'),
|
||||||
self.do_advanced_search)
|
self.do_advanced_search)
|
||||||
@ -364,6 +374,9 @@ class SearchBoxMixin(object):
|
|||||||
self.saved_search.clear_to_help()
|
self.saved_search.clear_to_help()
|
||||||
self.set_number_of_books_shown()
|
self.set_number_of_books_shown()
|
||||||
|
|
||||||
|
def search_box_changed(self):
|
||||||
|
self.tags_view.clear()
|
||||||
|
|
||||||
def do_advanced_search(self, *args):
|
def do_advanced_search(self, *args):
|
||||||
d = SearchDialog(self)
|
d = SearchDialog(self)
|
||||||
if d.exec_() == QDialog.Accepted:
|
if d.exec_() == QDialog.Accepted:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user