forked from openlp/openlp
Deduplication, naming and various cleanups
bzr-revno: 1261
This commit is contained in:
commit
59abbcf277
@ -93,15 +93,15 @@ class SearchEdit(QtGui.QLineEdit):
|
|||||||
``event``
|
``event``
|
||||||
The event that happened.
|
The event that happened.
|
||||||
"""
|
"""
|
||||||
sz = self.clearButton.size()
|
size = self.clearButton.size()
|
||||||
frameWidth = self.style().pixelMetric(
|
frameWidth = self.style().pixelMetric(
|
||||||
QtGui.QStyle.PM_DefaultFrameWidth)
|
QtGui.QStyle.PM_DefaultFrameWidth)
|
||||||
self.clearButton.move(self.rect().right() - frameWidth - sz.width(),
|
self.clearButton.move(self.rect().right() - frameWidth - size.width(),
|
||||||
(self.rect().bottom() + 1 - sz.height()) / 2)
|
(self.rect().bottom() + 1 - size.height()) / 2)
|
||||||
if hasattr(self, u'menuButton'):
|
if hasattr(self, u'menuButton'):
|
||||||
sz = self.menuButton.size()
|
size = self.menuButton.size()
|
||||||
self.menuButton.move(self.rect().left() + frameWidth + 2,
|
self.menuButton.move(self.rect().left() + frameWidth + 2,
|
||||||
(self.rect().bottom() + 1 - sz.height()) / 2)
|
(self.rect().bottom() + 1 - size.height()) / 2)
|
||||||
|
|
||||||
def currentSearchType(self):
|
def currentSearchType(self):
|
||||||
"""
|
"""
|
||||||
|
@ -91,21 +91,30 @@ class ThemeLevel(object):
|
|||||||
Song = 3
|
Song = 3
|
||||||
|
|
||||||
class BackgroundType(object):
|
class BackgroundType(object):
|
||||||
|
"""
|
||||||
|
Type enumeration for backgrounds.
|
||||||
|
"""
|
||||||
Solid = 0
|
Solid = 0
|
||||||
Gradient = 1
|
Gradient = 1
|
||||||
Image = 2
|
Image = 2
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def to_string(type):
|
def to_string(background_type):
|
||||||
if type == BackgroundType.Solid:
|
"""
|
||||||
|
Return a string representation of a background type.
|
||||||
|
"""
|
||||||
|
if background_type == BackgroundType.Solid:
|
||||||
return u'solid'
|
return u'solid'
|
||||||
elif type == BackgroundType.Gradient:
|
elif background_type == BackgroundType.Gradient:
|
||||||
return u'gradient'
|
return u'gradient'
|
||||||
elif type == BackgroundType.Image:
|
elif background_type == BackgroundType.Image:
|
||||||
return u'image'
|
return u'image'
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_string(type_string):
|
def from_string(type_string):
|
||||||
|
"""
|
||||||
|
Return a background type for the given string.
|
||||||
|
"""
|
||||||
if type_string == u'solid':
|
if type_string == u'solid':
|
||||||
return BackgroundType.Solid
|
return BackgroundType.Solid
|
||||||
elif type_string == u'gradient':
|
elif type_string == u'gradient':
|
||||||
@ -114,6 +123,9 @@ class BackgroundType(object):
|
|||||||
return BackgroundType.Image
|
return BackgroundType.Image
|
||||||
|
|
||||||
class BackgroundGradientType(object):
|
class BackgroundGradientType(object):
|
||||||
|
"""
|
||||||
|
Type enumeration for background gradients.
|
||||||
|
"""
|
||||||
Horizontal = 0
|
Horizontal = 0
|
||||||
Vertical = 1
|
Vertical = 1
|
||||||
Circular = 2
|
Circular = 2
|
||||||
@ -121,20 +133,26 @@ class BackgroundGradientType(object):
|
|||||||
LeftBottom = 4
|
LeftBottom = 4
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def to_string(type):
|
def to_string(gradient_type):
|
||||||
if type == BackgroundGradientType.Horizontal:
|
"""
|
||||||
|
Return a string representation of a background gradient type.
|
||||||
|
"""
|
||||||
|
if gradient_type == BackgroundGradientType.Horizontal:
|
||||||
return u'horizontal'
|
return u'horizontal'
|
||||||
elif type == BackgroundGradientType.Vertical:
|
elif gradient_type == BackgroundGradientType.Vertical:
|
||||||
return u'vertical'
|
return u'vertical'
|
||||||
elif type == BackgroundGradientType.Circular:
|
elif gradient_type == BackgroundGradientType.Circular:
|
||||||
return u'circular'
|
return u'circular'
|
||||||
elif type == BackgroundGradientType.LeftTop:
|
elif gradient_type == BackgroundGradientType.LeftTop:
|
||||||
return u'leftTop'
|
return u'leftTop'
|
||||||
elif type == BackgroundGradientType.LeftBottom:
|
elif gradient_type == BackgroundGradientType.LeftBottom:
|
||||||
return u'leftBottom'
|
return u'leftBottom'
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_string(type_string):
|
def from_string(type_string):
|
||||||
|
"""
|
||||||
|
Return a background gradient type for the given string.
|
||||||
|
"""
|
||||||
if type_string == u'horizontal':
|
if type_string == u'horizontal':
|
||||||
return BackgroundGradientType.Horizontal
|
return BackgroundGradientType.Horizontal
|
||||||
elif type_string == u'vertical':
|
elif type_string == u'vertical':
|
||||||
@ -147,19 +165,25 @@ class BackgroundGradientType(object):
|
|||||||
return BackgroundGradientType.LeftBottom
|
return BackgroundGradientType.LeftBottom
|
||||||
|
|
||||||
class HorizontalType(object):
|
class HorizontalType(object):
|
||||||
|
"""
|
||||||
|
Type enumeration for horizontal alignment.
|
||||||
|
"""
|
||||||
Left = 0
|
Left = 0
|
||||||
Center = 1
|
Center = 1
|
||||||
Right = 2
|
Right = 2
|
||||||
|
|
||||||
class VerticalType(object):
|
class VerticalType(object):
|
||||||
|
"""
|
||||||
|
Type enumeration for vertical alignment.
|
||||||
|
"""
|
||||||
Top = 0
|
Top = 0
|
||||||
Middle = 1
|
Middle = 1
|
||||||
Bottom = 2
|
Bottom = 2
|
||||||
|
|
||||||
boolean_list = [u'bold', u'italics', u'override', u'outline', u'shadow',
|
BOOLEAN_LIST = [u'bold', u'italics', u'override', u'outline', u'shadow',
|
||||||
u'slide_transition']
|
u'slide_transition']
|
||||||
|
|
||||||
integer_list = [u'size', u'line_adjustment', u'x', u'height', u'y',
|
INTEGER_LIST = [u'size', u'line_adjustment', u'x', u'height', u'y',
|
||||||
u'width', u'shadow_size', u'outline_size', u'horizontal_align',
|
u'width', u'shadow_size', u'outline_size', u'horizontal_align',
|
||||||
u'vertical_align', u'wrap_style']
|
u'vertical_align', u'wrap_style']
|
||||||
|
|
||||||
@ -514,9 +538,9 @@ class ThemeXML(object):
|
|||||||
return
|
return
|
||||||
field = self._de_hump(element)
|
field = self._de_hump(element)
|
||||||
tag = master + u'_' + field
|
tag = master + u'_' + field
|
||||||
if field in boolean_list:
|
if field in BOOLEAN_LIST:
|
||||||
setattr(self, tag, str_to_bool(value))
|
setattr(self, tag, str_to_bool(value))
|
||||||
elif field in integer_list:
|
elif field in INTEGER_LIST:
|
||||||
setattr(self, tag, int(value))
|
setattr(self, tag, int(value))
|
||||||
else:
|
else:
|
||||||
# make string value unicode
|
# make string value unicode
|
||||||
|
@ -141,7 +141,8 @@ class AdvancedTab(SettingsTab):
|
|||||||
'Hide the mouse cursor when moved over the display window'))
|
'Hide the mouse cursor when moved over the display window'))
|
||||||
self.serviceOrderGroupBox.setTitle(translate('OpenLP.AdvancedTab',
|
self.serviceOrderGroupBox.setTitle(translate('OpenLP.AdvancedTab',
|
||||||
'Service Order Print'))
|
'Service Order Print'))
|
||||||
self.detailedServicePrintCheckBox.setText(translate('OpenLP.AdvancedTab',
|
self.detailedServicePrintCheckBox.setText(
|
||||||
|
translate('OpenLP.AdvancedTab',
|
||||||
'Print slide texts and service item notes as well'))
|
'Print slide texts and service item notes as well'))
|
||||||
# self.sharedDirGroupBox.setTitle(
|
# self.sharedDirGroupBox.setTitle(
|
||||||
# translate('AdvancedTab', 'Central Data Store'))
|
# translate('AdvancedTab', 'Central Data Store'))
|
||||||
|
@ -771,34 +771,29 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||||||
"""
|
"""
|
||||||
Put OpenLP into "Default" view mode.
|
Put OpenLP into "Default" view mode.
|
||||||
"""
|
"""
|
||||||
settings = QtCore.QSettings()
|
self.setViewMode(True, True, True, True, True, u'default')
|
||||||
settings.setValue(u'%s/view mode' % self.generalSettingsSection,
|
|
||||||
u'default')
|
|
||||||
self.setViewMode(True, True, True, True, True)
|
|
||||||
|
|
||||||
def onModeSetupItemClicked(self):
|
def onModeSetupItemClicked(self):
|
||||||
"""
|
"""
|
||||||
Put OpenLP into "Setup" view mode.
|
Put OpenLP into "Setup" view mode.
|
||||||
"""
|
"""
|
||||||
settings = QtCore.QSettings()
|
self.setViewMode(True, True, False, True, False, u'setup')
|
||||||
settings.setValue(u'%s/view mode' % self.generalSettingsSection,
|
|
||||||
u'setup')
|
|
||||||
self.setViewMode(True, True, False, True, False)
|
|
||||||
|
|
||||||
def onModeLiveItemClicked(self):
|
def onModeLiveItemClicked(self):
|
||||||
"""
|
"""
|
||||||
Put OpenLP into "Live" view mode.
|
Put OpenLP into "Live" view mode.
|
||||||
"""
|
"""
|
||||||
settings = QtCore.QSettings()
|
self.setViewMode(False, True, False, False, True, u'live')
|
||||||
settings.setValue(u'%s/view mode' % self.generalSettingsSection,
|
|
||||||
u'live')
|
|
||||||
self.setViewMode(False, True, False, False, True)
|
|
||||||
|
|
||||||
def setViewMode(self, media=True, service=True, theme=True, preview=True,
|
def setViewMode(self, media=True, service=True, theme=True, preview=True,
|
||||||
live=True):
|
live=True, mode=u''):
|
||||||
"""
|
"""
|
||||||
Set OpenLP to a different view mode.
|
Set OpenLP to a different view mode.
|
||||||
"""
|
"""
|
||||||
|
if mode:
|
||||||
|
settings = QtCore.QSettings()
|
||||||
|
settings.setValue(u'%s/view mode' % self.generalSettingsSection,
|
||||||
|
mode)
|
||||||
self.MediaManagerDock.setVisible(media)
|
self.MediaManagerDock.setVisible(media)
|
||||||
self.ServiceManagerDock.setVisible(service)
|
self.ServiceManagerDock.setVisible(service)
|
||||||
self.ThemeManagerDock.setVisible(theme)
|
self.ThemeManagerDock.setVisible(theme)
|
||||||
|
@ -526,7 +526,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
'File is not a valid service.'))
|
'File is not a valid service.'))
|
||||||
log.exception(u'File contains no service data')
|
log.exception(u'File contains no service data')
|
||||||
except (IOError, NameError):
|
except (IOError, NameError):
|
||||||
log.exception(u'Problem loading a service file')
|
log.exception(u'Problem loading service file %s' % fileName)
|
||||||
finally:
|
finally:
|
||||||
if fileTo:
|
if fileTo:
|
||||||
fileTo.close()
|
fileTo.close()
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
from openlp.core.lib import translate, build_icon
|
from openlp.core.lib import translate, build_icon
|
||||||
|
from openlp.core.ui.wizard import addWelcomePage
|
||||||
|
|
||||||
class Ui_ThemeWizard(object):
|
class Ui_ThemeWizard(object):
|
||||||
def setupUi(self, themeWizard):
|
def setupUi(self, themeWizard):
|
||||||
@ -36,22 +37,7 @@ class Ui_ThemeWizard(object):
|
|||||||
themeWizard.setOptions(QtGui.QWizard.IndependentPages |
|
themeWizard.setOptions(QtGui.QWizard.IndependentPages |
|
||||||
QtGui.QWizard.NoBackButtonOnStartPage)
|
QtGui.QWizard.NoBackButtonOnStartPage)
|
||||||
# Welcome Page
|
# Welcome Page
|
||||||
self.welcomePage = QtGui.QWizardPage()
|
addWelcomePage(themeWizard, u':/wizards/wizard_createtheme.bmp')
|
||||||
self.welcomePage.setPixmap(QtGui.QWizard.WatermarkPixmap,
|
|
||||||
QtGui.QPixmap(u':/wizards/wizard_createtheme.bmp'))
|
|
||||||
self.welcomePage.setObjectName(u'WelcomePage')
|
|
||||||
self.welcomeLayout = QtGui.QVBoxLayout(self.welcomePage)
|
|
||||||
self.welcomeLayout.setObjectName(u'WelcomeLayout')
|
|
||||||
self.titleLabel = QtGui.QLabel(self.welcomePage)
|
|
||||||
self.titleLabel.setObjectName(u'TitleLabel')
|
|
||||||
self.welcomeLayout.addWidget(self.titleLabel)
|
|
||||||
self.welcomeLayout.addSpacing(40)
|
|
||||||
self.informationLabel = QtGui.QLabel(self.welcomePage)
|
|
||||||
self.informationLabel.setWordWrap(True)
|
|
||||||
self.informationLabel.setObjectName(u'InformationLabel')
|
|
||||||
self.welcomeLayout.addWidget(self.informationLabel)
|
|
||||||
self.welcomeLayout.addStretch()
|
|
||||||
themeWizard.addPage(self.welcomePage)
|
|
||||||
# Background Page
|
# Background Page
|
||||||
self.backgroundPage = QtGui.QWizardPage()
|
self.backgroundPage = QtGui.QWizardPage()
|
||||||
self.backgroundPage.setObjectName(u'BackgroundPage')
|
self.backgroundPage.setObjectName(u'BackgroundPage')
|
||||||
|
@ -63,36 +63,12 @@ class OpenLPWizard(QtGui.QWizard):
|
|||||||
self.setOptions(QtGui.QWizard.IndependentPages |
|
self.setOptions(QtGui.QWizard.IndependentPages |
|
||||||
QtGui.QWizard.NoBackButtonOnStartPage |
|
QtGui.QWizard.NoBackButtonOnStartPage |
|
||||||
QtGui.QWizard.NoBackButtonOnLastPage)
|
QtGui.QWizard.NoBackButtonOnLastPage)
|
||||||
self.addWelcomePage(image)
|
addWelcomePage(self, image)
|
||||||
self.addCustomPages()
|
self.addCustomPages()
|
||||||
self.addProgressPage()
|
self.addProgressPage()
|
||||||
self.retranslateUi()
|
self.retranslateUi()
|
||||||
QtCore.QMetaObject.connectSlotsByName(self)
|
QtCore.QMetaObject.connectSlotsByName(self)
|
||||||
|
|
||||||
def addWelcomePage(self, image):
|
|
||||||
"""
|
|
||||||
Add the opening welcome page to the wizard.
|
|
||||||
|
|
||||||
``image``
|
|
||||||
A splash image for the wizard
|
|
||||||
"""
|
|
||||||
self.welcomePage = QtGui.QWizardPage()
|
|
||||||
self.welcomePage.setPixmap(QtGui.QWizard.WatermarkPixmap,
|
|
||||||
QtGui.QPixmap(image))
|
|
||||||
self.welcomePage.setObjectName(u'WelcomePage')
|
|
||||||
self.welcomeLayout = QtGui.QVBoxLayout(self.welcomePage)
|
|
||||||
self.welcomeLayout.setObjectName(u'WelcomeLayout')
|
|
||||||
self.titleLabel = QtGui.QLabel(self.welcomePage)
|
|
||||||
self.titleLabel.setObjectName(u'TitleLabel')
|
|
||||||
self.welcomeLayout.addWidget(self.titleLabel)
|
|
||||||
self.welcomeLayout.addSpacing(40)
|
|
||||||
self.informationLabel = QtGui.QLabel(self.welcomePage)
|
|
||||||
self.informationLabel.setWordWrap(True)
|
|
||||||
self.informationLabel.setObjectName(u'InformationLabel')
|
|
||||||
self.welcomeLayout.addWidget(self.informationLabel)
|
|
||||||
self.welcomeLayout.addStretch()
|
|
||||||
self.addPage(self.welcomePage)
|
|
||||||
|
|
||||||
def addProgressPage(self):
|
def addProgressPage(self):
|
||||||
"""
|
"""
|
||||||
Add the progress page for the wizard. This page informs the user how
|
Add the progress page for the wizard. This page informs the user how
|
||||||
@ -169,3 +145,27 @@ class OpenLPWizard(QtGui.QWizard):
|
|||||||
self.finishButton.setVisible(True)
|
self.finishButton.setVisible(True)
|
||||||
self.cancelButton.setVisible(False)
|
self.cancelButton.setVisible(False)
|
||||||
Receiver.send_message(u'openlp_process_events')
|
Receiver.send_message(u'openlp_process_events')
|
||||||
|
|
||||||
|
def addWelcomePage(parent, image):
|
||||||
|
"""
|
||||||
|
Generate an opening welcome page for a wizard using a provided image.
|
||||||
|
|
||||||
|
``image``
|
||||||
|
A splash image for the wizard.
|
||||||
|
"""
|
||||||
|
parent.welcomePage = QtGui.QWizardPage()
|
||||||
|
parent.welcomePage.setPixmap(QtGui.QWizard.WatermarkPixmap,
|
||||||
|
QtGui.QPixmap(image))
|
||||||
|
parent.welcomePage.setObjectName(u'WelcomePage')
|
||||||
|
parent.welcomeLayout = QtGui.QVBoxLayout(parent.welcomePage)
|
||||||
|
parent.welcomeLayout.setObjectName(u'WelcomeLayout')
|
||||||
|
parent.titleLabel = QtGui.QLabel(parent.welcomePage)
|
||||||
|
parent.titleLabel.setObjectName(u'TitleLabel')
|
||||||
|
parent.welcomeLayout.addWidget(parent.titleLabel)
|
||||||
|
parent.welcomeLayout.addSpacing(40)
|
||||||
|
parent.informationLabel = QtGui.QLabel(parent.welcomePage)
|
||||||
|
parent.informationLabel.setWordWrap(True)
|
||||||
|
parent.informationLabel.setObjectName(u'InformationLabel')
|
||||||
|
parent.welcomeLayout.addWidget(parent.informationLabel)
|
||||||
|
parent.welcomeLayout.addStretch()
|
||||||
|
parent.addPage(parent.welcomePage)
|
||||||
|
@ -111,14 +111,8 @@ class Ui_EditSongDialog(object):
|
|||||||
self.authorsLayout.setObjectName(u'authorsLayout')
|
self.authorsLayout.setObjectName(u'authorsLayout')
|
||||||
self.authorAddLayout = QtGui.QHBoxLayout()
|
self.authorAddLayout = QtGui.QHBoxLayout()
|
||||||
self.authorAddLayout.setObjectName(u'authorAddLayout')
|
self.authorAddLayout.setObjectName(u'authorAddLayout')
|
||||||
self.authorsComboBox = QtGui.QComboBox(self.authorsGroupBox)
|
self.authorsComboBox = editSongDialogComboBox(
|
||||||
self.authorsComboBox.setSizeAdjustPolicy(
|
self.authorsGroupBox, u'authorsComboBox')
|
||||||
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
|
||||||
self.authorsComboBox.setSizePolicy(
|
|
||||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
|
|
||||||
self.authorsComboBox.setEditable(True)
|
|
||||||
self.authorsComboBox.setInsertPolicy(QtGui.QComboBox.NoInsert)
|
|
||||||
self.authorsComboBox.setObjectName(u'authorsComboBox')
|
|
||||||
self.authorAddLayout.addWidget(self.authorsComboBox)
|
self.authorAddLayout.addWidget(self.authorsComboBox)
|
||||||
self.authorAddButton = QtGui.QPushButton(self.authorsGroupBox)
|
self.authorAddButton = QtGui.QPushButton(self.authorsGroupBox)
|
||||||
self.authorAddButton.setObjectName(u'authorAddButton')
|
self.authorAddButton.setObjectName(u'authorAddButton')
|
||||||
@ -152,14 +146,8 @@ class Ui_EditSongDialog(object):
|
|||||||
self.topicsLayout.setObjectName(u'topicsLayout')
|
self.topicsLayout.setObjectName(u'topicsLayout')
|
||||||
self.topicAddLayout = QtGui.QHBoxLayout()
|
self.topicAddLayout = QtGui.QHBoxLayout()
|
||||||
self.topicAddLayout.setObjectName(u'topicAddLayout')
|
self.topicAddLayout.setObjectName(u'topicAddLayout')
|
||||||
self.topicsComboBox = QtGui.QComboBox(self.topicsGroupBox)
|
self.topicsComboBox = editSongDialogComboBox(
|
||||||
self.topicsComboBox.setSizeAdjustPolicy(
|
self.topicsGroupBox, u'topicsComboBox')
|
||||||
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
|
||||||
self.topicsComboBox.setSizePolicy(
|
|
||||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
|
|
||||||
self.topicsComboBox.setEditable(True)
|
|
||||||
self.topicsComboBox.setInsertPolicy(QtGui.QComboBox.NoInsert)
|
|
||||||
self.topicsComboBox.setObjectName(u'topicsComboBox')
|
|
||||||
self.topicAddLayout.addWidget(self.topicsComboBox)
|
self.topicAddLayout.addWidget(self.topicsComboBox)
|
||||||
self.topicAddButton = QtGui.QPushButton(self.topicsGroupBox)
|
self.topicAddButton = QtGui.QPushButton(self.topicsGroupBox)
|
||||||
self.topicAddButton.setObjectName(u'topicAddButton')
|
self.topicAddButton.setObjectName(u'topicAddButton')
|
||||||
@ -183,14 +171,8 @@ class Ui_EditSongDialog(object):
|
|||||||
self.songBookLayout.setObjectName(u'songBookLayout')
|
self.songBookLayout.setObjectName(u'songBookLayout')
|
||||||
self.songBookNameLabel = QtGui.QLabel(self.songBookGroupBox)
|
self.songBookNameLabel = QtGui.QLabel(self.songBookGroupBox)
|
||||||
self.songBookNameLabel.setObjectName(u'songBookNameLabel')
|
self.songBookNameLabel.setObjectName(u'songBookNameLabel')
|
||||||
self.songBookComboBox = QtGui.QComboBox(self.songBookGroupBox)
|
self.songBookComboBox = editSongDialogComboBox(
|
||||||
self.songBookComboBox.setSizeAdjustPolicy(
|
self.songBookGroupBox, u'songBookComboBox')
|
||||||
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
|
||||||
self.songBookComboBox.setSizePolicy(
|
|
||||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
|
|
||||||
self.songBookComboBox.setEditable(True)
|
|
||||||
self.songBookComboBox.setInsertPolicy(QtGui.QComboBox.NoInsert)
|
|
||||||
self.songBookComboBox.setObjectName(u'songBookComboBox')
|
|
||||||
self.songBookNameLabel.setBuddy(self.songBookComboBox)
|
self.songBookNameLabel.setBuddy(self.songBookComboBox)
|
||||||
self.songBookLayout.addRow(self.songBookNameLabel,
|
self.songBookLayout.addRow(self.songBookNameLabel,
|
||||||
self.songBookComboBox)
|
self.songBookComboBox)
|
||||||
@ -215,14 +197,8 @@ class Ui_EditSongDialog(object):
|
|||||||
self.themeGroupBox.setObjectName(u'themeGroupBox')
|
self.themeGroupBox.setObjectName(u'themeGroupBox')
|
||||||
self.themeLayout = QtGui.QHBoxLayout(self.themeGroupBox)
|
self.themeLayout = QtGui.QHBoxLayout(self.themeGroupBox)
|
||||||
self.themeLayout.setObjectName(u'themeLayout')
|
self.themeLayout.setObjectName(u'themeLayout')
|
||||||
self.themeComboBox = QtGui.QComboBox(self.themeGroupBox)
|
self.themeComboBox = editSongDialogComboBox(
|
||||||
self.themeComboBox.setSizeAdjustPolicy(
|
self.themeGroupBox, u'themeComboBox')
|
||||||
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
|
||||||
self.themeComboBox.setSizePolicy(
|
|
||||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
|
|
||||||
self.themeComboBox.setEditable(True)
|
|
||||||
self.themeComboBox.setInsertPolicy(QtGui.QComboBox.NoInsert)
|
|
||||||
self.themeComboBox.setObjectName(u'themeComboBox')
|
|
||||||
self.themeLayout.addWidget(self.themeComboBox)
|
self.themeLayout.addWidget(self.themeComboBox)
|
||||||
self.themeAddButton = QtGui.QPushButton(self.themeGroupBox)
|
self.themeAddButton = QtGui.QPushButton(self.themeGroupBox)
|
||||||
self.themeAddButton.setObjectName(u'themeAddButton')
|
self.themeAddButton.setObjectName(u'themeAddButton')
|
||||||
@ -331,3 +307,15 @@ class Ui_EditSongDialog(object):
|
|||||||
self.songTabWidget.indexOf(self.themeTab),
|
self.songTabWidget.indexOf(self.themeTab),
|
||||||
translate('SongsPlugin.EditSongForm',
|
translate('SongsPlugin.EditSongForm',
|
||||||
'Theme, Copyright Info && Comments'))
|
'Theme, Copyright Info && Comments'))
|
||||||
|
|
||||||
|
def editSongDialogComboBox(parent, name):
|
||||||
|
"""
|
||||||
|
Utility method to generate a standard combo box for this dialog.
|
||||||
|
"""
|
||||||
|
comboBox = QtGui.QComboBox(parent)
|
||||||
|
comboBox.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToMinimumContentsLength)
|
||||||
|
comboBox.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
|
||||||
|
comboBox.setEditable(True)
|
||||||
|
comboBox.setInsertPolicy(QtGui.QComboBox.NoInsert)
|
||||||
|
comboBox.setObjectName(name)
|
||||||
|
return comboBox
|
||||||
|
@ -165,29 +165,29 @@ class SongImportForm(OpenLPWizard):
|
|||||||
self.formatStack = QtGui.QStackedLayout()
|
self.formatStack = QtGui.QStackedLayout()
|
||||||
self.formatStack.setObjectName(u'FormatStack')
|
self.formatStack.setObjectName(u'FormatStack')
|
||||||
# OpenLP 2.0
|
# OpenLP 2.0
|
||||||
self.addSingleFileSelectItem(u'openLP2')
|
self.addFileSelectItem(u'openLP2', single_select=True)
|
||||||
# openlp.org 1.x
|
# openlp.org 1.x
|
||||||
self.addSingleFileSelectItem(u'openLP1', None, True)
|
self.addFileSelectItem(u'openLP1', None, True, True)
|
||||||
# OpenLyrics
|
# OpenLyrics
|
||||||
self.addMultiFileSelectItem(u'openLyrics', u'OpenLyrics', True)
|
self.addFileSelectItem(u'openLyrics', u'OpenLyrics', True)
|
||||||
# Open Song
|
# Open Song
|
||||||
self.addMultiFileSelectItem(u'openSong', u'OpenSong')
|
self.addFileSelectItem(u'openSong', u'OpenSong')
|
||||||
# Words of Worship
|
# Words of Worship
|
||||||
self.addMultiFileSelectItem(u'wordsOfWorship')
|
self.addFileSelectItem(u'wordsOfWorship')
|
||||||
# CCLI File import
|
# CCLI File import
|
||||||
self.addMultiFileSelectItem(u'ccli')
|
self.addFileSelectItem(u'ccli')
|
||||||
# Songs of Fellowship
|
# Songs of Fellowship
|
||||||
self.addMultiFileSelectItem(u'songsOfFellowship', None, True)
|
self.addFileSelectItem(u'songsOfFellowship', None, True)
|
||||||
# Generic Document/Presentation import
|
# Generic Document/Presentation import
|
||||||
self.addMultiFileSelectItem(u'generic', None, True)
|
self.addFileSelectItem(u'generic', None, True)
|
||||||
# EasySlides
|
# EasySlides
|
||||||
self.addSingleFileSelectItem(u'easiSlides')
|
self.addFileSelectItem(u'easiSlides', single_select=True)
|
||||||
# EasyWorship
|
# EasyWorship
|
||||||
self.addSingleFileSelectItem(u'ew')
|
self.addFileSelectItem(u'ew', single_select=True)
|
||||||
# Words of Worship
|
# Words of Worship
|
||||||
self.addMultiFileSelectItem(u'songBeamer')
|
self.addFileSelectItem(u'songBeamer')
|
||||||
# Commented out for future use.
|
# Commented out for future use.
|
||||||
# self.addSingleFileSelectItem(u'csv', u'CSV')
|
# self.addFileSelectItem(u'csv', u'CSV', single_select=True)
|
||||||
self.sourceLayout.addLayout(self.formatStack)
|
self.sourceLayout.addLayout(self.formatStack)
|
||||||
self.addPage(self.sourcePage)
|
self.addPage(self.sourcePage)
|
||||||
|
|
||||||
@ -318,16 +318,6 @@ class SongImportForm(OpenLPWizard):
|
|||||||
self.openLP2FilenameLabel.minimumSizeHint().width())
|
self.openLP2FilenameLabel.minimumSizeHint().width())
|
||||||
self.formatSpacer.changeSize(width, 0, QtGui.QSizePolicy.Fixed,
|
self.formatSpacer.changeSize(width, 0, QtGui.QSizePolicy.Fixed,
|
||||||
QtGui.QSizePolicy.Fixed)
|
QtGui.QSizePolicy.Fixed)
|
||||||
self.openLP2FormLabelSpacer.changeSize(width, 0,
|
|
||||||
QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
|
|
||||||
self.openLP1FormLabelSpacer.changeSize(width, 0,
|
|
||||||
QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
|
|
||||||
self.easiSlidesFormLabelSpacer.changeSize(width, 0,
|
|
||||||
QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
|
|
||||||
self.ewFormLabelSpacer.changeSize(width, 0, QtGui.QSizePolicy.Fixed,
|
|
||||||
QtGui.QSizePolicy.Fixed)
|
|
||||||
# self.csvFormLabelSpacer.changeSize(width, 0, QtGui.QSizePolicy.Fixed,
|
|
||||||
# QtGui.QSizePolicy.Fixed)
|
|
||||||
|
|
||||||
def validateCurrentPage(self):
|
def validateCurrentPage(self):
|
||||||
"""
|
"""
|
||||||
@ -791,52 +781,8 @@ class SongImportForm(OpenLPWizard):
|
|||||||
translate('SongsPlugin.SongImportForm',
|
translate('SongsPlugin.SongImportForm',
|
||||||
'Your song import failed.'))
|
'Your song import failed.'))
|
||||||
|
|
||||||
def addSingleFileSelectItem(self, prefix, obj_prefix=None,
|
def addFileSelectItem(self, prefix, obj_prefix=None, can_disable=False,
|
||||||
can_disable=False):
|
single_select=False):
|
||||||
if not obj_prefix:
|
|
||||||
obj_prefix = prefix
|
|
||||||
page = QtGui.QWidget()
|
|
||||||
page.setObjectName(obj_prefix + u'Page')
|
|
||||||
if can_disable:
|
|
||||||
importWidget = self.disablableWidget(page, prefix, obj_prefix)
|
|
||||||
else:
|
|
||||||
importWidget = page
|
|
||||||
importLayout = QtGui.QFormLayout(importWidget)
|
|
||||||
importLayout.setMargin(0)
|
|
||||||
if can_disable:
|
|
||||||
importLayout.setObjectName(obj_prefix + u'ImportLayout')
|
|
||||||
else:
|
|
||||||
importLayout.setObjectName(obj_prefix + u'Layout')
|
|
||||||
filenameLabel = QtGui.QLabel(importWidget)
|
|
||||||
filenameLabel.setObjectName(obj_prefix + u'FilenameLabel')
|
|
||||||
fileLayout = QtGui.QHBoxLayout()
|
|
||||||
fileLayout.setObjectName(obj_prefix + u'FileLayout')
|
|
||||||
filenameEdit = QtGui.QLineEdit(importWidget)
|
|
||||||
filenameEdit.setObjectName(obj_prefix + u'FilenameEdit')
|
|
||||||
fileLayout.addWidget(filenameEdit)
|
|
||||||
browseButton = QtGui.QToolButton(importWidget)
|
|
||||||
browseButton.setIcon(self.openIcon)
|
|
||||||
browseButton.setObjectName(obj_prefix + u'BrowseButton')
|
|
||||||
fileLayout.addWidget(browseButton)
|
|
||||||
importLayout.addRow(filenameLabel, fileLayout)
|
|
||||||
formSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
|
||||||
QtGui.QSizePolicy.Minimum)
|
|
||||||
importLayout.setItem(1, QtGui.QFormLayout.LabelRole, formSpacer)
|
|
||||||
self.formatStack.addWidget(page)
|
|
||||||
setattr(self, prefix + u'Page', page)
|
|
||||||
setattr(self, prefix + u'FilenameLabel', filenameLabel)
|
|
||||||
setattr(self, prefix + u'FormLabelSpacer', formSpacer)
|
|
||||||
setattr(self, prefix + u'FileLayout', fileLayout)
|
|
||||||
setattr(self, prefix + u'FilenameEdit', filenameEdit)
|
|
||||||
setattr(self, prefix + u'BrowseButton', browseButton)
|
|
||||||
if can_disable:
|
|
||||||
setattr(self, prefix + u'ImportLayout', importLayout)
|
|
||||||
else:
|
|
||||||
setattr(self, prefix + u'Layout', importLayout)
|
|
||||||
self.formatComboBox.addItem(u'')
|
|
||||||
|
|
||||||
def addMultiFileSelectItem(self, prefix, obj_prefix=None,
|
|
||||||
can_disable=False):
|
|
||||||
if not obj_prefix:
|
if not obj_prefix:
|
||||||
obj_prefix = prefix
|
obj_prefix = prefix
|
||||||
page = QtGui.QWidget()
|
page = QtGui.QWidget()
|
||||||
@ -847,10 +793,25 @@ class SongImportForm(OpenLPWizard):
|
|||||||
importWidget = page
|
importWidget = page
|
||||||
importLayout = QtGui.QVBoxLayout(importWidget)
|
importLayout = QtGui.QVBoxLayout(importWidget)
|
||||||
importLayout.setMargin(0)
|
importLayout.setMargin(0)
|
||||||
if can_disable:
|
|
||||||
importLayout.setObjectName(obj_prefix + u'ImportLayout')
|
importLayout.setObjectName(obj_prefix + u'ImportLayout')
|
||||||
|
if single_select:
|
||||||
|
fileLayout = QtGui.QHBoxLayout()
|
||||||
|
fileLayout.setObjectName(obj_prefix + u'FileLayout')
|
||||||
|
filenameLabel = QtGui.QLabel(importWidget)
|
||||||
|
filenameLabel.setObjectName(obj_prefix + u'FilenameLabel')
|
||||||
|
fileLayout.addWidget(filenameLabel)
|
||||||
|
filenameEdit = QtGui.QLineEdit(importWidget)
|
||||||
|
filenameEdit.setObjectName(obj_prefix + u'FilenameEdit')
|
||||||
|
fileLayout.addWidget(filenameEdit)
|
||||||
|
browseButton = QtGui.QToolButton(importWidget)
|
||||||
|
browseButton.setIcon(self.openIcon)
|
||||||
|
browseButton.setObjectName(obj_prefix + u'BrowseButton')
|
||||||
|
fileLayout.addWidget(browseButton)
|
||||||
|
formSpacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed,
|
||||||
|
QtGui.QSizePolicy.Expanding)
|
||||||
|
importLayout.addLayout(fileLayout)
|
||||||
|
importLayout.addSpacerItem(formSpacer)
|
||||||
else:
|
else:
|
||||||
importLayout.setObjectName(obj_prefix + u'Layout')
|
|
||||||
fileListWidget = QtGui.QListWidget(importWidget)
|
fileListWidget = QtGui.QListWidget(importWidget)
|
||||||
fileListWidget.setSelectionMode(
|
fileListWidget.setSelectionMode(
|
||||||
QtGui.QAbstractItemView.ExtendedSelection)
|
QtGui.QAbstractItemView.ExtendedSelection)
|
||||||
@ -870,14 +831,17 @@ class SongImportForm(OpenLPWizard):
|
|||||||
importLayout.addLayout(buttonLayout)
|
importLayout.addLayout(buttonLayout)
|
||||||
self.formatStack.addWidget(page)
|
self.formatStack.addWidget(page)
|
||||||
setattr(self, prefix + u'Page', page)
|
setattr(self, prefix + u'Page', page)
|
||||||
|
if single_select:
|
||||||
|
setattr(self, prefix + u'FilenameLabel', filenameLabel)
|
||||||
|
setattr(self, prefix + u'FileLayout', fileLayout)
|
||||||
|
setattr(self, prefix + u'FilenameEdit', filenameEdit)
|
||||||
|
setattr(self, prefix + u'BrowseButton', browseButton)
|
||||||
|
else:
|
||||||
setattr(self, prefix + u'FileListWidget', fileListWidget)
|
setattr(self, prefix + u'FileListWidget', fileListWidget)
|
||||||
setattr(self, prefix + u'ButtonLayout', buttonLayout)
|
setattr(self, prefix + u'ButtonLayout', buttonLayout)
|
||||||
setattr(self, prefix + u'AddButton', addButton)
|
setattr(self, prefix + u'AddButton', addButton)
|
||||||
setattr(self, prefix + u'RemoveButton', removeButton)
|
setattr(self, prefix + u'RemoveButton', removeButton)
|
||||||
if can_disable:
|
|
||||||
setattr(self, prefix + u'ImportLayout', importLayout)
|
setattr(self, prefix + u'ImportLayout', importLayout)
|
||||||
else:
|
|
||||||
setattr(self, prefix + u'Layout', importLayout)
|
|
||||||
self.formatComboBox.addItem(u'')
|
self.formatComboBox.addItem(u'')
|
||||||
|
|
||||||
def disablableWidget(self, page, prefix, obj_prefix):
|
def disablableWidget(self, page, prefix, obj_prefix):
|
||||||
|
Loading…
Reference in New Issue
Block a user