]> git.sur5r.net Git - minitube/blob - src/searchlineedit.h
Imported Upstream version 2.5.1
[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     QWidget *toWidget() { return qobject_cast<QWidget*>(this); }
35
36     void setEnabled(bool enabled);
37
38 public slots:
39     void returnPressed();
40
41 signals:
42     void textChanged(const QString &text);
43     void textEdited(const QString &text);
44     void search(const QString &text);
45     void suggestionAccepted(Suggestion *suggestion);
46
47     void enabledChanged(bool enabled);
48
49 protected:
50     void updateGeometries();
51     void resizeEvent(QResizeEvent *e);
52     void paintEvent(QPaintEvent *e);
53     void focusInEvent(QFocusEvent *e);
54
55 private:
56     SearchButton *searchButton;
57     QString inactiveText;
58     AutoComplete *autoComplete;
59 };
60
61 #endif // SEARCHLINEEDIT_H
62