X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfind.h;h=589a5d01d5870177a2e9a42cdfe477d42f506192;hb=90f7007a2e6c78ffd031e4636ff909ab1bc2ddec;hp=9dc17df86b93742399993dda77d9310fb84e0667;hpb=5a1dc7248362da8c5bcb703a0055b1c02450b176;p=lyx.git diff --git a/src/lyxfind.h b/src/lyxfind.h index 9dc17df86b..589a5d01d5 100644 --- a/src/lyxfind.h +++ b/src/lyxfind.h @@ -43,25 +43,28 @@ docstring const find2string(docstring const & search, * as a string that can be dispatched to the LyX core in a FuncRequest * wrapper. */ -docstring const replace2string(docstring const & search, - docstring const & replace, +docstring const replace2string(docstring const & replace, + docstring const & search, bool casesensitive, bool matchword, bool all, - bool forward); + bool forward, + bool findnext = true); /** Parse the string encoding of the find request that is found in * \c ev.argument and act on it. * The string is encoded by \c find2string. * \return true if the string was found. */ -bool find(BufferView * bv, FuncRequest const & ev); +bool lyxfind(BufferView * bv, FuncRequest const & ev); /** Parse the string encoding of the replace request that is found in * \c ev.argument and act on it. * The string is encoded by \c replace2string. + * \return whether we did anything */ -void replace(BufferView * bv, FuncRequest const &, bool has_deleted = false); +bool lyxreplace(BufferView * bv, + FuncRequest const &, bool has_deleted = false); /// find the next change in the buffer bool findNextChange(BufferView * bv); @@ -73,30 +76,36 @@ bool findPreviousChange(BufferView * bv); /// \param next true to find the next change, otherwise the previous bool findChange(BufferView * bv, bool next); -// Hopefully, nobody will ever replace with something like this -#define LYX_FR_NULL_STRING "__LYX__F&R__NULL__STRING__" - class FindAndReplaceOptions { public: + typedef enum { + S_BUFFER, + S_DOCUMENT, + S_OPEN_BUFFERS, + S_ALL_MANUALS + } SearchScope; FindAndReplaceOptions( - docstring const & search, + docstring const & find_buf_name, bool casesensitive, bool matchword, bool forward, bool expandmacros, bool ignoreformat, - bool regexp, - docstring const & replace + docstring const & repl_buf_name, + bool keep_case, + SearchScope scope = S_BUFFER ); FindAndReplaceOptions() { } - docstring search; + docstring find_buf_name; bool casesensitive; bool matchword; bool forward; bool expandmacros; bool ignoreformat; - bool regexp; - docstring replace; + /// This is docstring() if no replace was requested + docstring repl_buf_name; + bool keep_case; + SearchScope scope; }; /// Write a FindAdvOptions instance to a stringstream @@ -105,9 +114,6 @@ std::ostringstream & operator<<(std::ostringstream & os, lyx::FindAndReplaceOpti /// Read a FindAdvOptions instance from a stringstream std::istringstream & operator>>(std::istringstream & is, lyx::FindAndReplaceOptions & opt); -/// Dispatch a LFUN_WORD_FINDADV command request -void findAdv(BufferView * bv, FuncRequest const & ev); - /// Perform a FindAdv operation. bool findAdv(BufferView * bv, FindAndReplaceOptions const & opt);