From f295ac54075e083f1ea2a304314e18af1540086d Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 27 Feb 2011 09:53:47 +0000 Subject: [PATCH] Select Language at startup --- openlp.pyw | 2 ++ openlp/core/ui/firsttimeform.py | 12 ++++++++++-- openlp/core/utils/languagemanager.py | 15 ++++++++++----- resources/forms/firsttimewizard.ui | 24 +++++++++++++++++++----- 4 files changed, 41 insertions(+), 12 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index 393a1331b..c551636b8 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -276,8 +276,10 @@ def main(): if QtCore.QSettings().value( u'general/first time', QtCore.QVariant(True)).toBool(): FirstTimeForm().exec_() + pass # i18n Set Language language = LanguageManager.get_language() + print language appTranslator = LanguageManager.get_translator(language) app.installTranslator(appTranslator) if not options.no_error_form: diff --git a/openlp/core/ui/firsttimeform.py b/openlp/core/ui/firsttimeform.py index 88220ed33..2a23350a6 100644 --- a/openlp/core/ui/firsttimeform.py +++ b/openlp/core/ui/firsttimeform.py @@ -69,6 +69,8 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard): else: self.internetGroupBox.setVisible(False) self.noInternetLabel.setVisible(True) + if LanguageManager.auto_language: + self.LanguageComboBox.setEnabled(False) self.qmList = LanguageManager.get_qm_list() for key in sorted(self.qmList.keys()): self.LanguageComboBox.addItem(key) @@ -83,8 +85,14 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard): self.__pluginStatus(self.customCheckBox, u'custom/status') self.__pluginStatus(self.songUsageCheckBox, u'songusage/status') self.__pluginStatus(self.alertCheckBox, u'alerts/status') - - print self.qmList[unicode(self.LanguageComboBox.currentText())] + if self.autoLanguageCheckBox.checkState() == QtCore.Qt.Checked: + LanguageManager.auto_language = True + LanguageManager.set_language(False, False) + else: + LanguageManager.auto_language = False + action = QtGui.QAction(None) + action.setObjectName(unicode(self.LanguageComboBox.currentText())) + LanguageManager.set_language(action, False) return QtGui.QWizard.accept(self) def __pluginStatus(self, field, tag): diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index 43d2a8e67..e90a659ec 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -99,16 +99,20 @@ class LanguageManager(object): return language @staticmethod - def set_language(action): + def set_language(action, message=True): """ Set the language to translate OpenLP into ``action`` The language menu option + + ``message`` + Display the message option """ language = u'en' if action: action_name = u'%s' % action.objectName() + print action_name qm_list = LanguageManager.get_qm_list() language = u'%s' % qm_list[action_name] if LanguageManager.auto_language: @@ -116,10 +120,11 @@ class LanguageManager(object): QtCore.QSettings().setValue( u'general/language', QtCore.QVariant(language)) log.info(u'Language file: \'%s\' written to conf file' % language) - QtGui.QMessageBox.information(None, - translate('OpenLP.LanguageManager', 'Language'), - translate('OpenLP.LanguageManager', - 'Please restart OpenLP to use your new language setting.')) + if message: + QtGui.QMessageBox.information(None, + translate('OpenLP.LanguageManager', 'Language'), + translate('OpenLP.LanguageManager', + 'Please restart OpenLP to use your new language setting.')) @staticmethod def init_qm_list(): diff --git a/resources/forms/firsttimewizard.ui b/resources/forms/firsttimewizard.ui index 305fd66a0..ec55bcd42 100644 --- a/resources/forms/firsttimewizard.ui +++ b/resources/forms/firsttimewizard.ui @@ -300,8 +300,8 @@ p, li { white-space: pre-wrap; } 20 20 - 252 - 88 + 491 + 113 @@ -339,15 +339,29 @@ p, li { white-space: pre-wrap; } - + Select default language - - + + + + QComboBox::AdjustToContents + + + + + + + Auto Language + + + true + +