Browse Source

Keep legacy defaults for existing users

adaptive-webui-19844
Vladimir Golovnev (Glassez) 5 years ago
parent
commit
0c6c65f6f8
No known key found for this signature in database
GPG Key ID: 52A2C7DEE2DFA6F7
  1. 6
      src/app/main.cpp
  2. 20
      src/app/upgrade.cpp
  3. 7
      src/app/upgrade.h

6
src/app/main.cpp

@ -237,6 +237,8 @@ int main(int argc, char *argv[])
#endif #endif
if (!firstTimeUser) { if (!firstTimeUser) {
handleChangedDefaults(DefaultPreferencesMode::Legacy);
#ifndef DISABLE_GUI #ifndef DISABLE_GUI
if (!upgrade()) return EXIT_FAILURE; if (!upgrade()) return EXIT_FAILURE;
#elif defined(Q_OS_WIN) #elif defined(Q_OS_WIN)
@ -248,6 +250,10 @@ int main(int argc, char *argv[])
&& isatty(fileno(stdout)))) return EXIT_FAILURE; && isatty(fileno(stdout)))) return EXIT_FAILURE;
#endif #endif
} }
else {
handleChangedDefaults(DefaultPreferencesMode::Current);
}
#if defined(DISABLE_GUI) && !defined(Q_OS_WIN) #if defined(DISABLE_GUI) && !defined(Q_OS_WIN)
if (params.shouldDaemonize) { if (params.shouldDaemonize) {
app.reset(); // Destroy current application app.reset(); // Destroy current application

20
src/app/upgrade.cpp

@ -82,3 +82,23 @@ bool upgrade(const bool /*ask*/)
exportWebUIHttpsFiles(); exportWebUIHttpsFiles();
return true; return true;
} }
void handleChangedDefaults(const DefaultPreferencesMode mode)
{
struct DefaultValue
{
QString name;
QVariant legacy;
QVariant current;
};
const QVector<DefaultValue> changedDefaults {
{QLatin1String {"BitTorrent/Session/QueueingSystemEnabled"}, true, false}
};
SettingsStorage *settingsStorage {SettingsStorage::instance()};
for (auto it = changedDefaults.cbegin(); it != changedDefaults.cend(); ++it) {
if (settingsStorage->loadValue(it->name).isNull())
settingsStorage->storeValue(it->name, (mode == DefaultPreferencesMode::Legacy ? it->legacy : it->current));
}
}

7
src/app/upgrade.h

@ -28,4 +28,11 @@
#pragma once #pragma once
enum class DefaultPreferencesMode
{
Legacy,
Current
};
void handleChangedDefaults(DefaultPreferencesMode mode);
bool upgrade(bool ask = true); bool upgrade(bool ask = true);

Loading…
Cancel
Save