simplify setRole method
This commit is contained in:
parent
c86dee02f3
commit
3d2084d99e
|
@ -34,23 +34,18 @@ void FlatButton::setRole(Material::Role role)
|
|||
|
||||
d->role = role;
|
||||
|
||||
Style &style = Style::instance();
|
||||
QPalette p(palette());
|
||||
|
||||
switch (role)
|
||||
{
|
||||
case Material::Primary:
|
||||
p.setColor(QPalette::Active, QPalette::ButtonText, style.themeColor("primary1"));
|
||||
d->setTextColor("primary1");
|
||||
break;
|
||||
case Material::Secondary:
|
||||
p.setColor(QPalette::Active, QPalette::ButtonText, style.themeColor("accent1"));
|
||||
d->setTextColor("accent1");
|
||||
break;
|
||||
default:
|
||||
p.setColor(QPalette::Active, QPalette::ButtonText, style.themeColor("text"));
|
||||
d->setTextColor("text");
|
||||
break;
|
||||
}
|
||||
setPalette(p);
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,8 @@ class FlatButtonPrivate
|
|||
public:
|
||||
FlatButtonPrivate(FlatButton *parent);
|
||||
|
||||
void setTextColor(const QString &themeColor);
|
||||
|
||||
FlatButton *const q_ptr;
|
||||
RippleOverlay *const ripple;
|
||||
Material::Role role;
|
||||
|
@ -42,4 +44,17 @@ FlatButtonPrivate::FlatButtonPrivate(FlatButton *parent)
|
|||
parent->setPalette(palette);
|
||||
}
|
||||
|
||||
void FlatButtonPrivate::setTextColor(const QString &themeColor)
|
||||
{
|
||||
Q_Q(FlatButton);
|
||||
|
||||
QPalette palette(q->palette());
|
||||
Style &style = Style::instance();
|
||||
|
||||
palette.setColor(QPalette::Active, QPalette::ButtonText,
|
||||
style.themeColor(themeColor));
|
||||
|
||||
q->setPalette(palette);
|
||||
}
|
||||
|
||||
#endif // FLATBUTTON_P_H
|
||||
|
|
Loading…
Reference in New Issue