]> git.lyx.org Git - features.git/commitdiff
Update the Advanced F&R document class when switching buffers.
authorRichard Kimberly Heck <rikiheck@lyx.org>
Fri, 4 May 2018 17:05:36 +0000 (13:05 -0400)
committerRichard Kimberly Heck <rikiheck@lyx.org>
Fri, 5 Oct 2018 00:30:01 +0000 (20:30 -0400)
src/frontends/qt4/FindAndReplace.cpp
src/frontends/qt4/FindAndReplace.h

index a0d95684b2592ce47f4457bb472648860b03cf4f..96fcd588bdc77c896c3fec78139c0ed4f396b63a 100644 (file)
@@ -67,6 +67,8 @@ FindAndReplaceWidget::FindAndReplaceWidget(GuiView & view)
        // We don't want two cursors blinking.
        find_work_area_->stopBlinkingCaret();
        replace_work_area_->stopBlinkingCaret();
+       old_buffer_ = view_.documentBufferView() ? 
+           &(view_.documentBufferView()->buffer()) : 0;
 }
 
 
@@ -605,8 +607,17 @@ bool FindAndReplace::initialiseParams(std::string const & params)
 
 void FindAndReplaceWidget::updateGUI()
 {
-       bool replace_enabled = view_.documentBufferView()
-               && !view_.documentBufferView()->buffer().isReadonly();
+       BufferView * bv = view_.documentBufferView();
+       if (bv) {
+               if (old_buffer_ != &bv->buffer()) {
+                               copy_params(*bv, find_work_area_->bufferView());
+                               copy_params(*bv, replace_work_area_->bufferView());
+                               old_buffer_ = &bv->buffer();
+               }
+       } else
+               old_buffer_ = 0;
+
+       bool const replace_enabled = bv && !bv->buffer().isReadonly();
        replace_work_area_->setEnabled(replace_enabled);
        replacePB->setEnabled(replace_enabled);
        replaceallPB->setEnabled(replace_enabled);
index 93af5357029f7107a5ebc74ac0e23cc6f029dd73..da854da7b73a79de46be1f6758fefd724efeb23d 100644 (file)
@@ -40,6 +40,8 @@ public Q_SLOTS:
 private:
        ///
        GuiView & view_;
+       ///
+       Buffer * old_buffer_;
 
        /// add a string to the combo if needed
        void remember(std::string const & find, QComboBox & combo);