From 61c763639b19a5189af9380d64866ac6a9025f65 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 17 Oct 2010 19:58:42 +0100 Subject: [PATCH] Theme cleanup and more UI work. --- openlp/core/lib/__init__.py | 3 +- openlp/core/lib/theme.py | 12 +- openlp/core/ui/__init__.py | 3 +- .../ui/{themewizard.py => themedialog.py} | 217 +++++++++--------- .../ui/{themewizardform.py => themeform.py} | 27 ++- openlp/core/ui/thememanager.py | 28 +-- .../forms/{themewizard.ui => themedialog.ui} | 16 +- 7 files changed, 157 insertions(+), 149 deletions(-) rename openlp/core/ui/{themewizard.py => themedialog.py} (82%) rename openlp/core/ui/{themewizardform.py => themeform.py} (95%) rename resources/forms/{themewizard.ui => themedialog.ui} (98%) diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py index e00cf7157..bc05c7ba6 100644 --- a/openlp/core/lib/__init__.py +++ b/openlp/core/lib/__init__.py @@ -312,7 +312,8 @@ def expand_tags(text): text = text.replace(tag[u'end tag'], tag[u'end html']) return text -from theme import ThemeLevel, ThemeXML, BackgroundGradientType, BackgroundType +from theme import ThemeLevel, ThemeXML, BackgroundGradientType, BackgroundType, \ + HorizontalType, VerticalType from spelltextedit import SpellTextEdit from eventreceiver import Receiver from settingsmanager import SettingsManager diff --git a/openlp/core/lib/theme.py b/openlp/core/lib/theme.py index d3ddb257b..f84882857 100644 --- a/openlp/core/lib/theme.py +++ b/openlp/core/lib/theme.py @@ -41,7 +41,7 @@ log = logging.getLogger(__name__) BLANK_THEME_XML = \ ''' - BlankStyle + @@ -147,6 +147,16 @@ class BackgroundGradientType(object): elif type_string == u'leftBottom': return BackgroundGradientType.LeftBottom +class HorizontalType(object): + Left = 0 + Center = 1 + Right = 2 + +class VerticalType(object): + Top = 0 + Middle = 1 + Bottom = 2 + boolean_list = [u'bold', u'italics', u'override', u'outline', u'shadow', \ u'slide_transition'] diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index ca671f61a..df7736faf 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -37,14 +37,13 @@ class HideMode(object): Theme = 2 Screen = 3 -from themewizardform import ThemeWizardForm +from themeform import ThemeForm from filerenameform import FileRenameForm from maindisplay import MainDisplay from slidecontroller import HideMode from servicenoteform import ServiceNoteForm from serviceitemeditform import ServiceItemEditForm from screen import ScreenList -from amendthemeform import AmendThemeForm from slidecontroller import SlideController from splashscreen import SplashScreen from generaltab import GeneralTab diff --git a/openlp/core/ui/themewizard.py b/openlp/core/ui/themedialog.py similarity index 82% rename from openlp/core/ui/themewizard.py rename to openlp/core/ui/themedialog.py index 1482ab340..abf676c95 100644 --- a/openlp/core/ui/themewizard.py +++ b/openlp/core/ui/themedialog.py @@ -1,21 +1,21 @@ # -*- coding: utf-8 -*- -# Form implementation generated from reading ui file 'themewizard.ui' +# Form implementation generated from reading ui file 'themedialog.ui' # -# Created: Sat Oct 9 19:28:22 2010 +# Created: Sun Oct 17 19:46:30 2010 # by: PyQt4 UI code generator 4.7.4 # # WARNING! All changes made in this file will be lost! from PyQt4 import QtCore, QtGui -class Ui_ThemeWizard(object): - def setupUi(self, ThemeWizard): - ThemeWizard.setObjectName("ThemeWizard") - ThemeWizard.resize(550, 386) - ThemeWizard.setModal(True) - ThemeWizard.setWizardStyle(QtGui.QWizard.ModernStyle) - ThemeWizard.setOptions(QtGui.QWizard.NoBackButtonOnStartPage) +class Ui_ThemeDialog(object): + def setupUi(self, ThemeDialog): + ThemeDialog.setObjectName("ThemeDialog") + ThemeDialog.resize(550, 386) + ThemeDialog.setModal(True) + ThemeDialog.setWizardStyle(QtGui.QWizard.ModernStyle) + ThemeDialog.setOptions(QtGui.QWizard.NoBackButtonOnStartPage) self.welcomePage = QtGui.QWizardPage() self.welcomePage.setTitle("") self.welcomePage.setSubTitle("") @@ -49,7 +49,7 @@ class Ui_ThemeWizard(object): spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.welcomePageLayout.addItem(spacerItem1) self.welcomeLayout.addLayout(self.welcomePageLayout) - ThemeWizard.addPage(self.welcomePage) + ThemeDialog.addPage(self.welcomePage) self.backgroundPage = QtGui.QWizardPage() self.backgroundPage.setObjectName("backgroundPage") self.backgroundLayout = QtGui.QFormLayout(self.backgroundPage) @@ -109,7 +109,7 @@ class Ui_ThemeWizard(object): self.gradientComboBox.addItem("") self.gradientComboBox.addItem("") self.backgroundLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.gradientComboBox) - ThemeWizard.addPage(self.backgroundPage) + ThemeDialog.addPage(self.backgroundPage) self.mainAreaPage = QtGui.QWizardPage() self.mainAreaPage.setObjectName("mainAreaPage") self.formLayout = QtGui.QFormLayout(self.mainAreaPage) @@ -200,7 +200,7 @@ class Ui_ThemeWizard(object): self.italicsCheckBox = QtGui.QCheckBox(self.mainAreaPage) self.italicsCheckBox.setObjectName("italicsCheckBox") self.formLayout.setWidget(7, QtGui.QFormLayout.FieldRole, self.italicsCheckBox) - ThemeWizard.addPage(self.mainAreaPage) + ThemeDialog.addPage(self.mainAreaPage) self.footerAreaPage = QtGui.QWizardPage() self.footerAreaPage.setObjectName("footerAreaPage") self.footerLayout = QtGui.QFormLayout(self.footerAreaPage) @@ -235,15 +235,15 @@ class Ui_ThemeWizard(object): self.footerSizeSpinBox.setProperty("value", 10) self.footerSizeSpinBox.setObjectName("footerSizeSpinBox") self.footerLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.footerSizeSpinBox) - ThemeWizard.addPage(self.footerAreaPage) + ThemeDialog.addPage(self.footerAreaPage) self.alignmentPage = QtGui.QWizardPage() self.alignmentPage.setObjectName("alignmentPage") self.formLayout_2 = QtGui.QFormLayout(self.alignmentPage) self.formLayout_2.setMargin(20) self.formLayout_2.setObjectName("formLayout_2") - self.HorizontalLabel = QtGui.QLabel(self.alignmentPage) - self.HorizontalLabel.setObjectName("HorizontalLabel") - self.formLayout_2.setWidget(0, QtGui.QFormLayout.LabelRole, self.HorizontalLabel) + self.horizontalLabel = QtGui.QLabel(self.alignmentPage) + self.horizontalLabel.setObjectName("horizontalLabel") + self.formLayout_2.setWidget(0, QtGui.QFormLayout.LabelRole, self.horizontalLabel) self.horizontalComboBox = QtGui.QComboBox(self.alignmentPage) self.horizontalComboBox.setEditable(False) self.horizontalComboBox.setObjectName("horizontalComboBox") @@ -251,19 +251,19 @@ class Ui_ThemeWizard(object): self.horizontalComboBox.addItem("") self.horizontalComboBox.addItem("") self.formLayout_2.setWidget(0, QtGui.QFormLayout.FieldRole, self.horizontalComboBox) - self.Verticallabe = QtGui.QLabel(self.alignmentPage) - self.Verticallabe.setObjectName("Verticallabe") - self.formLayout_2.setWidget(1, QtGui.QFormLayout.LabelRole, self.Verticallabe) + self.verticalLabel = QtGui.QLabel(self.alignmentPage) + self.verticalLabel.setObjectName("verticalLabel") + self.formLayout_2.setWidget(1, QtGui.QFormLayout.LabelRole, self.verticalLabel) self.verticalComboBox = QtGui.QComboBox(self.alignmentPage) self.verticalComboBox.setObjectName("verticalComboBox") self.verticalComboBox.addItem("") self.verticalComboBox.addItem("") self.verticalComboBox.addItem("") self.formLayout_2.setWidget(1, QtGui.QFormLayout.FieldRole, self.verticalComboBox) - self.TransitionsCheckBox = QtGui.QCheckBox(self.alignmentPage) - self.TransitionsCheckBox.setObjectName("TransitionsCheckBox") - self.formLayout_2.setWidget(2, QtGui.QFormLayout.FieldRole, self.TransitionsCheckBox) - ThemeWizard.addPage(self.alignmentPage) + self.transitionsCheckBox = QtGui.QCheckBox(self.alignmentPage) + self.transitionsCheckBox.setObjectName("transitionsCheckBox") + self.formLayout_2.setWidget(2, QtGui.QFormLayout.FieldRole, self.transitionsCheckBox) + ThemeDialog.addPage(self.alignmentPage) self.areaPositionPage = QtGui.QWizardPage() self.areaPositionPage.setObjectName("areaPositionPage") self.gridLayout_2 = QtGui.QGridLayout(self.areaPositionPage) @@ -400,7 +400,7 @@ class Ui_ThemeWizard(object): self.footerDefaultPositionCheckBox.setObjectName("footerDefaultPositionCheckBox") self.footerPositionLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.footerDefaultPositionCheckBox) self.gridLayout_2.addWidget(self.footerPositionGroupBox, 1, 1, 1, 1) - ThemeWizard.addPage(self.areaPositionPage) + ThemeDialog.addPage(self.areaPositionPage) self.previewPage = QtGui.QWizardPage() self.previewPage.setObjectName("previewPage") self.previewLayout = QtGui.QGridLayout(self.previewPage) @@ -425,11 +425,6 @@ class Ui_ThemeWizard(object): spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.previewBoxLayout.addItem(spacerItem2) self.previewBoxLabel = QtGui.QLabel(self.previewPage) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.previewBoxLabel.sizePolicy().hasHeightForWidth()) - self.previewBoxLabel.setSizePolicy(sizePolicy) self.previewBoxLabel.setMinimumSize(QtCore.QSize(300, 200)) self.previewBoxLabel.setFrameShape(QtGui.QFrame.WinPanel) self.previewBoxLabel.setFrameShadow(QtGui.QFrame.Sunken) @@ -441,92 +436,92 @@ class Ui_ThemeWizard(object): spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.previewBoxLayout.addItem(spacerItem3) self.previewLayout.addLayout(self.previewBoxLayout, 3, 0, 1, 2) - ThemeWizard.addPage(self.previewPage) + ThemeDialog.addPage(self.previewPage) self.themeNameLabel.setBuddy(self.themeNameEdit) - self.retranslateUi(ThemeWizard) - QtCore.QMetaObject.connectSlotsByName(ThemeWizard) + self.retranslateUi(ThemeDialog) + QtCore.QMetaObject.connectSlotsByName(ThemeDialog) - def retranslateUi(self, ThemeWizard): - ThemeWizard.setWindowTitle(QtGui.QApplication.translate("ThemeWizard", "Theme Wizard", None, QtGui.QApplication.UnicodeUTF8)) - self.titleLabel.setText(QtGui.QApplication.translate("ThemeWizard", "\n" + def retranslateUi(self, ThemeDialog): + ThemeDialog.setWindowTitle(QtGui.QApplication.translate("ThemeDialog", "Theme Wizard", None, QtGui.QApplication.UnicodeUTF8)) + self.titleLabel.setText(QtGui.QApplication.translate("ThemeDialog", "\n" "\n" "

Welcome to the Theme Wizard

", None, QtGui.QApplication.UnicodeUTF8)) - self.informationLabel.setText(QtGui.QApplication.translate("ThemeWizard", "This wizard will help you to maintain Themes . Click the next button below to start the process by setting up your background.", None, QtGui.QApplication.UnicodeUTF8)) - self.backgroundPage.setTitle(QtGui.QApplication.translate("ThemeWizard", "Set Up Background", None, QtGui.QApplication.UnicodeUTF8)) - self.backgroundPage.setSubTitle(QtGui.QApplication.translate("ThemeWizard", "Set up your theme\'s background according to the parameters below.", None, QtGui.QApplication.UnicodeUTF8)) - self.backgroundTypeLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Background type:", None, QtGui.QApplication.UnicodeUTF8)) - self.backgroundTypeComboBox.setItemText(0, QtGui.QApplication.translate("ThemeWizard", "Solid Color", None, QtGui.QApplication.UnicodeUTF8)) - self.backgroundTypeComboBox.setItemText(1, QtGui.QApplication.translate("ThemeWizard", "Gradient", None, QtGui.QApplication.UnicodeUTF8)) - self.backgroundTypeComboBox.setItemText(2, QtGui.QApplication.translate("ThemeWizard", "Image", None, QtGui.QApplication.UnicodeUTF8)) - self.color1Label.setText(QtGui.QApplication.translate("ThemeWizard", "", None, QtGui.QApplication.UnicodeUTF8)) - self.color2Label.setText(QtGui.QApplication.translate("ThemeWizard", "", None, QtGui.QApplication.UnicodeUTF8)) - self.imageLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Image:", None, QtGui.QApplication.UnicodeUTF8)) - self.gradientLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Gradient:", None, QtGui.QApplication.UnicodeUTF8)) - self.gradientComboBox.setItemText(0, QtGui.QApplication.translate("ThemeWizard", "Horizontal", None, QtGui.QApplication.UnicodeUTF8)) - self.gradientComboBox.setItemText(1, QtGui.QApplication.translate("ThemeWizard", "Vertical", None, QtGui.QApplication.UnicodeUTF8)) - self.gradientComboBox.setItemText(2, QtGui.QApplication.translate("ThemeWizard", "Circular", None, QtGui.QApplication.UnicodeUTF8)) - self.gradientComboBox.setItemText(3, QtGui.QApplication.translate("ThemeWizard", "Top Left - Bottom Right", None, QtGui.QApplication.UnicodeUTF8)) - self.gradientComboBox.setItemText(4, QtGui.QApplication.translate("ThemeWizard", "Bottom Left - Top Right", None, QtGui.QApplication.UnicodeUTF8)) - self.mainAreaPage.setTitle(QtGui.QApplication.translate("ThemeWizard", "Main Area Font Details", None, QtGui.QApplication.UnicodeUTF8)) - self.mainAreaPage.setSubTitle(QtGui.QApplication.translate("ThemeWizard", "Define the font and display characteristics for the Display text", None, QtGui.QApplication.UnicodeUTF8)) - self.mainFontLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Font:", None, QtGui.QApplication.UnicodeUTF8)) - self.mainColorLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Color:", None, QtGui.QApplication.UnicodeUTF8)) - self.mainSizeLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Size:", None, QtGui.QApplication.UnicodeUTF8)) - self.mainSizeSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "pt", None, QtGui.QApplication.UnicodeUTF8)) - self.mainLineCountLabel.setText(QtGui.QApplication.translate("ThemeWizard", "(%d lines per slide)", None, QtGui.QApplication.UnicodeUTF8)) - self.lineSpacingLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Line Spacing:", None, QtGui.QApplication.UnicodeUTF8)) - self.lineSpacingSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "pt", None, QtGui.QApplication.UnicodeUTF8)) - self.outlineCheckBox.setText(QtGui.QApplication.translate("ThemeWizard", "&Outline:", None, QtGui.QApplication.UnicodeUTF8)) - self.outlineSizeLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Size:", None, QtGui.QApplication.UnicodeUTF8)) - self.outlineSizeSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "pt", None, QtGui.QApplication.UnicodeUTF8)) - self.shadowCheckBox.setText(QtGui.QApplication.translate("ThemeWizard", "&Shadow:", None, QtGui.QApplication.UnicodeUTF8)) - self.shadowSizeLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Size:", None, QtGui.QApplication.UnicodeUTF8)) - self.shadowSizeSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "pt", None, QtGui.QApplication.UnicodeUTF8)) - self.boldCheckBox.setText(QtGui.QApplication.translate("ThemeWizard", "Bold Display", None, QtGui.QApplication.UnicodeUTF8)) - self.italicsCheckBox.setText(QtGui.QApplication.translate("ThemeWizard", "Italic Display", None, QtGui.QApplication.UnicodeUTF8)) - self.footerAreaPage.setTitle(QtGui.QApplication.translate("ThemeWizard", "Footer Area Font Details", None, QtGui.QApplication.UnicodeUTF8)) - self.footerAreaPage.setSubTitle(QtGui.QApplication.translate("ThemeWizard", "Define the font and display characteristics for the Footer text", None, QtGui.QApplication.UnicodeUTF8)) - self.footerFontLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Font:", None, QtGui.QApplication.UnicodeUTF8)) - self.footerColorLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Color:", None, QtGui.QApplication.UnicodeUTF8)) - self.footerSizeLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Size:", None, QtGui.QApplication.UnicodeUTF8)) - self.footerSizeSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "pt", None, QtGui.QApplication.UnicodeUTF8)) - self.alignmentPage.setTitle(QtGui.QApplication.translate("ThemeWizard", "Text Formatting Details", None, QtGui.QApplication.UnicodeUTF8)) - self.alignmentPage.setSubTitle(QtGui.QApplication.translate("ThemeWizard", "Allows additional display formatting information to be defined", None, QtGui.QApplication.UnicodeUTF8)) - self.HorizontalLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Horizontal Align:", None, QtGui.QApplication.UnicodeUTF8)) - self.horizontalComboBox.setItemText(0, QtGui.QApplication.translate("ThemeWizard", "Left", None, QtGui.QApplication.UnicodeUTF8)) - self.horizontalComboBox.setItemText(1, QtGui.QApplication.translate("ThemeWizard", "Center", None, QtGui.QApplication.UnicodeUTF8)) - self.horizontalComboBox.setItemText(2, QtGui.QApplication.translate("ThemeWizard", "Right", None, QtGui.QApplication.UnicodeUTF8)) - self.Verticallabe.setText(QtGui.QApplication.translate("ThemeWizard", "Vertcal Align:", None, QtGui.QApplication.UnicodeUTF8)) - self.verticalComboBox.setItemText(0, QtGui.QApplication.translate("ThemeWizard", "Top", None, QtGui.QApplication.UnicodeUTF8)) - self.verticalComboBox.setItemText(1, QtGui.QApplication.translate("ThemeWizard", "Middle", None, QtGui.QApplication.UnicodeUTF8)) - self.verticalComboBox.setItemText(2, QtGui.QApplication.translate("ThemeWizard", "Bottom", None, QtGui.QApplication.UnicodeUTF8)) - self.TransitionsCheckBox.setText(QtGui.QApplication.translate("ThemeWizard", "Transitions", None, QtGui.QApplication.UnicodeUTF8)) - self.areaPositionPage.setTitle(QtGui.QApplication.translate("ThemeWizard", "Output Area Locations", None, QtGui.QApplication.UnicodeUTF8)) - self.areaPositionPage.setSubTitle(QtGui.QApplication.translate("ThemeWizard", "Allows you to change and move the Main and Footer areas.", None, QtGui.QApplication.UnicodeUTF8)) - self.mainPositionGroupBox.setTitle(QtGui.QApplication.translate("ThemeWizard", "&Main Area", None, QtGui.QApplication.UnicodeUTF8)) - self.mainDefaultPositionCheckBox.setText(QtGui.QApplication.translate("ThemeWizard", "&Use default location", None, QtGui.QApplication.UnicodeUTF8)) - self.nainXLabel.setText(QtGui.QApplication.translate("ThemeWizard", "X position:", None, QtGui.QApplication.UnicodeUTF8)) - self.mainXSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "px", None, QtGui.QApplication.UnicodeUTF8)) - self.mainYSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "px", None, QtGui.QApplication.UnicodeUTF8)) - self.mainYLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Y position:", None, QtGui.QApplication.UnicodeUTF8)) - self.mainWidthSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "px", None, QtGui.QApplication.UnicodeUTF8)) - self.mainWidthLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Width:", None, QtGui.QApplication.UnicodeUTF8)) - self.mainHeightSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "px", None, QtGui.QApplication.UnicodeUTF8)) - self.mainHeightLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Height:", None, QtGui.QApplication.UnicodeUTF8)) - self.footerPositionGroupBox.setTitle(QtGui.QApplication.translate("ThemeWizard", "Footer Area", None, QtGui.QApplication.UnicodeUTF8)) - self.footerXLabel.setText(QtGui.QApplication.translate("ThemeWizard", "X position:", None, QtGui.QApplication.UnicodeUTF8)) - self.footerXSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "px", None, QtGui.QApplication.UnicodeUTF8)) - self.footerYLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Y position:", None, QtGui.QApplication.UnicodeUTF8)) - self.footerYSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "px", None, QtGui.QApplication.UnicodeUTF8)) - self.footerWidthLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Width:", None, QtGui.QApplication.UnicodeUTF8)) - self.footerWidthSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "px", None, QtGui.QApplication.UnicodeUTF8)) - self.footerHeightLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Height:", None, QtGui.QApplication.UnicodeUTF8)) - self.footerHeightSpinBox.setSuffix(QtGui.QApplication.translate("ThemeWizard", "px", None, QtGui.QApplication.UnicodeUTF8)) - self.footerDefaultPositionCheckBox.setText(QtGui.QApplication.translate("ThemeWizard", "Use default location", None, QtGui.QApplication.UnicodeUTF8)) - self.previewPage.setTitle(QtGui.QApplication.translate("ThemeWizard", "Save and Preview", None, QtGui.QApplication.UnicodeUTF8)) - self.previewPage.setSubTitle(QtGui.QApplication.translate("ThemeWizard", "View the theme and save it replacing the current one or change the name to create a new theme", None, QtGui.QApplication.UnicodeUTF8)) - self.themeNameLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Theme name:", None, QtGui.QApplication.UnicodeUTF8)) - self.previewLabel.setText(QtGui.QApplication.translate("ThemeWizard", "Preview", None, QtGui.QApplication.UnicodeUTF8)) + self.informationLabel.setText(QtGui.QApplication.translate("ThemeDialog", "This wizard will help you to maintain Themes . Click the next button below to start the process by setting up your background.", None, QtGui.QApplication.UnicodeUTF8)) + self.backgroundPage.setTitle(QtGui.QApplication.translate("ThemeDialog", "Set Up Background", None, QtGui.QApplication.UnicodeUTF8)) + self.backgroundPage.setSubTitle(QtGui.QApplication.translate("ThemeDialog", "Set up your theme\'s background according to the parameters below.", None, QtGui.QApplication.UnicodeUTF8)) + self.backgroundTypeLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Background type:", None, QtGui.QApplication.UnicodeUTF8)) + self.backgroundTypeComboBox.setItemText(0, QtGui.QApplication.translate("ThemeDialog", "Solid Color", None, QtGui.QApplication.UnicodeUTF8)) + self.backgroundTypeComboBox.setItemText(1, QtGui.QApplication.translate("ThemeDialog", "Gradient", None, QtGui.QApplication.UnicodeUTF8)) + self.backgroundTypeComboBox.setItemText(2, QtGui.QApplication.translate("ThemeDialog", "Image", None, QtGui.QApplication.UnicodeUTF8)) + self.color1Label.setText(QtGui.QApplication.translate("ThemeDialog", "", None, QtGui.QApplication.UnicodeUTF8)) + self.color2Label.setText(QtGui.QApplication.translate("ThemeDialog", "", None, QtGui.QApplication.UnicodeUTF8)) + self.imageLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Image:", None, QtGui.QApplication.UnicodeUTF8)) + self.gradientLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Gradient:", None, QtGui.QApplication.UnicodeUTF8)) + self.gradientComboBox.setItemText(0, QtGui.QApplication.translate("ThemeDialog", "Horizontal", None, QtGui.QApplication.UnicodeUTF8)) + self.gradientComboBox.setItemText(1, QtGui.QApplication.translate("ThemeDialog", "Vertical", None, QtGui.QApplication.UnicodeUTF8)) + self.gradientComboBox.setItemText(2, QtGui.QApplication.translate("ThemeDialog", "Circular", None, QtGui.QApplication.UnicodeUTF8)) + self.gradientComboBox.setItemText(3, QtGui.QApplication.translate("ThemeDialog", "Top Left - Bottom Right", None, QtGui.QApplication.UnicodeUTF8)) + self.gradientComboBox.setItemText(4, QtGui.QApplication.translate("ThemeDialog", "Bottom Left - Top Right", None, QtGui.QApplication.UnicodeUTF8)) + self.mainAreaPage.setTitle(QtGui.QApplication.translate("ThemeDialog", "Main Area Font Details", None, QtGui.QApplication.UnicodeUTF8)) + self.mainAreaPage.setSubTitle(QtGui.QApplication.translate("ThemeDialog", "Define the font and display characteristics for the Display text", None, QtGui.QApplication.UnicodeUTF8)) + self.mainFontLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Font:", None, QtGui.QApplication.UnicodeUTF8)) + self.mainColorLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Color:", None, QtGui.QApplication.UnicodeUTF8)) + self.mainSizeLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Size:", None, QtGui.QApplication.UnicodeUTF8)) + self.mainSizeSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "pt", None, QtGui.QApplication.UnicodeUTF8)) + self.mainLineCountLabel.setText(QtGui.QApplication.translate("ThemeDialog", "(%d lines per slide)", None, QtGui.QApplication.UnicodeUTF8)) + self.lineSpacingLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Line Spacing:", None, QtGui.QApplication.UnicodeUTF8)) + self.lineSpacingSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "pt", None, QtGui.QApplication.UnicodeUTF8)) + self.outlineCheckBox.setText(QtGui.QApplication.translate("ThemeDialog", "&Outline:", None, QtGui.QApplication.UnicodeUTF8)) + self.outlineSizeLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Size:", None, QtGui.QApplication.UnicodeUTF8)) + self.outlineSizeSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "pt", None, QtGui.QApplication.UnicodeUTF8)) + self.shadowCheckBox.setText(QtGui.QApplication.translate("ThemeDialog", "&Shadow:", None, QtGui.QApplication.UnicodeUTF8)) + self.shadowSizeLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Size:", None, QtGui.QApplication.UnicodeUTF8)) + self.shadowSizeSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "pt", None, QtGui.QApplication.UnicodeUTF8)) + self.boldCheckBox.setText(QtGui.QApplication.translate("ThemeDialog", "Bold Display", None, QtGui.QApplication.UnicodeUTF8)) + self.italicsCheckBox.setText(QtGui.QApplication.translate("ThemeDialog", "Italic Display", None, QtGui.QApplication.UnicodeUTF8)) + self.footerAreaPage.setTitle(QtGui.QApplication.translate("ThemeDialog", "Footer Area Font Details", None, QtGui.QApplication.UnicodeUTF8)) + self.footerAreaPage.setSubTitle(QtGui.QApplication.translate("ThemeDialog", "Define the font and display characteristics for the Footer text", None, QtGui.QApplication.UnicodeUTF8)) + self.footerFontLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Font:", None, QtGui.QApplication.UnicodeUTF8)) + self.footerColorLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Color:", None, QtGui.QApplication.UnicodeUTF8)) + self.footerSizeLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Size:", None, QtGui.QApplication.UnicodeUTF8)) + self.footerSizeSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "pt", None, QtGui.QApplication.UnicodeUTF8)) + self.alignmentPage.setTitle(QtGui.QApplication.translate("ThemeDialog", "Text Formatting Details", None, QtGui.QApplication.UnicodeUTF8)) + self.alignmentPage.setSubTitle(QtGui.QApplication.translate("ThemeDialog", "Allows additional display formatting information to be defined", None, QtGui.QApplication.UnicodeUTF8)) + self.horizontalLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Horizontal Align:", None, QtGui.QApplication.UnicodeUTF8)) + self.horizontalComboBox.setItemText(0, QtGui.QApplication.translate("ThemeDialog", "Left", None, QtGui.QApplication.UnicodeUTF8)) + self.horizontalComboBox.setItemText(1, QtGui.QApplication.translate("ThemeDialog", "Center", None, QtGui.QApplication.UnicodeUTF8)) + self.horizontalComboBox.setItemText(2, QtGui.QApplication.translate("ThemeDialog", "Right", None, QtGui.QApplication.UnicodeUTF8)) + self.verticalLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Vertcal Align:", None, QtGui.QApplication.UnicodeUTF8)) + self.verticalComboBox.setItemText(0, QtGui.QApplication.translate("ThemeDialog", "Top", None, QtGui.QApplication.UnicodeUTF8)) + self.verticalComboBox.setItemText(1, QtGui.QApplication.translate("ThemeDialog", "Middle", None, QtGui.QApplication.UnicodeUTF8)) + self.verticalComboBox.setItemText(2, QtGui.QApplication.translate("ThemeDialog", "Bottom", None, QtGui.QApplication.UnicodeUTF8)) + self.transitionsCheckBox.setText(QtGui.QApplication.translate("ThemeDialog", "Transitions", None, QtGui.QApplication.UnicodeUTF8)) + self.areaPositionPage.setTitle(QtGui.QApplication.translate("ThemeDialog", "Output Area Locations", None, QtGui.QApplication.UnicodeUTF8)) + self.areaPositionPage.setSubTitle(QtGui.QApplication.translate("ThemeDialog", "Allows you to change and move the Main and Footer areas.", None, QtGui.QApplication.UnicodeUTF8)) + self.mainPositionGroupBox.setTitle(QtGui.QApplication.translate("ThemeDialog", "&Main Area", None, QtGui.QApplication.UnicodeUTF8)) + self.mainDefaultPositionCheckBox.setText(QtGui.QApplication.translate("ThemeDialog", "&Use default location", None, QtGui.QApplication.UnicodeUTF8)) + self.nainXLabel.setText(QtGui.QApplication.translate("ThemeDialog", "X position:", None, QtGui.QApplication.UnicodeUTF8)) + self.mainXSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "px", None, QtGui.QApplication.UnicodeUTF8)) + self.mainYSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "px", None, QtGui.QApplication.UnicodeUTF8)) + self.mainYLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Y position:", None, QtGui.QApplication.UnicodeUTF8)) + self.mainWidthSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "px", None, QtGui.QApplication.UnicodeUTF8)) + self.mainWidthLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Width:", None, QtGui.QApplication.UnicodeUTF8)) + self.mainHeightSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "px", None, QtGui.QApplication.UnicodeUTF8)) + self.mainHeightLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Height:", None, QtGui.QApplication.UnicodeUTF8)) + self.footerPositionGroupBox.setTitle(QtGui.QApplication.translate("ThemeDialog", "Footer Area", None, QtGui.QApplication.UnicodeUTF8)) + self.footerXLabel.setText(QtGui.QApplication.translate("ThemeDialog", "X position:", None, QtGui.QApplication.UnicodeUTF8)) + self.footerXSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "px", None, QtGui.QApplication.UnicodeUTF8)) + self.footerYLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Y position:", None, QtGui.QApplication.UnicodeUTF8)) + self.footerYSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "px", None, QtGui.QApplication.UnicodeUTF8)) + self.footerWidthLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Width:", None, QtGui.QApplication.UnicodeUTF8)) + self.footerWidthSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "px", None, QtGui.QApplication.UnicodeUTF8)) + self.footerHeightLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Height:", None, QtGui.QApplication.UnicodeUTF8)) + self.footerHeightSpinBox.setSuffix(QtGui.QApplication.translate("ThemeDialog", "px", None, QtGui.QApplication.UnicodeUTF8)) + self.footerDefaultPositionCheckBox.setText(QtGui.QApplication.translate("ThemeDialog", "Use default location", None, QtGui.QApplication.UnicodeUTF8)) + self.previewPage.setTitle(QtGui.QApplication.translate("ThemeDialog", "Save and Preview", None, QtGui.QApplication.UnicodeUTF8)) + self.previewPage.setSubTitle(QtGui.QApplication.translate("ThemeDialog", "View the theme and save it replacing the current one or change the name to create a new theme", None, QtGui.QApplication.UnicodeUTF8)) + self.themeNameLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Theme name:", None, QtGui.QApplication.UnicodeUTF8)) + self.previewLabel.setText(QtGui.QApplication.translate("ThemeDialog", "Preview", None, QtGui.QApplication.UnicodeUTF8)) diff --git a/openlp/core/ui/themewizardform.py b/openlp/core/ui/themeform.py similarity index 95% rename from openlp/core/ui/themewizardform.py rename to openlp/core/ui/themeform.py index ad0dca00c..f191968fd 100644 --- a/openlp/core/ui/themewizardform.py +++ b/openlp/core/ui/themeform.py @@ -30,11 +30,11 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import translate, theme, BackgroundType, BackgroundGradientType -from themewizard import Ui_ThemeWizard +from themedialog import Ui_ThemeDialog log = logging.getLogger(__name__) -class ThemeWizardForm(QtGui.QWizard, Ui_ThemeWizard): +class ThemeForm(QtGui.QWizard, Ui_ThemeDialog): """ This is the Bible Import Wizard, which allows easy importing of Bibles into OpenLP from other formats like OSIS, CSV and OpenSong. @@ -299,7 +299,19 @@ class ThemeWizardForm(QtGui.QWizard, Ui_ThemeWizard): QtCore.QVariant(self.theme.font_footer_width)) def setAlignmentTabValues(self): - pass + self.setField(u'horizontal', \ + QtCore.QVariant(self.theme.display_horizontal_align)) + self.setField(u'vertical', \ + QtCore.QVariant(self.theme.display_vertical_align)) + if self.theme.display_slide_transition: + self.setField(u'mainDefaultPosition', QtCore.QVariant(False)) + else: + self.setField(u'mainDefaultPosition', QtCore.QVariant(True)) + + def setPreviewTabValues(self): + self.setField(u'name', QtCore.QVariant(self.theme.theme_name)) + if len(self.theme.theme_name) > 1: + self.themeNameEdit.setEnabled(False) def setDefaults(self): """ @@ -311,6 +323,7 @@ class ThemeWizardForm(QtGui.QWizard, Ui_ThemeWizard): self.setFooterAreaTabValues() self.setAlignmentTabValues() self.setPositionTabValues() + self.setPreviewTabValues() # Set up field states self.onOutlineCheckCheckBoxChanged(self.theme.font_main_outline) self.onShadowCheckCheckBoxChanged(self.theme.font_main_shadow) @@ -375,6 +388,14 @@ class ThemeWizardForm(QtGui.QWizard, Ui_ThemeWizard): u'footerPositionWidth', self.footerWidthSpinBox) self.areaPositionPage.registerField( u'footerPositionHeight', self.footerHeightSpinBox) + self.backgroundPage.registerField( + u'horizontal', self.horizontalComboBox) + self.backgroundPage.registerField( + u'vertical', self.verticalComboBox) + self.backgroundPage.registerField( + u'slideTransition', self.transitionsCheckBox) + self.backgroundPage.registerField( + u'name', self.themeNameEdit) def onBackgroundComboBox(self, index): """ diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index c31de0009..e09be7c27 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -32,7 +32,7 @@ import logging from xml.etree.ElementTree import ElementTree, XML from PyQt4 import QtCore, QtGui -from openlp.core.ui import AmendThemeForm, FileRenameForm, ThemeWizardForm +from openlp.core.ui import FileRenameForm, ThemeForm from openlp.core.theme import Theme from openlp.core.lib import OpenLPToolbar, context_menu_action, \ ThemeXML, str_to_bool, get_text_file_string, build_icon, Receiver, \ @@ -53,8 +53,7 @@ class ThemeManager(QtGui.QWidget): self.layout = QtGui.QVBoxLayout(self) self.layout.setSpacing(0) self.layout.setMargin(0) - self.amendThemeForm = AmendThemeForm(self) - self.themeWizardForm = ThemeWizardForm(self) + self.themeForm = ThemeForm(self) self.fileRenameForm = FileRenameForm(self) self.toolbar = OpenLPToolbar(self) self.toolbar.addToolbarButton( @@ -127,7 +126,7 @@ class ThemeManager(QtGui.QWidget): self.checkThemesExists(self.path) self.thumbPath = os.path.join(self.path, u'thumbnails') self.checkThemesExists(self.thumbPath) - self.amendThemeForm.path = self.path + self.themeForm.path = self.path self.oldBackgroundImage = None self.editingDefault = False # Last little bits of setting up @@ -215,11 +214,10 @@ class ThemeManager(QtGui.QWidget): Loads a new theme with the default settings and then launches the theme editing form for the user to make their customisations. """ - theme = ThemeXML() #self.createThemeFromXml(self.baseTheme(), self.path) - #self.amendThemeForm.loadTheme(theme) + theme = ThemeXML() self.saveThemeName = u'' - self.themeWizardForm.theme = theme - self.themeWizardForm.exec_() + self.themeForm.theme = theme + self.themeForm.exec_() def onRenameTheme(self): """ @@ -282,12 +280,10 @@ class ThemeManager(QtGui.QWidget): unicode(item.data(QtCore.Qt.UserRole).toString())) if theme.background_type == u'image': self.oldBackgroundImage = theme.background_filename - #self.amendThemeForm.loadTheme(theme) self.saveThemeName = unicode( item.data(QtCore.Qt.UserRole).toString()) - #self.amendThemeForm.exec_() - self.themeWizardForm.theme = theme - self.themeWizardForm.exec_() + self.themeForm.theme = theme + self.themeForm.exec_() def onDeleteTheme(self): """ @@ -756,14 +752,6 @@ class ThemeManager(QtGui.QWidget): """ log.debug(u'base theme created') newtheme = ThemeXML() -# newtheme.new_document( -# unicode(translate('OpenLP.ThemeManager', 'New Theme'))) -# newtheme.add_background_solid(u'#000000') -# newtheme.add_font(unicode(QtGui.QFont().family()), u'#FFFFFF', -# u'30', u'False') -# newtheme.add_font(unicode(QtGui.QFont().family()), u'#FFFFFF', -# u'12', u'False', u'footer') -# newtheme.add_display(u'0', u'0', u'0') return newtheme.extract_xml() def createThemeFromXml(self, theme_xml, path): diff --git a/resources/forms/themewizard.ui b/resources/forms/themedialog.ui similarity index 98% rename from resources/forms/themewizard.ui rename to resources/forms/themedialog.ui index 6526c6866..bc3fb9b2d 100644 --- a/resources/forms/themewizard.ui +++ b/resources/forms/themedialog.ui @@ -1,7 +1,7 @@ - ThemeWizard - + ThemeDialog + 0 @@ -573,7 +573,7 @@ p, li { white-space: pre-wrap; } 20 - + Horizontal Align: @@ -602,7 +602,7 @@ p, li { white-space: pre-wrap; } - + Vertcal Align: @@ -628,7 +628,7 @@ p, li { white-space: pre-wrap; } - + Transitions @@ -1042,12 +1042,6 @@ p, li { white-space: pre-wrap; } - - - 0 - 0 - - 300