change languageform like Raoul suggest

This commit is contained in:
Armin Köhler 2011-05-26 09:00:40 +02:00
parent 0f98c4fd8f
commit 2930510461
3 changed files with 51 additions and 60 deletions

View File

@ -27,68 +27,58 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import translate from openlp.core.lib import translate
from openlp.core.lib.ui import create_accept_reject_button_box
class Ui_LanguageDialog(object): class Ui_LanguageDialog(object):
def setupUi(self, languageDialog): def setupUi(self, languageDialog):
languageDialog.setObjectName(u'LanugageDialog') languageDialog.setObjectName(u'languageDialog')
languageDialog.resize(400, 175) languageDialog.resize(400, 165)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, self.languageLayout = QtGui.QVBoxLayout(languageDialog)
QtGui.QSizePolicy.MinimumExpanding) self.languageLayout.setSpacing(8)
sizePolicy.setHorizontalStretch(0) self.languageLayout.setMargin(8)
sizePolicy.setVerticalStretch(0) self.languageLayout.setObjectName(u'languageLayout')
sizePolicy.setHeightForWidth(languageDialog.sizePolicy() self.bibleLabel = QtGui.QLabel(languageDialog)
.hasHeightForWidth()) self.bibleLabel.setObjectName(u'bibleLabel')
languageDialog.setSizePolicy(sizePolicy) self.languageLayout.addWidget(self.bibleLabel)
self.widget = QtGui.QWidget(languageDialog) self.infoLabel = QtGui.QLabel(languageDialog)
self.widget.setGeometry(QtCore.QRect(10, 15, 381, 151)) self.infoLabel.setWordWrap(True)
self.widget.setObjectName(u'widget') self.infoLabel.setObjectName(u'infoLabel')
self.verticalLayout = QtGui.QVBoxLayout(self.widget) self.languageLayout.addWidget(self.infoLabel)
self.verticalLayout.setObjectName(u'verticalLayout') self.languageHBoxLayout = QtGui.QHBoxLayout()
self.headlineLabel = QtGui.QLabel(self.widget) self.languageHBoxLayout.setSpacing(8)
font = QtGui.QFont() self.languageHBoxLayout.setObjectName(u'languageHBoxLayout')
font.setFamily(u'Arial') self.languageLabel = QtGui.QLabel(languageDialog)
font.setPointSize(11) self.languageLabel.setObjectName(u'languageLabel')
font.setWeight(75) self.languageHBoxLayout.addWidget(self.languageLabel)
font.setBold(True) self.languageComboBox = QtGui.QComboBox(languageDialog)
self.headlineLabel.setFont(font) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding,
self.headlineLabel.setObjectName(u'HeadlineLabel')
self.verticalLayout.addWidget(self.headlineLabel)
self.infoLabel = QtGui.QLabel(self.widget)
self.infoLabel.setObjectName(u'InfoLabel')
self.verticalLayout.addWidget(self.infoLabel)
self.formLayout = QtGui.QFormLayout()
self.formLayout.setObjectName(u'formLayout')
self.requestLabel = QtGui.QLabel(self.widget)
self.requestLabel.setObjectName(u'RequestLabel')
self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole,
self.requestLabel)
self.requestComboBox = QtGui.QComboBox(self.widget)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
QtGui.QSizePolicy.Fixed) QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.requestComboBox.sizePolicy() sizePolicy.setHeightForWidth(
.hasHeightForWidth()) self.languageComboBox.sizePolicy().hasHeightForWidth())
self.requestComboBox.setSizePolicy(sizePolicy) self.languageComboBox.setSizePolicy(sizePolicy)
self.requestComboBox.setObjectName(u'RequestComboBox') self.languageComboBox.setObjectName(u'languageComboBox')
self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.languageHBoxLayout.addWidget(self.languageComboBox)
self.requestComboBox) self.languageLayout.addLayout(self.languageHBoxLayout)
self.verticalLayout.addLayout(self.formLayout) self.buttonBox = QtGui.QDialogButtonBox(languageDialog)
spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
QtGui.QSizePolicy.Expanding) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|
self.verticalLayout.addItem(spacerItem) QtGui.QDialogButtonBox.Ok)
self.formLayout.addWidget( self.buttonBox.setObjectName(u'buttonBox')
create_accept_reject_button_box(languageDialog)) self.languageLayout.addWidget(self.buttonBox)
self.retranslateUi(languageDialog) self.retranslateUi(languageDialog)
QtCore.QMetaObject.connectSlotsByName(languageDialog) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'),
languageDialog.accept)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'),
languageDialog.reject)
def retranslateUi(self, languageDialog): def retranslateUi(self, languageDialog):
languageDialog.setWindowTitle( languageDialog.setWindowTitle(
translate('BiblesPlugin.LanguageDialog', 'Select Language')) translate('BiblesPlugin.LanguageDialog', 'Select Language'))
self.headlineLabel.setText( self.bibleLabel.setText(translate('BiblesPlugin.LanguageDialog', ''))
translate('BiblesPlugin.LanguageDialog', 'Select Language:'))
self.infoLabel.setText(translate('BiblesPlugin.LanguageDialog', self.infoLabel.setText(translate('BiblesPlugin.LanguageDialog',
'Please select the Bible\'s language')) 'OpenLP is unable to determine the language of this translation '
self.requestLabel.setText(translate('BiblesPlugin.languageDialog', 'of the Bible. Please select the language from the list below.'))
self.languageLabel.setText(translate('BiblesPlugin.LanguageDialog',
'Language:')) 'Language:'))

View File

@ -53,23 +53,24 @@ class LanguageForm(QDialog, Ui_LanguageDialog):
self.setupUi(self) self.setupUi(self)
def exec_(self, bible_name): def exec_(self, bible_name):
self.requestComboBox.addItem(u'') self.languageComboBox.addItem(u'')
if bible_name: if bible_name:
self.infoLabel.setText(unicode(translate( self.infoLabel.setText(unicode(translate(
'BiblesPlugin.LanguageDialog', 'BiblesPlugin.LanguageDialog',
'Please select the language for Bible:\n"%s"')) % 'OpenLP is unable to determine the language of this translation'
bible_name) ' of the Bible. Please select the language for "%s" from the '
'list below.')) % bible_name)
items = BiblesResourcesDB.get_languages() items = BiblesResourcesDB.get_languages()
for item in items: for item in items:
self.requestComboBox.addItem(item[u'name']) self.languageComboBox.addItem(item[u'name'])
return QDialog.exec_(self) return QDialog.exec_(self)
def accept(self): def accept(self):
if self.requestComboBox.currentText() == u'': if self.languageComboBox.currentText() == u'':
critical_error_message_box( critical_error_message_box(
message=translate('BiblesPlugin.LanguageForm', message=translate('BiblesPlugin.LanguageForm',
'You need to select a language.')) 'You need to choose a language.'))
self.requestComboBox.setFocus() self.languageComboBox.setFocus()
return False return False
else: else:
return QDialog.accept(self) return QDialog.accept(self)

View File

@ -480,7 +480,7 @@ class BibleDB(QtCore.QObject, Manager):
language = None language = None
language_form = LanguageForm(self.wizard) language_form = LanguageForm(self.wizard)
if language_form.exec_(bible_name): if language_form.exec_(bible_name):
language = unicode(language_form.requestComboBox.currentText()) language = unicode(language_form.languageComboBox.currentText())
if not language: if not language:
return False return False
language = BiblesResourcesDB.get_language(language) language = BiblesResourcesDB.get_language(language)