X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fsearchlineedit.h;h=a116f2faac290d2be6fa60a0fdd40919bf5f0687;hb=HEAD;hp=64b0d285a1da979d2b66eee1eb7e863dee741297;hpb=ce2a2ef756f5a0de914b05de10eba68549dfe5bd;p=minitube diff --git a/src/searchlineedit.h b/src/searchlineedit.h index 64b0d28..a116f2f 100644 --- a/src/searchlineedit.h +++ b/src/searchlineedit.h @@ -1,83 +1,41 @@ #ifndef SEARCHLINEEDIT_H #define SEARCHLINEEDIT_H -#include "urllineedit.h" -#include "autocomplete.h" +#include -#include -#include - -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 -