aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/tooltip
diff options
context:
space:
mode:
authorMarc Reilly <marc@cpdesign.com.au>2016-05-06 15:13:28 +1000
committerOrgad Shaneh <orgads@gmail.com>2016-06-24 12:21:14 +0000
commit9ccb08987043b82ccec3e545f1556fa2f4fb32ec (patch)
tree7b02518fb397744127ad3947c5f82f4c2c85e90e /src/libs/utils/tooltip
parentc3a5eecfc5e6acb4b3c15b687d02ec35022b6c2d (diff)
tooltip: make TextTip links clickable
This enables the text to contain links which the user can click on to follow. Change-Id: I892d1d915a48974e72adb0e712d46220560f5537 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Diffstat (limited to 'src/libs/utils/tooltip')
-rw-r--r--src/libs/utils/tooltip/tips.cpp12
-rw-r--r--src/libs/utils/tooltip/tips.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/src/libs/utils/tooltip/tips.cpp b/src/libs/utils/tooltip/tips.cpp
index 11425d2e0d..ebad4d070a 100644
--- a/src/libs/utils/tooltip/tips.cpp
+++ b/src/libs/utils/tooltip/tips.cpp
@@ -127,9 +127,21 @@ TextTip::TextTip(QWidget *parent) : QTipLabel(parent)
setWindowOpacity(style()->styleHint(QStyle::SH_ToolTipLabel_Opacity, 0, this) / 255.0);
}
+static bool likelyContainsLink(const QString &s)
+{
+ return s.contains(QLatin1String("href"), Qt::CaseInsensitive);
+}
+
void TextTip::setContent(const QVariant &content)
{
m_text = content.toString();
+ bool containsLink = likelyContainsLink(m_text);
+ setOpenExternalLinks(containsLink);
+}
+
+bool TextTip::isInteractive() const
+{
+ return likelyContainsLink(m_text);
}
void TextTip::configure(const QPoint &pos, QWidget *w)
diff --git a/src/libs/utils/tooltip/tips.h b/src/libs/utils/tooltip/tips.h
index e2d467f6db..fe1a8633d0 100644
--- a/src/libs/utils/tooltip/tips.h
+++ b/src/libs/utils/tooltip/tips.h
@@ -64,6 +64,7 @@ public:
TextTip(QWidget *parent);
virtual void setContent(const QVariant &content);
+ virtual bool isInteractive() const;
virtual void configure(const QPoint &pos, QWidget *w);
virtual bool canHandleContentReplacement(int typeId) const;
virtual int showTime() const;