]> git.sur5r.net Git - minitube/blob - src/searchlineedit.h
SearchLineEdit refactoring
[minitube] / src / searchlineedit.h
1 #ifndef SEARCHLINEEDIT_H
2 #define SEARCHLINEEDIT_H
3
4 #include <QtGui>
5 #if QT_VERSION >= 0x050000
6 #include <QtWidgets>
7 #endif
8
9 #include "exlineedit.h"
10 #include "searchwidget.h"
11
12 class SearchButton;
13 class Suggester;
14 class AutoComplete;
15
16 class SearchLineEdit : public ExLineEdit, public SearchWidget {
17
18     Q_OBJECT
19
20 public:
21     SearchLineEdit(QWidget *parent = 0);
22     QMenu *menu() const;
23     void setMenu(QMenu *menu);
24     void enableSuggest();
25     void preventSuggest();
26     void selectAll();
27     void setSuggester(Suggester *suggester);
28     void setInactiveText(const QString &text);
29     void setText(const QString &text);
30     AutoComplete *getAutoComplete();
31     void emitTextChanged(const QString &text);
32     QString text();
33     QLineEdit *getLineEdit();
34
35 public slots:
36     void returnPressed();
37
38 signals:
39     void textChanged(const QString &text);
40     void textEdited(const QString &text);
41     void search(const QString &text);
42     void suggestionAccepted(Suggestion *suggestion);
43
44 protected:
45     void updateGeometries();
46     void resizeEvent(QResizeEvent *e);
47     void paintEvent(QPaintEvent *e);
48     void focusInEvent(QFocusEvent *e);
49
50 private:
51     SearchButton *searchButton;
52     QString inactiveText;
53     AutoComplete *autoComplete;
54 };
55
56 #endif // SEARCHLINEEDIT_H
57