Theme wizard and fixes

This commit is contained in:
Tim Bentley 2013-12-26 17:36:00 +00:00
parent 35c5577cb7
commit 55bb0cd80f
5 changed files with 673 additions and 674 deletions

View File

@ -18,11 +18,11 @@
# Software Foundation; version 2 of the License. #
# #
# This program is distributed in the hope that it will be useful, but WITHOUT #
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
# AN_y WARRANT_y; without even the implied warranty of MERCHANTABILIT_y or #
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
# more details. #
# #
# You should have received a copy of the GNU General Public License along #
# _you should have received a copy of the GNU General Public License along #
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
###############################################################################
@ -64,95 +64,95 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
self.registerFields()
self.update_theme_allowed = True
self.temp_background_filename = ''
self.themeLayoutForm = ThemeLayoutForm(self)
self.backgroundComboBox.currentIndexChanged.connect(self.onBackgroundComboBoxCurrentIndexChanged)
self.gradientComboBox.currentIndexChanged.connect(self.onGradientComboBoxCurrentIndexChanged)
self.colorButton.clicked.connect(self.onColorButtonClicked)
self.imageColorButton.clicked.connect(self.onImageColorButtonClicked)
self.gradientStartButton.clicked.connect(self.onGradientStartButtonClicked)
self.gradientEndButton.clicked.connect(self.onGradientEndButtonClicked)
self.imageBrowseButton.clicked.connect(self.onImageBrowseButtonClicked)
self.imageFileEdit.editingFinished.connect(self.onImageFileEditEditingFinished)
self.mainColorButton.clicked.connect(self.onMainColorButtonClicked)
self.outlineColorButton.clicked.connect(self.onOutlineColorButtonClicked)
self.shadowColorButton.clicked.connect(self.onShadowColorButtonClicked)
self.outlineCheckBox.stateChanged.connect(self.onOutlineCheckCheckBoxStateChanged)
self.shadowCheckBox.stateChanged.connect(self.onShadowCheckCheckBoxStateChanged)
self.footerColorButton.clicked.connect(self.onFooterColorButtonClicked)
self.customButtonClicked.connect(self.onCustom1ButtonClicked)
self.mainPositionCheckBox.stateChanged.connect(self.onMainPositionCheckBoxStateChanged)
self.footerPositionCheckBox.stateChanged.connect(self.onFooterPositionCheckBoxStateChanged)
self.currentIdChanged.connect(self.onCurrentIdChanged)
Registry().register_function('theme_line_count', self.updateLinesText)
self.mainSizeSpinBox.valueChanged.connect(self.calculateLines)
self.lineSpacingSpinBox.valueChanged.connect(self.calculateLines)
self.outlineSizeSpinBox.valueChanged.connect(self.calculateLines)
self.shadowSizeSpinBox.valueChanged.connect(self.calculateLines)
self.mainFontComboBox.activated.connect(self.calculateLines)
self.footerFontComboBox.activated.connect(self.updateTheme)
self.footerSizeSpinBox.valueChanged.connect(self.updateTheme)
self.theme_layout_form = ThemeLayoutForm(self)
self.background_combo_box.currentIndexChanged.connect(self.on_background_combo_box_current_index_changed)
self.gradient_combo_box.currentIndexChanged.connect(self.on_gradient_combo_box_current_index_changed)
self.color_button.clicked.connect(self.on_color_button_clicked)
self.image_color_button.clicked.connect(self.on_image_color_button_clicked)
self.gradient_start_button.clicked.connect(self.on_gradient_start_button_clicked)
self.gradient_end_button.clicked.connect(self.on_gradient_end_button_clicked)
self.image_browse_button.clicked.connect(self.on_image_browse_button_clicked)
self.image_file_edit.editingFinished.connect(self.on_image_file_edit_editing_finished)
self.main_color_button.clicked.connect(self.on_main_color_button_clicked)
self.outline_color_button.clicked.connect(self.on_outline_color_button_clicked)
self.shadow_color_button.clicked.connect(self.on_shadow_color_button_clicked)
self.outline_check_box.stateChanged.connect(self.on_outline_check_check_box_state_changed)
self.shadow_check_box.stateChanged.connect(self.on_shadow_check_check_box_state_changed)
self.footer_color_button.clicked.connect(self.on_footer_color_button_clicked)
self.customButtonClicked.connect(self.on_custom_1_button_clicked)
self.main_position_check_box.stateChanged.connect(self.on_main_position_check_box_state_changed)
self.footer_position_check_box.stateChanged.connect(self.on_footer_position_check_box_state_changed)
self.currentIdChanged.connect(self.on_current_id_changed)
Registry().register_function('theme_line_count', self.update_lines_text)
self.main_size_spin_box.valueChanged.connect(self.calculate_lines)
self.line_spacing_spin_box.valueChanged.connect(self.calculate_lines)
self.outline_size_spin_box.valueChanged.connect(self.calculate_lines)
self.shadow_size_spin_box.valueChanged.connect(self.calculate_lines)
self.main_font_combo_box.activated.connect(self.calculate_lines)
self.footer_font_combo_box.activated.connect(self.update_theme)
self.footer_size_spin_box.valueChanged.connect(self.update_theme)
def setDefaults(self):
"""
Set up display at start of theme edit.
"""
self.restart()
self.setBackgroundPageValues()
self.setMainAreaPageValues()
self.setFooterAreaPageValues()
self.setAlignmentPageValues()
self.setPositionPageValues()
self.setPreviewPageValues()
self.set_background_page_values()
self.set_main_area_page_values()
self.set_footer_area_page_values()
self.set_alignment_page_values()
self.set_position_page_values()
self.set_preview_page_values()
def registerFields(self):
"""
Map field names to screen names,
"""
self.backgroundPage.registerField('background_type', self.backgroundComboBox)
self.backgroundPage.registerField('color', self.colorButton)
self.backgroundPage.registerField('grandient_start', self.gradientStartButton)
self.backgroundPage.registerField('grandient_end', self.gradientEndButton)
self.backgroundPage.registerField('background_image', self.imageFileEdit)
self.backgroundPage.registerField('gradient', self.gradientComboBox)
self.mainAreaPage.registerField('mainColorButton', self.mainColorButton)
self.mainAreaPage.registerField('mainSizeSpinBox', self.mainSizeSpinBox)
self.mainAreaPage.registerField('lineSpacingSpinBox', self.lineSpacingSpinBox)
self.mainAreaPage.registerField('outlineCheckBox', self.outlineCheckBox)
self.mainAreaPage.registerField('outlineColorButton', self.outlineColorButton)
self.mainAreaPage.registerField('outlineSizeSpinBox', self.outlineSizeSpinBox)
self.mainAreaPage.registerField('shadowCheckBox', self.shadowCheckBox)
self.mainAreaPage.registerField('mainBoldCheckBox', self.mainBoldCheckBox)
self.mainAreaPage.registerField('mainItalicsCheckBox', self.mainItalicsCheckBox)
self.mainAreaPage.registerField('shadowColorButton', self.shadowColorButton)
self.mainAreaPage.registerField('shadowSizeSpinBox', self.shadowSizeSpinBox)
self.mainAreaPage.registerField('footerSizeSpinBox', self.footerSizeSpinBox)
self.areaPositionPage.registerField('mainPositionX', self.mainXSpinBox)
self.areaPositionPage.registerField('mainPositionY', self.mainYSpinBox)
self.areaPositionPage.registerField('mainPositionWidth', self.mainWidthSpinBox)
self.areaPositionPage.registerField('mainPositionHeight', self.mainHeightSpinBox)
self.areaPositionPage.registerField('footerPositionX', self.footerXSpinBox)
self.areaPositionPage.registerField('footerPositionY', self.footerYSpinBox)
self.areaPositionPage.registerField('footerPositionWidth', self.footerWidthSpinBox)
self.areaPositionPage.registerField('footerPositionHeight', self.footerHeightSpinBox)
self.backgroundPage.registerField('horizontal', self.horizontalComboBox)
self.backgroundPage.registerField('vertical', self.verticalComboBox)
self.backgroundPage.registerField('slideTransition', self.transitionsCheckBox)
self.backgroundPage.registerField('name', self.themeNameEdit)
self.background_page.registerField('background_type', self.background_combo_box)
self.background_page.registerField('color', self.color_button)
self.background_page.registerField('gradient_start', self.gradient_start_button)
self.background_page.registerField('gradient_end', self.gradient_end_button)
self.background_page.registerField('background_image', self.image_file_edit)
self.background_page.registerField('gradient', self.gradient_combo_box)
self.main_area_page.registerField('main_color_button', self.main_color_button)
self.main_area_page.registerField('main_size_spin_box', self.main_size_spin_box)
self.main_area_page.registerField('line_spacing_spin_box', self.line_spacing_spin_box)
self.main_area_page.registerField('outline_check_box', self.outline_check_box)
self.main_area_page.registerField('outline_color_button', self.outline_color_button)
self.main_area_page.registerField('outline_size_spin_box', self.outline_size_spin_box)
self.main_area_page.registerField('shadow_check_box', self.shadow_check_box)
self.main_area_page.registerField('main_bold_check_box', self.main_bold_check_box)
self.main_area_page.registerField('main_italics_check_box', self.main_italics_check_box)
self.main_area_page.registerField('shadow_color_button', self.shadow_color_button)
self.main_area_page.registerField('shadow_size_spin_box', self.shadow_size_spin_box)
self.main_area_page.registerField('footer_size_spin_box', self.footer_size_spin_box)
self.area_position_page.registerField('main_position_x', self.main_x_spin_box)
self.area_position_page.registerField('main_position_y', self.main_y_spin_box)
self.area_position_page.registerField('main_position_width', self.main_width_spin_box)
self.area_position_page.registerField('main_position_height', self.main_height_spin_box)
self.area_position_page.registerField('footer_position_x', self.footer_x_spin_box)
self.area_position_page.registerField('footer_position_y', self.footer_y_spin_box)
self.area_position_page.registerField('footer_position_width', self.footer_width_spin_box)
self.area_position_page.registerField('footer_position_height', self.footer_height_spin_box)
self.background_page.registerField('horizontal', self.horizontal_combo_box)
self.background_page.registerField('vertical', self.vertical_combo_box)
self.background_page.registerField('slide_transition', self.transitions_check_box)
self.background_page.registerField('name', self.theme_name_edit)
def calculateLines(self):
def calculate_lines(self):
"""
Calculate the number of lines on a page by rendering text
"""
# Do not trigger on start up
if self.currentPage != self.welcome_page:
self.updateTheme()
self.update_theme()
self.theme_manager.generate_image(self.theme, True)
def updateLinesText(self, lines):
def update_lines_text(self, lines):
"""
Updates the lines on a page on the wizard
"""
self.mainLineCountLabel.setText(
self.main_line_count_label.setText(
translate('OpenLP.ThemeForm', '(approximately %d lines per slide)') % int(lines))
def resizeEvent(self, event=None):
@ -162,50 +162,49 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
if not event:
event = QtGui.QResizeEvent(self.size(), self.size())
QtGui.QWizard.resizeEvent(self, event)
if self.currentPage() == self.previewPage:
frameWidth = self.previewBoxLabel.lineWidth()
pixmapWidth = self.previewArea.width() - 2 * frameWidth
pixmapHeight = self.previewArea.height() - 2 * frameWidth
aspectRatio = float(pixmapWidth) / pixmapHeight
if aspectRatio < self.displayAspectRatio:
pixmapHeight = int(pixmapWidth / self.displayAspectRatio + 0.5)
if self.currentPage() == self.preview_page:
frame_width = self.preview_box_label.lineWidth()
pixmap_width = self.preview_area.width() - 2 * frame_width
pixmap_height = self.preview_area.height() - 2 * frame_width
aspect_ratio = float(pixmap_width) / pixmap_height
if aspect_ratio < self.display_aspect_ratio:
pixmap_height = int(pixmap_width / self.display_aspect_ratio + 0.5)
else:
pixmapWidth = int(pixmapHeight * self.displayAspectRatio + 0.5)
self.previewBoxLabel.setFixedSize(pixmapWidth + 2 * frameWidth,
pixmapHeight + 2 * frameWidth)
pixmap_width = int(pixmap_height * self.display_aspect_ratio + 0.5)
self.preview_box_label.setFixedSize(pixmap_width + 2 * frame_width, pixmap_height + 2 * frame_width)
def validateCurrentPage(self):
"""
Validate the current page
"""
background_image = BackgroundType.to_string(BackgroundType.Image)
if self.page(self.currentId()) == self.backgroundPage and \
if self.page(self.currentId()) == self.background_page and \
self.theme.background_type == background_image and 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 '
'background image. Please select one before continuing.'))
translate('OpenLP.ThemeWizard', '_you have not selected a '
'background image. Please select one before continuing.'))
return False
else:
return True
def onCurrentIdChanged(self, pageId):
def on_current_id_changed(self, page_id):
"""
Detects Page changes and updates as appropriate.
"""
enabled = self.page(pageId) == self.areaPositionPage
enabled = self.page(page_id) == self.area_position_page
self.setOption(QtGui.QWizard.HaveCustomButton1, enabled)
if self.page(pageId) == self.previewPage:
self.updateTheme()
if self.page(page_id) == self.preview_page:
self.update_theme()
frame = self.theme_manager.generate_image(self.theme)
self.previewBoxLabel.setPixmap(frame)
self.displayAspectRatio = float(frame.width()) / frame.height()
self.preview_box_label.setPixmap(frame)
self.display_aspect_ratio = float(frame.width()) / frame.height()
self.resizeEvent()
def onCustom1ButtonClicked(self, number):
def on_custom_1_button_clicked(self, number):
"""
Generate layout preview and display the form.
"""
self.updateTheme()
self.update_theme()
width = self.renderer.width
height = self.renderer.height
pixmap = QtGui.QPixmap(width, height)
@ -216,19 +215,19 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
paint.setPen(QtGui.QPen(QtCore.Qt.red, 2))
paint.drawRect(self.renderer.get_footer_rectangle(self.theme))
paint.end()
self.themeLayoutForm.exec_(pixmap)
self.theme_layout_form.exec_(pixmap)
def onOutlineCheckCheckBoxStateChanged(self, state):
def on_outline_check_check_box_state_changed(self, state):
"""
Change state as Outline check box changed
"""
if self.update_theme_allowed:
self.theme.font_main_outline = state == QtCore.Qt.Checked
self.outlineColorButton.setEnabled(self.theme.font_main_outline)
self.outlineSizeSpinBox.setEnabled(self.theme.font_main_outline)
self.calculateLines()
self.outline_color_button.setEnabled(self.theme.font_main_outline)
self.outline_size_spin_box.setEnabled(self.theme.font_main_outline)
self.calculate_lines()
def onShadowCheckCheckBoxStateChanged(self, state):
def on_shadow_check_check_box_state_changed(self, state):
"""
Change state as Shadow check box changed
"""
@ -237,21 +236,21 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
self.theme.font_main_shadow = True
else:
self.theme.font_main_shadow = False
self.shadowColorButton.setEnabled(self.theme.font_main_shadow)
self.shadowSizeSpinBox.setEnabled(self.theme.font_main_shadow)
self.calculateLines()
self.shadow_color_button.setEnabled(self.theme.font_main_shadow)
self.shadow_size_spin_box.setEnabled(self.theme.font_main_shadow)
self.calculate_lines()
def onMainPositionCheckBoxStateChanged(self, value):
def on_main_position_check_box_state_changed(self, value):
"""
Change state as Main Area Position check box changed
Change state as Main Area _position check box changed
NOTE the font_main_override is the inverse of the check box value
"""
if self.update_theme_allowed:
self.theme.font_main_override = not (value == QtCore.Qt.Checked)
def onFooterPositionCheckBoxStateChanged(self, value):
def on_footer_position_check_box_state_changed(self, value):
"""
Change state as Footer Area Position check box changed
Change state as Footer Area _position check box changed
NOTE the font_footer_override is the inverse of the check box value
"""
if self.update_theme_allowed:
@ -266,8 +265,8 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
self.update_theme_allowed = False
self.setDefaults()
self.update_theme_allowed = True
self.themeNameLabel.setVisible(not edit)
self.themeNameEdit.setVisible(not edit)
self.theme_name_label.setVisible(not edit)
self.theme_name_edit.setVisible(not edit)
self.edit_mode = edit
if edit:
self.setWindowTitle(translate('OpenLP.ThemeWizard', 'Edit Theme - %s') % self.theme.theme_name)
@ -281,33 +280,32 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
Set up the pages for Initial run through dialog
"""
log.debug('initializePage %s' % page_id)
wizardPage = self.page(page_id)
if wizardPage == self.backgroundPage:
self.setBackgroundPageValues()
elif wizardPage == self.mainAreaPage:
self.setMainAreaPageValues()
elif wizardPage == self.footerAreaPage:
self.setFooterAreaPageValues()
elif wizardPage == self.alignmentPage:
self.setAlignmentPageValues()
elif wizardPage == self.areaPositionPage:
self.setPositionPageValues()
wizard_page = self.page(page_id)
if wizard_page == self.background_page:
self.set_background_page_values()
elif wizard_page == self.main_area_page:
self.set_main_area_page_values()
elif wizard_page == self.footer_area_page:
self.set_footer_area_page_values()
elif wizard_page == self.alignment_page:
self.set_alignment_page_values()
elif wizard_page == self.area_position_page:
self.set_position_page_values()
def setBackgroundPageValues(self):
def set_background_page_values(self):
"""
Handle the display and state of the Background page.
"""
if self.theme.background_type == \
BackgroundType.to_string(BackgroundType.Solid):
self.colorButton.setStyleSheet('background-color: %s' % self.theme.background_color)
if self.theme.background_type == BackgroundType.to_string(BackgroundType.Solid):
self.color_button.setStyleSheet('background-color: %s' % self.theme.background_color)
self.setField('background_type', 0)
elif self.theme.background_type == BackgroundType.to_string(BackgroundType.Gradient):
self.gradientStartButton.setStyleSheet('background-color: %s' % self.theme.background_start_color)
self.gradientEndButton.setStyleSheet('background-color: %s' % self.theme.background_end_color)
self.gradient_start_button.setStyleSheet('background-color: %s' % self.theme.background_start_color)
self.gradient_end_button.setStyleSheet('background-color: %s' % self.theme.background_end_color)
self.setField('background_type', 1)
elif self.theme.background_type == BackgroundType.to_string(BackgroundType.Image):
self.imageColorButton.setStyleSheet('background-color: %s' % self.theme.background_border_color)
self.imageFileEdit.setText(self.theme.background_filename)
self.image_color_button.setStyleSheet('background-color: %s' % self.theme.background_border_color)
self.image_file_edit.setText(self.theme.background_filename)
self.setField('background_type', 2)
elif self.theme.background_type == BackgroundType.to_string(BackgroundType.Transparent):
self.setField('background_type', 3)
@ -322,63 +320,63 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
else:
self.setField('gradient', 4)
def setMainAreaPageValues(self):
def set_main_area_page_values(self):
"""
Handle the display and state of the Main Area page.
"""
self.mainFontComboBox.setCurrentFont(QtGui.QFont(self.theme.font_main_name))
self.mainColorButton.setStyleSheet('background-color: %s' % self.theme.font_main_color)
self.setField('mainSizeSpinBox', self.theme.font_main_size)
self.setField('lineSpacingSpinBox', self.theme.font_main_line_adjustment)
self.setField('outlineCheckBox', self.theme.font_main_outline)
self.outlineColorButton.setStyleSheet('background-color: %s' % self.theme.font_main_outline_color)
self.setField('outlineSizeSpinBox', self.theme.font_main_outline_size)
self.setField('shadowCheckBox', self.theme.font_main_shadow)
self.shadowColorButton.setStyleSheet('background-color: %s' % self.theme.font_main_shadow_color)
self.setField('shadowSizeSpinBox', self.theme.font_main_shadow_size)
self.setField('mainBoldCheckBox', self.theme.font_main_bold)
self.setField('mainItalicsCheckBox', self.theme.font_main_italics)
self.main_font_combo_box.setCurrentFont(QtGui.QFont(self.theme.font_main_name))
self.main_color_button.setStyleSheet('background-color: %s' % self.theme.font_main_color)
self.setField('main_size_spin_box', self.theme.font_main_size)
self.setField('line_spacing_spin_box', self.theme.font_main_line_adjustment)
self.setField('outline_check_box', self.theme.font_main_outline)
self.outline_color_button.setStyleSheet('background-color: %s' % self.theme.font_main_outline_color)
self.setField('outline_size_spin_box', self.theme.font_main_outline_size)
self.setField('shadow_check_box', self.theme.font_main_shadow)
self.shadow_color_button.setStyleSheet('background-color: %s' % self.theme.font_main_shadow_color)
self.setField('shadow_size_spin_box', self.theme.font_main_shadow_size)
self.setField('main_bold_check_box', self.theme.font_main_bold)
self.setField('main_italics_check_box', self.theme.font_main_italics)
def setFooterAreaPageValues(self):
def set_footer_area_page_values(self):
"""
Handle the display and state of the Footer Area page.
"""
self.footerFontComboBox.setCurrentFont(QtGui.QFont(self.theme.font_footer_name))
self.footerColorButton.setStyleSheet('background-color: %s' % self.theme.font_footer_color)
self.setField('footerSizeSpinBox', self.theme.font_footer_size)
self.footer_font_combo_box.setCurrentFont(QtGui.QFont(self.theme.font_footer_name))
self.footer_color_button.setStyleSheet('background-color: %s' % self.theme.font_footer_color)
self.setField('footer_size_spin_box', self.theme.font_footer_size)
def setPositionPageValues(self):
def set_position_page_values(self):
"""
Handle the display and state of the Position page.
Handle the display and state of the _position page.
"""
# Main Area
self.mainPositionCheckBox.setChecked(not self.theme.font_main_override)
self.setField('mainPositionX', self.theme.font_main_x)
self.setField('mainPositionY', self.theme.font_main_y)
self.setField('mainPositionHeight', self.theme.font_main_height)
self.setField('mainPositionWidth', self.theme.font_main_width)
self.main_position_check_box.setChecked(not self.theme.font_main_override)
self.setField('main_position_x', self.theme.font_main_x)
self.setField('main_position_y', self.theme.font_main_y)
self.setField('main_position_height', self.theme.font_main_height)
self.setField('main_position_width', self.theme.font_main_width)
# Footer
self.footerPositionCheckBox.setChecked(not self.theme.font_footer_override)
self.setField('footerPositionX', self.theme.font_footer_x)
self.setField('footerPositionY', self.theme.font_footer_y)
self.setField('footerPositionHeight', self.theme.font_footer_height)
self.setField('footerPositionWidth', self.theme.font_footer_width)
self.footer_position_check_box.setChecked(not self.theme.font_footer_override)
self.setField('footer_position_x', self.theme.font_footer_x)
self.setField('footer_position_y', self.theme.font_footer_y)
self.setField('footer_position_height', self.theme.font_footer_height)
self.setField('footer_position_width', self.theme.font_footer_width)
def setAlignmentPageValues(self):
def set_alignment_page_values(self):
"""
Handle the display and state of the Alignments page.
"""
self.setField('horizontal', self.theme.display_horizontal_align)
self.setField('vertical', self.theme.display_vertical_align)
self.setField('slideTransition', self.theme.display_slide_transition)
self.setField('slide_transition', self.theme.display_slide_transition)
def setPreviewPageValues(self):
def set_preview_page_values(self):
"""
Handle the display and state of the Preview page.
"""
self.setField('name', self.theme.theme_name)
def onBackgroundComboBoxCurrentIndexChanged(self, index):
def on_background_combo_box_current_index_changed(self, index):
"""
Background style Combo box has changed.
"""
@ -393,122 +391,122 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
self.temp_background_filename != '':
self.theme.background_filename = self.temp_background_filename
self.temp_background_filename = ''
self.setBackgroundPageValues()
self.set_background_page_values()
def onGradientComboBoxCurrentIndexChanged(self, index):
def on_gradient_combo_box_current_index_changed(self, index):
"""
Background gradient Combo box has changed.
"""
if self.update_theme_allowed:
self.theme.background_direction = BackgroundGradientType.to_string(index)
self.setBackgroundPageValues()
self.set_background_page_values()
def onColorButtonClicked(self):
def on_color_button_clicked(self):
"""
Background / Gradient 1 Color button pushed.
Background / Gradient 1 _color button pushed.
"""
self.theme.background_color = self._colorButton(self.theme.background_color)
self.setBackgroundPageValues()
self.theme.background_color = self._color_button(self.theme.background_color)
self.set_background_page_values()
def onImageColorButtonClicked(self):
def on_image_color_button_clicked(self):
"""
Background / Gradient 1 Color button pushed.
Background / Gradient 1 _color button pushed.
"""
self.theme.background_border_color = self._colorButton(self.theme.background_border_color)
self.setBackgroundPageValues()
self.theme.background_border_color = self._color_button(self.theme.background_border_color)
self.set_background_page_values()
def onGradientStartButtonClicked(self):
def on_gradient_start_button_clicked(self):
"""
Gradient 2 Color button pushed.
Gradient 2 _color button pushed.
"""
self.theme.background_start_color = self._colorButton(self.theme.background_start_color)
self.setBackgroundPageValues()
self.theme.background_start_color = self._color_button(self.theme.background_start_color)
self.set_background_page_values()
def onGradientEndButtonClicked(self):
def on_gradient_end_button_clicked(self):
"""
Gradient 2 Color button pushed.
Gradient 2 _color button pushed.
"""
self.theme.background_end_color = self._colorButton(self.theme.background_end_color)
self.setBackgroundPageValues()
self.theme.background_end_color = self._color_button(self.theme.background_end_color)
self.set_background_page_values()
def onImageBrowseButtonClicked(self):
def on_image_browse_button_clicked(self):
"""
Background Image button pushed.
"""
images_filter = get_images_filter()
images_filter = '%s;;%s (*.*) (*)' % (images_filter, UiStrings().AllFiles)
filename = QtGui.QFileDialog.getOpenFileName(self,
translate('OpenLP.ThemeWizard', 'Select Image'), '', images_filter)
filename = QtGui.QFileDialog.getOpenFileName(self, translate('OpenLP.ThemeWizard', 'Select Image'), '',
images_filter)
if filename:
self.theme.background_filename = str(filename)
self.setBackgroundPageValues()
self.set_background_page_values()
def onImageFileEditEditingFinished(self):
def on_image_file_edit_editing_finished(self):
"""
Background image path edited
"""
self.theme.background_filename = str(self.imageFileEdit.text())
self.theme.background_filename = str(self.image_file_edit.text())
def onMainColorButtonClicked(self):
def on_main_color_button_clicked(self):
"""
Set the main colour value
"""
self.theme.font_main_color = self._colorButton(self.theme.font_main_color)
self.setMainAreaPageValues()
self.theme.font_main_color = self._color_button(self.theme.font_main_color)
self.set_main_area_page_values()
def onOutlineColorButtonClicked(self):
def on_outline_color_button_clicked(self):
"""
Set the outline colour value
"""
self.theme.font_main_outline_color = self._colorButton(self.theme.font_main_outline_color)
self.setMainAreaPageValues()
self.theme.font_main_outline_color = self._color_button(self.theme.font_main_outline_color)
self.set_main_area_page_values()
def onShadowColorButtonClicked(self):
def on_shadow_color_button_clicked(self):
"""
Set the shadow colour value
"""
self.theme.font_main_shadow_color = self._colorButton(self.theme.font_main_shadow_color)
self.setMainAreaPageValues()
self.theme.font_main_shadow_color = self._color_button(self.theme.font_main_shadow_color)
self.set_main_area_page_values()
def onFooterColorButtonClicked(self):
def on_footer_color_button_clicked(self):
"""
Set the footer colour value
"""
self.theme.font_footer_color = self._colorButton(self.theme.font_footer_color)
self.setFooterAreaPageValues()
self.theme.font_footer_color = self._color_button(self.theme.font_footer_color)
self.set_footer_area_page_values()
def updateTheme(self):
def update_theme(self):
"""
Update the theme object from the UI for fields not already updated
when the are changed.
"""
if not self.update_theme_allowed:
return
log.debug('updateTheme')
log.debug('update_theme')
# main page
self.theme.font_main_name = self.mainFontComboBox.currentFont().family()
self.theme.font_main_size = self.field('mainSizeSpinBox')
self.theme.font_main_line_adjustment = self.field('lineSpacingSpinBox')
self.theme.font_main_outline_size = self.field('outlineSizeSpinBox')
self.theme.font_main_shadow_size = self.field('shadowSizeSpinBox')
self.theme.font_main_bold = self.field('mainBoldCheckBox')
self.theme.font_main_italics = self.field('mainItalicsCheckBox')
self.theme.font_main_name = self.main_font_combo_box.currentFont().family()
self.theme.font_main_size = self.field('main_size_spin_box')
self.theme.font_main_line_adjustment = self.field('line_spacing_spin_box')
self.theme.font_main_outline_size = self.field('outline_size_spin_box')
self.theme.font_main_shadow_size = self.field('shadow_size_spin_box')
self.theme.font_main_bold = self.field('main_bold_check_box')
self.theme.font_main_italics = self.field('main_italics_check_box')
# footer page
self.theme.font_footer_name = self.footerFontComboBox.currentFont().family()
self.theme.font_footer_size = self.field('footerSizeSpinBox')
self.theme.font_footer_name = self.footer_font_combo_box.currentFont().family()
self.theme.font_footer_size = self.field('footer_size_spin_box')
# position page
self.theme.font_main_x = self.field('mainPositionX')
self.theme.font_main_y = self.field('mainPositionY')
self.theme.font_main_height = self.field('mainPositionHeight')
self.theme.font_main_width = self.field('mainPositionWidth')
self.theme.font_footer_x = self.field('footerPositionX')
self.theme.font_footer_y = self.field('footerPositionY')
self.theme.font_footer_height = self.field('footerPositionHeight')
self.theme.font_footer_width = self.field('footerPositionWidth')
self.theme.font_main_x = self.field('main_position_x')
self.theme.font_main_y = self.field('main_position_y')
self.theme.font_main_height = self.field('main_position_height')
self.theme.font_main_width = self.field('main_position_width')
self.theme.font_footer_x = self.field('footer_position_x')
self.theme.font_footer_y = self.field('footer_position_y')
self.theme.font_footer_height = self.field('footer_position_height')
self.theme.font_footer_width = self.field('footer_position_width')
# position page
self.theme.display_horizontal_align = self.horizontalComboBox.currentIndex()
self.theme.display_vertical_align = self.verticalComboBox.currentIndex()
self.theme.display_slide_transition = self.field('slideTransition')
self.theme.display_horizontal_align = self.horizontal_combo_box.currentIndex()
self.theme.display_vertical_align = self.vertical_combo_box.currentIndex()
self.theme.display_slide_transition = self.field('slide_transition')
def accept(self):
"""
@ -526,20 +524,20 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
translate('OpenLP.ThemeWizard', 'Theme Name Invalid'),
translate('OpenLP.ThemeWizard', 'Invalid theme name. Please enter one.'))
return
saveFrom = None
saveTo = None
save_from = None
save_to = None
if self.theme.background_type == BackgroundType.to_string(BackgroundType.Image):
filename = os.path.split(str(self.theme.background_filename))[1]
saveTo = os.path.join(self.path, self.theme.theme_name, filename)
saveFrom = self.theme.background_filename
save_to = os.path.join(self.path, self.theme.theme_name, filename)
save_from = self.theme.background_filename
if not self.edit_mode and not self.theme_manager.check_if_theme_exists(self.theme.theme_name):
return
self.theme_manager.save_theme(self.theme, saveFrom, saveTo)
self.theme_manager.save_theme(self.theme, save_from, save_to)
return QtGui.QDialog.accept(self)
def _colorButton(self, field):
def _color_button(self, field):
"""
Handle Color buttons
Handle _color buttons
"""
new_color = QtGui.QColorDialog.getColor(QtGui.QColor(field), self)
if new_color.isValid():

