Move "FlatButton" to "md" namespace.

This commit is contained in:
Achraf k 2022-02-17 02:18:04 +01:00
parent 410bb72a2d
commit 8a55c8f1d6
5 changed files with 169 additions and 152 deletions

View File

@ -11,6 +11,8 @@
#include "lib/qtmaterialstyle.h" #include "lib/qtmaterialstyle.h"
#include "qtmaterialflatbutton_internal.h" #include "qtmaterialflatbutton_internal.h"
namespace md
{
/*! /*!
* \class QtMaterialFlatButtonPrivate * \class QtMaterialFlatButtonPrivate
* \internal * \internal
@ -19,7 +21,7 @@
/*! /*!
* \internal * \internal
*/ */
QtMaterialFlatButtonPrivate::QtMaterialFlatButtonPrivate(QtMaterialFlatButton *q) FlatButtonPrivate::FlatButtonPrivate(FlatButton *q)
: q_ptr(q) : q_ptr(q)
{ {
} }
@ -27,19 +29,19 @@ QtMaterialFlatButtonPrivate::QtMaterialFlatButtonPrivate(QtMaterialFlatButton *q
/*! /*!
* \internal * \internal
*/ */
QtMaterialFlatButtonPrivate::~QtMaterialFlatButtonPrivate() FlatButtonPrivate::~FlatButtonPrivate()
{ {
} }
/*! /*!
* \internal * \internal
*/ */
void QtMaterialFlatButtonPrivate::init() void FlatButtonPrivate::init()
{ {
Q_Q(QtMaterialFlatButton); Q_Q(FlatButton);
rippleOverlay = new QtMaterialRippleOverlay(q); rippleOverlay = new RippleOverlay(q);
stateMachine = new QtMaterialFlatButtonStateMachine(q); stateMachine = new FlatButtonStateMachine(q);
role = Material::Default; role = Material::Default;
rippleStyle = Material::PositionedRipple; rippleStyle = Material::PositionedRipple;
iconPlacement = Material::LeftIcon; iconPlacement = Material::LeftIcon;
@ -75,27 +77,27 @@ void QtMaterialFlatButtonPrivate::init()
* \class QtMaterialFlatButton * \class QtMaterialFlatButton
*/ */
QtMaterialFlatButton::QtMaterialFlatButton(QWidget *parent, Material::ButtonPreset preset) FlatButton::FlatButton(QWidget *parent, Material::ButtonPreset preset)
: QPushButton(parent), : QPushButton(parent),
d_ptr(new QtMaterialFlatButtonPrivate(this)) d_ptr(new FlatButtonPrivate(this))
{ {
d_func()->init(); d_func()->init();
applyPreset(preset); applyPreset(preset);
} }
QtMaterialFlatButton::QtMaterialFlatButton(const QString &text, QWidget *parent, Material::ButtonPreset preset) FlatButton::FlatButton(const QString &text, QWidget *parent, Material::ButtonPreset preset)
: QPushButton(text, parent), : QPushButton(text, parent),
d_ptr(new QtMaterialFlatButtonPrivate(this)) d_ptr(new FlatButtonPrivate(this))
{ {
d_func()->init(); d_func()->init();
applyPreset(preset); applyPreset(preset);
} }
QtMaterialFlatButton::QtMaterialFlatButton(const QString &text, Material::Role role, QWidget *parent, Material::ButtonPreset preset) FlatButton::FlatButton(const QString &text, Material::Role role, QWidget *parent, Material::ButtonPreset preset)
: QPushButton(text, parent), : QPushButton(text, parent),
d_ptr(new QtMaterialFlatButtonPrivate(this)) d_ptr(new FlatButtonPrivate(this))
{ {
d_func()->init(); d_func()->init();
@ -103,11 +105,11 @@ QtMaterialFlatButton::QtMaterialFlatButton(const QString &text, Material::Role r
setRole(role); setRole(role);
} }
QtMaterialFlatButton::~QtMaterialFlatButton() FlatButton::~FlatButton()
{ {
} }
void QtMaterialFlatButton::applyPreset(Material::ButtonPreset preset) void FlatButton::applyPreset(Material::ButtonPreset preset)
{ {
switch (preset) switch (preset)
{ {
@ -124,9 +126,9 @@ void QtMaterialFlatButton::applyPreset(Material::ButtonPreset preset)
} }
} }
void QtMaterialFlatButton::setUseThemeColors(bool value) void FlatButton::setUseThemeColors(bool value)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
if (d->useThemeColors == value) { if (d->useThemeColors == value) {
return; return;
@ -136,31 +138,31 @@ void QtMaterialFlatButton::setUseThemeColors(bool value)
d->stateMachine->setupProperties(); d->stateMachine->setupProperties();
} }
bool QtMaterialFlatButton::useThemeColors() const bool FlatButton::useThemeColors() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->useThemeColors; return d->useThemeColors;
} }
void QtMaterialFlatButton::setRole(Material::Role role) void FlatButton::setRole(Material::Role role)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->role = role; d->role = role;
d->stateMachine->setupProperties(); d->stateMachine->setupProperties();
} }
Material::Role QtMaterialFlatButton::role() const Material::Role FlatButton::role() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->role; return d->role;
} }
void QtMaterialFlatButton::setForegroundColor(const QColor &color) void FlatButton::setForegroundColor(const QColor &color)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->foregroundColor = color; d->foregroundColor = color;
@ -168,9 +170,9 @@ void QtMaterialFlatButton::setForegroundColor(const QColor &color)
update(); update();
} }
QColor QtMaterialFlatButton::foregroundColor() const QColor FlatButton::foregroundColor() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
if (d->useThemeColors || !d->foregroundColor.isValid()) if (d->useThemeColors || !d->foregroundColor.isValid())
{ {
@ -191,9 +193,9 @@ QColor QtMaterialFlatButton::foregroundColor() const
return d->foregroundColor; return d->foregroundColor;
} }
void QtMaterialFlatButton::setBackgroundColor(const QColor &color) void FlatButton::setBackgroundColor(const QColor &color)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->backgroundColor = color; d->backgroundColor = color;
@ -201,9 +203,9 @@ void QtMaterialFlatButton::setBackgroundColor(const QColor &color)
update(); update();
} }
QColor QtMaterialFlatButton::backgroundColor() const QColor FlatButton::backgroundColor() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
if (d->useThemeColors || !d->backgroundColor.isValid()) if (d->useThemeColors || !d->backgroundColor.isValid())
{ {
@ -221,9 +223,9 @@ QColor QtMaterialFlatButton::backgroundColor() const
return d->backgroundColor; return d->backgroundColor;
} }
void QtMaterialFlatButton::setOverlayColor(const QColor &color) void FlatButton::setOverlayColor(const QColor &color)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->overlayColor = color; d->overlayColor = color;
@ -233,9 +235,9 @@ void QtMaterialFlatButton::setOverlayColor(const QColor &color)
update(); update();
} }
QColor QtMaterialFlatButton::overlayColor() const QColor FlatButton::overlayColor() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
if (d->useThemeColors || !d->overlayColor.isValid()) { if (d->useThemeColors || !d->overlayColor.isValid()) {
return foregroundColor(); return foregroundColor();
@ -243,9 +245,9 @@ QColor QtMaterialFlatButton::overlayColor() const
return d->overlayColor; return d->overlayColor;
} }
void QtMaterialFlatButton::setDisabledForegroundColor(const QColor &color) void FlatButton::setDisabledForegroundColor(const QColor &color)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->disabledColor = color; d->disabledColor = color;
@ -253,9 +255,9 @@ void QtMaterialFlatButton::setDisabledForegroundColor(const QColor &color)
update(); update();
} }
QColor QtMaterialFlatButton::disabledForegroundColor() const QColor FlatButton::disabledForegroundColor() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
if (d->useThemeColors || !d->disabledColor.isValid()) { if (d->useThemeColors || !d->disabledColor.isValid()) {
return QtMaterialStyle::instance().themeColor("disabled"); return QtMaterialStyle::instance().themeColor("disabled");
@ -264,9 +266,9 @@ QColor QtMaterialFlatButton::disabledForegroundColor() const
} }
} }
void QtMaterialFlatButton::setDisabledBackgroundColor(const QColor &color) void FlatButton::setDisabledBackgroundColor(const QColor &color)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->disabledBackgroundColor = color; d->disabledBackgroundColor = color;
@ -274,9 +276,9 @@ void QtMaterialFlatButton::setDisabledBackgroundColor(const QColor &color)
update(); update();
} }
QColor QtMaterialFlatButton::disabledBackgroundColor() const QColor FlatButton::disabledBackgroundColor() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
if (d->useThemeColors || !d->disabledBackgroundColor.isValid()) { if (d->useThemeColors || !d->disabledBackgroundColor.isValid()) {
return QtMaterialStyle::instance().themeColor("disabled3"); return QtMaterialStyle::instance().themeColor("disabled3");
@ -285,9 +287,9 @@ QColor QtMaterialFlatButton::disabledBackgroundColor() const
} }
} }
void QtMaterialFlatButton::setFontSize(qreal size) void FlatButton::setFontSize(qreal size)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->fontSize = size; d->fontSize = size;
@ -298,159 +300,159 @@ void QtMaterialFlatButton::setFontSize(qreal size)
update(); update();
} }
qreal QtMaterialFlatButton::fontSize() const qreal FlatButton::fontSize() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->fontSize; return d->fontSize;
} }
void QtMaterialFlatButton::setHaloVisible(bool visible) void FlatButton::setHaloVisible(bool visible)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->haloVisible = visible; d->haloVisible = visible;
update(); update();
} }
bool QtMaterialFlatButton::isHaloVisible() const bool FlatButton::isHaloVisible() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->haloVisible; return d->haloVisible;
} }
void QtMaterialFlatButton::setOverlayStyle(Material::OverlayStyle style) void FlatButton::setOverlayStyle(Material::OverlayStyle style)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->overlayStyle = style; d->overlayStyle = style;
update(); update();
} }
Material::OverlayStyle QtMaterialFlatButton::overlayStyle() const Material::OverlayStyle FlatButton::overlayStyle() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->overlayStyle; return d->overlayStyle;
} }
void QtMaterialFlatButton::setRippleStyle(Material::RippleStyle style) void FlatButton::setRippleStyle(Material::RippleStyle style)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->rippleStyle = style; d->rippleStyle = style;
} }
Material::RippleStyle QtMaterialFlatButton::rippleStyle() const Material::RippleStyle FlatButton::rippleStyle() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->rippleStyle; return d->rippleStyle;
} }
void QtMaterialFlatButton::setIconPlacement(Material::ButtonIconPlacement placement) void FlatButton::setIconPlacement(Material::ButtonIconPlacement placement)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->iconPlacement = placement; d->iconPlacement = placement;
update(); update();
} }
Material::ButtonIconPlacement QtMaterialFlatButton::iconPlacement() const Material::ButtonIconPlacement FlatButton::iconPlacement() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->iconPlacement; return d->iconPlacement;
} }
void QtMaterialFlatButton::setCornerRadius(qreal radius) void FlatButton::setCornerRadius(qreal radius)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->cornerRadius = radius; d->cornerRadius = radius;
updateClipPath(); updateClipPath();
update(); update();
} }
qreal QtMaterialFlatButton::cornerRadius() const qreal FlatButton::cornerRadius() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->cornerRadius; return d->cornerRadius;
} }
void QtMaterialFlatButton::setBackgroundMode(Qt::BGMode mode) void FlatButton::setBackgroundMode(Qt::BGMode mode)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->bgMode = mode; d->bgMode = mode;
d->stateMachine->setupProperties(); d->stateMachine->setupProperties();
} }
Qt::BGMode QtMaterialFlatButton::backgroundMode() const Qt::BGMode FlatButton::backgroundMode() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->bgMode; return d->bgMode;
} }
void QtMaterialFlatButton::setBaseOpacity(qreal opacity) void FlatButton::setBaseOpacity(qreal opacity)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->baseOpacity = opacity; d->baseOpacity = opacity;
d->stateMachine->setupProperties(); d->stateMachine->setupProperties();
} }
qreal QtMaterialFlatButton::baseOpacity() const qreal FlatButton::baseOpacity() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->baseOpacity; return d->baseOpacity;
} }
void QtMaterialFlatButton::setCheckable(bool value) void FlatButton::setCheckable(bool value)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->stateMachine->updateCheckedStatus(); d->stateMachine->updateCheckedStatus();
QPushButton::setCheckable(value); QPushButton::setCheckable(value);
} }
void QtMaterialFlatButton::setHasFixedRippleRadius(bool value) void FlatButton::setHasFixedRippleRadius(bool value)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->useFixedRippleRadius = value; d->useFixedRippleRadius = value;
} }
bool QtMaterialFlatButton::hasFixedRippleRadius() const bool FlatButton::hasFixedRippleRadius() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->useFixedRippleRadius; return d->useFixedRippleRadius;
} }
void QtMaterialFlatButton::setFixedRippleRadius(qreal radius) void FlatButton::setFixedRippleRadius(qreal radius)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->fixedRippleRadius = radius; d->fixedRippleRadius = radius;
setHasFixedRippleRadius(true); setHasFixedRippleRadius(true);
} }
void QtMaterialFlatButton::setTextAlignment(Qt::Alignment alignment) void FlatButton::setTextAlignment(Qt::Alignment alignment)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->textAlignment = alignment; d->textAlignment = alignment;
} }
Qt::Alignment QtMaterialFlatButton::textAlignment() const Qt::Alignment FlatButton::textAlignment() const
{ {
Q_D(const QtMaterialFlatButton); Q_D(const FlatButton);
return d->textAlignment; return d->textAlignment;
} }
@ -458,7 +460,7 @@ Qt::Alignment QtMaterialFlatButton::textAlignment() const
/*! /*!
* \reimp * \reimp
*/ */
QSize QtMaterialFlatButton::sizeHint() const QSize FlatButton::sizeHint() const
{ {
ensurePolished(); ensurePolished();
@ -467,13 +469,13 @@ QSize QtMaterialFlatButton::sizeHint() const
int w = 20 + label.width(); int w = 20 + label.width();
int h = label.height(); int h = label.height();
if (!icon().isNull()) { if (!icon().isNull()) {
w += iconSize().width() + QtMaterialFlatButton::IconPadding; w += iconSize().width() + FlatButton::IconPadding;
h = qMax(h, iconSize().height()); h = qMax(h, iconSize().height());
} }
return QSize(w, 20 + h); return QSize(w, 20 + h);
} }
QtMaterialFlatButton::QtMaterialFlatButton(QtMaterialFlatButtonPrivate &d,QWidget *parent, Material::ButtonPreset preset) FlatButton::FlatButton(FlatButtonPrivate &d,QWidget *parent, Material::ButtonPreset preset)
: QPushButton(parent), : QPushButton(parent),
d_ptr(&d) d_ptr(&d)
{ {
@ -485,9 +487,9 @@ QtMaterialFlatButton::QtMaterialFlatButton(QtMaterialFlatButtonPrivate &d,QWidge
/*! /*!
* \reimp * \reimp
*/ */
void QtMaterialFlatButton::checkStateSet() void FlatButton::checkStateSet()
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
d->stateMachine->updateCheckedStatus(); d->stateMachine->updateCheckedStatus();
@ -497,9 +499,9 @@ void QtMaterialFlatButton::checkStateSet()
/*! /*!
* \reimp * \reimp
*/ */
void QtMaterialFlatButton::mousePressEvent(QMouseEvent *event) void FlatButton::mousePressEvent(QMouseEvent *event)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
if (Material::NoRipple != d->rippleStyle) if (Material::NoRipple != d->rippleStyle)
{ {
@ -535,16 +537,16 @@ void QtMaterialFlatButton::mousePressEvent(QMouseEvent *event)
/*! /*!
* \reimp * \reimp
*/ */
void QtMaterialFlatButton::mouseReleaseEvent(QMouseEvent *event) void FlatButton::mouseReleaseEvent(QMouseEvent *event)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
QPushButton::mouseReleaseEvent(event); QPushButton::mouseReleaseEvent(event);
d->stateMachine->updateCheckedStatus(); d->stateMachine->updateCheckedStatus();
} }
void QtMaterialFlatButton::resizeEvent(QResizeEvent *event) void FlatButton::resizeEvent(QResizeEvent *event)
{ {
QPushButton::resizeEvent(event); QPushButton::resizeEvent(event);
@ -554,11 +556,11 @@ void QtMaterialFlatButton::resizeEvent(QResizeEvent *event)
/*! /*!
* \reimp * \reimp
*/ */
void QtMaterialFlatButton::paintEvent(QPaintEvent *event) void FlatButton::paintEvent(QPaintEvent *event)
{ {
Q_UNUSED(event) Q_UNUSED(event)
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
QPainter painter(this); QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing); painter.setRenderHint(QPainter::Antialiasing);
@ -586,9 +588,9 @@ void QtMaterialFlatButton::paintEvent(QPaintEvent *event)
/*! /*!
* \internal * \internal
*/ */
void QtMaterialFlatButton::paintBackground(QPainter *painter) void FlatButton::paintBackground(QPainter *painter)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
const qreal overlayOpacity = d->stateMachine->overlayOpacity(); const qreal overlayOpacity = d->stateMachine->overlayOpacity();
const qreal checkedProgress = d->stateMachine->checkedOverlayProgress(); const qreal checkedProgress = d->stateMachine->checkedOverlayProgress();
@ -640,9 +642,9 @@ void QtMaterialFlatButton::paintBackground(QPainter *painter)
/*! /*!
* \internal * \internal
*/ */
void QtMaterialFlatButton::paintHalo(QPainter *painter) void FlatButton::paintHalo(QPainter *painter)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
if (!d->haloVisible) { if (!d->haloVisible) {
return; return;
@ -669,9 +671,9 @@ void QtMaterialFlatButton::paintHalo(QPainter *painter)
/*! /*!
* \internal * \internal
*/ */
void QtMaterialFlatButton::paintForeground(QPainter *painter) void FlatButton::paintForeground(QPainter *painter)
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
if (isEnabled()) { if (isEnabled()) {
painter->setPen(foregroundColor()); painter->setPen(foregroundColor());
@ -729,9 +731,9 @@ void QtMaterialFlatButton::paintForeground(QPainter *painter)
/*! /*!
* \internal * \internal
*/ */
void QtMaterialFlatButton::updateClipPath() void FlatButton::updateClipPath()
{ {
Q_D(QtMaterialFlatButton); Q_D(FlatButton);
const qreal radius = d->cornerRadius; const qreal radius = d->cornerRadius;
@ -739,3 +741,4 @@ void QtMaterialFlatButton::updateClipPath()
path.addRoundedRect(rect(), radius, radius); path.addRoundedRect(rect(), radius, radius);
d->rippleOverlay->setClipPath(path); d->rippleOverlay->setClipPath(path);
} }
}

View File

@ -5,9 +5,11 @@
#include <QScopedPointer> #include <QScopedPointer>
#include "lib/qtmaterialtheme.h" #include "lib/qtmaterialtheme.h"
class QtMaterialFlatButtonPrivate; namespace md {
class QtMaterialFlatButton : public QPushButton class FlatButtonPrivate;
class FlatButton : public QPushButton
{ {
Q_OBJECT Q_OBJECT
@ -19,10 +21,10 @@ class QtMaterialFlatButton : public QPushButton
Q_PROPERTY(qreal fontSize WRITE setFontSize READ fontSize) Q_PROPERTY(qreal fontSize WRITE setFontSize READ fontSize)
public: public:
explicit QtMaterialFlatButton(QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset); explicit FlatButton(QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset);
explicit QtMaterialFlatButton(const QString &text, QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset); explicit FlatButton(const QString &text, QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset);
QtMaterialFlatButton(const QString &text, Material::Role role, QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset); FlatButton(const QString &text, Material::Role role, QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset);
~QtMaterialFlatButton(); ~FlatButton();
void applyPreset(Material::ButtonPreset preset); void applyPreset(Material::ButtonPreset preset);
@ -88,7 +90,7 @@ protected:
IconPadding = 12 IconPadding = 12
}; };
QtMaterialFlatButton(QtMaterialFlatButtonPrivate &d, QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset); FlatButton(FlatButtonPrivate &d, QWidget *parent = 0, Material::ButtonPreset preset = Material::FlatPreset);
void checkStateSet() Q_DECL_OVERRIDE; void checkStateSet() Q_DECL_OVERRIDE;
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
@ -102,11 +104,13 @@ protected:
virtual void updateClipPath(); virtual void updateClipPath();
const QScopedPointer<QtMaterialFlatButtonPrivate> d_ptr; const QScopedPointer<FlatButtonPrivate> d_ptr;
private: private:
Q_DISABLE_COPY(QtMaterialFlatButton) Q_DISABLE_COPY(FlatButton)
Q_DECLARE_PRIVATE(QtMaterialFlatButton) Q_DECLARE_PRIVATE(FlatButton)
}; };
}
#endif // QTMATERIALFLATBUTTON_H #endif // QTMATERIALFLATBUTTON_H

View File

@ -6,12 +6,14 @@
#include "qtmaterialflatbutton.h" #include "qtmaterialflatbutton.h"
#include "lib/qtmaterialstatetransition.h" #include "lib/qtmaterialstatetransition.h"
namespace md
{
/*! /*!
* \class QtMaterialFlatButtonStateMachine * \class QtMaterialFlatButtonStateMachine
* \internal * \internal
*/ */
QtMaterialFlatButtonStateMachine::QtMaterialFlatButtonStateMachine(QtMaterialFlatButton *parent) FlatButtonStateMachine::FlatButtonStateMachine(FlatButton *parent)
: QStateMachine(parent), : QStateMachine(parent),
m_button(parent), m_button(parent),
m_topLevelState(new QState(QState::ParallelStates)), m_topLevelState(new QState(QState::ParallelStates)),
@ -105,47 +107,47 @@ QtMaterialFlatButtonStateMachine::QtMaterialFlatButtonStateMachine(QtMaterialFla
m_haloAnimation->setLoopCount(-1); m_haloAnimation->setLoopCount(-1);
} }
QtMaterialFlatButtonStateMachine::~QtMaterialFlatButtonStateMachine() FlatButtonStateMachine::~FlatButtonStateMachine()
{ {
} }
void QtMaterialFlatButtonStateMachine::setOverlayOpacity(qreal opacity) void FlatButtonStateMachine::setOverlayOpacity(qreal opacity)
{ {
m_overlayOpacity = opacity; m_overlayOpacity = opacity;
m_button->update(); m_button->update();
} }
void QtMaterialFlatButtonStateMachine::setCheckedOverlayProgress(qreal progress) void FlatButtonStateMachine::setCheckedOverlayProgress(qreal progress)
{ {
m_checkedOverlayProgress = progress; m_checkedOverlayProgress = progress;
m_button->update(); m_button->update();
} }
void QtMaterialFlatButtonStateMachine::setHaloOpacity(qreal opacity) void FlatButtonStateMachine::setHaloOpacity(qreal opacity)
{ {
m_haloOpacity = opacity; m_haloOpacity = opacity;
m_button->update(); m_button->update();
} }
void QtMaterialFlatButtonStateMachine::setHaloSize(qreal size) void FlatButtonStateMachine::setHaloSize(qreal size)
{ {
m_haloSize = size; m_haloSize = size;
m_button->update(); m_button->update();
} }
void QtMaterialFlatButtonStateMachine::setHaloScaleFactor(qreal factor) void FlatButtonStateMachine::setHaloScaleFactor(qreal factor)
{ {
m_haloScaleFactor = factor; m_haloScaleFactor = factor;
m_button->update(); m_button->update();
} }
void QtMaterialFlatButtonStateMachine::startAnimations() void FlatButtonStateMachine::startAnimations()
{ {
m_haloAnimation->start(); m_haloAnimation->start();
start(); start();
} }
void QtMaterialFlatButtonStateMachine::setupProperties() void FlatButtonStateMachine::setupProperties()
{ {
QColor overlayColor; QColor overlayColor;
@ -173,7 +175,7 @@ void QtMaterialFlatButtonStateMachine::setupProperties()
m_button->update(); m_button->update();
} }
void QtMaterialFlatButtonStateMachine::updateCheckedStatus() void FlatButtonStateMachine::updateCheckedStatus()
{ {
const bool checked = m_button->isChecked(); const bool checked = m_button->isChecked();
if (m_wasChecked != checked) { if (m_wasChecked != checked) {
@ -186,7 +188,7 @@ void QtMaterialFlatButtonStateMachine::updateCheckedStatus()
} }
} }
bool QtMaterialFlatButtonStateMachine::eventFilter(QObject *watched, bool FlatButtonStateMachine::eventFilter(QObject *watched,
QEvent *event) QEvent *event)
{ {
if (QEvent::FocusIn == event->type()) { if (QEvent::FocusIn == event->type()) {
@ -199,7 +201,7 @@ bool QtMaterialFlatButtonStateMachine::eventFilter(QObject *watched,
return QStateMachine::eventFilter(watched, event); return QStateMachine::eventFilter(watched, event);
} }
void QtMaterialFlatButtonStateMachine::addTransition(QObject *object, void FlatButtonStateMachine::addTransition(QObject *object,
QEvent::Type eventType, QEvent::Type eventType,
QState *fromState, QState *fromState,
QState *toState) QState *toState)
@ -207,7 +209,7 @@ void QtMaterialFlatButtonStateMachine::addTransition(QObject *object,
addTransition(new QEventTransition(object, eventType), fromState, toState); addTransition(new QEventTransition(object, eventType), fromState, toState);
} }
void QtMaterialFlatButtonStateMachine::addTransition(QAbstractTransition *transition, void FlatButtonStateMachine::addTransition(QAbstractTransition *transition,
QState *fromState, QState *fromState,
QState *toState) QState *toState)
{ {
@ -230,3 +232,5 @@ void QtMaterialFlatButtonStateMachine::addTransition(QAbstractTransition *transi
fromState->addTransition(transition); fromState->addTransition(transition);
} }
}

View File

@ -4,10 +4,12 @@
#include <QStateMachine> #include <QStateMachine>
#include <QColor> #include <QColor>
class QtMaterialFlatButton; namespace md
{
class FlatButton;
class QSequentialAnimationGroup; class QSequentialAnimationGroup;
class QtMaterialFlatButtonStateMachine : public QStateMachine class FlatButtonStateMachine : public QStateMachine
{ {
Q_OBJECT Q_OBJECT
@ -18,8 +20,8 @@ class QtMaterialFlatButtonStateMachine : public QStateMachine
Q_PROPERTY(qreal haloScaleFactor WRITE setHaloScaleFactor READ haloScaleFactor) Q_PROPERTY(qreal haloScaleFactor WRITE setHaloScaleFactor READ haloScaleFactor)
public: public:
explicit QtMaterialFlatButtonStateMachine(QtMaterialFlatButton *parent); explicit FlatButtonStateMachine(FlatButton *parent);
~QtMaterialFlatButtonStateMachine(); ~FlatButtonStateMachine();
void setOverlayOpacity(qreal opacity); void setOverlayOpacity(qreal opacity);
inline qreal overlayOpacity() const; inline qreal overlayOpacity() const;
@ -49,12 +51,12 @@ protected:
bool eventFilter(QObject *watched, QEvent *event) Q_DECL_OVERRIDE; bool eventFilter(QObject *watched, QEvent *event) Q_DECL_OVERRIDE;
private: private:
Q_DISABLE_COPY(QtMaterialFlatButtonStateMachine) Q_DISABLE_COPY(FlatButtonStateMachine)
void addTransition(QObject *object, QEvent::Type eventType, QState *fromState, QState *toState); void addTransition(QObject *object, QEvent::Type eventType, QState *fromState, QState *toState);
void addTransition(QAbstractTransition *transition, QState *fromState, QState *toState); void addTransition(QAbstractTransition *transition, QState *fromState, QState *toState);
QtMaterialFlatButton *const m_button; FlatButton *const m_button;
QState *const m_topLevelState; QState *const m_topLevelState;
QState *const m_configState; QState *const m_configState;
QState *const m_checkableState; QState *const m_checkableState;
@ -75,29 +77,30 @@ private:
bool m_wasChecked; bool m_wasChecked;
}; };
inline qreal QtMaterialFlatButtonStateMachine::overlayOpacity() const inline qreal FlatButtonStateMachine::overlayOpacity() const
{ {
return m_overlayOpacity; return m_overlayOpacity;
} }
inline qreal QtMaterialFlatButtonStateMachine::checkedOverlayProgress() const inline qreal FlatButtonStateMachine::checkedOverlayProgress() const
{ {
return m_checkedOverlayProgress; return m_checkedOverlayProgress;
} }
inline qreal QtMaterialFlatButtonStateMachine::haloOpacity() const inline qreal FlatButtonStateMachine::haloOpacity() const
{ {
return m_haloOpacity; return m_haloOpacity;
} }
inline qreal QtMaterialFlatButtonStateMachine::haloSize() const inline qreal FlatButtonStateMachine::haloSize() const
{ {
return m_haloSize; return m_haloSize;
} }
inline qreal QtMaterialFlatButtonStateMachine::haloScaleFactor() const inline qreal FlatButtonStateMachine::haloScaleFactor() const
{ {
return m_haloScaleFactor; return m_haloScaleFactor;
} }
}
#endif // QTMATERIALFLATBUTTON_INTERNAL_H #endif // QTMATERIALFLATBUTTON_INTERNAL_H

View File

@ -5,24 +5,26 @@
#include <QColor> #include <QColor>
#include "lib/qtmaterialtheme.h" #include "lib/qtmaterialtheme.h"
class QtMaterialFlatButton; namespace md
class QtMaterialRippleOverlay;
class QtMaterialFlatButtonStateMachine;
class QtMaterialFlatButtonPrivate
{ {
Q_DISABLE_COPY(QtMaterialFlatButtonPrivate) class FlatButton;
Q_DECLARE_PUBLIC(QtMaterialFlatButton) class RippleOverlay;
class FlatButtonStateMachine;
class FlatButtonPrivate
{
Q_DISABLE_COPY(FlatButtonPrivate)
Q_DECLARE_PUBLIC(FlatButton)
public: public:
QtMaterialFlatButtonPrivate(QtMaterialFlatButton *q); FlatButtonPrivate(FlatButton *q);
virtual ~QtMaterialFlatButtonPrivate(); virtual ~FlatButtonPrivate();
void init(); void init();
QtMaterialFlatButton *const q_ptr; FlatButton *const q_ptr;
QtMaterialRippleOverlay *rippleOverlay; RippleOverlay *rippleOverlay;
QtMaterialFlatButtonStateMachine *stateMachine; FlatButtonStateMachine *stateMachine;
Material::Role role; Material::Role role;
Material::RippleStyle rippleStyle; Material::RippleStyle rippleStyle;
Material::ButtonIconPlacement iconPlacement; Material::ButtonIconPlacement iconPlacement;
@ -42,5 +44,6 @@ public:
bool useFixedRippleRadius; bool useFixedRippleRadius;
bool haloVisible; bool haloVisible;
}; };
}
#endif // QTMATERIALFLATBUTTON_P_H #endif // QTMATERIALFLATBUTTON_P_H