diff --git a/libs/widgets/qcodeedit.cpp b/libs/widgets/qcodeedit.cpp index 6c4a879..e6ad0ff 100644 --- a/libs/widgets/qcodeedit.cpp +++ b/libs/widgets/qcodeedit.cpp @@ -416,7 +416,7 @@ bool QCodeEdit::eventFilter(QObject * o, QEvent * e) { completer->hide(); hideHelp(); } - if (e->type() == QEvent::MouseMove) { + if (e->type() == QEvent::MouseMove && completer->isHidden()) { QMouseEvent * me = (QMouseEvent*)e; if (me->modifiers().testFlag(Qt::ControlModifier)) { showLink(); diff --git a/libs/widgets/qcodeedit_completer_p.cpp b/libs/widgets/qcodeedit_completer_p.cpp index b4b2282..477ade8 100644 --- a/libs/widgets/qcodeedit_completer_p.cpp +++ b/libs/widgets/qcodeedit_completer_p.cpp @@ -70,21 +70,16 @@ void QCodeEditCompleter::addItems(QFont f, const QCodeEdit::ACClass & cl, const } -bool QCodeEditCompleter::isEmpty() const { - return topLevelItemCount() <= 1; -} - void QCodeEditCompleter::invoke(QPoint global_pos) { - if (isEmpty()) { + if (topLevelItemCount() > 1) setCurrentItem(topLevelItem(1)); + if (isHidden()) move(global_pos); + if (topLevelItemCount() > 0) { + setVisible(true); + adjust(); + } else { hide(); - return; } - setCurrentItem(topLevelItem(1)); - if (isHidden()) - move(global_pos); - setVisible(true); - adjust(); } diff --git a/libs/widgets/qcodeedit_completer_p.h b/libs/widgets/qcodeedit_completer_p.h index 5100125..3afcfa0 100644 --- a/libs/widgets/qcodeedit_completer_p.h +++ b/libs/widgets/qcodeedit_completer_p.h @@ -34,7 +34,6 @@ public: void nextCompletition(); void previousCompletition(); void addItems(QFont f, const QCodeEdit::ACClass & cl, const QCodeEdit::ACSection & items); - bool isEmpty() const; void invoke(QPoint global_pos); QString currentReturn() const;