diff --git a/app/layout/abstractlayout.cpp b/app/layout/abstractlayout.cpp index b829c0abb..e80dc7f3f 100644 --- a/app/layout/abstractlayout.cpp +++ b/app/layout/abstractlayout.cpp @@ -382,7 +382,8 @@ void AbstractLayout::loadConfig() m_color = m_layoutGroup.readEntry("color", QString("blue")); m_backgroundStyle = static_cast(m_layoutGroup.readEntry("backgroundStyle", (int)ColorBackgroundStyle)); - m_schemeFile = m_layoutGroup.readEntry("schemeFile", Data::Layout::DEFAULTSCHEMEFILE); + m_schemeFile = m_layoutGroup.readEntry("schemeFile", QString(Data::Layout::DEFAULTSCHEMEFILE)); + m_schemeFile = m_schemeFile.isEmpty() ? Data::Layout::DEFAULTSCHEMEFILE : m_schemeFile; QString deprecatedTextColor = m_layoutGroup.readEntry("textColor", QString()); QString deprecatedBackground = m_layoutGroup.readEntry("background", QString()); diff --git a/app/layout/centrallayout.cpp b/app/layout/centrallayout.cpp index 0d23dfdec..a0d5b258a 100644 --- a/app/layout/centrallayout.cpp +++ b/app/layout/centrallayout.cpp @@ -55,6 +55,7 @@ void CentralLayout::initToCorona(Latte::Corona *corona) m_corona->layoutsManager()->synchronizer(), &Layouts::Synchronizer::updateKWinDisabledBorders); connect(this, &Layout::AbstractLayout::schemeFileChanged, this, &CentralLayout::onSchemeFileChanged); + connect(m_corona->wm()->schemesTracker(), &WindowSystem::Tracker::Schemes::defaultSchemeChanged, this, &CentralLayout::onSchemeFileChanged); } } diff --git a/app/wm/tracker/schemes.cpp b/app/wm/tracker/schemes.cpp index cd5d01826..3061582f0 100644 --- a/app/wm/tracker/schemes.cpp +++ b/app/wm/tracker/schemes.cpp @@ -89,6 +89,8 @@ void Schemes::updateDefaultScheme() if (!m_schemes.contains("kdeglobals") || m_schemes["kdeglobals"]->schemeFile() != defaultSchemePath) { m_schemes["kdeglobals"] = dScheme; } + + emit defaultSchemeChanged(); } SchemeColors *Schemes::schemeForFile(const QString &scheme) diff --git a/app/wm/tracker/schemes.h b/app/wm/tracker/schemes.h index 84f7d3d6a..ca9d69066 100644 --- a/app/wm/tracker/schemes.h +++ b/app/wm/tracker/schemes.h @@ -38,6 +38,7 @@ public: signals: void colorSchemeChanged(const WindowId &wid); + void defaultSchemeChanged(); private slots: void updateDefaultScheme(); diff --git a/containment/package/contents/ui/colorizer/Manager.qml b/containment/package/contents/ui/colorizer/Manager.qml index 51848bb4d..ac543eed6 100644 --- a/containment/package/contents/ui/colorizer/Manager.qml +++ b/containment/package/contents/ui/colorizer/Manager.qml @@ -96,6 +96,8 @@ Loader{ return themeExtended.lightTheme; } else if (root.themeColors === LatteContainment.Types.ReverseThemeColors) { return themeExtended.isLightTheme ? themeExtended.darkTheme : themeExtended.lightTheme; + } else if (root.themeColors === LatteContainment.Types.LayoutThemeColors && latteView && latteView.layout) { + return latteView.layout.scheme; } if (root.themeColors === LatteContainment.Types.SmartThemeColors) {