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