From e646cc0332c598c1c9a004fdbe549709b0a918de Mon Sep 17 00:00:00 2001 From: laserpants Date: Sun, 15 May 2016 10:08:23 +0300 Subject: [PATCH] add flat button internal class --- components/flatbutton.cpp | 2 +- components/flatbutton_internal.cpp | 1 + components/flatbutton_internal.h | 4 ++++ components/flatbutton_p.h | 12 ++++++++++++ .../{sliderinternal.cpp => slider_internal.cpp} | 2 +- components/{sliderinternal.h => slider_internal.h} | 0 qt-material-widgets.pro | 8 +++++--- 7 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 components/flatbutton_internal.cpp create mode 100644 components/flatbutton_internal.h rename components/{sliderinternal.cpp => slider_internal.cpp} (99%) rename components/{sliderinternal.h => slider_internal.h} (100%) diff --git a/components/flatbutton.cpp b/components/flatbutton.cpp index b7619dd..40c4c66 100644 --- a/components/flatbutton.cpp +++ b/components/flatbutton.cpp @@ -103,7 +103,7 @@ void FlatButton::mousePressEvent(QMouseEvent *event) ripple->setOpacityStartValue(0.2); ripple->setColor(d->textColor()); - d->ripple->addRipple(ripple); + //d->ripple->addRipple(ripple); QPushButton::mousePressEvent(event); } diff --git a/components/flatbutton_internal.cpp b/components/flatbutton_internal.cpp new file mode 100644 index 0000000..895ec9e --- /dev/null +++ b/components/flatbutton_internal.cpp @@ -0,0 +1 @@ +#include "flatbutton_internal.h" diff --git a/components/flatbutton_internal.h b/components/flatbutton_internal.h new file mode 100644 index 0000000..c6e3302 --- /dev/null +++ b/components/flatbutton_internal.h @@ -0,0 +1,4 @@ +#ifndef FLATBUTTON_INTERNAL_H +#define FLATBUTTON_INTERNAL_H + +#endif // FLATBUTTON_INTERNAL_H diff --git a/components/flatbutton_p.h b/components/flatbutton_p.h index 6c939bf..f3e20bf 100644 --- a/components/flatbutton_p.h +++ b/components/flatbutton_p.h @@ -1,6 +1,7 @@ #ifndef FLATBUTTON_P_H #define FLATBUTTON_P_H +#include #include "flatbutton.h" #include "lib/rippleoverlay.h" #include "lib/theme.h" @@ -19,6 +20,7 @@ public: FlatButton *const q_ptr; RippleOverlay *const ripple; + QStateMachine machine; Material::Role role; }; @@ -43,6 +45,16 @@ FlatButtonPrivate::FlatButtonPrivate(FlatButton *parent) palette.setColor(QPalette::Disabled, QPalette::ButtonText, style.themeColor("disabled")); parent->setPalette(palette); + + QState *normalState = new QState; + QState *focusedState = new QState; + QState *pressedState = new QState; + + machine.addState(normalState); + machine.addState(focusedState); + machine.addState(pressedState); + + machine.setInitialState(normalState); } QColor FlatButtonPrivate::textColor() const diff --git a/components/sliderinternal.cpp b/components/slider_internal.cpp similarity index 99% rename from components/sliderinternal.cpp rename to components/slider_internal.cpp index 263f85b..5a465d1 100644 --- a/components/sliderinternal.cpp +++ b/components/slider_internal.cpp @@ -1,4 +1,4 @@ -#include "sliderinternal.h" +#include "slider_internal.h" #include #include #include diff --git a/components/sliderinternal.h b/components/slider_internal.h similarity index 100% rename from components/sliderinternal.h rename to components/slider_internal.h diff --git a/qt-material-widgets.pro b/qt-material-widgets.pro index 1d78b7f..61e4f07 100644 --- a/qt-material-widgets.pro +++ b/qt-material-widgets.pro @@ -53,7 +53,8 @@ SOURCES += main.cpp\ lib/style.cpp \ components/searchfield.cpp \ lib/theme.cpp \ - components/sliderinternal.cpp + components/slider_internal.cpp \ + components/flatbutton_internal.cpp HEADERS += mainwindow.h \ components/appbar.h \ @@ -102,8 +103,9 @@ HEADERS += mainwindow.h \ components/searchfield.h \ lib/theme.h \ lib/theme_p.h \ - components/sliderinternal.h \ - components/flatbutton_p.h + components/flatbutton_p.h \ + components/slider_internal.h \ + components/flatbutton_internal.h RESOURCES += \ resources.qrc