diff --git a/src/modules/plasmalnf/PlasmaLnfJob.cpp b/src/modules/plasmalnf/PlasmaLnfJob.cpp index 0721bcd88..3b550d50a 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.cpp +++ b/src/modules/plasmalnf/PlasmaLnfJob.cpp @@ -14,36 +14,30 @@ #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 ) { } - PlasmaLnfJob::~PlasmaLnfJob() {} - QString PlasmaLnfJob::prettyName() const { return tr( "Plasma Look-and-Feel Job" ); } -QString -PlasmaLnfJob::prettyStatusMessage() const -{ - return prettyName(); -} - - Calamares::JobResult PlasmaLnfJob::exec() { - cDebug() << "Plasma Look-and-Feel Job"; - - auto system = CalamaresUtils::System::instance(); - Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); + auto* system = CalamaresUtils::System::instance(); + auto* gs = Calamares::JobQueue::instance()->globalStorage(); QStringList command( { "sudo", "-E", @@ -59,8 +53,20 @@ PlasmaLnfJob::exec() int r = system->targetEnvCall( command ); if ( r ) + { return Calamares::JobResult::error( tr( "Could not select KDE Plasma Look-and-Feel package" ), 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(); } diff --git a/src/modules/plasmalnf/PlasmaLnfJob.h b/src/modules/plasmalnf/PlasmaLnfJob.h index 83360434e..4eaf81014 100644 --- a/src/modules/plasmalnf/PlasmaLnfJob.h +++ b/src/modules/plasmalnf/PlasmaLnfJob.h @@ -24,7 +24,6 @@ public: ~PlasmaLnfJob() override; QString prettyName() const override; - QString prettyStatusMessage() const override; Calamares::JobResult exec() override; diff --git a/src/modules/plasmalnf/PlasmaLnfViewStep.h b/src/modules/plasmalnf/PlasmaLnfViewStep.h index 46c24c970..74de803c9 100644 --- a/src/modules/plasmalnf/PlasmaLnfViewStep.h +++ b/src/modules/plasmalnf/PlasmaLnfViewStep.h @@ -14,10 +14,6 @@ #include "utils/PluginFactory.h" #include "viewpages/ViewStep.h" -#include -#include -#include - class PlasmaLnfPage; class PLUGINDLLEXPORT PlasmaLnfViewStep : public Calamares::ViewStep