29 lines
1.0 KiB
C++
29 lines
1.0 KiB
C++
#include "ElaRadioButton.h"
|
|
|
|
#include "DeveloperComponents/ElaRadioButtonStyle.h"
|
|
#include "ElaTheme.h"
|
|
#include "private/ElaRadioButtonPrivate.h"
|
|
ElaRadioButton::ElaRadioButton(QWidget *parent) : QRadioButton(parent), d_ptr(new ElaRadioButtonPrivate()) {
|
|
Q_D(ElaRadioButton);
|
|
d->q_ptr = this;
|
|
setFixedHeight(20);
|
|
QFont font = this->font();
|
|
font.setPixelSize(15);
|
|
setFont(font);
|
|
setStyle(new ElaRadioButtonStyle(style()));
|
|
d->onThemeChanged(eTheme->getThemeMode());
|
|
connect(eTheme, &ElaTheme::themeModeChanged, d, &ElaRadioButtonPrivate::onThemeChanged);
|
|
}
|
|
|
|
ElaRadioButton::ElaRadioButton(const QString &text, QWidget *parent) : ElaRadioButton(parent) { setText(text); }
|
|
|
|
ElaRadioButton::~ElaRadioButton() { delete this->style(); }
|
|
|
|
void ElaRadioButton::paintEvent(QPaintEvent *event) {
|
|
Q_D(ElaRadioButton);
|
|
if (palette().color(QPalette::WindowText) != ElaThemeColor(d->_themeMode, BasicText)) {
|
|
d->onThemeChanged(d->_themeMode);
|
|
}
|
|
QRadioButton::paintEvent(event);
|
|
}
|