class Suggester;
class Suggestion;
-class SearchLineEdit;
+class SearchWidget;
+
+QT_FORWARD_DECLARE_CLASS(QListWidget)
+QT_FORWARD_DECLARE_CLASS(QListWidgetItem)
+QT_FORWARD_DECLARE_CLASS(QLineEdit)
class AutoComplete : public QObject {
Q_OBJECT
public:
- AutoComplete(SearchLineEdit *buddy, QLineEdit *lineEdit);
- ~AutoComplete();
- bool eventFilter(QObject *obj, QEvent *ev);
- void showCompletion(const QList<Suggestion*> &suggestions);
+ AutoComplete(SearchWidget *buddy, QLineEdit *lineEdit);
void setSuggester(Suggester* suggester);
QListWidget* getPopup() { return popup; }
void preventSuggest();
void suggestionAccepted(Suggestion *suggestion);
void suggestionAccepted(const QString &value);
+protected:
+ bool eventFilter(QObject *obj, QEvent *ev);
+
private slots:
void acceptSuggestion();
void suggest();
void currentItemChanged(QListWidgetItem *item);
void suggestionsReady(const QList<Suggestion*> &suggestions);
void adjustPosition();
+ void enableItemHovering();
private:
+ void showSuggestions(const QList<Suggestion*> &suggestions);
void hideSuggestions();
- SearchLineEdit *buddy;
+ SearchWidget *buddy;
QLineEdit *lineEdit;
QString originalText;
QListWidget *popup;
bool enabled;
Suggester *suggester;
QList<Suggestion*> suggestions;
-
+ bool itemHovering;
};
#endif // AUTOCOMPLETE_H