From c2cc1af580ce2195e6d5661baf0a949967527e4a Mon Sep 17 00:00:00 2001 From: FarmRadio Hangar Date: Tue, 17 May 2016 16:43:46 +0300 Subject: [PATCH] re-implement Raised Button as pimpl class --- components/raisedbutton.cpp | 17 +++++++++++++++++ components/raisedbutton.h | 6 ++++++ components/raisedbutton_p.h | 5 +++-- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/components/raisedbutton.cpp b/components/raisedbutton.cpp index d23c4fd..546664a 100644 --- a/components/raisedbutton.cpp +++ b/components/raisedbutton.cpp @@ -1,9 +1,26 @@ #include "raisedbutton.h" +#include #include "raisedbutton_p.h" +void RaisedButtonPrivate::init() +{ + Q_Q(RaisedButton); + + QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect; + effect->setBlurRadius(7); + effect->setOffset(QPoint(0, 0)); + effect->setColor(QColor(0, 0, 0, 100)); + q->setGraphicsEffect(effect); + + q->setAutoFillBackground(true); +} + RaisedButton::RaisedButton(QWidget *parent) : FlatButton(*new RaisedButtonPrivate(this), parent) { + Q_D(RaisedButton); + + d->init(); } RaisedButton::~RaisedButton() diff --git a/components/raisedbutton.h b/components/raisedbutton.h index 5ee0c41..528ea45 100644 --- a/components/raisedbutton.h +++ b/components/raisedbutton.h @@ -3,6 +3,8 @@ #include "flatbutton.h" +class RaisedButtonPrivate; + class RaisedButton : public FlatButton { Q_OBJECT @@ -10,6 +12,10 @@ class RaisedButton : public FlatButton public: explicit RaisedButton(QWidget *parent = 0); ~RaisedButton(); + +private: + Q_DISABLE_COPY(RaisedButton) + Q_DECLARE_PRIVATE(RaisedButton) }; #endif // RAISEDBUTTON_H diff --git a/components/raisedbutton_p.h b/components/raisedbutton_p.h index 8f3661b..821d549 100644 --- a/components/raisedbutton_p.h +++ b/components/raisedbutton_p.h @@ -11,8 +11,9 @@ class RaisedButtonPrivate : public FlatButtonPrivate public: RaisedButtonPrivate(RaisedButton *q) : FlatButtonPrivate(q) - { - } + {} + + void init(); }; #endif // RAISEDBUTTON_P_H