implement flat button color roles
This commit is contained in:
parent
4bc4d6aa92
commit
a7da6ce162
|
@ -3,6 +3,8 @@
|
|||
#include <QMouseEvent>
|
||||
#include <QStylePainter>
|
||||
#include <QStyleOption>
|
||||
#include <QApplication>
|
||||
#include <QPalette>
|
||||
#include <QDebug>
|
||||
#include "lib/style.h"
|
||||
#include "lib/rippleoverlay.h"
|
||||
|
@ -26,6 +28,30 @@ FlatButton::~FlatButton()
|
|||
{
|
||||
}
|
||||
|
||||
void FlatButton::setRole(Material::Role role)
|
||||
{
|
||||
Q_D(FlatButton);
|
||||
|
||||
d->role = role;
|
||||
|
||||
//Style &style = Style::instance();
|
||||
//switch (role)
|
||||
//{
|
||||
//case Material::Primary:
|
||||
// d->palette.setColor(QPalette::ButtonText, style.themeColor("primary1"));
|
||||
// break;
|
||||
//case Material::Secondary:
|
||||
// d->palette.setColor(QPalette::ButtonText, style.themeColor("accent1"));
|
||||
// break;
|
||||
//default:
|
||||
// d->palette.setColor(QPalette::ButtonText, style.themeColor("text"));
|
||||
// break;
|
||||
//}
|
||||
//setPalette(d->palette);
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
void FlatButton::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
Q_D(FlatButton);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include <QPushButton>
|
||||
#include <QScopedPointer>
|
||||
#include "lib/theme.h"
|
||||
|
||||
class FlatButtonPrivate;
|
||||
|
||||
|
@ -15,6 +16,8 @@ public:
|
|||
explicit FlatButton(const QString &text, QWidget *parent = 0);
|
||||
~FlatButton();
|
||||
|
||||
void setRole(Material::Role role);
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
|
||||
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "flatbutton.h"
|
||||
#include "lib/rippleoverlay.h"
|
||||
#include "lib/theme.h"
|
||||
|
||||
class FlatButtonPrivate
|
||||
{
|
||||
|
@ -14,11 +15,13 @@ public:
|
|||
|
||||
FlatButton *const q_ptr;
|
||||
RippleOverlay *const ripple;
|
||||
Material::Role role;
|
||||
};
|
||||
|
||||
FlatButtonPrivate::FlatButtonPrivate(FlatButton *parent)
|
||||
: q_ptr(parent),
|
||||
ripple(new RippleOverlay(parent))
|
||||
ripple(new RippleOverlay(parent)),
|
||||
role(Material::Default)
|
||||
{
|
||||
parent->setStyle(&Style::instance());
|
||||
parent->setAttribute(Qt::WA_Hover);
|
||||
|
|
|
@ -15,8 +15,12 @@ FlatButtonExamples::FlatButtonExamples(QWidget *parent)
|
|||
flatButton->setText("Press me!");
|
||||
flatButton->setMinimumSize(200, 42);
|
||||
|
||||
flatButton->setRole(Material::Primary);
|
||||
// flatButton->setDisabled(true);
|
||||
|
||||
ExampleView *view = new ExampleView;
|
||||
view->setWidget(flatButton);
|
||||
view->setBackgroundRole(QPalette::Base);
|
||||
|
||||
Frame *frame = new Frame;
|
||||
frame->setCodeSnippet(
|
||||
|
|
|
@ -8,6 +8,12 @@
|
|||
|
||||
namespace Material
|
||||
{
|
||||
enum Role {
|
||||
Default,
|
||||
Primary,
|
||||
Secondary
|
||||
};
|
||||
|
||||
enum Color {
|
||||
red50,
|
||||
red100,
|
||||
|
|
Loading…
Reference in New Issue