diff --git a/src/ui/ToggleButton.h b/src/ui/ToggleButton.h
index 15d5e192..99433463 100644
--- a/src/ui/ToggleButton.h
+++ b/src/ui/ToggleButton.h
@@ -20,10 +20,12 @@ class Toggle : public QAbstractButton
{
Q_OBJECT
- Q_PROPERTY(QColor activeColor WRITE setActiveColor READ activeColor)
- Q_PROPERTY(QColor disabledColor WRITE setDisabledColor READ disabledColor)
- Q_PROPERTY(QColor inactiveColor WRITE setInactiveColor READ inactiveColor)
- Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor)
+ Q_PROPERTY(QColor activeColor WRITE setActiveColor READ activeColor NOTIFY activeColorChanged)
+ Q_PROPERTY(
+ QColor disabledColor WRITE setDisabledColor READ disabledColor NOTIFY disabledColorChanged)
+ Q_PROPERTY(
+ QColor inactiveColor WRITE setInactiveColor READ inactiveColor NOTIFY inactiveColorChanged)
+ Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor NOTIFY trackColorChanged)
public:
Toggle(QWidget *parent = nullptr);
@@ -38,13 +40,22 @@ public:
QColor activeColor() const { return activeColor_; };
QColor disabledColor() const { return disabledColor_; };
QColor inactiveColor() const { return inactiveColor_; };
- QColor trackColor() const { return trackColor_.isValid() ? trackColor_ : QColor("#eee"); };
+ QColor trackColor() const
+ {
+ return trackColor_.isValid() ? trackColor_ : QColor(0xee, 0xee, 0xee);
+ };
QSize sizeHint() const override { return QSize(64, 48); };
protected:
void paintEvent(QPaintEvent *event) override;
+signals:
+ void activeColorChanged();
+ void disabledColorChanged();
+ void inactiveColorChanged();
+ void trackColorChanged();
+
private:
void init();
void setupProperties();
@@ -62,7 +73,7 @@ class ToggleThumb : public QWidget
{
Q_OBJECT
- Q_PROPERTY(QColor thumbColor WRITE setThumbColor READ thumbColor)
+ Q_PROPERTY(QColor thumbColor WRITE setThumbColor READ thumbColor NOTIFY thumbColorChanged)
public:
ToggleThumb(Toggle *parent);
@@ -75,6 +86,7 @@ public:
void setThumbColor(const QColor &color)
{
thumbColor_ = color;
+ emit thumbColorChanged();
update();
};
@@ -82,6 +94,9 @@ protected:
bool eventFilter(QObject *obj, QEvent *event) override;
void paintEvent(QPaintEvent *event) override;
+signals:
+ void thumbColorChanged();
+
private:
void updateOffset();
@@ -96,7 +111,7 @@ class ToggleTrack : public QWidget
{
Q_OBJECT
- Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor)
+ Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor NOTIFY trackColor)
public:
ToggleTrack(Toggle *parent);
@@ -108,6 +123,9 @@ protected:
bool eventFilter(QObject *obj, QEvent *event) override;
void paintEvent(QPaintEvent *event) override;
+signals:
+ void trackColorChanged();
+
private:
Toggle *const toggle_;
QColor trackColor_;
|