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
|
bool CodeAssistantPrivate::isDisplayingProposal() const
|
||||||
{
|
{
|
||||||
return m_proposalWidget != nullptr && m_proposalWidget->isVisible();
|
return m_proposalWidget != nullptr && m_proposalWidget->proposalIsVisible();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CodeAssistantPrivate::isWaitingForProposal() const
|
bool CodeAssistantPrivate::isWaitingForProposal() const
|
||||||
|
|||||||
@@ -219,10 +219,15 @@ void FunctionHintProposalWidget::closeProposal()
|
|||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool FunctionHintProposalWidget::proposalIsVisible() const
|
||||||
|
{
|
||||||
|
return d->m_popupFrame->isVisible();
|
||||||
|
}
|
||||||
|
|
||||||
void FunctionHintProposalWidget::abort()
|
void FunctionHintProposalWidget::abort()
|
||||||
{
|
{
|
||||||
qApp->removeEventFilter(this);
|
qApp->removeEventFilter(this);
|
||||||
if (d->m_popupFrame->isVisible())
|
if (proposalIsVisible())
|
||||||
d->m_popupFrame->close();
|
d->m_popupFrame->close();
|
||||||
deleteLater();
|
deleteLater();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ public:
|
|||||||
void updateProposal(const QString &prefix) override;
|
void updateProposal(const QString &prefix) override;
|
||||||
void closeProposal() override;
|
void closeProposal() override;
|
||||||
|
|
||||||
|
bool proposalIsVisible() const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool eventFilter(QObject *o, QEvent *e) override;
|
bool eventFilter(QObject *o, QEvent *e) override;
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,8 @@ public:
|
|||||||
virtual void updateProposal(const QString &prefix) = 0;
|
virtual void updateProposal(const QString &prefix) = 0;
|
||||||
virtual void closeProposal() = 0;
|
virtual void closeProposal() = 0;
|
||||||
|
|
||||||
|
virtual bool proposalIsVisible() const { return isVisible(); }
|
||||||
|
|
||||||
int basePosition() const;
|
int basePosition() const;
|
||||||
void setBasePosition(int basePosition);
|
void setBasePosition(int basePosition);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user