diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index 1c499956187..7439980df31 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -407,7 +407,7 @@ void CodeAssistantPrivate::finalizeProposal() bool CodeAssistantPrivate::isDisplayingProposal() const { - return m_proposalWidget != nullptr && m_proposalWidget->isVisible(); + return m_proposalWidget != nullptr && m_proposalWidget->proposalIsVisible(); } bool CodeAssistantPrivate::isWaitingForProposal() const diff --git a/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp b/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp index 149fba33fa3..e96071cec5a 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp +++ b/src/plugins/texteditor/codeassist/functionhintproposalwidget.cpp @@ -219,10 +219,15 @@ void FunctionHintProposalWidget::closeProposal() abort(); } +bool FunctionHintProposalWidget::proposalIsVisible() const +{ + return d->m_popupFrame->isVisible(); +} + void FunctionHintProposalWidget::abort() { qApp->removeEventFilter(this); - if (d->m_popupFrame->isVisible()) + if (proposalIsVisible()) d->m_popupFrame->close(); deleteLater(); } diff --git a/src/plugins/texteditor/codeassist/functionhintproposalwidget.h b/src/plugins/texteditor/codeassist/functionhintproposalwidget.h index 99def1676a1..a37905bbad5 100644 --- a/src/plugins/texteditor/codeassist/functionhintproposalwidget.h +++ b/src/plugins/texteditor/codeassist/functionhintproposalwidget.h @@ -52,6 +52,8 @@ public: void updateProposal(const QString &prefix) override; void closeProposal() override; + bool proposalIsVisible() const override; + protected: bool eventFilter(QObject *o, QEvent *e) override; diff --git a/src/plugins/texteditor/codeassist/iassistproposalwidget.h b/src/plugins/texteditor/codeassist/iassistproposalwidget.h index 0b7fdc0dddf..d178fc4b5ed 100644 --- a/src/plugins/texteditor/codeassist/iassistproposalwidget.h +++ b/src/plugins/texteditor/codeassist/iassistproposalwidget.h @@ -57,6 +57,8 @@ public: virtual void updateProposal(const QString &prefix) = 0; virtual void closeProposal() = 0; + virtual bool proposalIsVisible() const { return isVisible(); } + int basePosition() const; void setBasePosition(int basePosition);