diff --git a/src/plugins/cppeditor/cpphoverhandler.cpp b/src/plugins/cppeditor/cpphoverhandler.cpp index 3f0ee1fdc4df640ecea98b556ae381218c2c8afd..75b5913f17b2534a083309e32688145c17aaa084 100644 --- a/src/plugins/cppeditor/cpphoverhandler.cpp +++ b/src/plugins/cppeditor/cpphoverhandler.cpp @@ -97,7 +97,7 @@ void CppHoverHandler::identifyMatch(TextEditorWidget *editorWidget, int pos) m_positionForEditorDocumentProcessor = -1; if (editorDocumentProcessorHasDiagnosticAt(editorWidget, pos)) { - setIsDiagnosticTooltip(true); + setPriority(Priority_Diagnostic); m_positionForEditorDocumentProcessor = pos; } else if (!editorWidget->extraSelectionTooltip(pos).isEmpty()) { setToolTip(editorWidget->extraSelectionTooltip(pos)); @@ -110,12 +110,14 @@ void CppHoverHandler::identifyMatch(TextEditorWidget *editorWidget, int pos) evaluator.execute(); if (evaluator.hasDiagnosis()) { setToolTip(evaluator.diagnosis()); - setIsDiagnosticTooltip(true); + setPriority(Priority_Diagnostic); } if (evaluator.identifiedCppElement()) { const QSharedPointer<CppElement> &cppElement = evaluator.cppElement(); - if (!isDiagnosticTooltip()) + if (priority() != Priority_Diagnostic) { setToolTip(cppElement->tooltip); + setPriority(cppElement->tooltip.isEmpty() ? Priority_None : Priority_Tooltip); + } QStringList candidates = cppElement->helpIdCandidates; candidates.removeDuplicates(); foreach (const QString &helpId, candidates) { @@ -143,7 +145,7 @@ void CppHoverHandler::decorateToolTip() if (Qt::mightBeRichText(toolTip())) setToolTip(toolTip().toHtmlEscaped()); - if (isDiagnosticTooltip()) + if (priority() != Priority_Diagnostic) return; const HelpItem &help = lastHelpItemIdentified(); diff --git a/src/plugins/texteditor/basehoverhandler.cpp b/src/plugins/texteditor/basehoverhandler.cpp index b5c1a46fb60ae52c5b43e5ce19479378945e1b90..7764f12dbdd7d5f387262f2cdff327d88e62e31e 100644 --- a/src/plugins/texteditor/basehoverhandler.cpp +++ b/src/plugins/texteditor/basehoverhandler.cpp @@ -55,9 +55,6 @@ int BaseHoverHandler::priority() const if (m_priority >= 0) return m_priority; - if (isDiagnosticTooltip()) - return Priority_Diagnostic; - if (lastHelpItemIdentified().isValid()) return Priority_Help; @@ -94,21 +91,6 @@ const QString &BaseHoverHandler::toolTip() const return m_toolTip; } -void BaseHoverHandler::appendToolTip(const QString &extension) -{ - m_toolTip.append(extension); -} - -void BaseHoverHandler::setIsDiagnosticTooltip(bool isDiagnosticTooltip) -{ - m_diagnosticTooltip = isDiagnosticTooltip; -} - -bool BaseHoverHandler::isDiagnosticTooltip() const -{ - return m_diagnosticTooltip; -} - void BaseHoverHandler::setLastHelpItemIdentified(const HelpItem &help) { m_lastHelpItemIdentified = help; @@ -121,7 +103,6 @@ const HelpItem &BaseHoverHandler::lastHelpItemIdentified() const void BaseHoverHandler::clear() { - m_diagnosticTooltip = false; m_toolTip.clear(); m_priority = -1; m_lastHelpItemIdentified = HelpItem(); @@ -146,11 +127,11 @@ void BaseHoverHandler::decorateToolTip() if (Qt::mightBeRichText(toolTip())) setToolTip(toolTip().toHtmlEscaped()); - if (!isDiagnosticTooltip() && lastHelpItemIdentified().isValid()) { + if (priority() != Priority_Diagnostic && lastHelpItemIdentified().isValid()) { const QString &contents = lastHelpItemIdentified().extractContent(false); if (!contents.isEmpty()) { - setToolTip(toolTip().toHtmlEscaped()); - appendToolTip(contents); + m_toolTip = toolTip().toHtmlEscaped(); + m_toolTip.append(contents); } } } diff --git a/src/plugins/texteditor/basehoverhandler.h b/src/plugins/texteditor/basehoverhandler.h index fe686ddcd4f7b6474b6cbbe85f541344787e9aab..351d8df490a3f0699b024b39152000143f60c079 100644 --- a/src/plugins/texteditor/basehoverhandler.h +++ b/src/plugins/texteditor/basehoverhandler.h @@ -57,12 +57,8 @@ protected: int priority() const; void setToolTip(const QString &tooltip); - void appendToolTip(const QString &extension); const QString &toolTip() const; - void setIsDiagnosticTooltip(bool isDiagnosticTooltip); - bool isDiagnosticTooltip() const; - void setLastHelpItemIdentified(const HelpItem &help); const HelpItem &lastHelpItemIdentified() const; @@ -74,7 +70,6 @@ private: void clear(); void process(TextEditorWidget *widget, int pos); - bool m_diagnosticTooltip = false; QString m_toolTip; HelpItem m_lastHelpItemIdentified; int m_priority = -1;