]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt/GuiSearch.h
Make code a bit easier to read
[lyx.git] / src / frontends / qt / GuiSearch.h
index 440e2770fa2e950b1af71b86647565b2dfdd4daf..89234fe4441de657a64f2655fb20cb1a0b61a949 100644 (file)
@@ -15,7 +15,9 @@
 
 #include "GuiDialog.h"
 #include "DockView.h"
+#include "FancyLineEdit.h"
 
+#include <QMenu>
 #include <QDockWidget>
 
 #include "ui_SearchUi.h"
@@ -30,7 +32,7 @@ class GuiSearchWidget : public QWidget, public Ui::SearchUi
        Q_OBJECT
 
 public:
-       GuiSearchWidget(QWidget * parent);
+       GuiSearchWidget(QWidget * parent, GuiView & view);
        ///
        void saveSession(QSettings & settings, QString const & session_key) const;
        ///
@@ -51,6 +53,12 @@ private Q_SLOTS:
        void replacePrevClicked();
        void replaceallClicked();
        void minimizeClicked(bool const toggle = true);
+       void caseSenseActTriggered();
+       void wholeWordsActTriggered();
+       void searchSelActTriggered();
+       void immediateActTriggered();
+       void immediateClicked();
+       void wrapActTriggered();
 Q_SIGNALS:
        void needTitleBarUpdate() const;
        void needSizeUpdate() const;
@@ -61,6 +69,8 @@ private:
        ///
        void showEvent(QShowEvent * e) override;
        ///
+       void hideEvent(QHideEvent * e) override;
+       ///
        void doFind(bool const backwards = false,
                    bool const instant = false);
        ///
@@ -74,9 +84,27 @@ private:
                     bool casesensitive, bool matchword,
                     bool forward, bool all, bool wrap, bool onlysel);
        ///
+       void handleIndicators();
+       ///
        BufferView const * bv_ = nullptr;
        ///
+       GuiView & view_;
+       ///
        bool minimized_ = false;
+       /// contains the search box
+       FancyLineEdit * findLE_;
+       /// The options menu
+       QMenu * menu_;
+       /// And its actions
+       QAction * act_casesense_ = new QAction(this);
+       ///
+       QAction * act_wholewords_ = new QAction(this);
+       ///
+       QAction * act_selection_ = new QAction(this);
+       ///
+       QAction * act_immediate_ = new QAction(this);
+       ///
+       QAction * act_wrap_ = new QAction(this);
 };
 
 
@@ -104,6 +132,9 @@ public:
 
 protected:
        bool wantInitialFocus() const override { return true; }
+       void mouseMoveEvent(QMouseEvent * event) override;
+       void mousePressEvent(QMouseEvent * event) override;
+       void mouseDoubleClickEvent(QMouseEvent *event) override;
 
 public Q_SLOTS:
        ///
@@ -118,6 +149,8 @@ private Q_SLOTS:
 private:
        /// The encapsulated widget.
        GuiSearchWidget * widget_;
+       ///
+       QPoint dragPosition;
 };
 
 } // namespace frontend