mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Preferences: add a new page for language
This is not hooked into anything - It's the bare minimum that I need to continue creating the new preferences dialog. But take a look at it... very simple. :) Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									b35ccc3a35
								
							
						
					
					
						commit
						255325e219
					
				
					 4 changed files with 158 additions and 2 deletions
				
			
		
							
								
								
									
										47
									
								
								desktop-widgets/preferences/preferences_language.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								desktop-widgets/preferences/preferences_language.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,47 @@ | |||
| #include "preferences_language.h" | ||||
| #include "ui_prefs_language.h" | ||||
| 
 | ||||
| #include <QApplication> | ||||
| #include <QSettings> | ||||
| #include <QMessageBox> | ||||
| 
 | ||||
| 
 | ||||
| PreferencesLanguage::PreferencesLanguage() : AbstractPreferencesWidget(tr("Language"), QIcon(":/language"), 4) | ||||
| { | ||||
| 	ui = new Ui::PreferencesLanguage(); | ||||
| 	ui->setupUi(this); | ||||
| } | ||||
| 
 | ||||
| PreferencesLanguage::~PreferencesLanguage() | ||||
| { | ||||
| 	delete ui; | ||||
| } | ||||
| 
 | ||||
| void PreferencesLanguage::refreshSettings() | ||||
| { | ||||
| 	QSettings s; | ||||
| 	s.beginGroup("Language"); | ||||
| 	ui->languageSystemDefault->setChecked(s.value("UseSystemLanguage", true).toBool()); | ||||
| 	QAbstractItemModel *m = ui->languageView->model(); | ||||
| 	QModelIndexList languages = m->match(m->index(0, 0), Qt::UserRole, s.value("UiLanguage").toString()); | ||||
| 	if (languages.count()) | ||||
| 		ui->languageView->setCurrentIndex(languages.first()); | ||||
| 	s.endGroup(); | ||||
| } | ||||
| 
 | ||||
| void PreferencesLanguage::syncSettings() | ||||
| { | ||||
| 	// Locale
 | ||||
| 	QLocale loc; | ||||
| 	QSettings s; | ||||
| 	s.beginGroup("Language"); | ||||
| 	bool useSystemLang = s.value("UseSystemLanguage", true).toBool(); | ||||
| 	if (useSystemLang != ui->languageSystemDefault->isChecked() || | ||||
| 	    (!useSystemLang && s.value("UiLanguage").toString() != ui->languageView->currentIndex().data(Qt::UserRole))) { | ||||
| 		QMessageBox::warning(this, tr("Restart required"), | ||||
| 			tr("To correctly load a new language you must restart Subsurface.")); | ||||
| 	} | ||||
| 	s.setValue("UseSystemLanguage", ui->languageSystemDefault->isChecked()); | ||||
| 	s.setValue("UiLanguage", ui->languageView->currentIndex().data(Qt::UserRole)); | ||||
| 	s.endGroup(); | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue