4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
8 * \author Angus Leeming
10 * Full author contact details are available in file CREDITS.
16 #include "GuiDialog.h"
19 #include <QDockWidget>
21 #include "ui_SearchUi.h"
28 class GuiSearchWidget : public QWidget, public Ui::SearchUi
33 GuiSearchWidget(QWidget * parent);
35 void saveSession(QSettings & settings, QString const & session_key) const;
37 void restoreSession(QString const & session_key);
39 void setBufferView(BufferView const * bv) { bv_ = bv; }
41 bool initialiseParams(std::string const &);
43 bool isMinimized() { return minimized_; }
47 void findBufferChanged();
49 void findPrevClicked();
50 void replaceClicked();
51 void replacePrevClicked();
52 void replaceallClicked();
53 void minimizeClicked(bool const toggle = true);
55 void needTitleBarUpdate() const;
56 void needSizeUpdate() const;
60 void keyPressEvent(QKeyEvent * e) override;
62 void showEvent(QShowEvent * e) override;
64 void doFind(bool const backwards = false,
65 bool const instant = false);
67 void doReplace(bool const backwards = false);
68 /// Searches occurrence of string
69 void find(docstring const & search,
70 bool casesensitive, bool matchword,
71 bool forward, bool instant, bool wrap, bool onlysel);
72 /// Replaces occurrence of string
73 void replace(docstring const & search, docstring const & replace,
74 bool casesensitive, bool matchword,
75 bool forward, bool all, bool wrap, bool onlysel);
77 BufferView const * bv_ = nullptr;
79 bool minimized_ = false;
83 class GuiSearch : public DockView
89 GuiView & parent, ///< the main window where to dock.
90 Qt::DockWidgetArea area = Qt::BottomDockWidgetArea, ///< Position of the dock (and also drawer)
91 Qt::WindowFlags flags = {});
93 /// Controller inherited method.
95 bool initialiseParams(std::string const & sdata) override
96 { return widget_->initialiseParams(sdata); }
97 void clearParams() override {}
98 void dispatchParams() override {}
99 bool isBufferDependent() const override { return true; }
100 void updateView() override;
101 void saveSession(QSettings & settings) const override;
102 void restoreSession() override;
106 bool wantInitialFocus() const override { return true; }
110 void onBufferViewChanged() override;
113 /// update title display
119 /// The encapsulated widget.
120 GuiSearchWidget * widget_;
123 } // namespace frontend
126 #endif // GUISEARCH_H