From 03d794637378757b719da5adcdf436945597cb0b Mon Sep 17 00:00:00 2001 From: "Aaron J. Seigo" Date: Tue, 24 Jun 2008 03:15:56 +0000 Subject: [PATCH] update with the theme svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=823768 --- widgets/label.cpp | 29 +++++++++++++++++++---------- widgets/label.h | 2 ++ 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/widgets/label.cpp b/widgets/label.cpp index 61abd7d5a..38146332a 100644 --- a/widgets/label.cpp +++ b/widgets/label.cpp @@ -34,8 +34,9 @@ namespace Plasma class Label::Private { public: - Private() - : svg(0) + Private(Label *label) + : q(label), + svg(0) { } @@ -64,6 +65,17 @@ public: static_cast(q->widget())->setPixmap(pm); } + void setPalette() + { + QLabel *native = q->nativeWidget(); + QColor color = Theme::defaultTheme()->color(Theme::TextColor); + QPalette p = native->palette(); + p.setColor(QPalette::Normal, QPalette::WindowText, color); + p.setColor(QPalette::Inactive, QPalette::WindowText, color); + native->setPalette(p); + } + + Label *q; QString imagePath; QString absImagePath; Svg *svg; @@ -71,18 +83,15 @@ public: Label::Label(QGraphicsWidget *parent) : QGraphicsProxyWidget(parent), - d(new Private) + d(new Private(this)) { QLabel* native = new QLabel; - QPalette p = native->palette(); - QColor color = Theme::defaultTheme()->color(Theme::TextColor); - p.setColor(QPalette::Normal, QPalette::WindowText, color); - p.setColor(QPalette::Inactive, QPalette::WindowText, color); - native->setPalette(p); - - setWidget(native); + connect(Theme::defaultTheme(), SIGNAL(themeChanged()), this, SLOT(setPalette())); native->setAttribute(Qt::WA_NoSystemBackground); + native->setWordWrap(true); + setWidget(native); + d->setPalette(); } Label::~Label() diff --git a/widgets/label.h b/widgets/label.h index 559885daa..8c5a42297 100644 --- a/widgets/label.h +++ b/widgets/label.h @@ -91,6 +91,8 @@ protected: void resizeEvent(QGraphicsSceneResizeEvent *event); private: + Q_PRIVATE_SLOT(d, void setPalette()) + class Private; Private * const d; };