]> git.sur5r.net Git - minitube/blobdiff - src/autocomplete.h
Fix updating QUrl query parameters with Qt5.
[minitube] / src / autocomplete.h
index 6894d7eda6f7ed658b19c339d417f3aa3df4c3fb..df6089b389881220702fa59b73cc76ee9ff30138 100644 (file)
@@ -26,32 +26,41 @@ class Suggester;
 class Suggestion;
 class SearchLineEdit;
 
+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);
     void setSuggester(Suggester* suggester);
     QListWidget* getPopup() { return popup; }
-
-public slots:
-    void acceptSuggestion();
     void preventSuggest();
     void enableSuggest();
-    void suggest();
-    void itemEntered(QListWidgetItem *item);
-    void currentItemChanged(QListWidgetItem *item);
-    void suggestionsReady(const QList<Suggestion*> &suggestions);
 
 signals:
     void suggestionAccepted(Suggestion *suggestion);
     void suggestionAccepted(const QString &value);
 
+protected:
+    bool eventFilter(QObject *obj, QEvent *ev);
+
+private slots:
+    void acceptSuggestion();
+    void suggest();
+    void itemEntered(QListWidgetItem *item);
+    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;
     QLineEdit *lineEdit;
     QString originalText;
@@ -60,7 +69,7 @@ private:
     bool enabled;
     Suggester *suggester;
     QList<Suggestion*> suggestions;
-
+    bool itemHovering;
 };
 
 #endif // AUTOCOMPLETE_H