From 3afcb7ab2577c5870aeab823e2f8fdcaa8737590 Mon Sep 17 00:00:00 2001 From: James Hogan Date: Sun, 13 Sep 2009 00:28:42 +0100 Subject: [PATCH] DesktopView (screen view widget in display settings) use palette and update correctly when colour scheme changes or disabled --- kworship/DesktopView.cpp | 22 ++++++++++++++++++---- kworship/DesktopView.h | 2 ++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/kworship/DesktopView.cpp b/kworship/DesktopView.cpp index a53a1e1..593cebb 100644 --- a/kworship/DesktopView.cpp +++ b/kworship/DesktopView.cpp @@ -178,6 +178,19 @@ void DesktopView::mousePressEvent(QMouseEvent* event) QGraphicsView::mousePressEvent(event); } +void DesktopView::changeEvent(QEvent *event) +{ + switch (event->type()) + { + case QEvent::EnabledChange: + case QEvent::PaletteChange: + setup(); + break; + default: + break; + } +} + /* * Private slots */ @@ -225,10 +238,9 @@ void DesktopView::setup() QRectF geom = desktop->screenGeometry(i); // rectangle - QGraphicsRectItem* rect = scene->addRect(geom, QPen(Qt::black), - isScreenSelected(i) ? Qt::blue : - QBrush((primary == i) ? Qt::gray : - Qt::lightGray)); + QGraphicsRectItem* rect = scene->addRect(geom, QPen(palette().color(QPalette::Foreground)), + isScreenSelected(i) ? palette().color(QPalette::Highlight) : + QBrush(palette().color(QPalette::Button))); // text QString string; @@ -238,6 +250,8 @@ void DesktopView::setup() QFont font; font.setPixelSize(geom.height() * 0.8f); text->setFont(font); + text->setDefaultTextColor(isScreenSelected(i) ? palette().color(QPalette::HighlightedText) + : palette().color(QPalette::ButtonText)); QRectF textRect = text->boundingRect(); text->setPos(QPointF(geom.x() + (geom.width() - textRect.width()) / 2, diff --git a/kworship/DesktopView.h b/kworship/DesktopView.h index 67b146b..46b4e23 100644 --- a/kworship/DesktopView.h +++ b/kworship/DesktopView.h @@ -97,6 +97,8 @@ class DesktopView : public QGraphicsView void mousePressEvent(QMouseEvent* event); + void changeEvent(QEvent *event); + private slots: /* -- 2.11.4.GIT