]> git.lyx.org Git - lyx.git/commitdiff
Initialize F&R dialog with selected text (#8448)
authorJuergen Spitzmueller <spitz@lyx.org>
Mon, 15 Feb 2021 15:04:17 +0000 (16:04 +0100)
committerJuergen Spitzmueller <spitz@lyx.org>
Mon, 15 Feb 2021 15:04:17 +0000 (16:04 +0100)
src/frontends/qt/GuiSearch.cpp
src/frontends/qt/GuiSearch.h
src/frontends/qt/GuiView.cpp

index 519c1c2b48bf68a186efc8bf5c99b40c8f8ede24..416b574f34c3a6cfaf66c6c99f7e0bdbc2c271ce 100644 (file)
@@ -91,6 +91,14 @@ GuiSearchWidget::GuiSearchWidget(QWidget * parent)
 }
 
 
+bool GuiSearchWidget::initialiseParams(std::string const & str)
+{
+       if (!str.empty())
+               findCO->lineEdit()->setText(toqstr(str));
+       return true;
+}
+
+
 void GuiSearchWidget::keyPressEvent(QKeyEvent * ev)
 {
        KeySymbol sym;
index ad8f9c309d3afc3b54d4b7c299c22ab6aa89a333..e90e3dc0c3108a8b810a736091485a0af4c9c20a 100644 (file)
@@ -38,6 +38,8 @@ public:
        ///
        void setBufferView(BufferView const * bv) { bv_ = bv; }
        ///
+       bool initialiseParams(std::string const &);
+       ///
        bool isMinimized() { return minimized_; }
 
 private Q_SLOTS:
@@ -85,7 +87,8 @@ public:
 
        /// Controller inherited method.
        ///@{
-       bool initialiseParams(std::string const &) override { return true; }
+       bool initialiseParams(std::string const & sdata) override
+               { return widget_->initialiseParams(sdata); }
        void clearParams() override {}
        void dispatchParams() override {}
        bool isBufferDependent() const override { return true; }
index 52dc6f95d55f4196f684b206525b776e266a69cc..7a6a9dbe51121e8fdc374efcc16d3f92cb0b138f 100644 (file)
@@ -4426,6 +4426,9 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                                sdata = bv->cursor().getEncoding()->name();
                                if (!sdata.empty())
                                        showDialog("symbols", sdata);
+                       } else if (name == "findreplace") {
+                               sdata = to_utf8(bv->cursor().selectionAsString(false));
+                               showDialog(name, sdata);
                        // bug 5274
                        } else if (name == "prefs" && isFullScreen()) {
                                lfunUiToggle("fullscreen");