forked from openlp/openlp
Merged in lp:~meths/openlp/trivialfixes
bzr-revno: 521
This commit is contained in:
commit
d7c450b346
@ -27,6 +27,8 @@ def file_to_xml(xmlfile):
|
|||||||
return open(xmlfile).read()
|
return open(xmlfile).read()
|
||||||
|
|
||||||
def str_to_bool(stringvalue):
|
def str_to_bool(stringvalue):
|
||||||
|
if stringvalue is True or stringvalue is False:
|
||||||
|
return stringvalue
|
||||||
return stringvalue.strip().lower() in (u'true', u'yes', u'y')
|
return stringvalue.strip().lower() in (u'true', u'yes', u'y')
|
||||||
|
|
||||||
def buildIcon(icon):
|
def buildIcon(icon):
|
||||||
|
@ -161,8 +161,8 @@ class ThemeXML(object):
|
|||||||
#Create Filename element
|
#Create Filename element
|
||||||
self.child_element(background, u'filename', filename)
|
self.child_element(background, u'filename', filename)
|
||||||
|
|
||||||
def add_font(self, name, color, proportion, override, fonttype=u'main', weight=u'Normal', italics=u'False',
|
def add_font(self, name, color, proportion, override, fonttype=u'main',
|
||||||
xpos=0, ypos=0, width=0, height=0):
|
weight=u'Normal', italics=u'False', xpos=0, ypos=0, width=0, height=0):
|
||||||
"""
|
"""
|
||||||
Add a Font.
|
Add a Font.
|
||||||
|
|
||||||
@ -301,6 +301,12 @@ class ThemeXML(object):
|
|||||||
# Print our newly created XML
|
# Print our newly created XML
|
||||||
return self.theme_xml.toxml()
|
return self.theme_xml.toxml()
|
||||||
|
|
||||||
|
def extract_formatted_xml(self):
|
||||||
|
"""
|
||||||
|
Pull out the XML string formatted for human consumption
|
||||||
|
"""
|
||||||
|
return self.theme_xml.toprettyxml(indent=u' ', newl=u'\n')
|
||||||
|
|
||||||
def parse(self, xml):
|
def parse(self, xml):
|
||||||
"""
|
"""
|
||||||
Read in an XML string and parse it.
|
Read in an XML string and parse it.
|
||||||
@ -340,8 +346,8 @@ class ThemeXML(object):
|
|||||||
for e in element.attrib.iteritems():
|
for e in element.attrib.iteritems():
|
||||||
if master == u'font_' and e[0] == u'type':
|
if master == u'font_' and e[0] == u'type':
|
||||||
master += e[1] + u'_'
|
master += e[1] + u'_'
|
||||||
elif master == u'display_' and (element.tag == u'shadow' or
|
elif master == u'display_' and (element.tag == u'shadow' \
|
||||||
element.tag == u'outline'):
|
or element.tag == u'outline'):
|
||||||
et = str_to_bool(element.text)
|
et = str_to_bool(element.text)
|
||||||
setattr(self, master + element.tag, et)
|
setattr(self, master + element.tag, et)
|
||||||
setattr(self, master + element.tag + u'_'+ e[0], e[1])
|
setattr(self, master + element.tag + u'_'+ e[0], e[1])
|
||||||
|
@ -21,7 +21,8 @@ import logging
|
|||||||
import os, os.path
|
import os, os.path
|
||||||
|
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
from openlp.core.lib import ThemeXML, Renderer, file_to_xml, translate
|
from openlp.core.lib import ThemeXML, Renderer, file_to_xml, str_to_bool, \
|
||||||
|
translate
|
||||||
|
|
||||||
from amendthemedialog import Ui_AmendThemeDialog
|
from amendthemedialog import Ui_AmendThemeDialog
|
||||||
|
|
||||||
@ -44,7 +45,8 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
QtCore.QObject.connect(self.FontMainColorPushButton,
|
QtCore.QObject.connect(self.FontMainColorPushButton,
|
||||||
QtCore.SIGNAL(u'pressed()'), self.onFontMainColorPushButtonClicked)
|
QtCore.SIGNAL(u'pressed()'), self.onFontMainColorPushButtonClicked)
|
||||||
QtCore.QObject.connect(self.FontFooterColorPushButton,
|
QtCore.QObject.connect(self.FontFooterColorPushButton,
|
||||||
QtCore.SIGNAL(u'pressed()'), self.onFontFooterColorPushButtonClicked)
|
QtCore.SIGNAL(u'pressed()'),
|
||||||
|
self.onFontFooterColorPushButtonClicked)
|
||||||
QtCore.QObject.connect(self.OutlineColorPushButton,
|
QtCore.QObject.connect(self.OutlineColorPushButton,
|
||||||
QtCore.SIGNAL(u'pressed()'), self.onOutlineColorPushButtonClicked)
|
QtCore.SIGNAL(u'pressed()'), self.onOutlineColorPushButtonClicked)
|
||||||
QtCore.QObject.connect(self.ShadowColorPushButton,
|
QtCore.QObject.connect(self.ShadowColorPushButton,
|
||||||
@ -55,46 +57,59 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
QtCore.QObject.connect(self.BackgroundComboBox,
|
QtCore.QObject.connect(self.BackgroundComboBox,
|
||||||
QtCore.SIGNAL(u'activated(int)'), self.onBackgroundComboBoxSelected)
|
QtCore.SIGNAL(u'activated(int)'), self.onBackgroundComboBoxSelected)
|
||||||
QtCore.QObject.connect(self.BackgroundTypeComboBox,
|
QtCore.QObject.connect(self.BackgroundTypeComboBox,
|
||||||
QtCore.SIGNAL(u'activated(int)'), self.onBackgroundTypeComboBoxSelected)
|
QtCore.SIGNAL(u'activated(int)'),
|
||||||
|
self.onBackgroundTypeComboBoxSelected)
|
||||||
QtCore.QObject.connect(self.GradientComboBox,
|
QtCore.QObject.connect(self.GradientComboBox,
|
||||||
QtCore.SIGNAL(u'activated(int)'), self.onGradientComboBoxSelected)
|
QtCore.SIGNAL(u'activated(int)'), self.onGradientComboBoxSelected)
|
||||||
QtCore.QObject.connect(self.FontMainComboBox,
|
QtCore.QObject.connect(self.FontMainComboBox,
|
||||||
QtCore.SIGNAL(u'activated(int)'), self.onFontMainComboBoxSelected)
|
QtCore.SIGNAL(u'activated(int)'), self.onFontMainComboBoxSelected)
|
||||||
QtCore.QObject.connect(self.FontMainWeightComboBox,
|
QtCore.QObject.connect(self.FontMainWeightComboBox,
|
||||||
QtCore.SIGNAL(u'activated(int)'), self.onFontMainWeightComboBoxSelected)
|
QtCore.SIGNAL(u'activated(int)'),
|
||||||
|
self.onFontMainWeightComboBoxSelected)
|
||||||
QtCore.QObject.connect(self.FontFooterComboBox,
|
QtCore.QObject.connect(self.FontFooterComboBox,
|
||||||
QtCore.SIGNAL(u'activated(int)'), self.onFontFooterComboBoxSelected)
|
QtCore.SIGNAL(u'activated(int)'), self.onFontFooterComboBoxSelected)
|
||||||
QtCore.QObject.connect(self.FontFooterWeightComboBox,
|
QtCore.QObject.connect(self.FontFooterWeightComboBox,
|
||||||
QtCore.SIGNAL(u'activated(int)'), self.onFontFooterWeightComboBoxSelected)
|
QtCore.SIGNAL(u'activated(int)'),
|
||||||
|
self.onFontFooterWeightComboBoxSelected)
|
||||||
QtCore.QObject.connect(self.HorizontalComboBox,
|
QtCore.QObject.connect(self.HorizontalComboBox,
|
||||||
QtCore.SIGNAL(u'activated(int)'), self.onHorizontalComboBoxSelected)
|
QtCore.SIGNAL(u'activated(int)'), self.onHorizontalComboBoxSelected)
|
||||||
QtCore.QObject.connect(self.VerticalComboBox,
|
QtCore.QObject.connect(self.VerticalComboBox,
|
||||||
QtCore.SIGNAL(u'activated(int)'), self.onVerticalComboBoxSelected)
|
QtCore.SIGNAL(u'activated(int)'), self.onVerticalComboBoxSelected)
|
||||||
#Spin boxes
|
#Spin boxes
|
||||||
QtCore.QObject.connect(self.FontMainSizeSpinBox,
|
QtCore.QObject.connect(self.FontMainSizeSpinBox,
|
||||||
QtCore.SIGNAL(u'editingFinished()'), self.onFontMainSizeSpinBoxChanged)
|
QtCore.SIGNAL(u'editingFinished()'),
|
||||||
|
self.onFontMainSizeSpinBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontFooterSizeSpinBox,
|
QtCore.QObject.connect(self.FontFooterSizeSpinBox,
|
||||||
QtCore.SIGNAL(u'editingFinished()'), self.onFontFooterSizeSpinBoxChanged)
|
QtCore.SIGNAL(u'editingFinished()'),
|
||||||
|
self.onFontFooterSizeSpinBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontMainDefaultCheckBox,
|
QtCore.QObject.connect(self.FontMainDefaultCheckBox,
|
||||||
QtCore.SIGNAL(u'stateChanged(int)'), self.onFontMainDefaultCheckBoxChanged)
|
QtCore.SIGNAL(u'stateChanged(int)'),
|
||||||
|
self.onFontMainDefaultCheckBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontMainXSpinBox,
|
QtCore.QObject.connect(self.FontMainXSpinBox,
|
||||||
QtCore.SIGNAL(u'editingFinished()'), self.onFontMainXSpinBoxChanged)
|
QtCore.SIGNAL(u'editingFinished()'), self.onFontMainXSpinBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontMainYSpinBox,
|
QtCore.QObject.connect(self.FontMainYSpinBox,
|
||||||
QtCore.SIGNAL(u'editingFinished()'), self.onFontMainYSpinBoxChanged)
|
QtCore.SIGNAL(u'editingFinished()'), self.onFontMainYSpinBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontMainWidthSpinBox,
|
QtCore.QObject.connect(self.FontMainWidthSpinBox,
|
||||||
QtCore.SIGNAL(u'editingFinished()'), self.onFontMainWidthSpinBoxChanged)
|
QtCore.SIGNAL(u'editingFinished()'),
|
||||||
|
self.onFontMainWidthSpinBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontMainHeightSpinBox,
|
QtCore.QObject.connect(self.FontMainHeightSpinBox,
|
||||||
QtCore.SIGNAL(u'editingFinished()'), self.onFontMainHeightSpinBoxChanged)
|
QtCore.SIGNAL(u'editingFinished()'),
|
||||||
|
self.onFontMainHeightSpinBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontFooterDefaultCheckBox,
|
QtCore.QObject.connect(self.FontFooterDefaultCheckBox,
|
||||||
QtCore.SIGNAL(u'stateChanged(int)'), self.onFontFooterDefaultCheckBoxChanged)
|
QtCore.SIGNAL(u'stateChanged(int)'),
|
||||||
|
self.onFontFooterDefaultCheckBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontFooterXSpinBox,
|
QtCore.QObject.connect(self.FontFooterXSpinBox,
|
||||||
QtCore.SIGNAL(u'editingFinished()'), self.onFontFooterXSpinBoxChanged)
|
QtCore.SIGNAL(u'editingFinished()'),
|
||||||
|
self.onFontFooterXSpinBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontFooterYSpinBox,
|
QtCore.QObject.connect(self.FontFooterYSpinBox,
|
||||||
QtCore.SIGNAL(u'editingFinished()'), self.onFontFooterYSpinBoxChanged)
|
QtCore.SIGNAL(u'editingFinished()'),
|
||||||
|
self.onFontFooterYSpinBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontFooterWidthSpinBox,
|
QtCore.QObject.connect(self.FontFooterWidthSpinBox,
|
||||||
QtCore.SIGNAL(u'editingFinished()'), self.onFontFooterWidthSpinBoxChanged)
|
QtCore.SIGNAL(u'editingFinished()'),
|
||||||
|
self.onFontFooterWidthSpinBoxChanged)
|
||||||
QtCore.QObject.connect(self.FontFooterHeightSpinBox,
|
QtCore.QObject.connect(self.FontFooterHeightSpinBox,
|
||||||
QtCore.SIGNAL(u'editingFinished()'), self.onFontFooterHeightSpinBoxChanged)
|
QtCore.SIGNAL(u'editingFinished()'),
|
||||||
|
self.onFontFooterHeightSpinBoxChanged)
|
||||||
QtCore.QObject.connect(self.OutlineCheckBox,
|
QtCore.QObject.connect(self.OutlineCheckBox,
|
||||||
QtCore.SIGNAL(u'stateChanged(int)'), self.onOutlineCheckBoxChanged)
|
QtCore.SIGNAL(u'stateChanged(int)'), self.onOutlineCheckBoxChanged)
|
||||||
QtCore.QObject.connect(self.ShadowCheckBox,
|
QtCore.QObject.connect(self.ShadowCheckBox,
|
||||||
@ -110,32 +125,51 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
new_theme.add_background_transparent()
|
new_theme.add_background_transparent()
|
||||||
else:
|
else:
|
||||||
if self.theme.background_type == u'solid':
|
if self.theme.background_type == u'solid':
|
||||||
new_theme.add_background_solid(unicode(self.theme.background_color))
|
new_theme.add_background_solid( \
|
||||||
|
unicode(self.theme.background_color))
|
||||||
elif self.theme.background_type == u'gradient':
|
elif self.theme.background_type == u'gradient':
|
||||||
new_theme.add_background_gradient(unicode(self.theme.background_startColor),
|
new_theme.add_background_gradient( \
|
||||||
unicode(self.theme.background_endColor), self.theme.background_direction)
|
unicode(self.theme.background_startColor),
|
||||||
|
unicode(self.theme.background_endColor),
|
||||||
|
self.theme.background_direction)
|
||||||
else:
|
else:
|
||||||
(path, filename) =os.path.split(unicode(self.theme.background_filename))
|
(path, filename) = \
|
||||||
|
os.path.split(unicode(self.theme.background_filename))
|
||||||
new_theme.add_background_image(filename)
|
new_theme.add_background_image(filename)
|
||||||
save_to= os.path.join(self.path, theme_name, filename )
|
save_to= os.path.join(self.path, theme_name, filename )
|
||||||
save_from = self.theme.background_filename
|
save_from = self.theme.background_filename
|
||||||
|
|
||||||
new_theme.add_font(unicode(self.theme.font_main_name), unicode(self.theme.font_main_color),
|
new_theme.add_font(unicode(self.theme.font_main_name),
|
||||||
unicode(self.theme.font_main_proportion), unicode(self.theme.font_main_override), u'main',
|
unicode(self.theme.font_main_color),
|
||||||
unicode(self.theme.font_main_weight), unicode(self.theme.font_main_italics),
|
unicode(self.theme.font_main_proportion),
|
||||||
unicode(self.theme.font_main_x), unicode(self.theme.font_main_y), unicode(self.theme.font_main_width),
|
unicode(self.theme.font_main_override), u'main',
|
||||||
|
unicode(self.theme.font_main_weight),
|
||||||
|
unicode(self.theme.font_main_italics),
|
||||||
|
unicode(self.theme.font_main_x),
|
||||||
|
unicode(self.theme.font_main_y),
|
||||||
|
unicode(self.theme.font_main_width),
|
||||||
unicode(self.theme.font_main_height))
|
unicode(self.theme.font_main_height))
|
||||||
new_theme.add_font(unicode(self.theme.font_footer_name), unicode(self.theme.font_footer_color),
|
new_theme.add_font(unicode(self.theme.font_footer_name),
|
||||||
unicode(self.theme.font_footer_proportion), unicode(self.theme.font_footer_override), u'footer',
|
unicode(self.theme.font_footer_color),
|
||||||
unicode(self.theme.font_footer_weight), unicode(self.theme.font_footer_italics),
|
unicode(self.theme.font_footer_proportion),
|
||||||
unicode(self.theme.font_footer_x), unicode(self.theme.font_footer_y), unicode(self.theme.font_footer_width),
|
unicode(self.theme.font_footer_override), u'footer',
|
||||||
|
unicode(self.theme.font_footer_weight),
|
||||||
|
unicode(self.theme.font_footer_italics),
|
||||||
|
unicode(self.theme.font_footer_x),
|
||||||
|
unicode(self.theme.font_footer_y),
|
||||||
|
unicode(self.theme.font_footer_width),
|
||||||
unicode(self.theme.font_footer_height) )
|
unicode(self.theme.font_footer_height) )
|
||||||
new_theme.add_display(unicode(self.theme.display_shadow), unicode(self.theme.display_shadow_color),
|
new_theme.add_display(unicode(self.theme.display_shadow),
|
||||||
unicode(self.theme.display_outline), unicode(self.theme.display_outline_color),
|
unicode(self.theme.display_shadow_color),
|
||||||
unicode(self.theme.display_horizontalAlign), unicode(self.theme.display_verticalAlign),
|
unicode(self.theme.display_outline),
|
||||||
|
unicode(self.theme.display_outline_color),
|
||||||
|
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()
|
||||||
if self.thememanager.saveTheme(theme_name, theme, save_from, save_to) is not False:
|
pretty_theme = new_theme.extract_formatted_xml()
|
||||||
|
if self.thememanager.saveTheme(theme_name, theme, pretty_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):
|
||||||
@ -147,11 +181,55 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
xml = file_to_xml(xml_file)
|
xml = file_to_xml(xml_file)
|
||||||
self.theme.parse(xml)
|
self.theme.parse(xml)
|
||||||
self.theme.extend_image_filename(self.path)
|
self.theme.extend_image_filename(self.path)
|
||||||
|
self.cleanTheme(self.theme)
|
||||||
self.allowPreview = False
|
self.allowPreview = False
|
||||||
self.paintUi(self.theme)
|
self.paintUi(self.theme)
|
||||||
self.allowPreview = True
|
self.allowPreview = True
|
||||||
self.previewTheme(self.theme)
|
self.previewTheme(self.theme)
|
||||||
|
|
||||||
|
def cleanTheme(self, theme):
|
||||||
|
self.theme.background_color = theme.background_color.strip()
|
||||||
|
self.theme.background_direction = theme.background_direction.strip()
|
||||||
|
self.theme.background_endColor = theme.background_endColor.strip()
|
||||||
|
if theme.background_filename:
|
||||||
|
self.theme.background_filename = theme.background_filename.strip()
|
||||||
|
#self.theme.background_mode
|
||||||
|
self.theme.background_startColor = theme.background_startColor.strip()
|
||||||
|
#self.theme.background_type
|
||||||
|
self.theme.display_display = theme.display_display.strip()
|
||||||
|
self.theme.display_horizontalAlign = \
|
||||||
|
theme.display_horizontalAlign.strip()
|
||||||
|
self.theme.display_outline = str_to_bool(theme.display_outline)
|
||||||
|
#self.theme.display_outline_color
|
||||||
|
self.theme.display_shadow = str_to_bool(theme.display_shadow)
|
||||||
|
#self.theme.display_shadow_color
|
||||||
|
self.theme.display_verticalAlign = \
|
||||||
|
theme.display_verticalAlign.strip()
|
||||||
|
self.theme.display_wrapStyle = theme.display_wrapStyle.strip()
|
||||||
|
self.theme.font_footer_color = theme.font_footer_color.strip()
|
||||||
|
self.theme.font_footer_height = theme.font_footer_height.strip()
|
||||||
|
self.theme.font_footer_italics = str_to_bool(theme.font_footer_italics)
|
||||||
|
self.theme.font_footer_name = theme.font_footer_name.strip()
|
||||||
|
#self.theme.font_footer_override
|
||||||
|
self.theme.font_footer_proportion = \
|
||||||
|
theme.font_footer_proportion.strip()
|
||||||
|
self.theme.font_footer_weight = theme.font_footer_weight.strip()
|
||||||
|
self.theme.font_footer_width = theme.font_footer_width.strip()
|
||||||
|
self.theme.font_footer_x = theme.font_footer_x.strip()
|
||||||
|
self.theme.font_footer_y = theme.font_footer_y.strip()
|
||||||
|
self.theme.font_main_color = theme.font_main_color.strip()
|
||||||
|
self.theme.font_main_height = theme.font_main_height.strip()
|
||||||
|
self.theme.font_main_italics = str_to_bool(theme.font_main_italics)
|
||||||
|
self.theme.font_main_name = theme.font_main_name.strip()
|
||||||
|
#self.theme.font_main_override
|
||||||
|
self.theme.font_main_proportion = theme.font_main_proportion.strip()
|
||||||
|
self.theme.font_main_weight = theme.font_main_weight.strip()
|
||||||
|
self.theme.font_main_x = theme.font_main_x.strip()
|
||||||
|
self.theme.font_main_y = theme.font_main_y.strip()
|
||||||
|
#self.theme.theme_mode
|
||||||
|
self.theme.theme_name = theme.theme_name.strip()
|
||||||
|
#self.theme.theme_version
|
||||||
|
|
||||||
def onImageToolButtonClicked(self):
|
def onImageToolButtonClicked(self):
|
||||||
filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file')
|
filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file')
|
||||||
if filename != "":
|
if filename != "":
|
||||||
@ -199,8 +277,10 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
else:
|
else:
|
||||||
self.theme.font_main_override = True
|
self.theme.font_main_override = True
|
||||||
|
|
||||||
if int(self.theme.font_main_x) == 0 and int(self.theme.font_main_y) == 0 and \
|
if int(self.theme.font_main_x) == 0 and \
|
||||||
int(self.theme.font_main_width) == 0 and int(self.theme.font_main_height) == 0:
|
int(self.theme.font_main_y) == 0 and \
|
||||||
|
int(self.theme.font_main_width) == 0 and \
|
||||||
|
int(self.theme.font_main_height) == 0:
|
||||||
self.theme.font_main_x = u'10'
|
self.theme.font_main_x = u'10'
|
||||||
self.theme.font_main_y = u'10'
|
self.theme.font_main_y = u'10'
|
||||||
self.theme.font_main_width = u'1024'
|
self.theme.font_main_width = u'1024'
|
||||||
@ -208,7 +288,8 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
self.FontMainXSpinBox.setValue(int(self.theme.font_main_x))
|
self.FontMainXSpinBox.setValue(int(self.theme.font_main_x))
|
||||||
self.FontMainYSpinBox.setValue(int(self.theme.font_main_y))
|
self.FontMainYSpinBox.setValue(int(self.theme.font_main_y))
|
||||||
self.FontMainWidthSpinBox.setValue(int(self.theme.font_main_width))
|
self.FontMainWidthSpinBox.setValue(int(self.theme.font_main_width))
|
||||||
self.FontMainHeightSpinBox.setValue(int(self.theme.font_main_height))
|
self.FontMainHeightSpinBox.setValue(int( \
|
||||||
|
self.theme.font_main_height))
|
||||||
self.stateChanging(self.theme)
|
self.stateChanging(self.theme)
|
||||||
self.previewTheme(self.theme)
|
self.previewTheme(self.theme)
|
||||||
|
|
||||||
@ -235,7 +316,8 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
#Footer Font Tab
|
#Footer Font Tab
|
||||||
#
|
#
|
||||||
def onFontFooterComboBoxSelected(self):
|
def onFontFooterComboBoxSelected(self):
|
||||||
self.theme.font_footer_name = self.FontFooterComboBox.currentFont().family()
|
self.theme.font_footer_name = \
|
||||||
|
self.FontFooterComboBox.currentFont().family()
|
||||||
self.previewTheme(self.theme)
|
self.previewTheme(self.theme)
|
||||||
|
|
||||||
def onFontFooterWeightComboBoxSelected(self, value):
|
def onFontFooterWeightComboBoxSelected(self, value):
|
||||||
@ -262,8 +344,10 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
self.previewTheme(self.theme)
|
self.previewTheme(self.theme)
|
||||||
|
|
||||||
def onFontFooterSizeSpinBoxChanged(self):
|
def onFontFooterSizeSpinBoxChanged(self):
|
||||||
if self.theme.font_footer_proportion != self.FontFooterSizeSpinBox.value():
|
if self.theme.font_footer_proportion != \
|
||||||
self.theme.font_footer_proportion = self.FontFooterSizeSpinBox.value()
|
self.FontFooterSizeSpinBox.value():
|
||||||
|
self.theme.font_footer_proportion = \
|
||||||
|
self.FontFooterSizeSpinBox.value()
|
||||||
self.previewTheme(self.theme)
|
self.previewTheme(self.theme)
|
||||||
|
|
||||||
def onFontFooterDefaultCheckBoxChanged(self, value):
|
def onFontFooterDefaultCheckBoxChanged(self, value):
|
||||||
@ -272,8 +356,10 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
else:
|
else:
|
||||||
self.theme.font_footer_override = True
|
self.theme.font_footer_override = True
|
||||||
|
|
||||||
if int(self.theme.font_footer_x) == 0 and int(self.theme.font_footer_y) == 0 and \
|
if int(self.theme.font_footer_x) == 0 and \
|
||||||
int(self.theme.font_footer_width) == 0 and int(self.theme.font_footer_height) == 0:
|
int(self.theme.font_footer_y) == 0 and \
|
||||||
|
int(self.theme.font_footer_width) == 0 and \
|
||||||
|
int(self.theme.font_footer_height) == 0:
|
||||||
self.theme.font_footer_x = u'10'
|
self.theme.font_footer_x = u'10'
|
||||||
self.theme.font_footer_y = u'730'
|
self.theme.font_footer_y = u'730'
|
||||||
self.theme.font_footer_width = u'1024'
|
self.theme.font_footer_width = u'1024'
|
||||||
@ -281,8 +367,10 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
|
|
||||||
self.FontFooterXSpinBox.setValue(int(self.theme.font_footer_x))
|
self.FontFooterXSpinBox.setValue(int(self.theme.font_footer_x))
|
||||||
self.FontFooterYSpinBox.setValue(int(self.theme.font_footer_y))
|
self.FontFooterYSpinBox.setValue(int(self.theme.font_footer_y))
|
||||||
self.FontFooterWidthSpinBox.setValue(int(self.theme.font_footer_width))
|
self.FontFooterWidthSpinBox.setValue(int( \
|
||||||
self.FontFooterHeightSpinBox.setValue(int(self.theme.font_footer_height))
|
self.theme.font_footer_width))
|
||||||
|
self.FontFooterHeightSpinBox.setValue(int( \
|
||||||
|
self.theme.font_footer_height))
|
||||||
|
|
||||||
self.stateChanging(self.theme)
|
self.stateChanging(self.theme)
|
||||||
self.previewTheme(self.theme)
|
self.previewTheme(self.theme)
|
||||||
@ -303,14 +391,16 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
self.previewTheme(self.theme)
|
self.previewTheme(self.theme)
|
||||||
|
|
||||||
def onFontFooterHeightSpinBoxChanged(self):
|
def onFontFooterHeightSpinBoxChanged(self):
|
||||||
if self.theme.font_footer_height != self.FontFooterHeightSpinBox.value():
|
if self.theme.font_footer_height != \
|
||||||
|
self.FontFooterHeightSpinBox.value():
|
||||||
self.theme.font_footer_height = self.FontFooterHeightSpinBox.value()
|
self.theme.font_footer_height = self.FontFooterHeightSpinBox.value()
|
||||||
self.previewTheme(self.theme)
|
self.previewTheme(self.theme)
|
||||||
#
|
#
|
||||||
#Background Tab
|
#Background Tab
|
||||||
#
|
#
|
||||||
def onGradientComboBoxSelected(self, currentIndex):
|
def onGradientComboBoxSelected(self, currentIndex):
|
||||||
self.setBackground(self.BackgroundTypeComboBox.currentIndex(), currentIndex)
|
self.setBackground(self.BackgroundTypeComboBox.currentIndex(),
|
||||||
|
currentIndex)
|
||||||
|
|
||||||
def onBackgroundComboBoxSelected(self, currentIndex):
|
def onBackgroundComboBoxSelected(self, currentIndex):
|
||||||
if currentIndex == 0: # Opaque
|
if currentIndex == 0: # Opaque
|
||||||
@ -355,7 +445,8 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
self.theme.background_startColor = QtGui.QColorDialog.getColor(
|
self.theme.background_startColor = QtGui.QColorDialog.getColor(
|
||||||
QtGui.QColor(self.theme.background_startColor), self).name()
|
QtGui.QColor(self.theme.background_startColor), self).name()
|
||||||
self.Color1PushButton.setStyleSheet(
|
self.Color1PushButton.setStyleSheet(
|
||||||
u'background-color: %s' % unicode(self.theme.background_startColor))
|
u'background-color: %s' % \
|
||||||
|
unicode(self.theme.background_startColor))
|
||||||
|
|
||||||
self.previewTheme(self.theme)
|
self.previewTheme(self.theme)
|
||||||
|
|
||||||
@ -416,9 +507,12 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
newtheme = ThemeXML()
|
newtheme = ThemeXML()
|
||||||
newtheme.new_document(u'New Theme')
|
newtheme.new_document(u'New Theme')
|
||||||
newtheme.add_background_solid(unicode(u'#000000'))
|
newtheme.add_background_solid(unicode(u'#000000'))
|
||||||
newtheme.add_font(unicode(QtGui.QFont().family()), unicode(u'#FFFFFF'), unicode(30), u'False')
|
newtheme.add_font(unicode(QtGui.QFont().family()), unicode(u'#FFFFFF'),
|
||||||
newtheme.add_font(unicode(QtGui.QFont().family()), unicode(u'#FFFFFF'), unicode(12), u'False', u'footer')
|
unicode(30), u'False')
|
||||||
newtheme.add_display(u'False', unicode(u'#FFFFFF'), u'False', unicode(u'#FFFFFF'),
|
newtheme.add_font(unicode(QtGui.QFont().family()), unicode(u'#FFFFFF'),
|
||||||
|
unicode(12), u'False', u'footer')
|
||||||
|
newtheme.add_display(u'False', unicode(u'#FFFFFF'), u'False',
|
||||||
|
unicode(u'#FFFFFF'),
|
||||||
unicode(0), unicode(0), unicode(0))
|
unicode(0), unicode(0), unicode(0))
|
||||||
|
|
||||||
return newtheme.extract_xml()
|
return newtheme.extract_xml()
|
||||||
@ -446,11 +540,14 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
self.GradientComboBox.setCurrentIndex(2)
|
self.GradientComboBox.setCurrentIndex(2)
|
||||||
|
|
||||||
self.FontMainSizeSpinBox.setValue(int(self.theme.font_main_proportion))
|
self.FontMainSizeSpinBox.setValue(int(self.theme.font_main_proportion))
|
||||||
if not self.theme.font_main_italics and self.theme.font_main_weight == u'Normal':
|
if not self.theme.font_main_italics and \
|
||||||
|
self.theme.font_main_weight == u'Normal':
|
||||||
self.FontMainWeightComboBox.setCurrentIndex(0)
|
self.FontMainWeightComboBox.setCurrentIndex(0)
|
||||||
elif not self.theme.font_main_italics and self.theme.font_main_weight == u'Bold':
|
elif not self.theme.font_main_italics and \
|
||||||
|
self.theme.font_main_weight == u'Bold':
|
||||||
self.FontMainWeightComboBox.setCurrentIndex(1)
|
self.FontMainWeightComboBox.setCurrentIndex(1)
|
||||||
elif self.theme.font_main_italics and self.theme.font_main_weight == u'Normal':
|
elif self.theme.font_main_italics and \
|
||||||
|
self.theme.font_main_weight == u'Normal':
|
||||||
self.FontMainWeightComboBox.setCurrentIndex(2)
|
self.FontMainWeightComboBox.setCurrentIndex(2)
|
||||||
else:
|
else:
|
||||||
self.FontMainWeightComboBox.setCurrentIndex(3)
|
self.FontMainWeightComboBox.setCurrentIndex(3)
|
||||||
@ -459,19 +556,24 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
self.FontMainYSpinBox.setValue(int(self.theme.font_main_y))
|
self.FontMainYSpinBox.setValue(int(self.theme.font_main_y))
|
||||||
self.FontMainWidthSpinBox.setValue(int(self.theme.font_main_width))
|
self.FontMainWidthSpinBox.setValue(int(self.theme.font_main_width))
|
||||||
self.FontMainHeightSpinBox.setValue(int(self.theme.font_main_height))
|
self.FontMainHeightSpinBox.setValue(int(self.theme.font_main_height))
|
||||||
self.FontFooterSizeSpinBox.setValue(int(self.theme.font_footer_proportion))
|
self.FontFooterSizeSpinBox.setValue(int( \
|
||||||
if not self.theme.font_footer_italics and self.theme.font_footer_weight == u'Normal':
|
self.theme.font_footer_proportion))
|
||||||
|
if not self.theme.font_footer_italics and \
|
||||||
|
self.theme.font_footer_weight == u'Normal':
|
||||||
self.FontFooterWeightComboBox.setCurrentIndex(0)
|
self.FontFooterWeightComboBox.setCurrentIndex(0)
|
||||||
elif not self.theme.font_footer_italics and self.theme.font_footer_weight == u'Bold':
|
elif not self.theme.font_footer_italics and \
|
||||||
|
self.theme.font_footer_weight == u'Bold':
|
||||||
self.FontFooterWeightComboBox.setCurrentIndex(1)
|
self.FontFooterWeightComboBox.setCurrentIndex(1)
|
||||||
elif self.theme.font_footer_italics and self.theme.font_footer_weight == u'Normal':
|
elif self.theme.font_footer_italics and \
|
||||||
|
self.theme.font_footer_weight == u'Normal':
|
||||||
self.FontFooterWeightComboBox.setCurrentIndex(2)
|
self.FontFooterWeightComboBox.setCurrentIndex(2)
|
||||||
else:
|
else:
|
||||||
self.FontFooterWeightComboBox.setCurrentIndex(3)
|
self.FontFooterWeightComboBox.setCurrentIndex(3)
|
||||||
self.FontFooterXSpinBox.setValue(int(self.theme.font_footer_x))
|
self.FontFooterXSpinBox.setValue(int(self.theme.font_footer_x))
|
||||||
self.FontFooterYSpinBox.setValue(int(self.theme.font_footer_y))
|
self.FontFooterYSpinBox.setValue(int(self.theme.font_footer_y))
|
||||||
self.FontFooterWidthSpinBox.setValue(int(self.theme.font_footer_width))
|
self.FontFooterWidthSpinBox.setValue(int(self.theme.font_footer_width))
|
||||||
self.FontFooterHeightSpinBox.setValue(int(self.theme.font_footer_height))
|
self.FontFooterHeightSpinBox.setValue(int( \
|
||||||
|
self.theme.font_footer_height))
|
||||||
self.FontMainColorPushButton.setStyleSheet(
|
self.FontMainColorPushButton.setStyleSheet(
|
||||||
u'background-color: %s' % unicode(theme.font_main_color))
|
u'background-color: %s' % unicode(theme.font_main_color))
|
||||||
self.FontFooterColorPushButton.setStyleSheet(
|
self.FontFooterColorPushButton.setStyleSheet(
|
||||||
@ -506,8 +608,10 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
self.ShadowCheckBox.setChecked(False)
|
self.ShadowCheckBox.setChecked(False)
|
||||||
self.ShadowColorPushButton.setEnabled(False)
|
self.ShadowColorPushButton.setEnabled(False)
|
||||||
|
|
||||||
self.HorizontalComboBox.setCurrentIndex(int(self.theme.display_horizontalAlign))
|
self.HorizontalComboBox.setCurrentIndex(int( \
|
||||||
self.VerticalComboBox.setCurrentIndex(int(self.theme.display_verticalAlign))
|
self.theme.display_horizontalAlign))
|
||||||
|
self.VerticalComboBox.setCurrentIndex(int( \
|
||||||
|
self.theme.display_verticalAlign))
|
||||||
|
|
||||||
def stateChanging(self, theme):
|
def stateChanging(self, theme):
|
||||||
if theme.background_mode == u'transparent':
|
if theme.background_mode == u'transparent':
|
||||||
@ -528,7 +632,8 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
if theme.background_type == u'solid':
|
if theme.background_type == u'solid':
|
||||||
self.Color1PushButton.setStyleSheet(
|
self.Color1PushButton.setStyleSheet(
|
||||||
u'background-color: %s' % unicode(theme.background_color))
|
u'background-color: %s' % unicode(theme.background_color))
|
||||||
self.Color1Label.setText(translate(u'ThemeManager', u'Background Color:'))
|
self.Color1Label.setText(translate(u'ThemeManager',
|
||||||
|
u'Background Color:'))
|
||||||
self.Color1Label.setVisible(True)
|
self.Color1Label.setVisible(True)
|
||||||
self.Color1PushButton.setVisible(True)
|
self.Color1PushButton.setVisible(True)
|
||||||
self.Color2Label.setVisible(False)
|
self.Color2Label.setVisible(False)
|
||||||
@ -539,12 +644,14 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
|
|||||||
self.GradientLabel.setVisible(False)
|
self.GradientLabel.setVisible(False)
|
||||||
self.GradientComboBox.setVisible(False)
|
self.GradientComboBox.setVisible(False)
|
||||||
elif theme.background_type == u'gradient':
|
elif theme.background_type == u'gradient':
|
||||||
self.Color1PushButton.setStyleSheet(
|
self.Color1PushButton.setStyleSheet(u'background-color: %s' \
|
||||||
u'background-color: %s' % unicode(theme.background_startColor))
|
% unicode(theme.background_startColor))
|
||||||
self.Color2PushButton.setStyleSheet(
|
self.Color2PushButton.setStyleSheet(u'background-color: %s' \
|
||||||
u'background-color: %s' % unicode(theme.background_endColor))
|
% unicode(theme.background_endColor))
|
||||||
self.Color1Label.setText(translate(u'ThemeManager', u'First Color:'))
|
self.Color1Label.setText(translate(u'ThemeManager',
|
||||||
self.Color2Label.setText(translate(u'ThemeManager', u'Second Color:'))
|
u'First Color:'))
|
||||||
|
self.Color2Label.setText(translate(u'ThemeManager',
|
||||||
|
u'Second Color:'))
|
||||||
self.Color1Label.setVisible(True)
|
self.Color1Label.setVisible(True)
|
||||||
self.Color1PushButton.setVisible(True)
|
self.Color1PushButton.setVisible(True)
|
||||||
self.Color2Label.setVisible(True)
|
self.Color2Label.setVisible(True)
|
||||||
|
@ -300,9 +300,11 @@ class ThemeManager(QtGui.QWidget):
|
|||||||
else:
|
else:
|
||||||
newtheme.add_background_image(unicode(theme.BackgroundParameter1))
|
newtheme.add_background_image(unicode(theme.BackgroundParameter1))
|
||||||
|
|
||||||
newtheme.add_font(unicode(theme.FontName), unicode(theme.FontColor.name()),
|
newtheme.add_font(unicode(theme.FontName),
|
||||||
|
unicode(theme.FontColor.name()),
|
||||||
unicode(theme.FontProportion * 2), u'False')
|
unicode(theme.FontProportion * 2), u'False')
|
||||||
newtheme.add_font(unicode(theme.FontName), unicode(theme.FontColor.name()),
|
newtheme.add_font(unicode(theme.FontName),
|
||||||
|
unicode(theme.FontColor.name()),
|
||||||
unicode(12), u'False', u'footer')
|
unicode(12), u'False', u'footer')
|
||||||
outline = False
|
outline = False
|
||||||
shadow = False
|
shadow = False
|
||||||
@ -316,7 +318,8 @@ class ThemeManager(QtGui.QWidget):
|
|||||||
unicode(theme.WrapStyle))
|
unicode(theme.WrapStyle))
|
||||||
return newtheme.extract_xml()
|
return newtheme.extract_xml()
|
||||||
|
|
||||||
def saveTheme(self, name, theme_xml, image_from, image_to) :
|
def saveTheme(self, name, theme_xml, theme_pretty_xml, image_from,
|
||||||
|
image_to) :
|
||||||
"""
|
"""
|
||||||
Called by thememaintenance Dialog to save the theme
|
Called by thememaintenance Dialog to save the theme
|
||||||
and to trigger the reload of the theme list
|
and to trigger the reload of the theme list
|
||||||
@ -339,7 +342,7 @@ class ThemeManager(QtGui.QWidget):
|
|||||||
if result == QtGui.QMessageBox.Yes:
|
if result == QtGui.QMessageBox.Yes:
|
||||||
# Save the theme, overwriting the existing theme if necessary.
|
# Save the theme, overwriting the existing theme if necessary.
|
||||||
outfile = open(theme_file, u'w')
|
outfile = open(theme_file, u'w')
|
||||||
outfile.write(theme_xml)
|
outfile.write(theme_pretty_xml)
|
||||||
outfile.close()
|
outfile.close()
|
||||||
if image_from is not None and image_from != image_to:
|
if image_from is not None and image_from != image_to:
|
||||||
shutil.copyfile(image_from, image_to)
|
shutil.copyfile(image_from, image_to)
|
||||||
@ -347,7 +350,8 @@ class ThemeManager(QtGui.QWidget):
|
|||||||
self.generateAndSaveImage(self.path, name, theme_xml)
|
self.generateAndSaveImage(self.path, name, theme_xml)
|
||||||
self.loadThemes()
|
self.loadThemes()
|
||||||
else:
|
else:
|
||||||
# Don't close the dialog - allow the user to change the name of the theme or to cancel the theme dialog completely.
|
# Don't close the dialog - allow the user to change the name of
|
||||||
|
# the theme or to cancel the theme dialog completely.
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def generateAndSaveImage(self, dir, name, theme_xml):
|
def generateAndSaveImage(self, dir, name, theme_xml):
|
||||||
|
Loading…
Reference in New Issue
Block a user