From 76b09819184c2a1a2c31b9cec148b1400bb5dd43 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 11 Nov 2020 12:57:40 +0100 Subject: [PATCH] [plasmalnf] Apply workaround for lookandfeeltool The lookandfeeltool does not (always?) write the LookAndFeelPackage key that the KCM does -- and which this module reads on startup to find the default LnF. This seems to be a regression in recent lookandfeeltool versions (or in the KCM code that backs it). Workaround supplied by jghodd. Fixes #1573 --- src/modules/plasmalnf/PlasmaLnfJob.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index 7ffe3aff7..3b550d50a 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -14,6 +14,11 @@ #include "utils/CalamaresUtilsSystem.h" #include "utils/Logger.h" +#ifdef WITH_KCONFIG +#include +#include +#endif + PlasmaLnfJob::PlasmaLnfJob( const QString& lnfPath, const QString& id ) : m_lnfPath( lnfPath ) , m_id( id ) @@ -53,5 +58,15 @@ PlasmaLnfJob::exec() tr( "Could not select KDE Plasma Look-and-Feel package" ) ); } +#ifdef WITH_KCONFIG + // This is a workaround for lookandfeeltool **not** writing + // the LookAndFeelPackage key in kdeglobals; this happens + // with the lnftool and Plasma 5.20 (possibly other combinations + // as well). + QString targetConfig = system->targetPath( "/home/" + gs->value( "username" ).toString() + "/.config/kdeglobals" ); + KConfigGroup cg( KSharedConfig::openConfig( targetConfig ), "KDE" ); + cg.writeEntry( "LookAndFeelPackage", m_id ); +#endif + return Calamares::JobResult::ok(); }