mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-31 19:23:24 +00:00
core: remove QSettings from qthelper
uiLanguage overloaded qPrefLanguage and used useSystemLanguage instead of use_system_language Replace local load using QSettings with qPrefLanguage Signed-off-by: Jan Iversen <jani@apache.org>
This commit is contained in:
parent
1bc361b2ea
commit
82b626b3fd
1 changed files with 16 additions and 24 deletions
|
@ -1,5 +1,7 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "qthelper.h"
|
||||
#include "core/settings/qPrefLanguage.h"
|
||||
#include "core/settings/qPrefUpdateManager.h"
|
||||
#include "subsurface-string.h"
|
||||
#include "subsurface-string.h"
|
||||
#include "gettextfromc.h"
|
||||
|
@ -15,12 +17,10 @@
|
|||
#include "exif.h"
|
||||
#include "file.h"
|
||||
#include "imagedownloader.h"
|
||||
#include "prefs-macros.h"
|
||||
#include <QFile>
|
||||
#include <QRegExp>
|
||||
#include <QDir>
|
||||
#include <QDebug>
|
||||
#include <QSettings>
|
||||
#include <QStandardPaths>
|
||||
#include <QJsonDocument>
|
||||
#include <QNetworkReply>
|
||||
|
@ -445,16 +445,20 @@ QString uiLanguage(QLocale *callerLoc)
|
|||
QString shortDateFormat;
|
||||
QString dateFormat;
|
||||
QString timeFormat;
|
||||
QSettings s;
|
||||
QVariant v;
|
||||
s.beginGroup("Language");
|
||||
GET_BOOL("UseSystemLanguage", locale.use_system_language);
|
||||
|
||||
if (!prefs.locale.use_system_language) {
|
||||
loc = QLocale(s.value("UiLangLocale", QLocale().uiLanguages().first()).toString());
|
||||
// Language settings are already loaded, see qPref::load()
|
||||
// so no need to reload them
|
||||
|
||||
// remark this method used "useSystemLanguage", which is not set
|
||||
// instead use_system_language is loaded from disk
|
||||
|
||||
// set loc as system language or selected language
|
||||
if (!qPrefLanguage::use_system_language()) {
|
||||
loc = QLocale(qPrefLanguage::lang_locale());
|
||||
} else {
|
||||
loc = QLocale(QLocale().uiLanguages().first());
|
||||
}
|
||||
|
||||
QStringList languages = loc.uiLanguages();
|
||||
QString uiLang;
|
||||
if (languages[0].contains('-'))
|
||||
|
@ -465,13 +469,8 @@ QString uiLanguage(QLocale *callerLoc)
|
|||
uiLang = languages[2];
|
||||
else
|
||||
uiLang = languages[0];
|
||||
|
||||
prefs.locale.lang_locale = copy_qstring(uiLang);
|
||||
GET_BOOL("time_format_override", time_format_override);
|
||||
GET_BOOL("date_format_override", date_format_override);
|
||||
GET_TXT("time_format", time_format);
|
||||
GET_TXT("date_format", date_format);
|
||||
GET_TXT("date_format_short", date_format_short);
|
||||
s.endGroup();
|
||||
|
||||
// there's a stupid Qt bug on MacOS where uiLanguages doesn't give us the country info
|
||||
if (!uiLang.contains('-') && uiLang != loc.bcp47Name()) {
|
||||
|
@ -1455,19 +1454,12 @@ void init_proxy()
|
|||
|
||||
QString getUUID()
|
||||
{
|
||||
// This is a correct usage of QSettings,
|
||||
// it's not a setting per se - the user cannot change it
|
||||
// and thus, don't need to be on the prefs structure
|
||||
// and this is the *only* point of access from it,
|
||||
QString uuidString;
|
||||
QSettings settings;
|
||||
settings.beginGroup("UpdateManager");
|
||||
if (settings.contains("UUID")) {
|
||||
uuidString = settings.value("UUID").toString();
|
||||
} else {
|
||||
uuidString = qPrefUpdateManager::uuidString();
|
||||
if (uuidString != "") {
|
||||
QUuid uuid = QUuid::createUuid();
|
||||
uuidString = uuid.toString();
|
||||
settings.setValue("UUID", uuidString);
|
||||
qPrefUpdateManager::set_uuidString(uuidString);
|
||||
}
|
||||
uuidString.replace("{", "").replace("}", "");
|
||||
return uuidString;
|
||||
|
|
Loading…
Add table
Reference in a new issue