Fix viewer search context menu to clear searches not clearing search settings

This commit is contained in:
Kovid Goyal 2021-06-05 07:29:03 +05:30
parent 069fad9a4c
commit 55ccad472e
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 9 additions and 0 deletions

View File

@ -332,6 +332,7 @@ class SearchInput(QWidget): # {{{
sb.initialize('viewer-{}-panel-expression'.format(panel_name)) sb.initialize('viewer-{}-panel-expression'.format(panel_name))
sb.item_selected.connect(self.saved_search_selected) sb.item_selected.connect(self.saved_search_selected)
sb.history_saved.connect(self.history_saved) sb.history_saved.connect(self.history_saved)
sb.history_cleared.connect(self.history_cleared)
sb.cleared.connect(self.cleared) sb.cleared.connect(self.cleared)
sb.lineEdit().returnPressed.connect(self.find_next) sb.lineEdit().returnPressed.connect(self.find_next)
h.addWidget(sb) h.addWidget(sb)
@ -388,6 +389,9 @@ class SearchInput(QWidget): # {{{
sss = {k: v for k, v in iteritems(sss) if k in history} sss = {k: v for k, v in iteritems(sss) if k in history}
vprefs['saved-{}-settings'.format(self.panel_name)] = sss vprefs['saved-{}-settings'.format(self.panel_name)] = sss
def history_cleared(self):
vprefs['saved-{}-settings'.format(self.panel_name)] = {}
def save_search_type(self): def save_search_type(self):
text = self.search_box.currentText() text = self.search_box.currentText()
if text and not self.ignore_search_type_changes: if text and not self.ignore_search_type_changes:

View File

@ -112,6 +112,7 @@ class ResultsDelegate(QStyledItemDelegate): # {{{
class SearchBox(HistoryComboBox): # {{{ class SearchBox(HistoryComboBox): # {{{
history_saved = pyqtSignal(object, object) history_saved = pyqtSignal(object, object)
history_cleared = pyqtSignal()
cleared = pyqtSignal() cleared = pyqtSignal()
def __init__(self, parent=None): def __init__(self, parent=None):
@ -127,6 +128,10 @@ class SearchBox(HistoryComboBox): # {{{
self.history_saved.emit(self.text(), self.history) self.history_saved.emit(self.text(), self.history)
return ret return ret
def clear_history(self):
super().clear_history()
self.history_cleared.emit()
def contextMenuEvent(self, event): def contextMenuEvent(self, event):
menu = self.lineEdit().createStandardContextMenu() menu = self.lineEdit().createStandardContextMenu()
menu.addSeparator() menu.addSeparator()