added button 'Reset settings and remove all data from the application'

This commit is contained in:
vladimir.kuznetsov 2023-07-14 22:59:49 +09:00
parent 3aaa7b62ef
commit 75489c00c2
18 changed files with 585 additions and 432 deletions

View file

@ -16,12 +16,19 @@ InstallController::InstallController(const QSharedPointer<ServersModel> &servers
void InstallController::install(DockerContainer container, int port, TransportProto transportProto)
{
Proto mainProto = ContainerProps::defaultProtocol(container);
QJsonObject containerConfig;
QJsonObject containerConfig { { config_key::port, QString::number(port) },
{ config_key::transport_proto,
ProtocolProps::transportProtoToString(transportProto, mainProto) } };
QJsonObject config { { config_key::container, ContainerProps::containerToString(container) },
{ ProtocolProps::protoToString(mainProto), containerConfig } };
containerConfig.insert(config_key::port, QString::number(port));
containerConfig.insert(config_key::transport_proto, ProtocolProps::transportProtoToString(transportProto, mainProto));
if (container == DockerContainer::Sftp) {
containerConfig.insert(config_key::userName, protocols::sftp::defaultUserName);
containerConfig.insert(config_key::password, Utils::getRandomString(10));
}
QJsonObject config;
config.insert(config_key::container, ContainerProps::containerToString(container));
config.insert(ProtocolProps::protoToString(mainProto), containerConfig);
if (m_shouldCreateServer) {
if (isServerAlreadyExists()) {

View file

@ -27,6 +27,7 @@ namespace PageLoader
PageSettingsApplication,
PageSettingsBackup,
PageSettingsAbout,
PageSettingsLogging,
PageSetupWizardStart,
PageSetupWizardCredentials,

View file

@ -46,14 +46,15 @@ void SettingsController::setSecondaryDns(const QString &dns)
emit secondaryDnsChanged();
}
bool SettingsController::isSaveLogsEnabled()
bool SettingsController::isLoggingEnable()
{
return m_settings->isSaveLogs();
}
void SettingsController::setSaveLogs(bool enable)
void SettingsController::toggleLogging(bool enable)
{
m_settings->setSaveLogs(enable);
emit loggingStateChanged();
}
void SettingsController::openLogsFolder()
@ -101,3 +102,8 @@ QString SettingsController::getAppVersion()
{
return m_appVersion;
}
void SettingsController::clearSettings()
{
m_settings->clearSettings();
}

View file

@ -16,6 +16,7 @@ public:
Q_PROPERTY(QString primaryDns READ getPrimaryDns WRITE setPrimaryDns NOTIFY primaryDnsChanged)
Q_PROPERTY(QString secondaryDns READ getSecondaryDns WRITE setSecondaryDns NOTIFY secondaryDnsChanged)
Q_PROPERTY(bool isLoggingEnable READ isLoggingEnable WRITE toggleLogging NOTIFY loggingStateChanged)
public slots:
void setAmneziaDns(bool enable);
@ -27,8 +28,8 @@ public slots:
QString getSecondaryDns();
void setSecondaryDns(const QString &dns);
bool isSaveLogsEnabled();
void setSaveLogs(bool enable);
bool isLoggingEnable();
void toggleLogging(bool enable);
void openLogsFolder();
void exportLogsFile();
@ -39,9 +40,12 @@ public slots:
QString getAppVersion();
void clearSettings();
signals:
void primaryDnsChanged();
void secondaryDnsChanged();
void loggingStateChanged();
private:
QSharedPointer<ServersModel> m_serversModel;