mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-12 08:16:16 -07:00
Merge pull request #18432 from sledgehammer999/chinese_fix
Migrate setting about Simplified Chinese locale
This commit is contained in:
commit
ca72360b6f
4 changed files with 35 additions and 22 deletions
|
@ -88,6 +88,7 @@
|
||||||
#include "base/version.h"
|
#include "base/version.h"
|
||||||
#include "applicationinstancemanager.h"
|
#include "applicationinstancemanager.h"
|
||||||
#include "filelogger.h"
|
#include "filelogger.h"
|
||||||
|
#include "upgrade.h"
|
||||||
|
|
||||||
#ifndef DISABLE_GUI
|
#ifndef DISABLE_GUI
|
||||||
#include "gui/addnewtorrentdialog.h"
|
#include "gui/addnewtorrentdialog.h"
|
||||||
|
@ -173,6 +174,18 @@ Application::Application(int &argc, char **argv)
|
||||||
SettingsStorage::initInstance();
|
SettingsStorage::initInstance();
|
||||||
Preferences::initInstance();
|
Preferences::initInstance();
|
||||||
|
|
||||||
|
const bool firstTimeUser = !Preferences::instance()->getAcceptedLegal();
|
||||||
|
if (!firstTimeUser)
|
||||||
|
{
|
||||||
|
if (!upgrade())
|
||||||
|
throw RuntimeError(u"Failed migration of old settings"_qs); // Not translatable. Translation isn't configured yet.
|
||||||
|
handleChangedDefaults(DefaultPreferencesMode::Legacy);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
handleChangedDefaults(DefaultPreferencesMode::Current);
|
||||||
|
}
|
||||||
|
|
||||||
initializeTranslation();
|
initializeTranslation();
|
||||||
|
|
||||||
connect(this, &QCoreApplication::aboutToQuit, this, &Application::cleanup);
|
connect(this, &QCoreApplication::aboutToQuit, this, &Application::cleanup);
|
||||||
|
|
|
@ -221,26 +221,6 @@ int main(int argc, char *argv[])
|
||||||
app->setAttribute(Qt::AA_DontShowIconsInMenus);
|
app->setAttribute(Qt::AA_DontShowIconsInMenus);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!firstTimeUser)
|
|
||||||
{
|
|
||||||
handleChangedDefaults(DefaultPreferencesMode::Legacy);
|
|
||||||
|
|
||||||
#ifndef DISABLE_GUI
|
|
||||||
if (!upgrade()) return EXIT_FAILURE;
|
|
||||||
#elif defined(Q_OS_WIN)
|
|
||||||
if (!upgrade(_isatty(_fileno(stdin))
|
|
||||||
&& _isatty(_fileno(stdout)))) return EXIT_FAILURE;
|
|
||||||
#else
|
|
||||||
if (!upgrade(!params.shouldDaemonize
|
|
||||||
&& isatty(fileno(stdin))
|
|
||||||
&& isatty(fileno(stdout)))) return EXIT_FAILURE;
|
|
||||||
#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)
|
||||||
{
|
{
|
||||||
|
@ -274,6 +254,11 @@ int main(int argc, char *argv[])
|
||||||
displayBadArgMessage(er.message());
|
displayBadArgMessage(er.message());
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
catch (const RuntimeError &er)
|
||||||
|
{
|
||||||
|
qDebug() << er.message();
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(DISABLE_GUI)
|
#if !defined(DISABLE_GUI)
|
||||||
|
|
|
@ -395,9 +395,21 @@ namespace
|
||||||
settingsStorage->storeValue(u"GUI/StartUpWindowState"_qs, windowState);
|
settingsStorage->storeValue(u"GUI/StartUpWindowState"_qs, windowState);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void migrateChineseLocale()
|
||||||
|
{
|
||||||
|
auto *settingsStorage = SettingsStorage::instance();
|
||||||
|
const auto key = u"Preferences/General/Locale"_qs;
|
||||||
|
if (settingsStorage->hasKey(key))
|
||||||
|
{
|
||||||
|
const auto locale = settingsStorage->loadValue<QString>(key);
|
||||||
|
if (locale.compare(u"zh"_qs, Qt::CaseInsensitive) == 0)
|
||||||
|
settingsStorage->storeValue(key, u"zh_CN"_qs);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool upgrade(const bool /*ask*/)
|
bool upgrade()
|
||||||
{
|
{
|
||||||
CachedSettingValue<int> version {MIGRATION_VERSION_KEY, 0};
|
CachedSettingValue<int> version {MIGRATION_VERSION_KEY, 0};
|
||||||
|
|
||||||
|
@ -425,7 +437,10 @@ bool upgrade(const bool /*ask*/)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (version < 5)
|
if (version < 5)
|
||||||
|
{
|
||||||
migrateStartupWindowState();
|
migrateStartupWindowState();
|
||||||
|
migrateChineseLocale();
|
||||||
|
}
|
||||||
|
|
||||||
version = MIGRATION_VERSION;
|
version = MIGRATION_VERSION;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,5 +35,5 @@ enum class DefaultPreferencesMode
|
||||||
};
|
};
|
||||||
|
|
||||||
void handleChangedDefaults(DefaultPreferencesMode mode);
|
void handleChangedDefaults(DefaultPreferencesMode mode);
|
||||||
bool upgrade(bool ask = true);
|
bool upgrade();
|
||||||
void setCurrentMigrationVersion();
|
void setCurrentMigrationVersion();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue