/**
* \file ControlSearch.C
- * See the file COPYING.
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
* \author Angus Leeming
*
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*/
#include <config.h>
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
#include "ControlSearch.h"
-#include "gettext.h"
+#include "funcrequest.h"
#include "lyxfind.h"
-#include "frontends/Liason.h"
-
-#include "support/lstrings.h"
-
-using Liason::setMinibuffer;
+using std::string;
+namespace lyx {
+namespace frontend {
-ControlSearch::ControlSearch(LyXView & lv, Dialogs & d)
- : ControlDialogBD(lv, d)
+ControlSearch::ControlSearch(Dialog & parent)
+ : Dialog::Controller(parent)
{}
-void ControlSearch::find(string const & search,
- bool casesensitive, bool matchword, bool forward)
+void ControlSearch::find(string const & search, bool casesensitive,
+ bool matchword, bool forward)
{
- bool const found = lyxfind::LyXFind(bufferview(), search,
- forward, casesensitive,
- matchword);
-
- if (!found)
- setMinibuffer(&lv_, _("String not found!"));
+ string const data = find::find2string(search, casesensitive,
+ matchword, forward);
+ kernel().dispatch(FuncRequest(LFUN_WORD_FIND, data));
}
void ControlSearch::replace(string const & search, string const & replace,
- bool casesensitive, bool matchword, bool all)
+ bool casesensitive, bool matchword,
+ bool forward, bool all)
{
- // 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 =
- lyxfind::LyXReplace(bufferview(),
- search, replace, true, casesensitive,
- matchword, all, once);
-
- if (replace_count == 0) {
- setMinibuffer(&lv_, _("String not found!"));
- } else {
- if (replace_count == 1) {
- setMinibuffer(&lv_, _("String has been replaced."));
- } else {
- string str = tostr(replace_count);
- str += _(" strings have been replaced.");
- setMinibuffer(&lv_, str.c_str());
- }
- }
+ string const data =
+ find::replace2string(search, replace, casesensitive,
+ matchword, all, forward);
+ kernel().dispatch(FuncRequest(LFUN_WORD_REPLACE, data));
}
+
+} // namespace frontend
+} // namespace lyx