@ -14,36 +14,30 @@
# 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 )
{
}
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 ( ) ;
}