set palette for flat button

This commit is contained in:
laserpants 2016-05-14 20:00:31 +03:00
parent a7da6ce162
commit c86dee02f3
2 changed files with 26 additions and 16 deletions

View File

@ -34,20 +34,22 @@ void FlatButton::setRole(Material::Role role)
d->role = role; d->role = role;
//Style &style = Style::instance(); Style &style = Style::instance();
//switch (role) QPalette p(palette());
//{
//case Material::Primary: switch (role)
// d->palette.setColor(QPalette::ButtonText, style.themeColor("primary1")); {
// break; case Material::Primary:
//case Material::Secondary: p.setColor(QPalette::Active, QPalette::ButtonText, style.themeColor("primary1"));
// d->palette.setColor(QPalette::ButtonText, style.themeColor("accent1")); break;
// break; case Material::Secondary:
//default: p.setColor(QPalette::Active, QPalette::ButtonText, style.themeColor("accent1"));
// d->palette.setColor(QPalette::ButtonText, style.themeColor("text")); break;
// break; default:
//} p.setColor(QPalette::Active, QPalette::ButtonText, style.themeColor("text"));
//setPalette(d->palette); break;
}
setPalette(p);
update(); update();
} }
@ -75,7 +77,7 @@ void FlatButton::paintEvent(QPaintEvent *event)
painter.drawControl(QStyle::CE_PushButtonLabel, option); painter.drawControl(QStyle::CE_PushButtonLabel, option);
if (testAttribute(Qt::WA_Hover) && underMouse()) if (isEnabled() && testAttribute(Qt::WA_Hover) && underMouse())
{ {
QPainter painter(this); QPainter painter(this);
QBrush brush; QBrush brush;

View File

@ -4,6 +4,7 @@
#include "flatbutton.h" #include "flatbutton.h"
#include "lib/rippleoverlay.h" #include "lib/rippleoverlay.h"
#include "lib/theme.h" #include "lib/theme.h"
#include "lib/style.h"
class FlatButtonPrivate class FlatButtonPrivate
{ {
@ -23,7 +24,9 @@ FlatButtonPrivate::FlatButtonPrivate(FlatButton *parent)
ripple(new RippleOverlay(parent)), ripple(new RippleOverlay(parent)),
role(Material::Default) role(Material::Default)
{ {
parent->setStyle(&Style::instance()); Style &style = Style::instance();
parent->setStyle(&style);
parent->setAttribute(Qt::WA_Hover); parent->setAttribute(Qt::WA_Hover);
parent->setMouseTracking(true); parent->setMouseTracking(true);
@ -32,6 +35,11 @@ FlatButtonPrivate::FlatButtonPrivate(FlatButton *parent)
font.setPointSizeF(10.5); font.setPointSizeF(10.5);
font.setStyleName("Medium"); font.setStyleName("Medium");
parent->setFont(font); parent->setFont(font);
QPalette palette;
palette.setColor(QPalette::Disabled, QPalette::ButtonText,
style.themeColor("disabled"));
parent->setPalette(palette);
} }
#endif // FLATBUTTON_P_H #endif // FLATBUTTON_P_H