View File

@ -45,29 +45,29 @@ class Ui_ThemeLayoutDialog(object):
"""
themeLayoutDialog.setObjectName('themeLayoutDialogDialog')
#themeLayoutDialog.resize(300, 200)
self.previewLayout = QtGui.QVBoxLayout(themeLayoutDialog)
self.previewLayout.setObjectName('previewLayout')
self.previewArea = QtGui.QWidget(themeLayoutDialog)
self.previewArea.setObjectName('previewArea')
self.previewAreaLayout = QtGui.QGridLayout(self.previewArea)
self.previewAreaLayout.setMargin(0)
self.previewAreaLayout.setColumnStretch(0, 1)
self.previewAreaLayout.setRowStretch(0, 1)
self.previewAreaLayout.setObjectName('previewAreaLayout')
self.themeDisplayLabel = QtGui.QLabel(self.previewArea)
self.themeDisplayLabel.setFrameShape(QtGui.QFrame.Box)
self.themeDisplayLabel.setScaledContents(True)
self.themeDisplayLabel.setObjectName('themeDisplayLabel')
self.previewAreaLayout.addWidget(self.themeDisplayLabel)
self.previewLayout.addWidget(self.previewArea)
self.mainColourLabel = QtGui.QLabel(self.previewArea)
self.mainColourLabel.setObjectName('mainColourLabel')
self.previewLayout.addWidget(self.mainColourLabel)
self.footerColourLabel = QtGui.QLabel(self.previewArea)
self.footerColourLabel.setObjectName('footerColourLabel')
self.previewLayout.addWidget(self.footerColourLabel)
self.preview_layout = QtGui.QVBoxLayout(themeLayoutDialog)
self.preview_layout.setObjectName('preview_layout')
self.preview_area = QtGui.QWidget(themeLayoutDialog)
self.preview_area.setObjectName('preview_area')
self.preview_area_layout = QtGui.QGridLayout(self.preview_area)
self.preview_area_layout.setMargin(0)
self.preview_area_layout.setColumnStretch(0, 1)
self.preview_area_layout.setRowStretch(0, 1)
self.preview_area_layout.setObjectName('preview_area_layout')
self.theme_display_label = QtGui.QLabel(self.preview_area)
self.theme_display_label.setFrameShape(QtGui.QFrame.Box)
self.theme_display_label.setScaledContents(True)
self.theme_display_label.setObjectName('theme_display_label')
self.preview_area_layout.addWidget(self.theme_display_label)
self.preview_layout.addWidget(self.preview_area)
self.main_colour_label = QtGui.QLabel(self.preview_area)
self.main_colour_label.setObjectName('main_colour_label')
self.preview_layout.addWidget(self.main_colour_label)
self.footer_colour_label = QtGui.QLabel(self.preview_area)
self.footer_colour_label.setObjectName('footer_colour_label')
self.preview_layout.addWidget(self.footer_colour_label)
self.button_box = create_button_box(themeLayoutDialog, 'button_box', ['ok'])
self.previewLayout.addWidget(self.button_box)
self.preview_layout.addWidget(self.button_box)
self.retranslateUi(themeLayoutDialog)
def retranslateUi(self, themeLayoutDialog):
@ -75,5 +75,5 @@ class Ui_ThemeLayoutDialog(object):
Translate the UI on the fly
"""
themeLayoutDialog.setWindowTitle(translate('OpenLP.StartTimeForm', 'Theme Layout'))
self.mainColourLabel.setText(translate('OpenLP.StartTimeForm', 'The blue box shows the main area.'))
self.footerColourLabel.setText(translate('OpenLP.StartTimeForm', 'The red box shows the footer.'))
self.main_colour_label.setText(translate('OpenLP.StartTimeForm', 'The blue box shows the main area.'))
self.footer_colour_label.setText(translate('OpenLP.StartTimeForm', 'The red box shows the footer.'))

