forked from qt-creator/qt-creator
TextEditor: Fix is visible check of function hint
Since the FunctionHintProposalWidget is just a proxy witget that uses a FakeToolTip it is not shown directly so we cannot check the visibility with isVisible. Fixes: QTCREATORBUG-25664 Change-Id: I6888e373afcfc79565ce8e3dad1bb05501d58200 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user