From bf6ef3f41d4adefdb096fc852311b3bf80d53676 Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Tue, 11 Nov 2008 12:15:35 +0000 Subject: [PATCH] pushbutton has a glow also when pressed, toolbutton not. svn path=/trunk/KDE/kdelibs/; revision=882769 --- widgets/pushbutton.cpp | 8 +++++--- widgets/toolbutton.cpp | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/widgets/pushbutton.cpp b/widgets/pushbutton.cpp index 313d94505..67c4ac280 100644 --- a/widgets/pushbutton.cpp +++ b/widgets/pushbutton.cpp @@ -224,8 +224,6 @@ void PushButton::resizeEvent(QGraphicsSceneResizeEvent *event) if (d->background) { //resize all four panels - d->background->setElementPrefix("pressed"); - d->background->resizeFrame(size()); d->background->setElementPrefix("focus"); d->background->resizeFrame(size()); @@ -233,6 +231,8 @@ void PushButton::resizeEvent(QGraphicsSceneResizeEvent *event) d->background->setElementPrefix("active"); d->background->resizeFrame(d->activeRect.size()); + d->background->setElementPrefix("pressed"); + d->background->resizeFrame(d->activeRect.size()); d->background->setElementPrefix("normal"); d->background->resizeFrame(size()); @@ -254,13 +254,15 @@ void PushButton::paint(QPainter *painter, //Normal button, pressed or not if (isEnabled()) { + QPointF topLeft(0,0); if (nativeWidget()->isDown()) { d->background->setElementPrefix("pressed"); + topLeft = d->activeRect.topLeft(); } else { d->background->setElementPrefix("normal"); } if (d->animId == -1) { - d->background->paintFrame(painter); + d->background->paintFrame(painter, topLeft); } //flat or disabled } else if (!isEnabled() || nativeWidget()->isFlat()) { diff --git a/widgets/toolbutton.cpp b/widgets/toolbutton.cpp index 8c77b7289..b971a73a7 100644 --- a/widgets/toolbutton.cpp +++ b/widgets/toolbutton.cpp @@ -224,7 +224,7 @@ void ToolButton::resizeEvent(QGraphicsSceneResizeEvent *event) if (d->background) { //resize all four panels - d->background->setElementPrefix("pressed"); + d->background->setElementPrefix("toolbutton-pressed"); d->background->resizeFrame(size()); d->background->setElementPrefix("focus"); d->background->resizeFrame(size()); @@ -262,7 +262,7 @@ void ToolButton::paint(QPainter *painter, if (d->animId || (buttonOpt.state & QStyle::State_MouseOver) || (buttonOpt.state & QStyle::State_On)) { if (button->isDown() || (buttonOpt.state & QStyle::State_On)) { - d->background->setElementPrefix("pressed"); + d->background->setElementPrefix("toolbutton-pressed"); } else { d->background->setElementPrefix("normal"); }