]> git.lyx.org Git - features.git/commitdiff
* factored out hidePopup and hideInline
authorStefan Schimanski <sts@lyx.org>
Tue, 26 Feb 2008 13:10:04 +0000 (13:10 +0000)
committerStefan Schimanski <sts@lyx.org>
Tue, 26 Feb 2008 13:10:04 +0000 (13:10 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23248 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/GuiCompleter.cpp
src/frontends/qt4/GuiCompleter.h

index 8aee5c1d47b4ac2015900f243ae6ba731c9272fa..cd4cae74e24844461193d612dfb95bea02436ba3 100644 (file)
@@ -262,28 +262,12 @@ void GuiCompleter::updateVisibility(Cursor & cur, bool start, bool keep, bool cu
        bool possibleInlineState = inlinePossible(cur) && cursorInView;
 
        // we moved or popup state is not ok for popup?
-       if ((moved && !keep) || !possiblePopupState) {
-               // stop an old completion timer
-               if (popup_timer_.isActive())
-                       popup_timer_.stop();
-
-               // hide old popup
-               if (popupVisible())
-                       popup()->hide();
-       }
+       if ((moved && !keep) || !possiblePopupState)
+               hidePopup(cur);
 
        // we moved or inline state is not ok for inline completion?
-       if ((moved && !keep) || !possibleInlineState) {
-               // stop an old completion timer
-               if (inline_timer_.isActive())
-                       inline_timer_.stop();
-
-               // hide old inline completion
-               if (inlineVisible()) {
-                       gui_->bufferView().setInlineCompletion(cur, DocIterator(), docstring());
-                       inlineVisible_ = false;
-               }
-       }
+       if ((moved && !keep) || !possibleInlineState)
+               hideInline(cur);
 
        // we inserted something and are in a possible popup state?
        if (!popupVisible() && possiblePopupState && start
@@ -464,6 +448,14 @@ void GuiCompleter::showPopup(Cursor & cur)
 }
 
 
+void GuiCompleter::hidePopup(Cursor & cur)
+{
+       popup()->hide();
+       if (popup_timer_.isActive())
+               popup_timer_.stop();
+}
+
+
 void GuiCompleter::showInline(Cursor & cur)
 {
        if (!inlinePossible(cur))
@@ -473,6 +465,13 @@ void GuiCompleter::showInline(Cursor & cur)
 }
 
 
+void GuiCompleter::hideInline(Cursor & cur)
+{
+       gui_->bufferView().setInlineCompletion(cur, DocIterator(), docstring());
+       inlineVisible_ = false;
+}
+
+
 void GuiCompleter::showPopup()
 {
        Cursor cur = gui_->bufferView().cursor();
@@ -504,10 +503,7 @@ void GuiCompleter::activate()
        if (!popupVisible() && !inlineVisible())
                return;
 
-       // Complete with current selection in the popup.
-       QString s = currentCompletion();
-       popup()->hide();
-       popupActivated(s);
+       popupActivated(currentCompletion());
 }
 
 
@@ -548,9 +544,8 @@ void GuiCompleter::tab()
                cur.inset().insertCompletion(cur, docstring(), true);
                
                // hide popup and inline completion
-               popup()->hide();
-               gui_->bufferView().setInlineCompletion(cur, DocIterator(), docstring());
-               inlineVisible_ = false;
+               hidePopup(cur);
+               hideInline(cur);
                updateVisibility(false, false);
                return;
        }
@@ -730,7 +725,8 @@ void GuiCompleter::popupActivated(const QString & completion)
        docstring prefix = cur.inset().completionPrefix(cur);
        docstring postfix = from_utf8(fromqstr(completion.mid(prefix.length())));
        cur.inset().insertCompletion(cur, postfix, true);
-       updateVisibility(cur, false);
+       hidePopup(cur);
+       hideInline(cur);
        
        if (cur.disp_.update())
                gui_->bufferView().processUpdateFlags(cur.disp_.update());
index d6192dd81e4482b79b207668c7a4c1ba3bc8c8d9..250b3cc3ceee744293e1b4d0cdd091932d73646d 100644 (file)
@@ -88,6 +88,10 @@ private:
        ///
        void showInline(Cursor & cur);
        ///
+       void hidePopup(Cursor & cur);
+       ///
+       void hideInline(Cursor & cur);
+       ///
        void updatePopup(Cursor & cur);
        ///
        void updateInline(Cursor & cur, QString const & completion);