mirror of
https://github.com/chenx-dust/EZ4Connect.git
synced 2026-09-20 10:23:33 +08:00
45 lines
1.1 KiB
C++
45 lines
1.1 KiB
C++
#include "settingsmigrator.h"
|
|
|
|
#include <QSettings>
|
|
|
|
#include "application/applicationconstants.h"
|
|
#include "application/defaultsettings.h"
|
|
|
|
SettingsMigrationAction SettingsMigrator::prepare(QSettings &settings)
|
|
{
|
|
const int configVersion = settings.value("Common/ConfigVersion", -1).toInt();
|
|
if (configVersion == -1)
|
|
{
|
|
DefaultSettings::reset(settings);
|
|
return SettingsMigrationAction::None;
|
|
}
|
|
if (configVersion == 4)
|
|
{
|
|
settings.setValue("ZJUConnect/Protocol", "easyconnect");
|
|
return SettingsMigrationAction::None;
|
|
}
|
|
if (configVersion == 6)
|
|
{
|
|
return SettingsMigrationAction::MigrateAutoStart;
|
|
}
|
|
if (configVersion < ApplicationConstants::ConfigVersion)
|
|
{
|
|
return SettingsMigrationAction::RecommendReset;
|
|
}
|
|
return SettingsMigrationAction::None;
|
|
}
|
|
|
|
void SettingsMigrator::finish(QSettings &settings, bool resetToDefaults)
|
|
{
|
|
if (resetToDefaults)
|
|
{
|
|
settings.clear();
|
|
DefaultSettings::reset(settings);
|
|
}
|
|
settings.setValue(
|
|
"Common/ConfigVersion",
|
|
ApplicationConstants::ConfigVersion
|
|
);
|
|
settings.sync();
|
|
}
|