Files
EZ4Connect/application/settingsmigrator.cpp
2026-08-25 02:25:29 +08:00

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();
}