mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +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
		Add a link
		
	
		Reference in a new issue