]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/FindAndReplace.cpp
Use <cstdint> instead of <boost/cstdint.hpp>
[lyx.git] / src / frontends / qt4 / FindAndReplace.cpp
index a0d95684b2592ce47f4457bb472648860b03cf4f..5605b0074fd3c78fd71ea7723bb7b27630d042ff 100644 (file)
@@ -67,6 +67,12 @@ 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;
+
+       // align items on top
+       cbVerticalLayout->setAlignment(Qt::AlignTop);
+       pbVerticalLayout->setAlignment(Qt::AlignTop);
 }
 
 
@@ -309,6 +315,7 @@ bool FindAndReplaceWidget::findAndReplaceScope(FindAndReplaceOptions & opt, bool
        Buffer * buf_orig = &bv->buffer();
        DocIterator cur_orig(bv->cursor());
        int wrap_answer = -1;
+       opt.replace_all = replace_all;
        ostringstream oss;
        oss << opt;
        FuncRequest cmd(LFUN_WORD_FINDADV, from_utf8(oss.str()));
@@ -605,8 +612,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);