[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
This commit is contained in:
Adriaan de Groot 2020-11-11 12:57:40 +01:00
parent 8f590848bd
commit 76b0981918

View File

@ -14,6 +14,11 @@
#include "utils/CalamaresUtilsSystem.h"
#include "utils/Logger.h"
#ifdef WITH_KCONFIG
#include <KConfigGroup>
#include <KSharedConfig>
#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();
}