Load/save status compution flags from/to settings
This commit is contained in:
parent
da911c6350
commit
c656f6fba0
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
#include "../../connector/qstringhash.h"
|
#include "../../connector/qstringhash.h"
|
||||||
#include "../../connector/syncthingconnection.h"
|
#include "../../connector/syncthingconnection.h"
|
||||||
|
#include "../../connector/syncthingconnectionsettings.h"
|
||||||
#include "../../connector/syncthingnotifier.h"
|
#include "../../connector/syncthingnotifier.h"
|
||||||
#include "../../connector/syncthingprocess.h"
|
#include "../../connector/syncthingprocess.h"
|
||||||
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
|
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
|
||||||
|
@ -28,6 +29,7 @@
|
||||||
#include <QSslError>
|
#include <QSslError>
|
||||||
#include <QStringBuilder>
|
#include <QStringBuilder>
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
@ -215,6 +217,7 @@ void restore()
|
||||||
settings.beginGroup(QStringLiteral("tray"));
|
settings.beginGroup(QStringLiteral("tray"));
|
||||||
const int connectionCount = settings.beginReadArray(QStringLiteral("connections"));
|
const int connectionCount = settings.beginReadArray(QStringLiteral("connections"));
|
||||||
auto &primaryConnectionSettings = v.connection.primary;
|
auto &primaryConnectionSettings = v.connection.primary;
|
||||||
|
using UnderlyingFlagType = std::underlying_type_t<Data::SyncthingStatusComputionFlags>;
|
||||||
if (connectionCount > 0) {
|
if (connectionCount > 0) {
|
||||||
auto &secondaryConnectionSettings = v.connection.secondary;
|
auto &secondaryConnectionSettings = v.connection.secondary;
|
||||||
secondaryConnectionSettings.clear();
|
secondaryConnectionSettings.clear();
|
||||||
|
@ -246,6 +249,12 @@ void restore()
|
||||||
connectionSettings->reconnectInterval
|
connectionSettings->reconnectInterval
|
||||||
= settings.value(QStringLiteral("reconnectInterval"), connectionSettings->reconnectInterval).toInt();
|
= settings.value(QStringLiteral("reconnectInterval"), connectionSettings->reconnectInterval).toInt();
|
||||||
connectionSettings->autoConnect = settings.value(QStringLiteral("autoConnect"), connectionSettings->autoConnect).toBool();
|
connectionSettings->autoConnect = settings.value(QStringLiteral("autoConnect"), connectionSettings->autoConnect).toBool();
|
||||||
|
const auto statusComputionFlags = settings.value(QStringLiteral("statusComputionFlags"),
|
||||||
|
QVariant::fromValue(static_cast<UnderlyingFlagType>(connectionSettings->statusComputionFlags)));
|
||||||
|
if (statusComputionFlags.canConvert<UnderlyingFlagType>()) {
|
||||||
|
connectionSettings->statusComputionFlags
|
||||||
|
= static_cast<Data::SyncthingStatusComputionFlags>(statusComputionFlags.value<UnderlyingFlagType>());
|
||||||
|
}
|
||||||
connectionSettings->httpsCertPath = settings.value(QStringLiteral("httpsCertPath")).toString();
|
connectionSettings->httpsCertPath = settings.value(QStringLiteral("httpsCertPath")).toString();
|
||||||
if (!connectionSettings->loadHttpsCert()) {
|
if (!connectionSettings->loadHttpsCert()) {
|
||||||
QMessageBox::critical(nullptr, QCoreApplication::applicationName(),
|
QMessageBox::critical(nullptr, QCoreApplication::applicationName(),
|
||||||
|
@ -358,6 +367,8 @@ void save()
|
||||||
settings.setValue(QStringLiteral("errorsPollInterval"), connectionSettings->errorsPollInterval);
|
settings.setValue(QStringLiteral("errorsPollInterval"), connectionSettings->errorsPollInterval);
|
||||||
settings.setValue(QStringLiteral("reconnectInterval"), connectionSettings->reconnectInterval);
|
settings.setValue(QStringLiteral("reconnectInterval"), connectionSettings->reconnectInterval);
|
||||||
settings.setValue(QStringLiteral("autoConnect"), connectionSettings->autoConnect);
|
settings.setValue(QStringLiteral("autoConnect"), connectionSettings->autoConnect);
|
||||||
|
settings.setValue(QStringLiteral("statusComputionFlags"),
|
||||||
|
QVariant::fromValue(static_cast<std::underlying_type_t<Data::SyncthingStatusComputionFlags>>(connectionSettings->statusComputionFlags)));
|
||||||
settings.setValue(QStringLiteral("httpsCertPath"), connectionSettings->httpsCertPath);
|
settings.setValue(QStringLiteral("httpsCertPath"), connectionSettings->httpsCertPath);
|
||||||
}
|
}
|
||||||
settings.endArray();
|
settings.endArray();
|
||||||
|
|
Loading…
Reference in New Issue