Set to remember the last find input for findreplace.ui

https://anki.tenderapp.com/discussions/ankidesktop/39468-find-and-replace-does-not-remember-the-input-from-last-time
This commit is contained in:
evandrocoan 2020-05-31 00:04:21 -03:00
parent a0c1b68b86
commit ba99c5ecb5
2 changed files with 30 additions and 2 deletions

View file

@ -1929,6 +1929,13 @@ update cards set usn=?, mod=?, did=? where id in """
frm = aqt.forms.findreplace.Ui_Dialog()
frm.setupUi(d)
d.setWindowModality(Qt.WindowModal)
findhistory = self.mw.pm.profile.get("FindAndReplaceFindHistory", [])
frm.find.addItems(findhistory)
frm.find.lineEdit().setText(findhistory[0] if findhistory else "")
frm.find.lineEdit().selectAll()
frm.find.setFocus()
frm.field.addItems([_("All Fields")] + fields)
qconnect(frm.buttonBox.helpRequested, self.onFindReplaceHelp)
restoreGeom(d, "findreplace")
@ -1941,7 +1948,15 @@ update cards set usn=?, mod=?, did=? where id in """
else:
field = fields[frm.field.currentIndex() - 1]
search = frm.find.text()
search = frm.find.lineEdit().text()
if search in findhistory:
findhistory.remove(search)
findhistory.insert(0, search)
findhistory = findhistory[:30]
frm.find.clear()
frm.find.addItems(findhistory)
self.mw.pm.profile["FindAndReplaceFindHistory"] = findhistory
replace = frm.replace.text()
regex = frm.re.isChecked()
nocase = frm.ignoreCase.isChecked()

View file

@ -24,7 +24,20 @@
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="find"/>
<widget class="QComboBox" name="find">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>9</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="editable">
<bool>true</bool>
</property>
<property name="insertPolicy">
<enum>QComboBox::NoInsert</enum>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">