]> git.sur5r.net Git - minitube/blob - src/autocomplete.h
Refresh patches
[minitube] / src / autocomplete.h
1 #ifndef SUGGESTCOMPLETION_H
2 #define SUGGESTCOMPLETION_H
3
4 #include <QtGui>
5
6 class Suggester;
7 class SearchLineEdit;
8
9 class AutoComplete : public QObject {
10     Q_OBJECT
11
12 public:
13     AutoComplete(SearchLineEdit *parent, QLineEdit *editor);
14     ~AutoComplete();
15     bool eventFilter(QObject *obj, QEvent *ev);
16     void showCompletion(const QStringList &choices);
17     void setSuggester(Suggester* suggester);
18     QListWidget* getPopup() { return popup; }
19
20 public slots:
21     void doneCompletion();
22     void preventSuggest();
23     void enableSuggest();
24     void autoSuggest();
25     void currentItemChanged(QListWidgetItem *current);
26     void suggestionsReady(QStringList suggestions);
27
28 signals:
29     void suggestionAccepted(const QString &suggestion);
30
31 private:
32     SearchLineEdit *buddy;
33     QLineEdit *editor;
34     QString originalText;
35     QListWidget *popup;
36     QTimer *timer;
37     bool enabled;
38     Suggester* suggester;
39
40 };
41
42 #endif // SUGGESTCOMPLETION_H