summaryrefslogtreecommitdiff
path: root/Bootstrap.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'Bootstrap.hxx')
-rw-r--r--Bootstrap.hxx32
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)