X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiCompleter.h;h=2a17c842e63d927789b1416ecfc2ff4bc90d3824;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=36d3d14597a2f9305db514f6c6f545dee3a26998;hpb=7e2c8ea4ffeb96e38dac5f4fe1fd61ec68116401;p=lyx.git diff --git a/src/frontends/qt4/GuiCompleter.h b/src/frontends/qt4/GuiCompleter.h index 36d3d14597..2a17c842e6 100644 --- a/src/frontends/qt4/GuiCompleter.h +++ b/src/frontends/qt4/GuiCompleter.h @@ -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. @@ -86,6 +89,14 @@ private Q_SLOTS: void popupActivated(const QString & completion); /// 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: /// @@ -126,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