mirror of
https://github.com/parchlinux/calamares.git
synced 2025-05-31 11:44:27 -04:00
91 lines
2.2 KiB
C++
91 lines
2.2 KiB
C++
/* === This file is part of Calamares - <https://calamares.io> ===
|
|
*
|
|
* SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
|
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
*
|
|
* Calamares is Free Software: see the License-Identifier above.
|
|
*
|
|
*
|
|
*/
|
|
#include "Global.h"
|
|
|
|
#include "GlobalStorage.h"
|
|
#include "utils/Logger.h"
|
|
|
|
namespace CalamaresUtils
|
|
{
|
|
namespace Locale
|
|
{
|
|
|
|
static const char gsKey[] = "localeConf";
|
|
|
|
template < typename T >
|
|
void
|
|
insertGS( const QMap< QString, T >& values, QVariantMap& localeConf )
|
|
{
|
|
for ( auto it = values.constBegin(); it != values.constEnd(); ++it )
|
|
{
|
|
localeConf.insert( it.key(), it.value() );
|
|
}
|
|
}
|
|
|
|
void
|
|
insertGS( Calamares::GlobalStorage& gs, const QMap< QString, QString >& values, InsertMode mode )
|
|
{
|
|
QVariantMap localeConf = mode == InsertMode::Overwrite ? QVariantMap() : gs.value( gsKey ).toMap();
|
|
insertGS( values, localeConf );
|
|
gs.insert( gsKey, localeConf );
|
|
}
|
|
|
|
void
|
|
insertGS( Calamares::GlobalStorage& gs, const QVariantMap& values, InsertMode mode )
|
|
{
|
|
QVariantMap localeConf = mode == InsertMode::Overwrite ? QVariantMap() : gs.value( gsKey ).toMap();
|
|
insertGS( values, localeConf );
|
|
gs.insert( gsKey, localeConf );
|
|
}
|
|
|
|
void
|
|
insertGS( Calamares::GlobalStorage& gs, const QString& key, const QString& value )
|
|
{
|
|
QVariantMap localeConf = gs.value( gsKey ).toMap();
|
|
localeConf.insert( key, value );
|
|
gs.insert( gsKey, localeConf );
|
|
}
|
|
|
|
void
|
|
removeGS( Calamares::GlobalStorage& gs, const QString& key )
|
|
{
|
|
if ( gs.contains( gsKey ) )
|
|
{
|
|
QVariantMap localeConf = gs.value( gsKey ).toMap();
|
|
if ( localeConf.contains( key ) )
|
|
{
|
|
localeConf.remove( key );
|
|
gs.insert( gsKey, localeConf );
|
|
}
|
|
}
|
|
}
|
|
|
|
void
|
|
clearGS( Calamares::GlobalStorage& gs )
|
|
{
|
|
gs.remove( gsKey );
|
|
}
|
|
|
|
QString
|
|
readGS( Calamares::GlobalStorage& gs, const QString& key )
|
|
{
|
|
if ( gs.contains( gsKey ) )
|
|
{
|
|
QVariantMap localeConf = gs.value( gsKey ).toMap();
|
|
if ( localeConf.contains( key ) )
|
|
{
|
|
return localeConf.value( key ).toString();
|
|
}
|
|
}
|
|
return QString();
|
|
}
|
|
|
|
} // namespace Locale
|
|
} // namespace CalamaresUtils
|