]> git.sur5r.net Git - minitube/blobdiff - src/searchlineedit.h
Upload 3.9.3-2 to unstable
[minitube] / src / searchlineedit.h
index 64b0d285a1da979d2b66eee1eb7e863dee741297..a116f2faac290d2be6fa60a0fdd40919bf5f0687 100644 (file)
@@ -1,83 +1,41 @@
 #ifndef SEARCHLINEEDIT_H
 #define SEARCHLINEEDIT_H
 
-#include "urllineedit.h"
-#include "autocomplete.h"
+#include <QtWidgets>
 
-#include <QLineEdit>
-#include <QAbstractButton>
-
-QT_BEGIN_NAMESPACE
-class QMenu;
-QT_END_NAMESPACE
-
-class SearchButton;
-class Suggester;
-
-/*
-    Clear button on the right hand side of the search widget.
-    Hidden by default
- */
-class ClearButton : public QAbstractButton {
-
-    Q_OBJECT
-
-public:
-    ClearButton(QWidget *parent = 0);
-    void paintEvent(QPaintEvent *e);
-
-public slots:
-    void textChanged(const QString &text);
-
-protected:
-    void enterEvent(QEvent *e);
-    void leaveEvent(QEvent *e);
-
-    void mousePressEvent(QEvent *e);
-    void mouseReleaseEvent(QEvent *e);
-
-private:
-    bool hovered;
-    bool mousePressed;
-};
-
-class SearchLineEdit : public ExLineEdit {
+#include "searchwidget.h"
 
+class SearchLineEdit : public QLineEdit, public SearchWidget {
     Q_OBJECT
 
-signals:
-    void textChanged(const QString &text);
-    void textEdited(const QString &text);
-    void search(const QString &text);
-    void suggestionAccepted(Suggestion *suggestion);
-
 public:
-    SearchLineEdit(QWidget *parent = 0);
-
-    void setInactiveText(const QString &text);
+    explicit SearchLineEdit(QWidget *parent = nullptr);
 
+    // SearchWidget interface
     QMenu *menu() const;
     void setMenu(QMenu *menu);
-    void updateGeometries();
     void enableSuggest();
     void preventSuggest();
-    void selectAll() { lineEdit()->selectAll(); }
-    void setSuggester(Suggester *suggester) { autoComplete->setSuggester(suggester); }
-    void setText(const QString &text) { lineEdit()->setText(text); }
+    void setSuggester(Suggester *suggester);
+    AutoComplete *getAutoComplete();
+    void emitTextChanged(const QString &text);
+    QLineEdit *getLineEdit();
+    QWidget *toWidget();
 
-protected:
-    void resizeEvent(QResizeEvent *event);
-    void paintEvent(QPaintEvent *event);
-    void focusInEvent(QFocusEvent *event);
+    void setPlaceholderText(const QString &text) { QLineEdit::setPlaceholderText(text); }
+    void selectAll() { QLineEdit::selectAll(); }
+    void setText(const QString &text) { QLineEdit::setText(text); }
+    QString text() { return QLineEdit::text(); }
 
-private slots:
+public slots:
     void returnPressed();
 
+signals:
+    void search(const QString &text);
+    void suggestionAccepted(Suggestion *suggestion);
+
 private:
-    SearchButton *searchButton;
-    QString inactiveText;
     AutoComplete *autoComplete;
 };
 
 #endif // SEARCHLINEEDIT_H
-