Add attributes to themes

Save data
Update data
This commit is contained in:
Tim Bentley 2009-08-01 20:25:53 +01:00
parent b93cfa887c
commit 470f1d19df
2 changed files with 65 additions and 6 deletions

View File

@ -161,7 +161,7 @@ class ThemeXML(object):
#Create Filename element
self.child_element(background, u'filename', filename)
def add_font(self, name, color, proportion, override, fonttype=u'main',
def add_font(self, name, color, proportion, override, fonttype=u'main', weight=50, italics=0,
xpos=0, ypos=0, width=0, height=0):
"""
Add a Font.
@ -181,6 +181,12 @@ class ThemeXML(object):
``fonttype``
The type of font, ``main`` or ``footer``. Defaults to ``main``.
``weight``
The weight of then font Defaults to 50 Normal
``italics``
Does the font render to italics Defaults to 0 Normal
``xpos``
The X position of the text block.
@ -202,8 +208,10 @@ class ThemeXML(object):
self.child_element(background, u'color', color)
#Create Proportion name element
self.child_element(background, u'proportion', proportion)
#Create Proportion name element
self.child_element(background, u'proportion', proportion)
#Create weight name element
self.child_element(background, u'weight', weight)
#Create italics name element
self.child_element(background, u'italics', italics)
#Create Location element
element = self.theme_xml.createElement(u'location')
element.setAttribute(u'override',override)

View File

@ -53,7 +53,6 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
QtCore.SIGNAL(u'pressed()'), self.onShadowColorPushButtonClicked)
QtCore.QObject.connect(self.ImageToolButton,
QtCore.SIGNAL(u'pressed()'), self.onImageToolButtonClicked)
#Combo boxes
QtCore.QObject.connect(self.BackgroundComboBox,
QtCore.SIGNAL(u'activated(int)'), self.onBackgroundComboBoxSelected)
@ -63,13 +62,17 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
QtCore.SIGNAL(u'activated(int)'), self.onGradientComboBoxSelected)
QtCore.QObject.connect(self.FontMainComboBox,
QtCore.SIGNAL(u'activated(int)'), self.onFontMainComboBoxSelected)
QtCore.QObject.connect(self.FontMainWeightComboBox,
QtCore.SIGNAL(u'activated(int)'), self.onFontMainWeightComboBoxSelected)
QtCore.QObject.connect(self.FontFooterComboBox,
QtCore.SIGNAL(u'activated(int)'), self.onFontFooterComboBoxSelected)
QtCore.QObject.connect(self.FontFooterWeightComboBox,
QtCore.SIGNAL(u'activated(int)'), self.onFontFooterWeightComboBoxSelected)
QtCore.QObject.connect(self.HorizontalComboBox,
QtCore.SIGNAL(u'activated(int)'), self.onHorizontalComboBoxSelected)
QtCore.QObject.connect(self.VerticalComboBox,
QtCore.SIGNAL(u'activated(int)'), self.onVerticalComboBoxSelected)
#Spin boxes
QtCore.QObject.connect(self.FontMainSizeSpinBox,
QtCore.SIGNAL(u'editingFinished()'), self.onFontMainSizeSpinBoxChanged)
QtCore.QObject.connect(self.FontFooterSizeSpinBox,
@ -118,10 +121,12 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
new_theme.add_font(unicode(self.theme.font_main_name), unicode(self.theme.font_main_color),
unicode(self.theme.font_main_proportion), 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))
new_theme.add_font(unicode(self.theme.font_footer_name), unicode(self.theme.font_footer_color),
unicode(self.theme.font_footer_proportion), 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) )
new_theme.add_display(unicode(self.theme.display_shadow), unicode(self.theme.display_shadow_color),
@ -159,6 +164,21 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
self.theme.font_main_name = self.FontMainComboBox.currentFont().family()
self.previewTheme(self.theme)
def onFontMainWeightComboBoxSelected(self, value):
if value ==0:
self.theme.font_main_weight = 50
self.theme.font_main_italics = 0
elif value == 1:
self.theme.font_main_weight = 75
self.theme.font_main_italics = 0
elif value == 2:
self.theme.font_main_weight = 50
self.theme.font_main_italics = 1
else:
self.theme.font_main_weight = 75
self.theme.font_main_italics = 1
self.previewTheme(self.theme)
def onFontMainColorPushButtonClicked(self):
self.theme.font_main_color = QtGui.QColorDialog.getColor(
QtGui.QColor(self.theme.font_main_color), self).name()
@ -217,6 +237,21 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
self.theme.font_footer_name = self.FontFooterComboBox.currentFont().family()
self.previewTheme(self.theme)
def onFontFooterWeightComboBoxSelected(self, value):
if value == 0:
self.theme.font_footer_weight = 50
self.theme.font_footer_italics = 0
elif value == 1:
self.theme.font_footer_weight = 75
self.theme.font_footer_italics = 0
elif value == 2:
self.theme.font_footer_weight = 50
self.theme.font_footer_italics = 1
else:
self.theme.font_footer_weight = 75
self.theme.font_footer_italics = 1
self.previewTheme(self.theme)
def onFontFooterColorPushButtonClicked(self):
self.theme.font_footer_color = QtGui.QColorDialog.getColor(
QtGui.QColor(self.theme.font_footer_color), self).name()
@ -410,11 +445,28 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
self.GradientComboBox.setCurrentIndex(2)
self.FontMainSizeSpinBox.setValue(int(self.theme.font_main_proportion))
if int(self.theme.font_main_italics) == 0 and int(self.theme.font_main_weight) == 50:
self.FontMainWeightComboBox.setCurrentIndex(0)
elif int(self.theme.font_main_italics) == 0 and int(self.theme.font_main_weight) == 75:
self.FontMainWeightComboBox.setCurrentIndex(1)
elif int(self.theme.font_main_italics) == 1 and int(self.theme.font_main_weight) == 50:
self.FontMainWeightComboBox.setCurrentIndex(2)
else:
self.FontMainWeightComboBox.setCurrentIndex(3)
self.FontMainXSpinBox.setValue(int(self.theme.font_main_x))
self.FontMainYSpinBox.setValue(int(self.theme.font_main_y))
self.FontMainWidthSpinBox.setValue(int(self.theme.font_main_width))
self.FontMainHeightSpinBox.setValue(int(self.theme.font_main_height))
self.FontFooterSizeSpinBox.setValue(int(self.theme.font_footer_proportion))
if int(self.theme.font_footer_italics) == 0 and int(self.theme.font_footer_weight) == 50:
self.FontFooterWeightComboBox.setCurrentIndex(0)
elif int(self.theme.font_footer_italics) == 0 and int(self.theme.font_footer_weight) == 75:
self.FontFooterWeightComboBox.setCurrentIndex(1)
elif int(self.theme.font_footer_italics) == 1 and int(self.theme.font_footer_weight) == 50:
self.FontFooterWeightComboBox.setCurrentIndex(2)
else:
self.FontFooterWeightComboBox.setCurrentIndex(3)
self.FontFooterXSpinBox.setValue(int(self.theme.font_footer_x))
self.FontFooterYSpinBox.setValue(int(self.theme.font_footer_y))
self.FontFooterWidthSpinBox.setValue(int(self.theme.font_footer_width))
@ -529,7 +581,6 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
else:
self.ShadowColorPushButton.setEnabled(False)
def previewTheme(self, theme):
if self.allowPreview:
frame = self.thememanager.generateImage(theme)