diff options
Diffstat (limited to 'bootstrap.cxx')
-rw-r--r-- | bootstrap.cxx | 51 |
1 files changed, 43 insertions, 8 deletions
diff --git a/bootstrap.cxx b/bootstrap.cxx index bf9a499..7a03b8f 100644 --- a/bootstrap.cxx +++ b/bootstrap.cxx @@ -1,8 +1,11 @@ #include "bootstrap.hxx" Bootstrap::Bootstrap(QObject *parent): - QQmlEngineExtensionPlugin(parent), - m_purpose(None) + QObject(parent), + bs_mode(LightMode), + bs_theme(None), + bs_lightBodyBg("#fff"), + bs_darkBodyBg("#212529") { } @@ -11,14 +14,46 @@ Bootstrap *Bootstrap::qmlAttachedProperties(QObject *object) return new Bootstrap(object); } -Bootstrap::Purpose Bootstrap::purpose() const +Bootstrap::Mode Bootstrap::mode() const { - return m_purpose; + return bs_mode; } -void Bootstrap::setPurpose(Purpose purpose) +void Bootstrap::setMode(Mode mode) { - if (purpose == m_purpose) return; - m_purpose = purpose; - emit purposeChanged(); + if (mode == bs_mode) return; + bs_mode = mode; + emit modeChanged(); + emit bodyBgChanged(); +} + +Bootstrap::Theme Bootstrap::theme() const +{ + return bs_theme; +} + +void Bootstrap::setTheme(Theme theme) +{ + if (theme == bs_theme) return; + bs_theme = theme; + emit themeChanged(); +} + +QColor Bootstrap::bodyBg() const +{ + return bs_mode ? bs_darkBodyBg : bs_lightBodyBg; +} + +void Bootstrap::setLightBodyBg(QColor lightBodyBg) +{ + if (lightBodyBg == bs_lightBodyBg) return; + bs_lightBodyBg = lightBodyBg; + emit bodyBgChanged(); +} + +void Bootstrap::setDarkBodyBg(QColor darkBodyBg) +{ + if (darkBodyBg == bs_darkBodyBg) return; + bs_darkBodyBg = darkBodyBg; + emit bodyBgChanged(); } |