summaryrefslogtreecommitdiff
path: root/Bootstrap.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Bootstrap.cxx')
-rw-r--r--Bootstrap.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/Bootstrap.cxx b/Bootstrap.cxx
index 4873f01..994ed84 100644
--- a/Bootstrap.cxx
+++ b/Bootstrap.cxx
@@ -5,6 +5,8 @@ Bootstrap::Bootstrap(QObject *parent):
QObject(parent),
bsTheme(None),
bsDarkMode(false),
+ bsLightBodyColor("#212529"),
+ bsDarkBodyColor("#adb5bd"),
bsLightBodyBg("#fff"),
bsDarkBodyBg("#212529")
{
@@ -19,6 +21,15 @@ Bootstrap::Bootstrap(QObject *parent):
}
auto darkMode = toml_bool_in(bootstrap, "DarkMode");
if (darkMode.ok) bsDarkMode = darkMode.u.b;
+ auto bodyColor = toml_array_in(bootstrap, "BodyColor");
+ if (bodyColor) {
+ auto lightBodyColor = toml_string_at(bodyColor, 0).u.s;
+ bsLightBodyColor = QColor{lightBodyColor};
+ free(lightBodyColor);
+ auto darkBodyColor = toml_string_at(bodyColor, 1).u.s;
+ bsDarkBodyColor = QColor{darkBodyColor};
+ free(darkBodyColor);
+ }
auto bodyBg = toml_array_in(bootstrap, "BodyBg");
if (bodyBg) {
auto lightBodyBg = toml_string_at(bodyBg, 0).u.s;
@@ -46,6 +57,7 @@ void Bootstrap::setDarkMode(bool darkMode)
if (darkMode == bsDarkMode) return;
bsDarkMode = darkMode;
emit darkModeChanged();
+ emit bodyColorChanged();
emit bodyBgChanged();
}
@@ -61,6 +73,11 @@ void Bootstrap::setTheme(Theme theme)
emit themeChanged();
}
+QColor Bootstrap::bodyColor() const
+{
+ return bsDarkMode ? bsDarkBodyColor : bsLightBodyColor;
+}
+
QColor Bootstrap::bodyBg() const
{
return bsDarkMode ? bsDarkBodyBg : bsLightBodyBg;