]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfind.cpp
Remove unneeded std::.
[lyx.git] / src / lyxfind.cpp
index ba28ad4be0170d352b40940a51c3bd216937f68d..e95f06e27fa9d4fe963124ce12475cf36eb10bb6 100644 (file)
@@ -17,6 +17,7 @@
 #include "lyxfind.h"
 
 #include "Buffer.h"
+#include "BufferList.h"
 #include "buffer_funcs.h"
 #include "BufferParams.h"
 #include "BufferView.h"
@@ -952,12 +953,12 @@ bool next_document_buffer(Buffer * & p_buf) {
                LYXERR(Debug::FIND, "p_old=" << p_old << ", p_master=" << p_master);
        } while (p_master != p_old);
        LASSERT(p_master != NULL, /**/);
-       std::vector<Buffer *> v_children;
+       vector<Buffer *> v_children;
        /* Root master added as first buffer in the vector */
        v_children.push_back(p_master);
        p_master->getChildren(v_children, true);
        LYXERR(Debug::FIND, "v_children.size()=" << v_children.size());
-       std::vector<Buffer *>::const_iterator it = std::find(v_children.begin(), v_children.end(), p_buf);
+       vector<Buffer *>::const_iterator it = find(v_children.begin(), v_children.end(), p_buf);
        LASSERT(it != v_children.end(), /**/)
        ++it;
        if (it == v_children.end()) {
@@ -986,12 +987,12 @@ bool prev_document_buffer(Buffer * & p_buf) {
                LYXERR(Debug::FIND, "p_old=" << p_old << ", p_master=" << p_master);
        } while (p_master != p_old);
        LASSERT(p_master != NULL, /**/);
-       std::vector<Buffer *> v_children;
+       vector<Buffer *> v_children;
        /* Root master added as first buffer in the vector */
        v_children.push_back(p_master);
        p_master->getChildren(v_children, true);
        LYXERR(Debug::FIND, "v_children.size()=" << v_children.size());
-       std::vector<Buffer *>::const_iterator it = std::find(v_children.begin(), v_children.end(), p_buf);
+       vector<Buffer *>::const_iterator it = find(v_children.begin(), v_children.end(), p_buf);
        LASSERT(it != v_children.end(), /**/)
        if (it == v_children.begin()) {
                it = v_children.end();
@@ -1005,6 +1006,26 @@ bool prev_document_buffer(Buffer * & p_buf) {
 }
 
 
+/** Switch p_buf to point to next open buffer.
+ **
+ ** Return true if restarted from first open buffer.
+ **/
+bool next_open_buffer(Buffer * & p_buf) {
+       p_buf = theBufferList().next(p_buf);
+       return p_buf == *theBufferList().begin();
+}
+
+
+/** Switch p_buf to point to previous open buffer.
+ **
+ ** Return true if restarted from last open buffer.
+ **/
+bool prev_open_buffer(Buffer * & p_buf) {
+       p_buf = theBufferList().previous(p_buf);
+       return p_buf == *(theBufferList().end() - 1);
+}
+
+
 /// Finds forward
 int findForwardAdv(DocIterator & cur, MatchStringAdv & match)
 {
@@ -1025,13 +1046,16 @@ int findForwardAdv(DocIterator & cur, MatchStringAdv & match)
                }
                // No match has been found in current buffer
                bool prompt = false;
-               if (match.opt.scope == FindAndReplaceOptions::S_BUFFER) {
+               switch (match.opt.scope) {
+               case FindAndReplaceOptions::S_BUFFER:
                        prompt = true;
-               } else if (match.opt.scope == FindAndReplaceOptions::S_DOCUMENT) {
+                       break;
+               case FindAndReplaceOptions::S_DOCUMENT:
                        prompt = next_document_buffer(match.p_buf);
-               } else {
-                       /* Unimplemented scope */
-                       LASSERT(false, /**/);
+                       break;
+               case FindAndReplaceOptions::S_OPEN_BUFFERS:
+                       prompt = next_open_buffer(match.p_buf);
+                       break;
                }
                if (prompt) {
                        if (wrap_answer != -1)
@@ -1049,6 +1073,7 @@ int findForwardAdv(DocIterator & cur, MatchStringAdv & match)
        return 0;
 }
 
+
 /// Find the most backward consecutive match within same paragraph while searching backwards.
 void findMostBackwards(DocIterator & cur, MatchStringAdv const & match, int & len) {
        DocIterator cur_begin = doc_iterator_begin(cur.buffer());
@@ -1137,13 +1162,16 @@ int findBackwardsAdv(DocIterator & cur, MatchStringAdv & match) {
                }
                // No match has been found in current buffer
                bool prompt = false;
-               if (match.opt.scope == FindAndReplaceOptions::S_BUFFER) {
+               switch (match.opt.scope) {
+               case FindAndReplaceOptions::S_BUFFER:
                        prompt = true;
-               } else if (match.opt.scope == FindAndReplaceOptions::S_DOCUMENT) {
+                       break;
+               case FindAndReplaceOptions::S_DOCUMENT:
                        prompt = prev_document_buffer(match.p_buf);
-               } else {
-                       /* Unimplemented scope */
-                       LASSERT(false, /**/);
+                       break;
+               case FindAndReplaceOptions::S_OPEN_BUFFERS:
+                       prompt = prev_open_buffer(match.p_buf);
+                       break;
                }
                if (prompt) {
                        wrap_answer = frontend::Alert::prompt(