]> git.sur5r.net Git - minitube/blobdiff - src/searchlineedit.h
2.5.2
[minitube] / src / searchlineedit.h
index 21245652d8941071e5b9e7ceae40d1e0d1ee23df..d7d8c8b11b4a0eef6e947873bfd4824f48991c4f 100644 (file)
@@ -1,75 +1,61 @@
 #ifndef SEARCHLINEEDIT_H
 #define SEARCHLINEEDIT_H
 
-#include "urllineedit.h"
-#include "autocomplete.h"
+#include <QtGui>
+#if QT_VERSION >= 0x050000
+#include <QtWidgets>
+#endif
 
-#include <QLineEdit>
-#include <QAbstractButton>
-
-QT_BEGIN_NAMESPACE
-class QMenu;
-QT_END_NAMESPACE
+#include "exlineedit.h"
+#include "searchwidget.h"
 
 class SearchButton;
 class Suggester;
+class AutoComplete;
+
+class SearchLineEdit : public ExLineEdit, public SearchWidget {
 
-/*
-    Clear button on the right hand side of the search widget.
-    Hidden by default
-    "A circle with an X in it"
- */
-class ClearButton : public QAbstractButton
-{
     Q_OBJECT
 
 public:
-    ClearButton(QWidget *parent = 0);
-    void paintEvent(QPaintEvent *event);
-
-public slots:
-    void textChanged(const QString &text);
-};
+    SearchLineEdit(QWidget *parent = 0);
+    QMenu *menu() const;
+    void setMenu(QMenu *menu);
+    void enableSuggest();
+    void preventSuggest();
+    void selectAll();
+    void setSuggester(Suggester *suggester);
+    void setInactiveText(const QString &text);
+    void setText(const QString &text);
+    AutoComplete *getAutoComplete();
+    void emitTextChanged(const QString &text);
+    QString text();
+    QLineEdit *getLineEdit();
+    QWidget *toWidget() { return qobject_cast<QWidget*>(this); }
 
+    void setEnabled(bool enabled);
 
-class SearchLineEdit : public ExLineEdit
-{
-    Q_OBJECT
-    Q_PROPERTY(QString inactiveText READ inactiveText WRITE setInactiveText)
+public slots:
+    void returnPressed();
 
 signals:
     void textChanged(const QString &text);
     void textEdited(const QString &text);
     void search(const QString &text);
-    void suggestionAccepted(const QString &suggestion);
-
-public:
-    SearchLineEdit(QWidget *parent = 0);
+    void suggestionAccepted(Suggestion *suggestion);
 
-    QString inactiveText() const;
-    void setInactiveText(const QString &text);
-
-    QMenu *menu() const;
-    void setMenu(QMenu *menu);
-    void updateGeometries();
-    void enableSuggest();
-    void preventSuggest();
-    void selectAll() { lineEdit()->selectAll(); }
-    void setSuggester(Suggester *suggester) { completion->setSuggester(suggester); }
-    void setText(const QString &text) { lineEdit()->setText(text); }
+    void enabledChanged(bool enabled);
 
 protected:
-    void resizeEvent(QResizeEvent *event);
-    void paintEvent(QPaintEvent *event);
-    void focusInEvent(QFocusEvent *event);
-
-private slots:
-    void returnPressed();
+    void updateGeometries();
+    void resizeEvent(QResizeEvent *e);
+    void paintEvent(QPaintEvent *e);
+    void focusInEvent(QFocusEvent *e);
 
 private:
-    SearchButton *m_searchButton;
-    QString m_inactiveText;
-    AutoComplete *completion;
+    SearchButton *searchButton;
+    QString inactiveText;
+    AutoComplete *autoComplete;
 };
 
 #endif // SEARCHLINEEDIT_H