summaryrefslogtreecommitdiff
path: root/src/libs/utils/tooltip/tips.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/utils/tooltip/tips.cpp')
-rw-r--r--src/libs/utils/tooltip/tips.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/libs/utils/tooltip/tips.cpp b/src/libs/utils/tooltip/tips.cpp
index 7e847dcef2..496876bdbb 100644
--- a/src/libs/utils/tooltip/tips.cpp
+++ b/src/libs/utils/tooltip/tips.cpp
@@ -159,7 +159,14 @@ static bool likelyContainsLink(const QString &s)
void TextTip::setContent(const QVariant &content)
{
- m_text = content.toString();
+ if (content.canConvert<QString>()) {
+ m_text = content.toString();
+ } else if (content.canConvert<TextItem>()) {
+ auto item = content.value<TextItem>();
+ m_text = item.first;
+ m_format = item.second;
+ }
+
bool containsLink = likelyContainsLink(m_text);
setOpenExternalLinks(containsLink);
}
@@ -171,6 +178,7 @@ bool TextTip::isInteractive() const
void TextTip::configure(const QPoint &pos, QWidget *w)
{
+ setTextFormat(m_format);
setText(m_text);
// Make it look good with the default ToolTip font on Mac, which has a small descent.
@@ -205,7 +213,9 @@ int TextTip::showTime() const
bool TextTip::equals(int typeId, const QVariant &other, const QVariant &otherContextHelp) const
{
return typeId == ToolTip::TextContent && otherContextHelp == contextHelp()
- && other.toString() == m_text;
+ && ((other.canConvert<QString>() && other.toString() == m_text)
+ || (other.canConvert<TextItem>()
+ && other.value<TextItem>() == TextItem(m_text, m_format)));
}
void TextTip::paintEvent(QPaintEvent *event)