]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/controllers/ControlSearch.C
The reference dialog now disconnects from the inset on Apply. Its behaviour
[lyx.git] / src / frontends / controllers / ControlSearch.C
index 2928857c8521fd81107c4dc4ce446abdeb91916b..9121822b8957705ff87a8f01891d00c10bde31e0 100644 (file)
@@ -27,6 +27,8 @@
 #include "lyxfind.h"
 #include "debug.h"
 #include "gettext.h"
+#include "BufferView.h"
+#include "support/lstrings.h"
 
 using Liason::setMinibuffer;
 using SigC::slot;
@@ -45,8 +47,8 @@ ControlSearch::ControlSearch(LyXView & lv, Dialogs & d)
 void ControlSearch::find(string const & search,
                         bool casesensitive, bool matchword, bool forward) const
 {
-       bool const found = LyXFind(lv_.view(), search, casesensitive,
-                                  matchword, forward);
+       bool const found = LyXFind(lv_.view(), search,
+                                  forward, false, casesensitive, matchword);
    
        if (!found)
                setMinibuffer(&lv_, _("String not found!"));
@@ -56,9 +58,13 @@ void ControlSearch::find(string const & search,
 void ControlSearch::replace(string const & search, string const & replace,
                            bool casesensitive, bool matchword, bool all) const
 {
+       // If not replacing all instances of the word, then do not
+       // move on to the next instance once the present instance has been
+       // changed
+       bool const once = !all;
        int const replace_count = LyXReplace(lv_.view(),
-                                            search, replace, casesensitive, 
-                                            matchword, true, all);
+                                            search, replace, true, casesensitive, 
+                                            matchword, all, once);
                                  
        if (replace_count == 0) {
                setMinibuffer(&lv_, _("String not found!"));