This commit is contained in:
Tim Bentley 2009-08-29 11:43:44 +01:00
commit 58b563d976
2 changed files with 25 additions and 9 deletions

View File

@ -135,8 +135,8 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
unicode(self.theme.display_horizontalAlign), unicode(self.theme.display_verticalAlign), unicode(self.theme.display_horizontalAlign), unicode(self.theme.display_verticalAlign),
unicode(self.theme.display_wrapStyle)) unicode(self.theme.display_wrapStyle))
theme = new_theme.extract_xml() theme = new_theme.extract_xml()
self.thememanager.saveTheme(theme_name, theme, save_from, save_to) if self.thememanager.saveTheme(theme_name, theme, save_from, save_to) is not False:
return QtGui.QDialog.accept(self) return QtGui.QDialog.accept(self)
def loadTheme(self, theme): def loadTheme(self, theme):
log.debug(u'LoadTheme %s', theme) log.debug(u'LoadTheme %s', theme)

View File

@ -326,13 +326,29 @@ class ThemeManager(QtGui.QWidget):
if os.path.exists(theme_dir) == False: if os.path.exists(theme_dir) == False:
os.mkdir(os.path.join(self.path, name)) os.mkdir(os.path.join(self.path, name))
theme_file = os.path.join(theme_dir, name + u'.xml') theme_file = os.path.join(theme_dir, name + u'.xml')
outfile = open(theme_file, u'w') log.debug(theme_file)
outfile.write(theme_xml)
outfile.close() result = QtGui.QMessageBox.Yes
if image_from is not None and image_from != image_to: if os.path.exists(theme_file):
shutil.copyfile(image_from, image_to) result = QtGui.QMessageBox.question(
self.generateAndSaveImage(self.path, name, theme_xml) self,
self.loadThemes() translate(u'ThemeManager',u'Theme Exists'),
translate(u'ThemeManager',u'A theme with this name already exists, would you like to overwrite it?'),
(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No),
QtGui.QMessageBox.No)
if result == QtGui.QMessageBox.Yes:
# Save the theme, overwriting the existing theme if necessary.
outfile = open(theme_file, u'w')
outfile.write(theme_xml)
outfile.close()
if image_from is not None and image_from != image_to:
shutil.copyfile(image_from, image_to)
self.generateAndSaveImage(self.path, name, theme_xml)
self.loadThemes()
else:
# Don't close the dialog - allow the user to change the name of the theme or to cancel the theme dialog completely.
return False
def generateAndSaveImage(self, dir, name, theme_xml): def generateAndSaveImage(self, dir, name, theme_xml):
log.debug(u'generateAndSaveImage %s %s %s', dir, name, theme_xml) log.debug(u'generateAndSaveImage %s %s %s', dir, name, theme_xml)