View File

@ -50,7 +50,7 @@ class ThemeLayoutForm(QtGui.QDialog, Ui_ThemeLayoutDialog):
Run the Dialog with correct heading.
"""
pixmap = image.scaledToHeight(400, QtCore.Qt.SmoothTransformation)
self.themeDisplayLabel.setPixmap(pixmap)
displayAspectRatio = float(image.width()) / image.height()
self.themeDisplayLabel.setFixedSize(400, 400 / displayAspectRatio)
self.theme_display_label.setPixmap(pixmap)
display_aspect_ratio = float(image.width()) / image.height()
self.theme_display_label.setFixedSize(400, 400 / display_aspect_ratio)
return QtGui.QDialog.exec_(self)

View File

@ -92,7 +92,7 @@ class ThemesTab(SettingsTab):
self.global_level_label.setObjectName('global_level_label')
self.level_layout.addRow(self.global_level_radio_button, self.global_level_label)
label_top_margin = (self.song_level_radio_button.sizeHint().height() -
self.song_level_label.sizeHint().height()) // 2
self.song_level_label.sizeHint().height()) // 2
for label in [self.song_level_label, self.service_level_label, self.global_level_label]:
rect = label.rect()
rect.setTop(rect.top() + label_top_margin)
@ -115,16 +115,16 @@ class ThemesTab(SettingsTab):
self.level_group_box.setTitle(translate('OpenLP.ThemesTab', 'Theme Level'))
self.song_level_radio_button.setText(translate('OpenLP.ThemesTab', 'S&ong Level'))
self.song_level_label.setText(translate('OpenLP.ThemesTab', 'Use the theme from each song '
'in the database. If a song doesn\'t have a theme associated with '
'it, then use the service\'s theme. If the service doesn\'t have '
'a theme, then use the global theme.'))
'in the database. If a song doesn\'t have a theme associated with '
'it, then use the service\'s theme. If the service doesn\'t have '
'a theme, then use the global theme.'))
self.service_level_radio_button.setText(translate('OpenLP.ThemesTab', '&Service Level'))
self.service_level_label.setText(translate('OpenLP.ThemesTab', 'Use the theme from the service, '
'overriding any of the individual songs\' themes. If the '
'service doesn\'t have a theme, then use the global theme.'))
'overriding any of the individual songs\' themes. If the '
'service doesn\'t have a theme, then use the global theme.'))
self.global_level_radio_button.setText(translate('OpenLP.ThemesTab', '&Global Level'))
self.global_level_label.setText(translate('OpenLP.ThemesTab', 'Use the global theme, overriding '
'any themes associated with either the service or the songs.'))
'any themes associated with either the service or the songs.'))
def load(self):
"""

