From ae864689c76fc5b158145938bfc2e9de68cd24fb Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Wed, 9 Mar 2011 08:02:31 +0200 Subject: [PATCH 1/3] Make the language detection menu item part of the group. --- openlp/core/ui/mainwindow.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 2e87f186e..ba3141f97 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -228,11 +228,12 @@ class Ui_MainWindow(object): # i18n Language Items self.AutoLanguageItem = checkable_action(mainWindow, u'AutoLanguageItem', LanguageManager.auto_language) - mainWindow.actionList.add_action(self.AutoLanguageItem, u'Settings') + #mainWindow.actionList.add_action(self.AutoLanguageItem, u'Settings') self.LanguageGroup = QtGui.QActionGroup(mainWindow) self.LanguageGroup.setExclusive(True) self.LanguageGroup.setObjectName(u'LanguageGroup') - self.LanguageGroup.setDisabled(LanguageManager.auto_language) + #self.LanguageGroup.setDisabled(LanguageManager.auto_language) + add_actions(self.LanguageGroup, [self.AutoLanguageItem]) qmList = LanguageManager.get_qm_list() savedLanguage = LanguageManager.get_language() for key in sorted(qmList.keys()): From e77ced2e64fdfca42e5275bf06faaed8fcf194d9 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Fri, 11 Mar 2011 06:50:32 +0200 Subject: [PATCH 2/3] Removed unnecessary comments. --- openlp/core/ui/mainwindow.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 54909b5a7..d638fd07d 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -228,11 +228,10 @@ class Ui_MainWindow(object): # i18n Language Items self.AutoLanguageItem = checkable_action(mainWindow, u'AutoLanguageItem', LanguageManager.auto_language) - #mainWindow.actionList.add_action(self.AutoLanguageItem, u'Settings') + mainWindow.actionList.add_action(self.AutoLanguageItem, u'Settings') self.LanguageGroup = QtGui.QActionGroup(mainWindow) self.LanguageGroup.setExclusive(True) self.LanguageGroup.setObjectName(u'LanguageGroup') - #self.LanguageGroup.setDisabled(LanguageManager.auto_language) add_actions(self.LanguageGroup, [self.AutoLanguageItem]) qmList = LanguageManager.get_qm_list() savedLanguage = LanguageManager.get_language() From 21d59235ac99b2a7585d97a009cb853b6a40fae9 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Fri, 11 Mar 2011 07:15:41 +0200 Subject: [PATCH 3/3] Stop signal from running twice and set 'Autodetect' text after language names have been set. --- openlp/core/ui/mainwindow.py | 10 ++++------ openlp/core/utils/languagemanager.py | 10 +++++++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index d638fd07d..cb324a872 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -425,14 +425,14 @@ class Ui_MainWindow(object): translate('OpenLP.MainWindow', '&Online Help')) self.helpWebSiteItem.setText( translate('OpenLP.MainWindow', '&Web Site')) - self.AutoLanguageItem.setText( - translate('OpenLP.MainWindow', '&Auto Detect')) - self.AutoLanguageItem.setStatusTip(translate('OpenLP.MainWindow', - 'Use the system language, if available.')) for item in self.LanguageGroup.actions(): item.setText(item.objectName()) item.setStatusTip(unicode(translate('OpenLP.MainWindow', 'Set the interface language to %s')) % item.objectName()) + self.AutoLanguageItem.setText( + translate('OpenLP.MainWindow', '&Autodetect')) + self.AutoLanguageItem.setStatusTip(translate('OpenLP.MainWindow', + 'Use the system language, if available.')) self.ToolsAddToolItem.setText( translate('OpenLP.MainWindow', 'Add &Tool...')) self.ToolsAddToolItem.setStatusTip(translate('OpenLP.MainWindow', @@ -550,8 +550,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): QtCore.SIGNAL(u'triggered()'), self.ServiceManagerContents.printServiceOrder) # i18n set signals for languages - QtCore.QObject.connect(self.AutoLanguageItem, - QtCore.SIGNAL(u'toggled(bool)'), self.setAutoLanguage) self.LanguageGroup.triggered.connect(LanguageManager.set_language) QtCore.QObject.connect(self.ModeDefaultItem, QtCore.SIGNAL(u'triggered()'), self.onModeDefaultItemClicked) diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index 9cadf06e2..28a8b06f8 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -112,9 +112,13 @@ class LanguageManager(object): """ language = u'en' if action: - action_name = u'%s' % action.objectName() - qm_list = LanguageManager.get_qm_list() - language = u'%s' % qm_list[action_name] + action_name = unicode(action.objectName()) + if action_name == u'AutoLanguageItem': + LanguageManager.auto_language = True + else: + LanguageManager.auto_language = False + qm_list = LanguageManager.get_qm_list() + language = unicode(qm_list[action_name]) if LanguageManager.auto_language: language = u'[%s]' % language # This needs to be here for the setValue to work