commit ca160da07dfd048fe1bb203375a47237ac1ea372
Author: Juergen Spitzmueller <[email protected]>
Date:   Wed Feb 17 14:48:31 2021 +0100

    GuiSearch: separate findClicked() slot from more general function
    
    the latter one is also accessed by different paths than clicking
---
 src/frontends/qt/GuiSearch.cpp |   60 ++++++++++++++++++++++++---------------
 src/frontends/qt/GuiSearch.h   |   10 ++++--
 2 files changed, 44 insertions(+), 26 deletions(-)

diff --git a/src/frontends/qt/GuiSearch.cpp b/src/frontends/qt/GuiSearch.cpp
index fcb8c85..a9b93d8 100644
--- a/src/frontends/qt/GuiSearch.cpp
+++ b/src/frontends/qt/GuiSearch.cpp
@@ -106,7 +106,7 @@ void GuiSearchWidget::keyPressEvent(QKeyEvent * ev)
 
        // catch Return and Shift-Return
        if (ev->key() == Qt::Key_Return || ev->key() == Qt::Key_Enter) {
-               findClicked(ev->modifiers() == Qt::ShiftModifier);
+               doFind(ev->modifiers() == Qt::ShiftModifier);
                return;
        }
        if (ev->key() == Qt::Key_Escape) {
@@ -119,12 +119,13 @@ void GuiSearchWidget::keyPressEvent(QKeyEvent * ev)
                KeyModifier mod = lyx::q_key_state(ev->modifiers());
                KeySequence keyseq(&theTopLevelKeymap(), &theTopLevelKeymap());
                FuncRequest fr = keyseq.addkey(sym, mod);
-               if (fr == FuncRequest(LFUN_WORD_FIND_FORWARD) || fr == 
FuncRequest(LFUN_WORD_FIND)) {
-                       findClicked();
+               if (fr == FuncRequest(LFUN_WORD_FIND_FORWARD)
+                   || fr == FuncRequest(LFUN_WORD_FIND)) {
+                       doFind();
                        return;
                }
                if (fr == FuncRequest(LFUN_WORD_FIND_BACKWARD)) {
-                       findClicked(true);
+                       doFind(true);
                        return;
                }
                if (fr == FuncRequest(LFUN_DIALOG_TOGGLE, "findreplace")) {
@@ -193,41 +194,31 @@ void GuiSearchWidget::findChanged()
        replacePrevPB->setEnabled(replace);
        replaceallPB->setEnabled(replace);
        if (instantSearchCB->isChecked() && !emptytext)
-               findClicked(false, true);
+               doFind(false, true);
 }
 
 
-void GuiSearchWidget::findClicked(bool const backwards, bool const instant)
+void GuiSearchWidget::findClicked()
 {
-       docstring const needle = qstring_to_ucs4(findCO->currentText());
-       find(needle, caseCB->isChecked(), wordsCB->isChecked(), !backwards,
-            instant, wrapCB->isChecked(), selectionCB->isChecked());
-       uniqueInsert(findCO, findCO->currentText());
-       if (!instant)
-               findCO->lineEdit()->selectAll();
+       doFind();
 }
 
 
 void GuiSearchWidget::findPrevClicked()
 {
-       findClicked(true);
+       doFind(true);
 }
 
 
-void GuiSearchWidget::replaceClicked(bool const backwards)
+void GuiSearchWidget::replaceClicked()
 {
-       docstring const needle = qstring_to_ucs4(findCO->currentText());
-       docstring const repl = qstring_to_ucs4(replaceCO->currentText());
-       replace(needle, repl, caseCB->isChecked(), wordsCB->isChecked(),
-               !backwards, false, wrapCB->isChecked(), 
selectionCB->isChecked());
-       uniqueInsert(findCO, findCO->currentText());
-       uniqueInsert(replaceCO, replaceCO->currentText());
+       doReplace();
 }
 
 
 void GuiSearchWidget::replacePrevClicked()
 {
-       replaceClicked(true);
+       doReplace(true);
 }
 
 
@@ -242,9 +233,20 @@ void GuiSearchWidget::replaceallClicked()
 }
 
 
+void GuiSearchWidget::doFind(bool const backwards, bool const instant)
+{
+       docstring const needle = qstring_to_ucs4(findCO->currentText());
+       find(needle, caseCB->isChecked(), wordsCB->isChecked(), !backwards,
+            instant, wrapCB->isChecked(), selectionCB->isChecked());
+       uniqueInsert(findCO, findCO->currentText());
+       if (!instant)
+               findCO->lineEdit()->selectAll();
+}
+
+
 void GuiSearchWidget::find(docstring const & search, bool casesensitive,
-                        bool matchword, bool forward, bool instant,
-                        bool wrap, bool onlysel)
+                          bool matchword, bool forward, bool instant,
+                          bool wrap, bool onlysel)
 {
        docstring const sdata =
                find2string(search, casesensitive, matchword,
@@ -254,6 +256,17 @@ void GuiSearchWidget::find(docstring const & search, bool 
casesensitive,
 }
 
 
+void GuiSearchWidget::doReplace(bool const backwards)
+{
+       docstring const needle = qstring_to_ucs4(findCO->currentText());
+       docstring const repl = qstring_to_ucs4(replaceCO->currentText());
+       replace(needle, repl, caseCB->isChecked(), wordsCB->isChecked(),
+               !backwards, false, wrapCB->isChecked(), 
selectionCB->isChecked());
+       uniqueInsert(findCO, findCO->currentText());
+       uniqueInsert(replaceCO, replaceCO->currentText());
+}
+
+
 void GuiSearchWidget::replace(docstring const & search, docstring const & 
replace,
                            bool casesensitive, bool matchword,
                            bool forward, bool all, bool wrap, bool onlysel)
@@ -261,6 +274,7 @@ void GuiSearchWidget::replace(docstring const & search, 
docstring const & replac
        docstring const sdata =
                replace2string(replace, search, casesensitive,
                               matchword, all, forward, true, wrap, onlysel);
+
        dispatch(FuncRequest(LFUN_WORD_REPLACE, sdata));
 }
 
diff --git a/src/frontends/qt/GuiSearch.h b/src/frontends/qt/GuiSearch.h
index 6e05f49..440e277 100644
--- a/src/frontends/qt/GuiSearch.h
+++ b/src/frontends/qt/GuiSearch.h
@@ -45,10 +45,9 @@ public:
 private Q_SLOTS:
        void findChanged();
        void findBufferChanged();
-       void findClicked(bool const backwards = false,
-                        bool const instant = false);
+       void findClicked();
        void findPrevClicked();
-       void replaceClicked(bool const backwards = false);
+       void replaceClicked();
        void replacePrevClicked();
        void replaceallClicked();
        void minimizeClicked(bool const toggle = true);
@@ -61,6 +60,11 @@ private:
        void keyPressEvent(QKeyEvent * e) override;
        ///
        void showEvent(QShowEvent * e) override;
+       ///
+       void doFind(bool const backwards = false,
+                   bool const instant = false);
+       ///
+       void doReplace(bool const backwards = false);
        /// Searches occurrence of string
        void find(docstring const & search,
                  bool casesensitive, bool matchword,
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to