]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiCompleter.h
* fix spelling in comments to please John.
[lyx.git] / src / frontends / qt4 / GuiCompleter.h
index b53220c16124c579397bd75414af02fcd09dd603..2a17c842e63d927789b1416ecfc2ff4bc90d3824 100644 (file)
@@ -31,7 +31,8 @@ class Buffer;
 namespace frontend {
 
 class GuiWorkArea;
-class RtlItemDelegate;
+class CompleterItemDelegate;
+class GuiCompletionModel;
 
 class GuiCompleter : private QCompleter
 {
@@ -69,6 +70,8 @@ public:
        QString currentCompletion() const;
        ///
        docstring longestUniqueCompletion() const;
+       ///
+       bool uniqueCompletionAvailable() const;
        
 public Q_SLOTS:
        /// Show the popup.
@@ -88,6 +91,12 @@ private Q_SLOTS:
        void popupHighlighted(const QString & completion);
        ///
        void updateAvailability();
+       /// the asynchronous part of updatePopup(cur)
+       void asyncUpdatePopup();
+       /// the asynchronous part of hidePopup(cur)
+       void asyncHidePopup();
+       /// the asynchronous part of hideInline(cur)
+       void asyncHideInline();
        
 private:
        ///
@@ -128,7 +137,14 @@ private:
        /// in addition to know whether the completion is to be kept visible.
        bool inlineVisible_;
        ///
-       RtlItemDelegate * rtlItemDelegate_;
+       bool popupVisible_;
+       /// the model reset is asynchronous in hidePopup/Inline. So let's mark
+       /// a coming reset here by setting it to false.
+       bool modelActive_;
+       ///
+       CompleterItemDelegate * itemDelegate_;
+       ///
+       GuiCompletionModel * model_;
 }; // GuiCompleter
 
 } // namespace frontend