From 87bb545de40768c3900acdd32d5b50f4e8eac6ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Fri, 17 Oct 2008 21:11:07 +0000 Subject: [PATCH] Sync r872210 from oxygen. svn path=/trunk/KDE/kdebase/workspace/; revision=872701 --- clients/ozone/oxygen.cpp | 1 + clients/ozone/oxygen.h | 1 + clients/ozone/oxygenbutton.cpp | 12 ++++++++++++ clients/ozone/oxygenclient.cpp | 3 +++ 4 files changed, 17 insertions(+) diff --git a/clients/ozone/oxygen.cpp b/clients/ozone/oxygen.cpp index 51ea06bbcb..ae27f69400 100644 --- a/clients/ozone/oxygen.cpp +++ b/clients/ozone/oxygen.cpp @@ -149,6 +149,7 @@ bool OxygenFactory::supports( Ability ability ) const case AbilityButtonAboveOthers: case AbilityButtonBelowOthers: case AbilityButtonSpacer: + case AbilityButtonShade: return true; // no colors supported at this time default: diff --git a/clients/ozone/oxygen.h b/clients/ozone/oxygen.h index bf0418735e..6cb4b4974b 100644 --- a/clients/ozone/oxygen.h +++ b/clients/ozone/oxygen.h @@ -50,6 +50,7 @@ enum ButtonType { ButtonSticky, ButtonAbove, ButtonBelow, + ButtonShade, ButtonTypeCount }; Q_DECLARE_FLAGS(ButtonTypes, ButtonType) diff --git a/clients/ozone/oxygenbutton.cpp b/clients/ozone/oxygenbutton.cpp index a3023ab4f2..37009d9636 100644 --- a/clients/ozone/oxygenbutton.cpp +++ b/clients/ozone/oxygenbutton.cpp @@ -335,6 +335,18 @@ void OxygenButton::drawIcon(QPainter *p, QPalette &pal, ButtonType &type) p->drawLine(QPointF( 7.5, 7), QPointF(10.5,10)); p->drawLine(QPointF(10.5,10), QPointF(13.5, 7)); break; + case ButtonShade: + if (!isChecked()) // shade button + { + p->drawLine(QPointF( 7.5, 7.5), QPointF(10.5,10.5)); + p->drawLine(QPointF(10.5,10.5), QPointF(13.5, 7.5)); + p->drawLine(QPointF( 7.5,13.0), QPointF(13.5,13.0)); + } else { // unshade button + p->drawLine(QPointF( 7.5,10.5), QPointF(10.5, 7.5)); + p->drawLine(QPointF(10.5, 7.5), QPointF(13.5,10.5)); + p->drawLine(QPointF( 7.5,13.0), QPointF(13.5,13.0)); + } + break; default: break; } diff --git a/clients/ozone/oxygenclient.cpp b/clients/ozone/oxygenclient.cpp index 3e7d718e0d..049e71f562 100644 --- a/clients/ozone/oxygenclient.cpp +++ b/clients/ozone/oxygenclient.cpp @@ -202,6 +202,9 @@ KCommonDecorationButton *OxygenClient::createButton(::ButtonType type) case OnAllDesktopsButton: return new OxygenButton(*this, i18n("On All Desktops"), ButtonSticky); + case ShadeButton: + return new OxygenButton(*this, i18n("Shade Button"), ButtonShade); + default: return 0; }