make FlatButton pimpl
This commit is contained in:
parent
c4a17f9dfa
commit
4bc4d6aa92
|
@ -7,36 +7,19 @@
|
||||||
#include "lib/style.h"
|
#include "lib/style.h"
|
||||||
#include "lib/rippleoverlay.h"
|
#include "lib/rippleoverlay.h"
|
||||||
|
|
||||||
|
#include "flatbutton_p.h"
|
||||||
|
|
||||||
FlatButton::FlatButton(QWidget *parent)
|
FlatButton::FlatButton(QWidget *parent)
|
||||||
: QPushButton(parent),
|
: QPushButton(parent),
|
||||||
_ripple(new RippleOverlay(this))
|
d_ptr(new FlatButtonPrivate(this))
|
||||||
{
|
{
|
||||||
setStyle(&Style::instance());
|
|
||||||
setAttribute(Qt::WA_Hover);
|
|
||||||
setMouseTracking(true);
|
|
||||||
|
|
||||||
QFont f(font());
|
|
||||||
f.setCapitalization(QFont::AllUppercase);
|
|
||||||
f.setPointSizeF(10.5);
|
|
||||||
f.setStyleName("Medium");
|
|
||||||
setFont(f);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FlatButton::FlatButton(const QString &text, QWidget *parent)
|
FlatButton::FlatButton(const QString &text, QWidget *parent)
|
||||||
: QPushButton(parent),
|
: QPushButton(parent),
|
||||||
_ripple(new RippleOverlay(this))
|
d_ptr(new FlatButtonPrivate(this))
|
||||||
{
|
{
|
||||||
setText(text);
|
setText(text);
|
||||||
|
|
||||||
setStyle(&Style::instance());
|
|
||||||
setAttribute(Qt::WA_Hover);
|
|
||||||
setMouseTracking(true);
|
|
||||||
|
|
||||||
QFont f(font());
|
|
||||||
f.setCapitalization(QFont::AllUppercase);
|
|
||||||
f.setPointSizeF(10.5);
|
|
||||||
f.setStyleName("Medium");
|
|
||||||
setFont(f);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FlatButton::~FlatButton()
|
FlatButton::~FlatButton()
|
||||||
|
@ -45,8 +28,10 @@ FlatButton::~FlatButton()
|
||||||
|
|
||||||
void FlatButton::resizeEvent(QResizeEvent *event)
|
void FlatButton::resizeEvent(QResizeEvent *event)
|
||||||
{
|
{
|
||||||
if (_ripple) {
|
Q_D(FlatButton);
|
||||||
_ripple->setGeometry(rect());
|
|
||||||
|
if (d->ripple) {
|
||||||
|
d->ripple->setGeometry(rect());
|
||||||
}
|
}
|
||||||
|
|
||||||
QPushButton::resizeEvent(event);
|
QPushButton::resizeEvent(event);
|
||||||
|
@ -56,8 +41,6 @@ void FlatButton::paintEvent(QPaintEvent *event)
|
||||||
{
|
{
|
||||||
Q_UNUSED(event)
|
Q_UNUSED(event)
|
||||||
|
|
||||||
//painter.drawRect(rect().adjusted(0, 0, -1, -1));
|
|
||||||
|
|
||||||
QStylePainter painter(this);
|
QStylePainter painter(this);
|
||||||
|
|
||||||
QStyleOptionButton option;
|
QStyleOptionButton option;
|
||||||
|
@ -87,7 +70,9 @@ void FlatButton::paintEvent(QPaintEvent *event)
|
||||||
|
|
||||||
void FlatButton::mousePressEvent(QMouseEvent *event)
|
void FlatButton::mousePressEvent(QMouseEvent *event)
|
||||||
{
|
{
|
||||||
_ripple->addRipple(event->pos());
|
Q_D(FlatButton);
|
||||||
|
|
||||||
|
d->ripple->addRipple(event->pos());
|
||||||
|
|
||||||
QPushButton::mousePressEvent(event);
|
QPushButton::mousePressEvent(event);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,9 @@
|
||||||
#define FLATBUTTON_H
|
#define FLATBUTTON_H
|
||||||
|
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
#include <QScopedPointer>
|
||||||
|
|
||||||
class RippleOverlay;
|
class FlatButtonPrivate;
|
||||||
|
|
||||||
class FlatButton : public QPushButton
|
class FlatButton : public QPushButton
|
||||||
{
|
{
|
||||||
|
@ -21,8 +22,11 @@ protected:
|
||||||
void enterEvent(QEvent *event) Q_DECL_OVERRIDE;
|
void enterEvent(QEvent *event) Q_DECL_OVERRIDE;
|
||||||
void leaveEvent(QEvent *event) Q_DECL_OVERRIDE;
|
void leaveEvent(QEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
|
const QScopedPointer<FlatButtonPrivate> d_ptr;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RippleOverlay *const _ripple;
|
Q_DISABLE_COPY(FlatButton)
|
||||||
|
Q_DECLARE_PRIVATE(FlatButton)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FLATBUTTON_H
|
#endif // FLATBUTTON_H
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
#ifndef FLATBUTTON_P_H
|
||||||
|
#define FLATBUTTON_P_H
|
||||||
|
|
||||||
|
#include "flatbutton.h"
|
||||||
|
#include "lib/rippleoverlay.h"
|
||||||
|
|
||||||
|
class FlatButtonPrivate
|
||||||
|
{
|
||||||
|
Q_DISABLE_COPY(FlatButtonPrivate)
|
||||||
|
Q_DECLARE_PUBLIC(FlatButton)
|
||||||
|
|
||||||
|
public:
|
||||||
|
FlatButtonPrivate(FlatButton *parent);
|
||||||
|
|
||||||
|
FlatButton *const q_ptr;
|
||||||
|
RippleOverlay *const ripple;
|
||||||
|
};
|
||||||
|
|
||||||
|
FlatButtonPrivate::FlatButtonPrivate(FlatButton *parent)
|
||||||
|
: q_ptr(parent),
|
||||||
|
ripple(new RippleOverlay(parent))
|
||||||
|
{
|
||||||
|
parent->setStyle(&Style::instance());
|
||||||
|
parent->setAttribute(Qt::WA_Hover);
|
||||||
|
parent->setMouseTracking(true);
|
||||||
|
|
||||||
|
QFont font(parent->font());
|
||||||
|
font.setCapitalization(QFont::AllUppercase);
|
||||||
|
font.setPointSizeF(10.5);
|
||||||
|
font.setStyleName("Medium");
|
||||||
|
parent->setFont(font);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // FLATBUTTON_P_H
|
|
@ -52,17 +52,15 @@ SliderPrivate::SliderPrivate(Slider *parent)
|
||||||
oldValue(parent->value()),
|
oldValue(parent->value()),
|
||||||
trackWidth(2)
|
trackWidth(2)
|
||||||
{
|
{
|
||||||
Q_Q(Slider);
|
parent->setMouseTracking(true);
|
||||||
|
parent->setFocusPolicy(Qt::StrongFocus);
|
||||||
q->setMouseTracking(true);
|
parent->setPageStep(1);
|
||||||
q->setFocusPolicy(Qt::StrongFocus);
|
|
||||||
q->setPageStep(1);
|
|
||||||
|
|
||||||
QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||||
if (q->orientation() == Qt::Vertical)
|
if (parent->orientation() == Qt::Vertical)
|
||||||
sp.transpose();
|
sp.transpose();
|
||||||
q->setSizePolicy(sp);
|
parent->setSizePolicy(sp);
|
||||||
q->setAttribute(Qt::WA_WState_OwnSizePolicy, false);
|
parent->setAttribute(Qt::WA_WState_OwnSizePolicy, false);
|
||||||
|
|
||||||
machine->start();
|
machine->start();
|
||||||
|
|
||||||
|
|
|
@ -102,7 +102,8 @@ HEADERS += mainwindow.h \
|
||||||
components/searchfield.h \
|
components/searchfield.h \
|
||||||
lib/theme.h \
|
lib/theme.h \
|
||||||
lib/theme_p.h \
|
lib/theme_p.h \
|
||||||
components/sliderinternal.h
|
components/sliderinternal.h \
|
||||||
|
components/flatbutton_p.h
|
||||||
|
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
resources.qrc
|
resources.qrc
|
||||||
|
|
Loading…
Reference in New Issue