From 40f98a244f1b6b8ff6c0149e451f2d4f67bf0fb8 Mon Sep 17 00:00:00 2001 From: evandrocoan Date: Sun, 31 May 2020 00:57:11 -0300 Subject: [PATCH] Set to browser.py findreplace.ui remember the last regex/case by creating the saveIsChecked and restoreIsChecked. https://anki.tenderapp.com/discussions/ankidesktop/39468-find-and-replace-does-not-remember-the-input-from-last-time --- qt/aqt/browser.py | 8 ++++++++ qt/aqt/utils.py | 11 +++++++++++ 2 files changed, 19 insertions(+) diff --git a/qt/aqt/browser.py b/qt/aqt/browser.py index 8f77afcd7..9dd19beef 100644 --- a/qt/aqt/browser.py +++ b/qt/aqt/browser.py @@ -38,11 +38,13 @@ from aqt.utils import ( qtMenuShortcutWorkaround, restoreGeom, restoreHeader, + restoreIsChecked, restoreSplitter, restoreState, saveComboBoxHistory, saveGeom, saveHeader, + saveIsChecked, saveSplitter, saveState, setupComboBoxHistory, @@ -1936,6 +1938,9 @@ update cards set usn=?, mod=?, did=? where id in """ findhistory = setupComboBoxHistory(frm.find, combo + "Find") replacehistory = setupComboBoxHistory(frm.replace, combo + "Replace") + restoreIsChecked(frm.re, combo + "Regex") + restoreIsChecked(frm.ignoreCase, combo + "ignoreCase") + frm.find.setFocus() frm.field.addItems([_("All Fields")] + fields) qconnect(frm.buttonBox.helpRequested, self.onFindReplaceHelp) @@ -1955,6 +1960,9 @@ update cards set usn=?, mod=?, did=? where id in """ regex = frm.re.isChecked() nocase = frm.ignoreCase.isChecked() + saveIsChecked(frm.re, combo + "Regex") + saveIsChecked(frm.ignoreCase, combo + "ignoreCase") + self.mw.checkpoint(_("Find and Replace")) # starts progress dialog as well self.model.beginReset() diff --git a/qt/aqt/utils.py b/qt/aqt/utils.py index d772ebf76..63d1682dd 100644 --- a/qt/aqt/utils.py +++ b/qt/aqt/utils.py @@ -492,6 +492,17 @@ def restoreState(widget, key): widget.restoreState(aqt.mw.pm.profile[key]) +def saveIsChecked(widget, key): + key += "IsChecked" + aqt.mw.pm.profile[key] = widget.isChecked() + + +def restoreIsChecked(widget, key): + key += "IsChecked" + if aqt.mw.pm.profile.get(key) is not None: + widget.setChecked(aqt.mw.pm.profile[key]) + + def saveSplitter(widget, key): key += "Splitter" aqt.mw.pm.profile[key] = widget.saveState()