diff options
Diffstat (limited to 'Bootstrap.hxx')
-rw-r--r-- | Bootstrap.hxx | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/Bootstrap.hxx b/Bootstrap.hxx index 57fa3aa..2d9553b 100644 --- a/Bootstrap.hxx +++ b/Bootstrap.hxx @@ -13,11 +13,13 @@ class Qootstrap : public QQmlEngineExtensionPlugin class Bootstrap : public QObject { Q_OBJECT + Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") + Q_PROPERTY(Mode mode READ mode WRITE setMode NOTIFY modeChanged) Q_PROPERTY(Theme theme READ theme WRITE setTheme NOTIFY themeChanged) - Q_PROPERTY(bool darkMode READ darkMode WRITE setDarkMode NOTIFY darkModeChanged) Q_PROPERTY(QColor bodyColor READ bodyColor NOTIFY bodyColorChanged) Q_PROPERTY(QColor bodyBg READ bodyBg NOTIFY bodyBgChanged) - Q_PROPERTY(QColor borderColor READ borderColor NOTIFY borderColorChanged) + Q_PROPERTY(QColor borderColor READ borderColor + NOTIFY borderColorChanged) QML_ELEMENT QML_UNCREATABLE("Bootstrap is an attached property") @@ -25,7 +27,15 @@ class Bootstrap : public QObject explicit Bootstrap(QObject *parent = nullptr); static Bootstrap *qmlAttachedProperties(QObject *object); - enum Theme { + enum Mode { + Light, + Dark + }; + Q_ENUM(Mode) + Mode mode() const; + void setMode(Mode mode); + + enum class Theme { None, Primary, Secondary, @@ -40,28 +50,24 @@ class Bootstrap : public QObject Q_ENUM(Theme) Theme theme() const; void setTheme(Theme theme); - bool darkMode() const; - void setDarkMode(bool darkMode); + QColor bodyColor() const; QColor bodyBg() const; QColor borderColor() const; signals: void themeChanged(); - void darkModeChanged(); + void modeChanged(); void bodyColorChanged(); void bodyBgChanged(); void borderColorChanged(); private: + Mode bsMode; Theme bsTheme; - bool bsDarkMode; - QColor bsLightBodyColor; - QColor bsDarkBodyColor; - QColor bsLightBodyBg; - QColor bsDarkBodyBg; - QColor bsLightBorderColor; - QColor bsDarkBorderColor; + QVector<QColor> bodyColors; + QVector<QColor> bodyBgs; + QVector<QColor> borderColors; }; QML_DECLARE_TYPEINFO(Bootstrap, QML_HAS_ATTACHED_PROPERTIES) |