summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2023-04-06 11:15:29 +0800
committerꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2023-04-06 11:15:29 +0800
commit25681590025e152900c2f98a6ffe111cbfc2656d (patch)
treeedce9e74d7f4e56704970b80c76c50c8b394820a
parent54082b1c3cb5beb49d6820844cbdb96d2f46814f (diff)
Change mode type to bool
for checking whether it's dark mode or not
-rw-r--r--bootstrap.cxx20
-rw-r--r--bootstrap.hxx16
2 files changed, 15 insertions, 21 deletions
diff --git a/bootstrap.cxx b/bootstrap.cxx
index b7941df..f5d96f1 100644
--- a/bootstrap.cxx
+++ b/bootstrap.cxx
@@ -3,8 +3,8 @@
Bootstrap::Bootstrap(QObject *parent):
QObject(parent),
- bsMode(LightMode),
bsTheme(None),
+ bsDarkMode(false),
bsLightBodyBg("#fff"),
bsDarkBodyBg("#212529")
{
@@ -17,8 +17,8 @@ Bootstrap::Bootstrap(QObject *parent):
toml_free(toml);
return;
}
- auto mode = toml_int_in(bootstrap, "Mode");
- if (mode.ok) bsMode = static_cast<Mode>(mode.u.i);
+ auto darkMode = toml_bool_in(bootstrap, "DarkMode");
+ if (darkMode.ok) bsDarkMode = darkMode.u.b;
auto bodyBg = toml_array_in(bootstrap, "BodyBg");
if (bodyBg) {
auto lightBodyBg = toml_string_at(bodyBg, 0).u.s;
@@ -36,16 +36,16 @@ Bootstrap *Bootstrap::qmlAttachedProperties(QObject *object)
return new Bootstrap(object);
}
-Bootstrap::Mode Bootstrap::mode() const
+bool Bootstrap::darkMode() const
{
- return bsMode;
+ return bsDarkMode;
}
-void Bootstrap::setMode(Mode mode)
+void Bootstrap::setDarkMode(bool darkMode)
{
- if (mode == bsMode) return;
- bsMode = mode;
- emit modeChanged();
+ if (darkMode == bsDarkMode) return;
+ bsDarkMode = darkMode;
+ emit darkModeChanged();
emit bodyBgChanged();
}
@@ -63,5 +63,5 @@ void Bootstrap::setTheme(Theme theme)
QColor Bootstrap::bodyBg() const
{
- return bsMode ? bsDarkBodyBg : bsLightBodyBg;
+ return bsDarkMode ? bsDarkBodyBg : bsLightBodyBg;
}
diff --git a/bootstrap.hxx b/bootstrap.hxx
index b1c3f9c..e27499f 100644
--- a/bootstrap.hxx
+++ b/bootstrap.hxx
@@ -13,8 +13,8 @@ class BootstrapPlugin : public QQmlEngineExtensionPlugin
class Bootstrap : public QObject
{
Q_OBJECT
- 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 bodyBg READ bodyBg NOTIFY bodyBgChanged)
QML_ELEMENT
QML_UNCREATABLE("Bootstrap is an attached property")
@@ -23,11 +23,6 @@ class Bootstrap : public QObject
explicit Bootstrap(QObject *parent = nullptr);
static Bootstrap *qmlAttachedProperties(QObject *object);
- enum Mode {
- LightMode,
- DarkMode
- };
- Q_ENUM(Mode)
enum Theme {
None,
Primary,
@@ -41,21 +36,20 @@ class Bootstrap : public QObject
Link
};
Q_ENUM(Theme)
-
- Mode mode() const;
- void setMode(Mode mode);
Theme theme() const;
void setTheme(Theme theme);
+ bool darkMode() const;
+ void setDarkMode(bool darkMode);
QColor bodyBg() const;
signals:
- void modeChanged();
void themeChanged();
+ void darkModeChanged();
void bodyBgChanged();
private:
- Mode bsMode;
Theme bsTheme;
+ bool bsDarkMode;
QColor bsLightBodyBg;
QColor bsDarkBodyBg;
};