Fixed #1204629 so that typing an image path actually changes the background.

Made the page validation more robust by including the fileDialog

bzr-revno: 2150
Fixes: https://launchpad.net/bugs/1204629
This commit is contained in:
Philip Ridout 2013-07-31 19:34:31 +02:00 committed by Andreas Preikschat
commit 3eafcdeb0f
2 changed files with 16 additions and 9 deletions

View File

@ -78,6 +78,8 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
QtCore.SIGNAL(u'clicked()'), self.onGradientEndButtonClicked)
QtCore.QObject.connect(self.imageBrowseButton,
QtCore.SIGNAL(u'clicked()'), self.onImageBrowseButtonClicked)
QtCore.QObject.connect(self.imageFileEdit,
QtCore.SIGNAL(u'editingFinished()'), self.onImageFileEditEditingFinished)
QtCore.QObject.connect(self.mainColorButton,
QtCore.SIGNAL(u'clicked()'), self.onMainColorButtonClicked)
QtCore.QObject.connect(self.outlineColorButton,
@ -233,7 +235,7 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
background_image = BackgroundType.to_string(BackgroundType.Image)
if self.page(self.currentId()) == self.backgroundPage and \
self.theme.background_type == background_image and \
is_not_image_file(self.imageFileEdit.text()):
is_not_image_file(self.theme.background_filename):
QtGui.QMessageBox.critical(self,
translate('OpenLP.ThemeWizard', 'Background Image Empty'),
translate('OpenLP.ThemeWizard', 'You have not selected a '
@ -545,6 +547,12 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
self.theme.background_filename = unicode(filename)
self.setBackgroundPageValues()
def onImageFileEditEditingFinished(self):
"""
Background image path edited
"""
self.theme.background_filename = unicode(self.imageFileEdit.text())
def onMainColorButtonClicked(self):
self.theme.font_main_color = \
self._colorButton(self.theme.font_main_color)

View File

@ -371,15 +371,14 @@ def is_not_image_file(file_name):
``file_name``
File name to be checked.
"""
if file_name.isEmpty():
return True
else:
formats = [unicode(fmt).lower()
for fmt in QtGui.QImageReader.supportedImageFormats()]
file_part, file_extension = os.path.splitext(unicode(file_name))
if file_extension[1:].lower() in formats and os.path.exists(file_name):
return False
if not file_name:
return True
formats = [unicode(fmt).lower()
for fmt in QtGui.QImageReader.supportedImageFormats()]
file_part, file_extension = os.path.splitext(unicode(file_name))
if file_extension[1:].lower() in formats and os.path.exists(file_name):
return False
return True
def join_url(base, *args):
"""