summary refs log tree commit diff
path: root/src/ui/ToggleButton.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/ToggleButton.h')
-rw-r--r--src/ui/ToggleButton.h32
1 files changed, 25 insertions, 7 deletions
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_;