144 lines
3.4 KiB
C++
144 lines
3.4 KiB
C++
/*!
|
|
* \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany
|
|
*/
|
|
|
|
#include "SettingsModel.h"
|
|
|
|
#include "AppSettings.h"
|
|
#include "Env.h"
|
|
#include "HistorySettings.h"
|
|
#include "LanguageLoader.h"
|
|
|
|
using namespace governikus;
|
|
|
|
|
|
SettingsModel::SettingsModel()
|
|
{
|
|
const HistorySettings& settings = Env::getSingleton<AppSettings>()->getHistorySettings();
|
|
connect(&settings, &HistorySettings::fireEnabledChanged, this, &SettingsModel::fireHistoryEnabledChanged);
|
|
}
|
|
|
|
|
|
QString SettingsModel::getEmptyString()
|
|
{
|
|
return QString();
|
|
}
|
|
|
|
|
|
QString SettingsModel::getLanguage() const
|
|
{
|
|
return LanguageLoader::getInstance().getUsedLocale().bcp47Name();
|
|
}
|
|
|
|
|
|
void SettingsModel::setLanguage(const QString& pLanguage)
|
|
{
|
|
GeneralSettings& settings = Env::getSingleton<AppSettings>()->getGeneralSettings();
|
|
settings.setLanguage(QLocale(pLanguage).language());
|
|
settings.save();
|
|
|
|
Q_EMIT fireLanguageChanged();
|
|
}
|
|
|
|
|
|
bool SettingsModel::isDeveloperMode() const
|
|
{
|
|
return Env::getSingleton<AppSettings>()->getGeneralSettings().isDeveloperMode();
|
|
}
|
|
|
|
|
|
void SettingsModel::setDeveloperMode(bool pEnable)
|
|
{
|
|
if (isDeveloperMode() == pEnable)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Env::getSingleton<AppSettings>()->getGeneralSettings().setDeveloperMode(pEnable);
|
|
Env::getSingleton<AppSettings>()->getGeneralSettings().save();
|
|
Q_EMIT fireDeveloperModeChanged();
|
|
}
|
|
|
|
|
|
bool SettingsModel::useSelfauthenticationTestUri() const
|
|
{
|
|
return AppSettings::getInstance().getGeneralSettings().useSelfAuthTestUri();
|
|
}
|
|
|
|
|
|
void SettingsModel::setUseSelfauthenticationTestUri(bool pUse)
|
|
{
|
|
if (useSelfauthenticationTestUri() == pUse)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Env::getSingleton<AppSettings>()->getGeneralSettings().setUseSelfauthenticationTestUri(pUse);
|
|
Env::getSingleton<AppSettings>()->getGeneralSettings().save();
|
|
Q_EMIT fireUseSelfauthenticationTestUriChanged();
|
|
}
|
|
|
|
|
|
QString SettingsModel::getServerName() const
|
|
{
|
|
return Env::getSingleton<AppSettings>()->getRemoteServiceSettings().getServerName();
|
|
}
|
|
|
|
|
|
bool SettingsModel::isValidServerName(const QString& name) const
|
|
{
|
|
return !name.isEmpty();
|
|
}
|
|
|
|
|
|
void SettingsModel::setServerName(const QString& name)
|
|
{
|
|
RemoteServiceSettings& settings = Env::getSingleton<AppSettings>()->getRemoteServiceSettings();
|
|
settings.setServerName(name);
|
|
settings.save();
|
|
}
|
|
|
|
|
|
void SettingsModel::removeTrustedCertificate(const QString& pFingerprint)
|
|
{
|
|
Env::getSingleton<AppSettings>()->getRemoteServiceSettings().removeTrustedCertificate(pFingerprint);
|
|
}
|
|
|
|
|
|
bool SettingsModel::getPinPadMode() const
|
|
{
|
|
return Env::getSingleton<AppSettings>()->getRemoteServiceSettings().getPinPadMode();
|
|
}
|
|
|
|
|
|
void SettingsModel::setPinPadMode(bool pPinPadMode)
|
|
{
|
|
RemoteServiceSettings& settings = Env::getSingleton<AppSettings>()->getRemoteServiceSettings();
|
|
settings.setPinPadMode(pPinPadMode);
|
|
settings.save();
|
|
}
|
|
|
|
|
|
bool SettingsModel::isHistoryEnabled() const
|
|
{
|
|
const HistorySettings& settings = Env::getSingleton<AppSettings>()->getHistorySettings();
|
|
return settings.isEnabled();
|
|
}
|
|
|
|
|
|
void SettingsModel::setHistoryEnabled(bool pEnabled)
|
|
{
|
|
HistorySettings& settings = Env::getSingleton<AppSettings>()->getHistorySettings();
|
|
settings.setEnabled(pEnabled);
|
|
settings.save();
|
|
}
|
|
|
|
|
|
int SettingsModel::removeHistory(const QString& pPeriodToRemove)
|
|
{
|
|
HistorySettings& settings = Env::getSingleton<AppSettings>()->getHistorySettings();
|
|
int removedItemCount = settings.deleteSettings(Enum<TimePeriod>::fromString(pPeriodToRemove, TimePeriod::UNKNOWN));
|
|
settings.save();
|
|
return removedItemCount;
|
|
}
|