From 02b33ed660df31a2ec486d4b12d0e2c0491fb173 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 12 Jul 2010 23:32:46 +0100 Subject: [PATCH] Theme background images (Bug #594911) --- openlp/core/ui/amendthemedialog.py | 4 ++-- openlp/core/ui/amendthemeform.py | 2 +- openlp/core/ui/thememanager.py | 9 +++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/openlp/core/ui/amendthemedialog.py b/openlp/core/ui/amendthemedialog.py index a5cd69610..45fdf236a 100644 --- a/openlp/core/ui/amendthemedialog.py +++ b/openlp/core/ui/amendthemedialog.py @@ -130,9 +130,9 @@ class Ui_AmendThemeDialog(object): self.ImageLineEdit.setObjectName(u'ImageLineEdit') self.horizontalLayout_2.addWidget(self.ImageLineEdit) self.ImageToolButton = QtGui.QToolButton(self.ImageFilenameWidget) - icon1 = build_icon(u':/general/general_open.png') - self.ImageToolButton.setIcon(icon1) + self.ImageToolButton.setIcon(build_icon(u':/general/general_open.png')) self.ImageToolButton.setObjectName(u'ImageToolButton') + self.ImageToolButton.setAutoRaise(True) self.horizontalLayout_2.addWidget(self.ImageToolButton) self.BackgroundLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.ImageFilenameWidget) diff --git a/openlp/core/ui/amendthemeform.py b/openlp/core/ui/amendthemeform.py index 1c2658dc3..c397d6f42 100644 --- a/openlp/core/ui/amendthemeform.py +++ b/openlp/core/ui/amendthemeform.py @@ -59,7 +59,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): QtCore.QObject.connect(self.ShadowColorPushButton, QtCore.SIGNAL(u'pressed()'), self.onShadowColorPushButtonClicked) QtCore.QObject.connect(self.ImageToolButton, - QtCore.SIGNAL(u'pressed()'), self.onImageToolButtonClicked) + QtCore.SIGNAL(u'clicked()'), self.onImageToolButtonClicked) #Combo boxes QtCore.QObject.connect(self.BackgroundComboBox, QtCore.SIGNAL(u'activated(int)'), self.onBackgroundComboBoxSelected) diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 46b4d0c50..381719514 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -116,6 +116,7 @@ class ThemeManager(QtGui.QWidget): self.thumbPath = os.path.join(self.path, u'thumbnails') self.checkThemesExists(self.thumbPath) self.amendThemeForm.path = self.path + self.oldBackgroundImage = None # Last little bits of setting up self.global_theme = unicode(QtCore.QSettings().value( self.settingsSection + u'/global theme', @@ -187,6 +188,8 @@ class ThemeManager(QtGui.QWidget): item = self.ThemeListWidget.currentItem() theme = self.getThemeData( unicode(item.data(QtCore.Qt.UserRole).toString())) + if theme.background_type == u'image': + self.oldBackgroundImage = theme.background_filename self.amendThemeForm.loadTheme(theme) self.saveThemeName = unicode( item.data(QtCore.Qt.UserRole).toString()) @@ -544,6 +547,12 @@ class ThemeManager(QtGui.QWidget): QtGui.QMessageBox.No) if result == QtGui.QMessageBox.Yes: # Save the theme, overwriting the existing theme if necessary. + if image_to and self.oldBackgroundImage and \ + image_to != self.oldBackgroundImage: + try: + os.remove(self.oldBackgroundImage) + except OSError: + log.exception(u'Unable to remove old theme background') outfile = None try: outfile = open(theme_file, u'w')