Sat, 02 Sep 2023 12:33:58 +0200
Editor - Search & Replace widget
- Corrected the enable state handling of the "Replace Selection" and "Replace Selection and Search Next" (see issue 509).
src/eric7/QScintilla/SearchReplaceWidget.py | file | annotate | diff | comparison | revisions |
--- a/src/eric7/QScintilla/SearchReplaceWidget.py Fri Sep 01 16:54:26 2023 +0200 +++ b/src/eric7/QScintilla/SearchReplaceWidget.py Sat Sep 02 12:33:58 2023 +0200 @@ -132,10 +132,12 @@ # set line edit completers self.findtextCombo.setCompleter(None) self.findtextCombo.lineEdit().returnPressed.connect(self.__findByReturnPressed) + self.findtextCombo.lineEdit().setClearButtonEnabled(True) self.replacetextCombo.setCompleter(None) self.replacetextCombo.lineEdit().returnPressed.connect( self.on_replaceButton_clicked ) + self.replacetextCombo.lineEdit().setClearButtonEnabled(True) self.__currentEditor = None self.__replaceMode = False @@ -359,6 +361,7 @@ @param enable flag indicating the enable state to be set @type bool """ + enable &= self.__replaceMode self.replaceSearchButton.setEnabled(enable) self.replaceAndSearchAct.setEnabled(enable) @@ -369,6 +372,7 @@ @param enable flag indicating the enable state to be set @type bool """ + enable &= self.__replaceMode self.replaceButton.setEnabled(enable) self.replaceSelectionAct.setEnabled(enable) @@ -379,6 +383,7 @@ @param enable flag indicating the enable state to be set @type bool """ + enable &= self.__replaceMode self.replaceAllButton.setEnabled(enable) self.replaceAllAct.setEnabled(enable) @@ -431,8 +436,9 @@ self.__setFindNextEnabled(enable) self.__setFindPrevEnabled(enable) self.extendButton.setEnabled(enable) - self.__setReplaceSelectionEnabled(False) - self.__setReplaceAndSearchEnabled(False) + if not Preferences.getEditor("QuickSearchEnabled") or not bool(txt): + self.__setReplaceSelectionEnabled(False) + self.__setReplaceAndSearchEnabled(False) self.__setReplaceAllEnabled(enable) @pyqtSlot(str) @@ -487,6 +493,9 @@ self.__finding = False + self.__setReplaceSelectionEnabled(ok) + self.__setReplaceAndSearchEnabled(ok) + if not txt: ok = True # reset the color in case of an empty text