From ca976fbf3aa7e4ba508b83339d966ef1c19cadca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Tue, 5 Aug 2008 12:46:47 +0000 Subject: [PATCH] Sync r831765 from oxygen. svn path=/trunk/KDE/kdebase/workspace/; revision=842505 --- clients/ozone/oxygenbutton.cpp | 24 ++++++++++++++++++++---- clients/ozone/oxygenbutton.h | 7 ++++--- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/clients/ozone/oxygenbutton.cpp b/clients/ozone/oxygenbutton.cpp index 64c6a5dd5a..6c282e6205 100644 --- a/clients/ozone/oxygenbutton.cpp +++ b/clients/ozone/oxygenbutton.cpp @@ -139,15 +139,31 @@ void OxygenButton::leaveEvent(QEvent *e) } ////////////////////////////////////////////////////////////////////////////// -// pressSlot() +// mousePressEvent() // ------------ // Mouse has pressed the button -// TODO: never called? -void OxygenButton::pressSlot() + +void OxygenButton::mousePressEvent(QMouseEvent *e) { status_ = Oxygen::Pressed; update(); + + KCommonDecorationButton::mousePressEvent(e); +} + +////////////////////////////////////////////////////////////////////////////// +// mouseReleaseEvent() +// ------------ +// Mouse has released the button + +void OxygenButton::mouseReleaseEvent(QMouseEvent *e) +{ + status_ = Oxygen::Normal; + update(); + + KCommonDecorationButton::mouseReleaseEvent(e); } + ////////////////////////////////////////////////////////////////////////////// // drawButton() // ------------ @@ -201,7 +217,7 @@ void OxygenButton::paintEvent(QPaintEvent *) } QLinearGradient lg = helper_.decoGradient(QRect(4,4,13,13), color); - QColor bt = OxygenFactory::blendTitlebarColors()?pal.button().color() + QColor bt = OxygenFactory::blendTitlebarColors()?pal.window().color() :client_.options()->color(KDecorationDefines::ColorButtonBg,client_.isActive()); painter.drawPixmap(0, 0, helper_.windecoButton(bt, status_ == Oxygen::Pressed)); diff --git a/clients/ozone/oxygenbutton.h b/clients/ozone/oxygenbutton.h index 1dbeae4138..e6529d20ac 100644 --- a/clients/ozone/oxygenbutton.h +++ b/clients/ozone/oxygenbutton.h @@ -57,6 +57,10 @@ public: const int lastMousePress(){return lastmouse_;} void reset(long unsigned int){repaint();} +protected: + void mousePressEvent(QMouseEvent *e); + void mouseReleaseEvent(QMouseEvent *e); + private: void enterEvent(QEvent *e); void leaveEvent(QEvent *e); @@ -64,9 +68,6 @@ private: void drawIcon(QPainter *p, QPalette &pal, ButtonType &type); QColor buttonDetailColor(const QPalette &palette); -private Q_SLOTS: - void pressSlot(); - private: OxygenClient &client_; OxygenHelper &helper_;