diff options
Diffstat (limited to 'libs/uibase/src/linklabel.cpp')
| -rw-r--r-- | libs/uibase/src/linklabel.cpp | 27 |
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); + } + } +} |
