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();
48 void findClicked(bool const backwards = false,
49 bool const instant = false);
50 void findPrevClicked();
51 void replaceClicked(bool const backwards = false);
52 void replacePrevClicked();
53 void replaceallClicked();
54 void minimizeClicked(bool const toggle = true);
56 void needTitleBarUpdate() const;
57 void needSizeUpdate() const;
61 void keyPressEvent(QKeyEvent * e) override;
63 void showEvent(QShowEvent * e) override;
64 /// Searches occurrence of string
65 void find(docstring const & search,
66 bool casesensitive, bool matchword,
67 bool forward, bool instant, bool wrap, bool onlysel);
68 /// Replaces occurrence of string
69 void replace(docstring const & search, docstring const & replace,
70 bool casesensitive, bool matchword,
71 bool forward, bool all, bool wrap, bool onlysel);
73 BufferView const * bv_ = nullptr;
75 bool minimized_ = false;
79 class GuiSearch : public DockView
85 GuiView & parent, ///< the main window where to dock.
86 Qt::DockWidgetArea area = Qt::BottomDockWidgetArea, ///< Position of the dock (and also drawer)
87 Qt::WindowFlags flags = {});
89 /// Controller inherited method.
91 bool initialiseParams(std::string const & sdata) override
92 { return widget_->initialiseParams(sdata); }
93 void clearParams() override {}
94 void dispatchParams() override {}
95 bool isBufferDependent() const override { return true; }
96 void updateView() override;
97 void saveSession(QSettings & settings) const override;
98 void restoreSession() override;
102 bool wantInitialFocus() const override { return true; }
106 void onBufferViewChanged() override;
109 /// update title display
115 /// The encapsulated widget.
116 GuiSearchWidget * widget_;
119 } // namespace frontend
122 #endif // GUISEARCH_H