View File

@ -49,346 +49,346 @@ class Ui_ThemeWizard(object):
themeWizard.setModal(True)
themeWizard.setWizardStyle(QtGui.QWizard.ModernStyle)
themeWizard.setOptions(QtGui.QWizard.IndependentPages |
QtGui.QWizard.NoBackButtonOnStartPage | QtGui.QWizard.HaveCustomButton1)
QtGui.QWizard.NoBackButtonOnStartPage | QtGui.QWizard.HaveCustomButton1)
self.spacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
# Welcome Page
add_welcome_page(themeWizard, ':/wizards/wizard_createtheme.bmp')
# Background Page
self.backgroundPage = QtGui.QWizardPage()
self.backgroundPage.setObjectName('BackgroundPage')
self.backgroundLayout = QtGui.QVBoxLayout(self.backgroundPage)
self.backgroundLayout.setObjectName('BackgroundLayout')
self.backgroundTypeLayout = QtGui.QFormLayout()
self.backgroundTypeLayout.setObjectName('BackgroundTypeLayout')
self.backgroundLabel = QtGui.QLabel(self.backgroundPage)
self.backgroundLabel.setObjectName('BackgroundLabel')
self.backgroundComboBox = QtGui.QComboBox(self.backgroundPage)
self.backgroundComboBox.addItems(['', '', '', ''])
self.backgroundComboBox.setObjectName('BackgroundComboBox')
self.backgroundTypeLayout.addRow(self.backgroundLabel, self.backgroundComboBox)
self.backgroundTypeLayout.setItem(1, QtGui.QFormLayout.LabelRole, self.spacer)
self.backgroundLayout.addLayout(self.backgroundTypeLayout)
self.backgroundStack = QtGui.QStackedLayout()
self.backgroundStack.setObjectName('BackgroundStack')
self.colorWidget = QtGui.QWidget(self.backgroundPage)
self.colorWidget.setObjectName('ColorWidget')
self.colorLayout = QtGui.QFormLayout(self.colorWidget)
self.colorLayout.setMargin(0)
self.colorLayout.setObjectName('ColorLayout')
self.colorLabel = QtGui.QLabel(self.colorWidget)
self.colorLabel.setObjectName('ColorLabel')
self.colorButton = QtGui.QPushButton(self.colorWidget)
self.colorButton.setObjectName('ColorButton')
self.colorLayout.addRow(self.colorLabel, self.colorButton)
self.colorLayout.setItem(1, QtGui.QFormLayout.LabelRole, self.spacer)
self.backgroundStack.addWidget(self.colorWidget)
self.gradientWidget = QtGui.QWidget(self.backgroundPage)
self.gradientWidget.setObjectName('GradientWidget')
self.gradientLayout = QtGui.QFormLayout(self.gradientWidget)
self.gradientLayout.setMargin(0)
self.gradientLayout.setObjectName('GradientLayout')
self.gradientStartLabel = QtGui.QLabel(self.gradientWidget)
self.gradientStartLabel.setObjectName('GradientStartLabel')
self.gradientStartButton = QtGui.QPushButton(self.gradientWidget)
self.gradientStartButton.setObjectName('GradientStartButton')
self.gradientLayout.addRow(self.gradientStartLabel, self.gradientStartButton)
self.gradientEndLabel = QtGui.QLabel(self.gradientWidget)
self.gradientEndLabel.setObjectName('GradientEndLabel')
self.gradientEndButton = QtGui.QPushButton(self.gradientWidget)
self.gradientEndButton.setObjectName('GradientEndButton')
self.gradientLayout.addRow(self.gradientEndLabel, self.gradientEndButton)
self.gradientTypeLabel = QtGui.QLabel(self.gradientWidget)
self.gradientTypeLabel.setObjectName('GradientTypeLabel')
self.gradientComboBox = QtGui.QComboBox(self.gradientWidget)
self.gradientComboBox.setObjectName('GradientComboBox')
self.gradientComboBox.addItems(['', '', '', '', ''])
self.gradientLayout.addRow(self.gradientTypeLabel, self.gradientComboBox)
self.gradientLayout.setItem(3, QtGui.QFormLayout.LabelRole, self.spacer)
self.backgroundStack.addWidget(self.gradientWidget)
self.imageWidget = QtGui.QWidget(self.backgroundPage)
self.imageWidget.setObjectName('ImageWidget')
self.imageLayout = QtGui.QFormLayout(self.imageWidget)
self.imageLayout.setMargin(0)
self.imageLayout.setObjectName('ImageLayout')
self.imageColorLabel = QtGui.QLabel(self.colorWidget)
self.imageColorLabel.setObjectName('ImageColorLabel')
self.imageColorButton = QtGui.QPushButton(self.colorWidget)
self.imageColorButton.setObjectName('ImageColorButton')
self.imageLayout.addRow(self.imageColorLabel, self.imageColorButton)
self.imageLabel = QtGui.QLabel(self.imageWidget)
self.imageLabel.setObjectName('ImageLabel')
self.imageFileLayout = QtGui.QHBoxLayout()
self.imageFileLayout.setObjectName('ImageFileLayout')
self.imageFileEdit = QtGui.QLineEdit(self.imageWidget)
self.imageFileEdit.setObjectName('ImageFileEdit')
self.imageFileLayout.addWidget(self.imageFileEdit)
self.imageBrowseButton = QtGui.QToolButton(self.imageWidget)
self.imageBrowseButton.setObjectName('ImageBrowseButton')
self.imageBrowseButton.setIcon(build_icon(':/general/general_open.png'))
self.imageFileLayout.addWidget(self.imageBrowseButton)
self.imageLayout.addRow(self.imageLabel, self.imageFileLayout)
self.imageLayout.setItem(2, QtGui.QFormLayout.LabelRole, self.spacer)
self.backgroundStack.addWidget(self.imageWidget)
self.transparentWidget = QtGui.QWidget(self.backgroundPage)
self.transparentWidget.setObjectName('TransparentWidget')
self.transparentLayout = QtGui.QFormLayout(self.transparentWidget)
self.transparentLayout.setMargin(0)
self.transparentLayout.setObjectName('TransparentLayout')
self.backgroundStack.addWidget(self.transparentWidget)
self.backgroundLayout.addLayout(self.backgroundStack)
themeWizard.addPage(self.backgroundPage)
self.background_page = QtGui.QWizardPage()
self.background_page.setObjectName('background_page')
self.background_layout = QtGui.QVBoxLayout(self.background_page)
self.background_layout.setObjectName('background_layout')
self.background_type_layout = QtGui.QFormLayout()
self.background_type_layout.setObjectName('background_type_layout')
self.background_label = QtGui.QLabel(self.background_page)
self.background_label.setObjectName('background_label')
self.background_combo_box = QtGui.QComboBox(self.background_page)
self.background_combo_box.addItems(['', '', '', ''])
self.background_combo_box.setObjectName('background_combo_box')
self.background_type_layout.addRow(self.background_label, self.background_combo_box)
self.background_type_layout.setItem(1, QtGui.QFormLayout.LabelRole, self.spacer)
self.background_layout.addLayout(self.background_type_layout)
self.background_stack = QtGui.QStackedLayout()
self.background_stack.setObjectName('background_stack')
self.color_widget = QtGui.QWidget(self.background_page)
self.color_widget.setObjectName('color_widget')
self.color_layout = QtGui.QFormLayout(self.color_widget)
self.color_layout.setMargin(0)
self.color_layout.setObjectName('color_layout')
self.color_label = QtGui.QLabel(self.color_widget)
self.color_label.setObjectName('color_label')
self.color_button = QtGui.QPushButton(self.color_widget)
self.color_button.setObjectName('color_button')
self.color_layout.addRow(self.color_label, self.color_button)
self.color_layout.setItem(1, QtGui.QFormLayout.LabelRole, self.spacer)
self.background_stack.addWidget(self.color_widget)
self.gradient_widget = QtGui.QWidget(self.background_page)
self.gradient_widget.setObjectName('Gradient_widget')
self.gradient_layout = QtGui.QFormLayout(self.gradient_widget)
self.gradient_layout.setMargin(0)
self.gradient_layout.setObjectName('gradient_layout')
self.gradient_start_label = QtGui.QLabel(self.gradient_widget)
self.gradient_start_label.setObjectName('gradient_start_label')
self.gradient_start_button = QtGui.QPushButton(self.gradient_widget)
self.gradient_start_button.setObjectName('gradient_start_button')
self.gradient_layout.addRow(self.gradient_start_label, self.gradient_start_button)
self.gradient_end_label = QtGui.QLabel(self.gradient_widget)
self.gradient_end_label.setObjectName('gradient_end_label')
self.gradient_end_button = QtGui.QPushButton(self.gradient_widget)
self.gradient_end_button.setObjectName('gradient_end_button')
self.gradient_layout.addRow(self.gradient_end_label, self.gradient_end_button)
self.gradient_type_label = QtGui.QLabel(self.gradient_widget)
self.gradient_type_label.setObjectName('Gradient_type_label')
self.gradient_combo_box = QtGui.QComboBox(self.gradient_widget)
self.gradient_combo_box.setObjectName('gradient_combo_box')
self.gradient_combo_box.addItems(['', '', '', '', ''])
self.gradient_layout.addRow(self.gradient_type_label, self.gradient_combo_box)
self.gradient_layout.setItem(3, QtGui.QFormLayout.LabelRole, self.spacer)
self.background_stack.addWidget(self.gradient_widget)
self.image_widget = QtGui.QWidget(self.background_page)
self.image_widget.setObjectName('image_widget')
self.image_layout = QtGui.QFormLayout(self.image_widget)
self.image_layout.setMargin(0)
self.image_layout.setObjectName('image_layout')
self.image_color_label = QtGui.QLabel(self.color_widget)
self.image_color_label.setObjectName('image_color_label')
self.image_color_button = QtGui.QPushButton(self.color_widget)
self.image_color_button.setObjectName('image_color_button')
self.image_layout.addRow(self.image_color_label, self.image_color_button)
self.image_label = QtGui.QLabel(self.image_widget)
self.image_label.setObjectName('image_label')
self.image_file_layout = QtGui.QHBoxLayout()
self.image_file_layout.setObjectName('image_file_layout')
self.image_file_edit = QtGui.QLineEdit(self.image_widget)
self.image_file_edit.setObjectName('image_file_edit')
self.image_file_layout.addWidget(self.image_file_edit)
self.image_browse_button = QtGui.QToolButton(self.image_widget)
self.image_browse_button.setObjectName('image_browse_button')
self.image_browse_button.setIcon(build_icon(':/general/general_open.png'))
self.image_file_layout.addWidget(self.image_browse_button)
self.image_layout.addRow(self.image_label, self.image_file_layout)
self.image_layout.setItem(2, QtGui.QFormLayout.LabelRole, self.spacer)
self.background_stack.addWidget(self.image_widget)
self.transparent_widget = QtGui.QWidget(self.background_page)
self.transparent_widget.setObjectName('TransparentWidget')
self.transparent_layout = QtGui.QFormLayout(self.transparent_widget)
self.transparent_layout.setMargin(0)
self.transparent_layout.setObjectName('Transparent_layout')
self.background_stack.addWidget(self.transparent_widget)
self.background_layout.addLayout(self.background_stack)
themeWizard.addPage(self.background_page)
# Main Area Page
self.mainAreaPage = QtGui.QWizardPage()
self.mainAreaPage.setObjectName('MainAreaPage')
self.mainAreaLayout = QtGui.QFormLayout(self.mainAreaPage)
self.mainAreaLayout.setObjectName('MainAreaLayout')
self.mainFontLabel = QtGui.QLabel(self.mainAreaPage)
self.mainFontLabel.setObjectName('MainFontLabel')
self.mainFontComboBox = QtGui.QFontComboBox(self.mainAreaPage)
self.mainFontComboBox.setObjectName('MainFontComboBox')
self.mainAreaLayout.addRow(self.mainFontLabel, self.mainFontComboBox)
self.mainColorLabel = QtGui.QLabel(self.mainAreaPage)
self.mainColorLabel.setObjectName('MainColorLabel')
self.mainPropertiesLayout = QtGui.QHBoxLayout()
self.mainPropertiesLayout.setObjectName('MainPropertiesLayout')
self.mainColorButton = QtGui.QPushButton(self.mainAreaPage)
self.mainColorButton.setObjectName('MainColorButton')
self.mainPropertiesLayout.addWidget(self.mainColorButton)
self.mainPropertiesLayout.addSpacing(20)
self.mainBoldCheckBox = QtGui.QCheckBox(self.mainAreaPage)
self.mainBoldCheckBox.setObjectName('MainBoldCheckBox')
self.mainPropertiesLayout.addWidget(self.mainBoldCheckBox)
self.mainPropertiesLayout.addSpacing(20)
self.mainItalicsCheckBox = QtGui.QCheckBox(self.mainAreaPage)
self.mainItalicsCheckBox.setObjectName('MainItalicsCheckBox')
self.mainPropertiesLayout.addWidget(self.mainItalicsCheckBox)
self.mainAreaLayout.addRow(self.mainColorLabel, self.mainPropertiesLayout)
self.mainSizeLabel = QtGui.QLabel(self.mainAreaPage)
self.mainSizeLabel.setObjectName('MainSizeLabel')
self.mainSizeLayout = QtGui.QHBoxLayout()
self.mainSizeLayout.setObjectName('MainSizeLayout')
self.mainSizeSpinBox = QtGui.QSpinBox(self.mainAreaPage)
self.mainSizeSpinBox.setMaximum(999)
self.mainSizeSpinBox.setValue(16)
self.mainSizeSpinBox.setObjectName('MainSizeSpinBox')
self.mainSizeLayout.addWidget(self.mainSizeSpinBox)
self.mainLineCountLabel = QtGui.QLabel(self.mainAreaPage)
self.mainLineCountLabel.setObjectName('MainLineCountLabel')
self.mainSizeLayout.addWidget(self.mainLineCountLabel)
self.mainAreaLayout.addRow(self.mainSizeLabel, self.mainSizeLayout)
self.lineSpacingLabel = QtGui.QLabel(self.mainAreaPage)
self.lineSpacingLabel.setObjectName('LineSpacingLabel')
self.lineSpacingSpinBox = QtGui.QSpinBox(self.mainAreaPage)
self.lineSpacingSpinBox.setMinimum(-250)
self.lineSpacingSpinBox.setMaximum(250)
self.lineSpacingSpinBox.setObjectName('LineSpacingSpinBox')
self.mainAreaLayout.addRow(self.lineSpacingLabel, self.lineSpacingSpinBox)
self.outlineCheckBox = QtGui.QCheckBox(self.mainAreaPage)
self.outlineCheckBox.setObjectName('OutlineCheckBox')
self.outlineLayout = QtGui.QHBoxLayout()
self.outlineLayout.setObjectName('OutlineLayout')
self.outlineColorButton = QtGui.QPushButton(self.mainAreaPage)
self.outlineColorButton.setEnabled(False)
self.outlineColorButton.setObjectName('OutlineColorButton')
self.outlineLayout.addWidget(self.outlineColorButton)
self.outlineLayout.addSpacing(20)
self.outlineSizeLabel = QtGui.QLabel(self.mainAreaPage)
self.outlineSizeLabel.setObjectName('OutlineSizeLabel')
self.outlineLayout.addWidget(self.outlineSizeLabel)
self.outlineSizeSpinBox = QtGui.QSpinBox(self.mainAreaPage)
self.outlineSizeSpinBox.setEnabled(False)
self.outlineSizeSpinBox.setObjectName('OutlineSizeSpinBox')
self.outlineLayout.addWidget(self.outlineSizeSpinBox)
self.mainAreaLayout.addRow(self.outlineCheckBox, self.outlineLayout)
self.shadowCheckBox = QtGui.QCheckBox(self.mainAreaPage)
self.shadowCheckBox.setObjectName('ShadowCheckBox')
self.shadowLayout = QtGui.QHBoxLayout()
self.shadowLayout.setObjectName('ShadowLayout')
self.shadowColorButton = QtGui.QPushButton(self.mainAreaPage)
self.shadowColorButton.setEnabled(False)
self.shadowColorButton.setObjectName('shadowColorButton')
self.shadowLayout.addWidget(self.shadowColorButton)
self.shadowLayout.addSpacing(20)
self.shadowSizeLabel = QtGui.QLabel(self.mainAreaPage)
self.shadowSizeLabel.setObjectName('ShadowSizeLabel')
self.shadowLayout.addWidget(self.shadowSizeLabel)
self.shadowSizeSpinBox = QtGui.QSpinBox(self.mainAreaPage)
self.shadowSizeSpinBox.setEnabled(False)
self.shadowSizeSpinBox.setObjectName('ShadowSizeSpinBox')
self.shadowLayout.addWidget(self.shadowSizeSpinBox)
self.mainAreaLayout.addRow(self.shadowCheckBox, self.shadowLayout)
themeWizard.addPage(self.mainAreaPage)
self.main_area_page = QtGui.QWizardPage()
self.main_area_page.setObjectName('main_area_page')
self.main_area_layout = QtGui.QFormLayout(self.main_area_page)
self.main_area_layout.setObjectName('main_area_layout')
self.main_font_label = QtGui.QLabel(self.main_area_page)
self.main_font_label.setObjectName('main_font_label')
self.main_font_combo_box = QtGui.QFontComboBox(self.main_area_page)
self.main_font_combo_box.setObjectName('main_font_combo_box')
self.main_area_layout.addRow(self.main_font_label, self.main_font_combo_box)
self.main_color_label = QtGui.QLabel(self.main_area_page)
self.main_color_label.setObjectName('main_color_label')
self.main_properties_layout = QtGui.QHBoxLayout()
self.main_properties_layout.setObjectName('main_properties_layout')
self.main_color_button = QtGui.QPushButton(self.main_area_page)
self.main_color_button.setObjectName('main_color_button')
self.main_properties_layout.addWidget(self.main_color_button)
self.main_properties_layout.addSpacing(20)
self.main_bold_check_box = QtGui.QCheckBox(self.main_area_page)
self.main_bold_check_box.setObjectName('main_bold_check_box')
self.main_properties_layout.addWidget(self.main_bold_check_box)
self.main_properties_layout.addSpacing(20)
self.main_italics_check_box = QtGui.QCheckBox(self.main_area_page)
self.main_italics_check_box.setObjectName('MainItalicsCheckBox')
self.main_properties_layout.addWidget(self.main_italics_check_box)
self.main_area_layout.addRow(self.main_color_label, self.main_properties_layout)
self.main_size_label = QtGui.QLabel(self.main_area_page)
self.main_size_label.setObjectName('main_size_label')
self.main_size_layout = QtGui.QHBoxLayout()
self.main_size_layout.setObjectName('main_size_layout')
self.main_size_spin_box = QtGui.QSpinBox(self.main_area_page)
self.main_size_spin_box.setMaximum(999)
self.main_size_spin_box.setValue(16)
self.main_size_spin_box.setObjectName('main_size_spin_box')
self.main_size_layout.addWidget(self.main_size_spin_box)
self.main_line_count_label = QtGui.QLabel(self.main_area_page)
self.main_line_count_label.setObjectName('main_line_count_label')
self.main_size_layout.addWidget(self.main_line_count_label)
self.main_area_layout.addRow(self.main_size_label, self.main_size_layout)
self.line_spacing_label = QtGui.QLabel(self.main_area_page)
self.line_spacing_label.setObjectName('line_spacing_label')
self.line_spacing_spin_box = QtGui.QSpinBox(self.main_area_page)
self.line_spacing_spin_box.setMinimum(-250)
self.line_spacing_spin_box.setMaximum(250)
self.line_spacing_spin_box.setObjectName('line_spacing_spin_box')
self.main_area_layout.addRow(self.line_spacing_label, self.line_spacing_spin_box)
self.outline_check_box = QtGui.QCheckBox(self.main_area_page)
self.outline_check_box.setObjectName('outline_check_box')
self.outline_layout = QtGui.QHBoxLayout()
self.outline_layout.setObjectName('outline_layout')
self.outline_color_button = QtGui.QPushButton(self.main_area_page)
self.outline_color_button.setEnabled(False)
self.outline_color_button.setObjectName('Outline_color_button')
self.outline_layout.addWidget(self.outline_color_button)
self.outline_layout.addSpacing(20)
self.outline_size_label = QtGui.QLabel(self.main_area_page)
self.outline_size_label.setObjectName('outline_size_label')
self.outline_layout.addWidget(self.outline_size_label)
self.outline_size_spin_box = QtGui.QSpinBox(self.main_area_page)
self.outline_size_spin_box.setEnabled(False)
self.outline_size_spin_box.setObjectName('outline_size_spin_box')
self.outline_layout.addWidget(self.outline_size_spin_box)
self.main_area_layout.addRow(self.outline_check_box, self.outline_layout)
self.shadow_check_box = QtGui.QCheckBox(self.main_area_page)
self.shadow_check_box.setObjectName('shadow_check_box')
self.shadow_layout = QtGui.QHBoxLayout()
self.shadow_layout.setObjectName('shadow_layout')
self.shadow_color_button = QtGui.QPushButton(self.main_area_page)
self.shadow_color_button.setEnabled(False)
self.shadow_color_button.setObjectName('shadow_color_button')
self.shadow_layout.addWidget(self.shadow_color_button)
self.shadow_layout.addSpacing(20)
self.shadow_size_label = QtGui.QLabel(self.main_area_page)
self.shadow_size_label.setObjectName('shadow_size_label')
self.shadow_layout.addWidget(self.shadow_size_label)
self.shadow_size_spin_box = QtGui.QSpinBox(self.main_area_page)
self.shadow_size_spin_box.setEnabled(False)
self.shadow_size_spin_box.setObjectName('shadow_size_spin_box')
self.shadow_layout.addWidget(self.shadow_size_spin_box)
self.main_area_layout.addRow(self.shadow_check_box, self.shadow_layout)
themeWizard.addPage(self.main_area_page)
# Footer Area Page
self.footerAreaPage = QtGui.QWizardPage()
self.footerAreaPage.setObjectName('FooterAreaPage')
self.footerAreaLayout = QtGui.QFormLayout(self.footerAreaPage)
self.footerAreaLayout.setObjectName('FooterAreaLayout')
self.footerFontLabel = QtGui.QLabel(self.footerAreaPage)
self.footerFontLabel.setObjectName('FooterFontLabel')
self.footerFontComboBox = QtGui.QFontComboBox(self.footerAreaPage)
self.footerFontComboBox.setObjectName('footerFontComboBox')
self.footerAreaLayout.addRow(self.footerFontLabel, self.footerFontComboBox)
self.footerColorLabel = QtGui.QLabel(self.footerAreaPage)
self.footerColorLabel.setObjectName('FooterColorLabel')
self.footerColorButton = QtGui.QPushButton(self.footerAreaPage)
self.footerColorButton.setObjectName('footerColorButton')
self.footerAreaLayout.addRow(self.footerColorLabel, self.footerColorButton)
self.footerSizeLabel = QtGui.QLabel(self.footerAreaPage)
self.footerSizeLabel.setObjectName('FooterSizeLabel')
self.footerSizeSpinBox = QtGui.QSpinBox(self.footerAreaPage)
self.footerSizeSpinBox.setMaximum(999)
self.footerSizeSpinBox.setValue(10)
self.footerSizeSpinBox.setObjectName('FooterSizeSpinBox')
self.footerAreaLayout.addRow(self.footerSizeLabel, self.footerSizeSpinBox)
self.footerAreaLayout.setItem(3, QtGui.QFormLayout.LabelRole, self.spacer)
themeWizard.addPage(self.footerAreaPage)
self.footer_area_page = QtGui.QWizardPage()
self.footer_area_page.setObjectName('footer_area_page')
self.footer_area_layout = QtGui.QFormLayout(self.footer_area_page)
self.footer_area_layout.setObjectName('footer_area_layout')
self.footer_font_label = QtGui.QLabel(self.footer_area_page)
self.footer_font_label.setObjectName('FooterFontLabel')
self.footer_font_combo_box = QtGui.QFontComboBox(self.footer_area_page)
self.footer_font_combo_box.setObjectName('footer_font_combo_box')
self.footer_area_layout.addRow(self.footer_font_label, self.footer_font_combo_box)
self.footer_color_label = QtGui.QLabel(self.footer_area_page)
self.footer_color_label.setObjectName('footer_color_label')
self.footer_color_button = QtGui.QPushButton(self.footer_area_page)
self.footer_color_button.setObjectName('footer_color_button')
self.footer_area_layout.addRow(self.footer_color_label, self.footer_color_button)
self.footer_size_label = QtGui.QLabel(self.footer_area_page)
self.footer_size_label.setObjectName('footer_size_label')
self.footer_size_spin_box = QtGui.QSpinBox(self.footer_area_page)
self.footer_size_spin_box.setMaximum(999)
self.footer_size_spin_box.setValue(10)
self.footer_size_spin_box.setObjectName('FooterSizeSpinBox')
self.footer_area_layout.addRow(self.footer_size_label, self.footer_size_spin_box)
self.footer_area_layout.setItem(3, QtGui.QFormLayout.LabelRole, self.spacer)
themeWizard.addPage(self.footer_area_page)
# Alignment Page
self.alignmentPage = QtGui.QWizardPage()
self.alignmentPage.setObjectName('AlignmentPage')
self.alignmentLayout = QtGui.QFormLayout(self.alignmentPage)
self.alignmentLayout.setObjectName('AlignmentLayout')
self.horizontalLabel = QtGui.QLabel(self.alignmentPage)
self.horizontalLabel.setObjectName('HorizontalLabel')
self.horizontalComboBox = QtGui.QComboBox(self.alignmentPage)
self.horizontalComboBox.addItems(['', '', '', ''])
self.horizontalComboBox.setObjectName('HorizontalComboBox')
self.alignmentLayout.addRow(self.horizontalLabel, self.horizontalComboBox)
self.verticalLabel, self.verticalComboBox = create_valign_selection_widgets(self.alignmentPage)
self.verticalLabel.setObjectName('verticalLabel')
self.verticalComboBox.setObjectName('verticalComboBox')
self.alignmentLayout.addRow(self.verticalLabel, self.verticalComboBox)
self.transitionsLabel = QtGui.QLabel(self.alignmentPage)
self.transitionsLabel.setObjectName('TransitionsLabel')
self.transitionsCheckBox = QtGui.QCheckBox(self.alignmentPage)
self.transitionsCheckBox.setObjectName('TransitionsCheckBox')
self.alignmentLayout.addRow(self.transitionsLabel, self.transitionsCheckBox)
self.alignmentLayout.setItem(3, QtGui.QFormLayout.LabelRole, self.spacer)
themeWizard.addPage(self.alignmentPage)
self.alignment_page = QtGui.QWizardPage()
self.alignment_page.setObjectName('alignment_page')
self.alignment_layout = QtGui.QFormLayout(self.alignment_page)
self.alignment_layout.setObjectName('alignment_layout')
self.horizontal_label = QtGui.QLabel(self.alignment_page)
self.horizontal_label.setObjectName('horizontal_label')
self.horizontal_combo_box = QtGui.QComboBox(self.alignment_page)
self.horizontal_combo_box.addItems(['', '', '', ''])
self.horizontal_combo_box.setObjectName('horizontal_combo_box')
self.alignment_layout.addRow(self.horizontal_label, self.horizontal_combo_box)
self.vertical_label, self.vertical_combo_box = create_valign_selection_widgets(self.alignment_page)
self.vertical_label.setObjectName('vertical_label')
self.vertical_combo_box.setObjectName('vertical_combo_box')
self.alignment_layout.addRow(self.vertical_label, self.vertical_combo_box)
self.transitions_label = QtGui.QLabel(self.alignment_page)
self.transitions_label.setObjectName('transitions_label')
self.transitions_check_box = QtGui.QCheckBox(self.alignment_page)
self.transitions_check_box.setObjectName('transitions_check_box')
self.alignment_layout.addRow(self.transitions_label, self.transitions_check_box)
self.alignment_layout.setItem(3, QtGui.QFormLayout.LabelRole, self.spacer)
themeWizard.addPage(self.alignment_page)
# Area Position Page
self.areaPositionPage = QtGui.QWizardPage()
self.areaPositionPage.setObjectName('AreaPositionPage')
self.areaPositionLayout = QtGui.QHBoxLayout(self.areaPositionPage)
self.areaPositionLayout.setObjectName('AreaPositionLayout')
self.mainPositionGroupBox = QtGui.QGroupBox(self.areaPositionPage)
self.mainPositionGroupBox.setObjectName('MainPositionGroupBox')
self.mainPositionLayout = QtGui.QFormLayout(self.mainPositionGroupBox)
self.mainPositionLayout.setObjectName('MainPositionLayout')
self.mainPositionCheckBox = QtGui.QCheckBox(self.mainPositionGroupBox)
self.mainPositionCheckBox.setObjectName('MainPositionCheckBox')
self.mainPositionLayout.addRow(self.mainPositionCheckBox)
self.mainXLabel = QtGui.QLabel(self.mainPositionGroupBox)
self.mainXLabel.setObjectName('MainXLabel')
self.mainXSpinBox = QtGui.QSpinBox(self.mainPositionGroupBox)
self.mainXSpinBox.setMaximum(9999)
self.mainXSpinBox.setObjectName('MainXSpinBox')
self.mainPositionLayout.addRow(self.mainXLabel, self.mainXSpinBox)
self.mainYLabel = QtGui.QLabel(self.mainPositionGroupBox)
self.mainYLabel.setObjectName('MainYLabel')
self.mainYSpinBox = QtGui.QSpinBox(self.mainPositionGroupBox)
self.mainYSpinBox.setMaximum(9999)
self.mainYSpinBox.setObjectName('MainYSpinBox')
self.mainPositionLayout.addRow(self.mainYLabel, self.mainYSpinBox)
self.mainWidthLabel = QtGui.QLabel(self.mainPositionGroupBox)
self.mainWidthLabel.setObjectName('MainWidthLabel')
self.mainWidthSpinBox = QtGui.QSpinBox(self.mainPositionGroupBox)
self.mainWidthSpinBox.setMaximum(9999)
self.mainWidthSpinBox.setObjectName('MainWidthSpinBox')
self.mainPositionLayout.addRow(self.mainWidthLabel, self.mainWidthSpinBox)
self.mainHeightLabel = QtGui.QLabel(self.mainPositionGroupBox)
self.mainHeightLabel.setObjectName('MainHeightLabel')
self.mainHeightSpinBox = QtGui.QSpinBox(self.mainPositionGroupBox)
self.mainHeightSpinBox.setMaximum(9999)
self.mainHeightSpinBox.setObjectName('MainHeightSpinBox')
self.mainPositionLayout.addRow(self.mainHeightLabel, self.mainHeightSpinBox)
self.areaPositionLayout.addWidget(self.mainPositionGroupBox)
self.footerPositionGroupBox = QtGui.QGroupBox(self.areaPositionPage)
self.footerPositionGroupBox.setObjectName('FooterPositionGroupBox')
self.footerPositionLayout = QtGui.QFormLayout(self.footerPositionGroupBox)
self.footerPositionLayout.setObjectName('FooterPositionLayout')
self.footerPositionCheckBox = QtGui.QCheckBox(self.footerPositionGroupBox)
self.footerPositionCheckBox.setObjectName('FooterPositionCheckBox')
self.footerPositionLayout.addRow(self.footerPositionCheckBox)
self.footerXLabel = QtGui.QLabel(self.footerPositionGroupBox)
self.footerXLabel.setObjectName('FooterXLabel')
self.footerXSpinBox = QtGui.QSpinBox(self.footerPositionGroupBox)
self.footerXSpinBox.setMaximum(9999)
self.footerXSpinBox.setObjectName('FooterXSpinBox')
self.footerPositionLayout.addRow(self.footerXLabel, self.footerXSpinBox)
self.footerYLabel = QtGui.QLabel(self.footerPositionGroupBox)
self.footerYLabel.setObjectName('FooterYLabel')
self.footerYSpinBox = QtGui.QSpinBox(self.footerPositionGroupBox)
self.footerYSpinBox.setMaximum(9999)
self.footerYSpinBox.setObjectName('FooterYSpinBox')
self.footerPositionLayout.addRow(self.footerYLabel, self.footerYSpinBox)
self.footerWidthLabel = QtGui.QLabel(self.footerPositionGroupBox)
self.footerWidthLabel.setObjectName('FooterWidthLabel')
self.footerWidthSpinBox = QtGui.QSpinBox(self.footerPositionGroupBox)
self.footerWidthSpinBox.setMaximum(9999)
self.footerWidthSpinBox.setObjectName('FooterWidthSpinBox')
self.footerPositionLayout.addRow(self.footerWidthLabel, self.footerWidthSpinBox)
self.footerHeightLabel = QtGui.QLabel(self.footerPositionGroupBox)
self.footerHeightLabel.setObjectName('FooterHeightLabel')
self.footerHeightSpinBox = QtGui.QSpinBox(self.footerPositionGroupBox)
self.footerHeightSpinBox.setMaximum(9999)
self.footerHeightSpinBox.setObjectName('FooterHeightSpinBox')
self.footerPositionLayout.addRow(self.footerHeightLabel, self.footerHeightSpinBox)
self.areaPositionLayout.addWidget(self.footerPositionGroupBox)
themeWizard.addPage(self.areaPositionPage)
self.area_position_page = QtGui.QWizardPage()
self.area_position_page.setObjectName('area_position_page')
self.area_position_layout = QtGui.QHBoxLayout(self.area_position_page)
self.area_position_layout.setObjectName('area_position_layout')
self.main_position_group_box = QtGui.QGroupBox(self.area_position_page)
self.main_position_group_box.setObjectName('main_position_group_box')
self.main_position_layout = QtGui.QFormLayout(self.main_position_group_box)
self.main_position_layout.setObjectName('main_position_layout')
self.main_position_check_box = QtGui.QCheckBox(self.main_position_group_box)
self.main_position_check_box.setObjectName('main_position_check_box')
self.main_position_layout.addRow(self.main_position_check_box)
self.main_x_label = QtGui.QLabel(self.main_position_group_box)
self.main_x_label.setObjectName('main_x_label')
self.main_x_spin_box = QtGui.QSpinBox(self.main_position_group_box)
self.main_x_spin_box.setMaximum(9999)
self.main_x_spin_box.setObjectName('main_x_spin_box')
self.main_position_layout.addRow(self.main_x_label, self.main_x_spin_box)
self.main_y_label = QtGui.QLabel(self.main_position_group_box)
self.main_y_label.setObjectName('main_y_label')
self.main_y_spin_box = QtGui.QSpinBox(self.main_position_group_box)
self.main_y_spin_box.setMaximum(9999)
self.main_y_spin_box.setObjectName('main_y_spin_box')
self.main_position_layout.addRow(self.main_y_label, self.main_y_spin_box)
self.main_width_label = QtGui.QLabel(self.main_position_group_box)
self.main_width_label.setObjectName('main_width_label')
self.main_width_spin_box = QtGui.QSpinBox(self.main_position_group_box)
self.main_width_spin_box.setMaximum(9999)
self.main_width_spin_box.setObjectName('main_width_spin_box')
self.main_position_layout.addRow(self.main_width_label, self.main_width_spin_box)
self.main_height_label = QtGui.QLabel(self.main_position_group_box)
self.main_height_label.setObjectName('main_height_label')
self.main_height_spin_box = QtGui.QSpinBox(self.main_position_group_box)
self.main_height_spin_box.setMaximum(9999)
self.main_height_spin_box.setObjectName('main_height_spin_box')
self.main_position_layout.addRow(self.main_height_label, self.main_height_spin_box)
self.area_position_layout.addWidget(self.main_position_group_box)
self.footer_position_group_box = QtGui.QGroupBox(self.area_position_page)
self.footer_position_group_box.setObjectName('footer_position_group_box')
self.footer_position_layout = QtGui.QFormLayout(self.footer_position_group_box)
self.footer_position_layout.setObjectName('footer_position_layout')
self.footer_position_check_box = QtGui.QCheckBox(self.footer_position_group_box)
self.footer_position_check_box.setObjectName('footer_position_check_box')
self.footer_position_layout.addRow(self.footer_position_check_box)
self.footer_x_label = QtGui.QLabel(self.footer_position_group_box)
self.footer_x_label.setObjectName('footer_x_label')
self.footer_x_spin_box = QtGui.QSpinBox(self.footer_position_group_box)
self.footer_x_spin_box.setMaximum(9999)
self.footer_x_spin_box.setObjectName('footer_x_spin_box')
self.footer_position_layout.addRow(self.footer_x_label, self.footer_x_spin_box)
self.footer_y_label = QtGui.QLabel(self.footer_position_group_box)
self.footer_y_label.setObjectName('footer_y_label')
self.footer_y_spin_box = QtGui.QSpinBox(self.footer_position_group_box)
self.footer_y_spin_box.setMaximum(9999)
self.footer_y_spin_box.setObjectName('footer_y_spin_box')
self.footer_position_layout.addRow(self.footer_y_label, self.footer_y_spin_box)
self.footer_width_label = QtGui.QLabel(self.footer_position_group_box)
self.footer_width_label.setObjectName('footer_width_label')
self.footer_width_spin_box = QtGui.QSpinBox(self.footer_position_group_box)
self.footer_width_spin_box.setMaximum(9999)
self.footer_width_spin_box.setObjectName('footer_width_spin_box')
self.footer_position_layout.addRow(self.footer_width_label, self.footer_width_spin_box)
self.footer_height_label = QtGui.QLabel(self.footer_position_group_box)
self.footer_height_label.setObjectName('footer_height_label')
self.footer_height_spin_box = QtGui.QSpinBox(self.footer_position_group_box)
self.footer_height_spin_box.setMaximum(9999)
self.footer_height_spin_box.setObjectName('footer_height_spin_box')
self.footer_position_layout.addRow(self.footer_height_label, self.footer_height_spin_box)
self.area_position_layout.addWidget(self.footer_position_group_box)
themeWizard.addPage(self.area_position_page)
# Preview Page
self.previewPage = QtGui.QWizardPage()
self.previewPage.setObjectName('PreviewPage')
self.previewLayout = QtGui.QVBoxLayout(self.previewPage)
self.previewLayout.setObjectName('PreviewLayout')
self.themeNameLayout = QtGui.QFormLayout()
self.themeNameLayout.setObjectName('ThemeNameLayout')
self.themeNameLabel = QtGui.QLabel(self.previewPage)
self.themeNameLabel.setObjectName('ThemeNameLabel')
self.themeNameEdit = QtGui.QLineEdit(self.previewPage)
self.themeNameEdit.setValidator(QtGui.QRegExpValidator(QtCore.QRegExp(r'[^/\\?*|<>\[\]":<>+%]+'), self))
self.themeNameEdit.setObjectName('ThemeNameEdit')
self.themeNameLayout.addRow(self.themeNameLabel, self.themeNameEdit)
self.previewLayout.addLayout(self.themeNameLayout)
self.previewArea = QtGui.QWidget(self.previewPage)
self.previewArea.setObjectName('PreviewArea')
self.previewAreaLayout = QtGui.QGridLayout(self.previewArea)
self.previewAreaLayout.setMargin(0)
self.previewAreaLayout.setColumnStretch(0, 1)
self.previewAreaLayout.setRowStretch(0, 1)
self.previewAreaLayout.setObjectName('PreviewAreaLayout')
self.previewBoxLabel = QtGui.QLabel(self.previewArea)
self.previewBoxLabel.setFrameShape(QtGui.QFrame.Box)
self.previewBoxLabel.setScaledContents(True)
self.previewBoxLabel.setObjectName('PreviewBoxLabel')
self.previewAreaLayout.addWidget(self.previewBoxLabel)
self.previewLayout.addWidget(self.previewArea)
themeWizard.addPage(self.previewPage)
self.preview_page = QtGui.QWizardPage()
self.preview_page.setObjectName('preview_page')
self.preview_layout = QtGui.QVBoxLayout(self.preview_page)
self.preview_layout.setObjectName('preview_layout')
self.theme_name_layout = QtGui.QFormLayout()
self.theme_name_layout.setObjectName('theme_name_layout')
self.theme_name_label = QtGui.QLabel(self.preview_page)
self.theme_name_label.setObjectName('theme_name_label')
self.theme_name_edit = QtGui.QLineEdit(self.preview_page)
self.theme_name_edit.setValidator(QtGui.QRegExpValidator(QtCore.QRegExp(r'[^/\\?*|<>\[\]":<>+%]+'), self))
self.theme_name_edit.setObjectName('ThemeNameEdit')
self.theme_name_layout.addRow(self.theme_name_label, self.theme_name_edit)
self.preview_layout.addLayout(self.theme_name_layout)
self.preview_area = QtGui.QWidget(self.preview_page)
self.preview_area.setObjectName('PreviewArea')
self.preview_area_layout = QtGui.QGridLayout(self.preview_area)
self.preview_area_layout.setMargin(0)
self.preview_area_layout.setColumnStretch(0, 1)
self.preview_area_layout.setRowStretch(0, 1)
self.preview_area_layout.setObjectName('preview_area_layout')
self.preview_box_label = QtGui.QLabel(self.preview_area)
self.preview_box_label.setFrameShape(QtGui.QFrame.Box)
self.preview_box_label.setScaledContents(True)
self.preview_box_label.setObjectName('preview_box_label')
self.preview_area_layout.addWidget(self.preview_box_label)
self.preview_layout.addWidget(self.preview_area)
themeWizard.addPage(self.preview_page)
self.retranslateUi(themeWizard)
QtCore.QObject.connect(self.backgroundComboBox, QtCore.SIGNAL('currentIndexChanged(int)'),
self.backgroundStack, QtCore.SLOT('setCurrentIndex(int)'))
QtCore.QObject.connect(self.outlineCheckBox, QtCore.SIGNAL('toggled(bool)'), self.outlineColorButton,
QtCore.SLOT('setEnabled(bool)'))
QtCore.QObject.connect(self.outlineCheckBox, QtCore.SIGNAL('toggled(bool)'), self.outlineSizeSpinBox,
QtCore.SLOT('setEnabled(bool)'))
QtCore.QObject.connect(self.shadowCheckBox, QtCore.SIGNAL('toggled(bool)'), self.shadowColorButton,
QtCore.SLOT('setEnabled(bool)'))
QtCore.QObject.connect(self.shadowCheckBox, QtCore.SIGNAL('toggled(bool)'), self.shadowSizeSpinBox,
QtCore.SLOT('setEnabled(bool)'))
QtCore.QObject.connect(self.mainPositionCheckBox, QtCore.SIGNAL('toggled(bool)'), self.mainXSpinBox,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.mainPositionCheckBox, QtCore.SIGNAL('toggled(bool)'), self.mainYSpinBox,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.mainPositionCheckBox, QtCore.SIGNAL('toggled(bool)'), self.mainWidthSpinBox,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.mainPositionCheckBox, QtCore.SIGNAL('toggled(bool)'), self.mainHeightSpinBox,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.footerPositionCheckBox, QtCore.SIGNAL('toggled(bool)'), self.footerXSpinBox,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.footerPositionCheckBox, QtCore.SIGNAL('toggled(bool)'), self.footerYSpinBox,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.footerPositionCheckBox, QtCore.SIGNAL('toggled(bool)'), self.footerWidthSpinBox,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.footerPositionCheckBox, QtCore.SIGNAL('toggled(bool)'), self.footerHeightSpinBox,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.background_combo_box, QtCore.SIGNAL('currentIndexChanged(int)'),
self.background_stack, QtCore.SLOT('setCurrentIndex(int)'))
QtCore.QObject.connect(self.outline_check_box, QtCore.SIGNAL('toggled(bool)'), self.outline_color_button,
QtCore.SLOT('setEnabled(bool)'))
QtCore.QObject.connect(self.outline_check_box, QtCore.SIGNAL('toggled(bool)'), self.outline_size_spin_box,
QtCore.SLOT('setEnabled(bool)'))
QtCore.QObject.connect(self.shadow_check_box, QtCore.SIGNAL('toggled(bool)'), self.shadow_color_button,
QtCore.SLOT('setEnabled(bool)'))
QtCore.QObject.connect(self.shadow_check_box, QtCore.SIGNAL('toggled(bool)'), self.shadow_size_spin_box,
QtCore.SLOT('setEnabled(bool)'))
QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_x_spin_box,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_y_spin_box,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_width_spin_box,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.main_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.main_height_spin_box,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.footer_x_spin_box,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.footer_y_spin_box,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.footer_width_spin_box,
QtCore.SLOT('setDisabled(bool)'))
QtCore.QObject.connect(self.footer_position_check_box, QtCore.SIGNAL('toggled(bool)'), self.footer_height_spin_box,
QtCore.SLOT('setDisabled(bool)'))
def retranslateUi(self, themeWizard):
"""
@ -396,95 +396,96 @@ class Ui_ThemeWizard(object):
"""
themeWizard.setWindowTitle(translate('OpenLP.ThemeWizard', 'Theme Wizard'))
self.title_label.setText('<span style="font-size:14pt; font-weight:600;">%s</span>' %
translate('OpenLP.ThemeWizard', 'Welcome to the Theme Wizard'))
translate('OpenLP.ThemeWizard', 'Welcome to the Theme Wizard'))
self.information_label.setText(
translate('OpenLP.ThemeWizard', 'This wizard will help you to create and edit your themes. Click the next '
'button below to start the process by setting up your background.'))
self.backgroundPage.setTitle(translate('OpenLP.ThemeWizard', 'Set Up Background'))
self.backgroundPage.setSubTitle(translate('OpenLP.ThemeWizard', 'Set up your theme\'s background '
'according to the parameters below.'))
self.backgroundLabel.setText(translate('OpenLP.ThemeWizard', 'Background type:'))
self.backgroundComboBox.setItemText(BackgroundType.Solid,
translate('OpenLP.ThemeWizard', 'Solid Color'))
self.backgroundComboBox.setItemText(BackgroundType.Gradient,
translate('OpenLP.ThemeWizard', 'Gradient'))
self.backgroundComboBox.setItemText(BackgroundType.Image, UiStrings().Image)
self.backgroundComboBox.setItemText(BackgroundType.Transparent, translate('OpenLP.ThemeWizard', 'Transparent'))
self.colorLabel.setText(translate('OpenLP.ThemeWizard', 'Color:'))
self.gradientStartLabel.setText(translate('OpenLP.ThemeWizard', 'Starting color:'))
self.gradientEndLabel.setText(translate('OpenLP.ThemeWizard', 'Ending color:'))
self.gradientTypeLabel.setText(translate('OpenLP.ThemeWizard', 'Gradient:'))
self.gradientComboBox.setItemText(BackgroundGradientType.Horizontal,
translate('OpenLP.ThemeWizard', 'Horizontal'))
self.gradientComboBox.setItemText(BackgroundGradientType.Vertical, translate('OpenLP.ThemeWizard', 'Vertical'))
self.gradientComboBox.setItemText(BackgroundGradientType.Circular, translate('OpenLP.ThemeWizard', 'Circular'))
self.gradientComboBox.setItemText(BackgroundGradientType.LeftTop,
translate('OpenLP.ThemeWizard', 'Top Left - Bottom Right'))
self.gradientComboBox.setItemText(BackgroundGradientType.LeftBottom,
translate('OpenLP.ThemeWizard', 'Bottom Left - Top Right'))
self.imageColorLabel.setText(translate('OpenLP.ThemeWizard', 'Background color:'))
self.imageLabel.setText('%s:' % UiStrings().Image)
self.mainAreaPage.setTitle(translate('OpenLP.ThemeWizard', 'Main Area Font Details'))
self.mainAreaPage.setSubTitle(translate('OpenLP.ThemeWizard', 'Define the font and display '
'characteristics for the Display text'))
self.mainFontLabel.setText(translate('OpenLP.ThemeWizard', 'Font:'))
self.mainColorLabel.setText(translate('OpenLP.ThemeWizard', 'Color:'))
self.mainSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.mainSizeSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.lineSpacingLabel.setText(translate('OpenLP.ThemeWizard', 'Line Spacing:'))
self.lineSpacingSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.outlineCheckBox.setText(translate('OpenLP.ThemeWizard', '&Outline:'))
self.outlineSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.outlineSizeSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.shadowCheckBox.setText(translate('OpenLP.ThemeWizard', '&Shadow:'))
self.shadowSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.shadowSizeSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.mainBoldCheckBox.setText(translate('OpenLP.ThemeWizard', 'Bold'))
self.mainItalicsCheckBox.setText(translate('OpenLP.ThemeWizard', 'Italic'))
self.footerAreaPage.setTitle(translate('OpenLP.ThemeWizard', 'Footer Area Font Details'))
self.footerAreaPage.setSubTitle(translate('OpenLP.ThemeWizard', 'Define the font and display '
'characteristics for the Footer text'))
self.footerFontLabel.setText(translate('OpenLP.ThemeWizard', 'Font:'))
self.footerColorLabel.setText(translate('OpenLP.ThemeWizard', 'Color:'))
self.footerSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.footerSizeSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.alignmentPage.setTitle(translate('OpenLP.ThemeWizard', 'Text Formatting Details'))
self.alignmentPage.setSubTitle(translate('OpenLP.ThemeWizard', 'Allows additional display '
'formatting information to be defined'))
self.horizontalLabel.setText(translate('OpenLP.ThemeWizard', 'Horizontal Align:'))
self.horizontalComboBox.setItemText(HorizontalType.Left, translate('OpenLP.ThemeWizard', 'Left'))
self.horizontalComboBox.setItemText(HorizontalType.Right, translate('OpenLP.ThemeWizard', 'Right'))
self.horizontalComboBox.setItemText(HorizontalType.Center, translate('OpenLP.ThemeWizard', 'Center'))
self.horizontalComboBox.setItemText(HorizontalType.Justify, translate('OpenLP.ThemeWizard', 'Justify'))
self.transitionsLabel.setText(translate('OpenLP.ThemeWizard', 'Transitions:'))
self.areaPositionPage.setTitle(translate('OpenLP.ThemeWizard', 'Output Area Locations'))
self.areaPositionPage.setSubTitle(translate('OpenLP.ThemeWizard', 'Allows you to change and move the'
' main and footer areas.'))
self.mainPositionGroupBox.setTitle(translate('OpenLP.ThemeWizard', '&Main Area'))
self.mainPositionCheckBox.setText(translate('OpenLP.ThemeWizard', '&Use default location'))
self.mainXLabel.setText(translate('OpenLP.ThemeWizard', 'X position:'))
self.mainXSpinBox.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.mainYSpinBox.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.mainYLabel.setText(translate('OpenLP.ThemeWizard', 'Y position:'))
self.mainWidthSpinBox.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.mainWidthLabel.setText(translate('OpenLP.ThemeWizard', 'Width:'))
self.mainHeightSpinBox.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.mainHeightLabel.setText(translate('OpenLP.ThemeWizard', 'Height:'))
self.footerPositionGroupBox.setTitle(translate('OpenLP.ThemeWizard', '&Footer Area'))
self.footerXLabel.setText(translate('OpenLP.ThemeWizard', 'X position:'))
self.footerXSpinBox.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.footerYLabel.setText(translate('OpenLP.ThemeWizard', 'Y position:'))
self.footerYSpinBox.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.footerWidthLabel.setText(translate('OpenLP.ThemeWizard', 'Width:'))
self.footerWidthSpinBox.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.footerHeightLabel.setText(translate('OpenLP.ThemeWizard', 'Height:'))
self.footerHeightSpinBox.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.footerPositionCheckBox.setText(translate('OpenLP.ThemeWizard', 'Use default location'))
'button below to start the process by setting up your background.'))
self.background_page.setTitle(translate('OpenLP.ThemeWizard', 'Set Up Background'))
self.background_page.setSubTitle(translate('OpenLP.ThemeWizard', 'Set up your theme\'s background '
'according to the parameters below.'))
self.background_label.setText(translate('OpenLP.ThemeWizard', 'Background type:'))
self.background_combo_box.setItemText(BackgroundType.Solid,
translate('OpenLP.ThemeWizard', 'Solid color'))
self.background_combo_box.setItemText(BackgroundType.Gradient,
translate('OpenLP.ThemeWizard', 'Gradient'))
self.background_combo_box.setItemText(BackgroundType.Image, UiStrings().Image)
self.background_combo_box.setItemText(BackgroundType.Transparent, translate('OpenLP.ThemeWizard', 'Transparent'))
self.color_label.setText(translate('OpenLP.ThemeWizard', 'color:'))
self.gradient_start_label.setText(translate('OpenLP.ThemeWizard', 'Starting color:'))
self.gradient_end_label.setText(translate('OpenLP.ThemeWizard', 'Ending color:'))
self.gradient_type_label.setText(translate('OpenLP.ThemeWizard', 'Gradient:'))
self.gradient_combo_box.setItemText(BackgroundGradientType.Horizontal,
translate('OpenLP.ThemeWizard', 'Horizontal'))
self.gradient_combo_box.setItemText(BackgroundGradientType.Vertical, translate('OpenLP.ThemeWizard', 'Vertical'))
self.gradient_combo_box.setItemText(BackgroundGradientType.Circular, translate('OpenLP.ThemeWizard', 'Circular'))
self.gradient_combo_box.setItemText(BackgroundGradientType.LeftTop,
translate('OpenLP.ThemeWizard', 'Top Left - Bottom Right'))
self.gradient_combo_box.setItemText(BackgroundGradientType.LeftBottom,
translate('OpenLP.ThemeWizard', 'Bottom Left - Top Right'))
self.image_color_label.setText(translate('OpenLP.ThemeWizard', 'Background color:'))
self.image_label.setText('%s:' % UiStrings().Image)
self.main_area_page.setTitle(translate('OpenLP.ThemeWizard', 'Main Area Font Details'))
self.main_area_page.setSubTitle(translate('OpenLP.ThemeWizard', 'Define the font and display '
'characteristics for the Display text'))
self.main_font_label.setText(translate('OpenLP.ThemeWizard', 'Font:'))
self.main_color_label.setText(translate('OpenLP.ThemeWizard', 'color:'))
self.main_size_label.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.main_size_spin_box.setSuffix(UiStrings().FontSizePtUnit)
self.line_spacing_label.setText(translate('OpenLP.ThemeWizard', 'Line Spacing:'))
self.line_spacing_spin_box.setSuffix(UiStrings().FontSizePtUnit)
self.outline_check_box.setText(translate('OpenLP.ThemeWizard', '&Outline:'))
self.outline_size_label.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.outline_size_spin_box.setSuffix(UiStrings().FontSizePtUnit)
self.shadow_check_box.setText(translate('OpenLP.ThemeWizard', '&Shadow:'))
self.shadow_size_label.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.shadow_size_spin_box.setSuffix(UiStrings().FontSizePtUnit)
self.main_bold_check_box.setText(translate('OpenLP.ThemeWizard', 'Bold'))
self.main_italics_check_box.setText(translate('OpenLP.ThemeWizard', 'Italic'))
self.footer_area_page.setTitle(translate('OpenLP.ThemeWizard', 'Footer Area Font Details'))
self.footer_area_page.setSubTitle(translate('OpenLP.ThemeWizard', 'Define the font and display '
'characteristics for the Footer text'))
self.footer_font_label.setText(translate('OpenLP.ThemeWizard', 'Font:'))
self.footer_color_label.setText(translate('OpenLP.ThemeWizard', 'color:'))
self.footer_size_label.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.footer_size_spin_box.setSuffix(UiStrings().FontSizePtUnit)
self.alignment_page.setTitle(translate('OpenLP.ThemeWizard', 'Text Formatting Details'))
self.alignment_page.setSubTitle(translate('OpenLP.ThemeWizard', 'Allows additional display '
'formatting information to be defined'))
self.horizontal_label.setText(translate('OpenLP.ThemeWizard', 'Horizontal Align:'))
self.horizontal_combo_box.setItemText(HorizontalType.Left, translate('OpenLP.ThemeWizard', 'Left'))
self.horizontal_combo_box.setItemText(HorizontalType.Right, translate('OpenLP.ThemeWizard', 'Right'))
self.horizontal_combo_box.setItemText(HorizontalType.Center, translate('OpenLP.ThemeWizard', 'Center'))
self.horizontal_combo_box.setItemText(HorizontalType.Justify, translate('OpenLP.ThemeWizard', 'Justify'))
self.transitions_label.setText(translate('OpenLP.ThemeWizard', 'Transitions:'))
self.area_position_page.setTitle(translate('OpenLP.ThemeWizard', 'Output Area Locations'))
self.area_position_page.setSubTitle(translate('OpenLP.ThemeWizard', 'Allows you to change and move the'
' Main and Footer areas.'))
self.main_position_group_box.setTitle(translate('OpenLP.ThemeWizard', '&Main Area'))
self.main_position_check_box.setText(translate('OpenLP.ThemeWizard', '&Use default location'))
self.main_x_label.setText(translate('OpenLP.ThemeWizard', 'X position:'))
self.main_x_spin_box.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.main_y_spin_box.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.main_y_label.setText(translate('OpenLP.ThemeWizard', 'Y position:'))
self.main_width_spin_box.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.main_width_label.setText(translate('OpenLP.ThemeWizard', 'Width:'))
self.main_height_spin_box.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.main_height_label.setText(translate('OpenLP.ThemeWizard', 'Height:'))
self.footer_position_group_box.setTitle(translate('OpenLP.ThemeWizard', '&Footer Area'))
self.footer_x_label.setText(translate('OpenLP.ThemeWizard', 'X position:'))
self.footer_x_spin_box.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.footer_y_label.setText(translate('OpenLP.ThemeWizard', 'Y position:'))
self.footer_y_spin_box.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.footer_width_label.setText(translate('OpenLP.ThemeWizard', 'Width:'))
self.footer_width_spin_box.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.footer_height_label.setText(translate('OpenLP.ThemeWizard', 'Height:'))
self.footer_height_spin_box.setSuffix(translate('OpenLP.ThemeWizard', 'px'))
self.footer_position_check_box.setText(translate('OpenLP.ThemeWizard', 'Use default location'))
themeWizard.setOption(QtGui.QWizard.HaveCustomButton1, False)
themeWizard.setButtonText(QtGui.QWizard.CustomButton1, translate('OpenLP.ThemeWizard', 'Layout Preview'))
self.previewPage.setTitle(translate('OpenLP.ThemeWizard', 'Preview and Save'))
self.previewPage.setSubTitle(translate('OpenLP.ThemeWizard', 'Preview the theme and save it.'))
self.themeNameLabel.setText(translate('OpenLP.ThemeWizard', 'Theme name:'))
self.preview_page.setTitle(translate('OpenLP.ThemeWizard', 'Preview and Save'))
self.preview_page.setSubTitle(translate('OpenLP.ThemeWizard', 'Preview the theme and save it.'))
self.theme_name_label.setText(translate('OpenLP.ThemeWizard', 'Theme name:'))
# Align all QFormLayouts towards each other.
labelWidth = max(self.backgroundLabel.minimumSizeHint().width(), self.horizontalLabel.minimumSizeHint().width())
self.spacer.changeSize(labelWidth, 0, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
label_width = max(self.background_label.minimumSizeHint().width(),
self.horizontal_label.minimumSizeHint().width())
self.spacer.changeSize(label_width, 0, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)