aboutsummaryrefslogtreecommitdiff
path: root/libs/uibase/src/linklabel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/uibase/src/linklabel.cpp')
-rw-r--r--libs/uibase/src/linklabel.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/libs/uibase/src/linklabel.cpp b/libs/uibase/src/linklabel.cpp
new file mode 100644
index 0000000..c4d09f1
--- /dev/null
+++ b/libs/uibase/src/linklabel.cpp
@@ -0,0 +1,27 @@
+#include <uibase/linklabel.h>
+#include <QApplication>
+
+QColor LinkLabel::m_linkColor;
+
+LinkLabel::LinkLabel(QWidget* parent) : QLabel(parent) {}
+
+QColor LinkLabel::linkColor() const
+{
+ return m_linkColor;
+}
+
+void LinkLabel::setLinkColor(const QColor& c)
+{
+ if (m_linkColor != c) {
+ m_linkColor = c;
+
+ // setting link color on the global palette; qt doesn't seem to support
+ // per-widget colors for links
+ if (qApp) {
+ auto p = qApp->palette();
+ p.setColor(QPalette::Link, c);
+ p.setColor(QPalette::LinkVisited, c);
+ qApp->setPalette(p);
+ }
+ }
+}