forked from openlp/openlp
add SongBeamer import
This commit is contained in:
parent
da33167b66
commit
9111a1885e
|
@ -112,6 +112,12 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard):
|
|||
QtCore.QObject.connect(self.ewBrowseButton,
|
||||
QtCore.SIGNAL(u'clicked()'),
|
||||
self.onEWBrowseButtonClicked)
|
||||
QtCore.QObject.connect(self.songBeamerAddButton,
|
||||
QtCore.SIGNAL(u'clicked()'),
|
||||
self.onSongBeamerAddButtonClicked)
|
||||
QtCore.QObject.connect(self.songBeamerRemoveButton,
|
||||
QtCore.SIGNAL(u'clicked()'),
|
||||
self.onSongBeamerRemoveButtonClicked)
|
||||
QtCore.QObject.connect(self.cancelButton,
|
||||
QtCore.SIGNAL(u'clicked(bool)'),
|
||||
self.onCancelButtonClicked)
|
||||
|
@ -227,6 +233,16 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard):
|
|||
'file to import from.'))
|
||||
self.ewBrowseButton.setFocus()
|
||||
return False
|
||||
elif source_format == SongFormat.SongBeamer:
|
||||
if self.songBeamerFileListWidget.count() == 0:
|
||||
QtGui.QMessageBox.critical(self,
|
||||
translate('SongsPlugin.ImportWizardForm',
|
||||
'No SongBeamer File Selected'),
|
||||
translate('SongsPlugin.ImportWizardForm',
|
||||
'You need to add at least one SongBeamer '
|
||||
'file to import from.'))
|
||||
self.songBeamerAddButton.setFocus()
|
||||
return False
|
||||
return True
|
||||
elif self.currentId() == 2:
|
||||
# Progress page
|
||||
|
@ -342,6 +358,16 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard):
|
|||
self.ewFilenameEdit
|
||||
)
|
||||
|
||||
def onSongBeamerAddButtonClicked(self):
|
||||
self.getFiles(
|
||||
translate('SongsPlugin.ImportWizardForm',
|
||||
'Select SongBeamer Files'),
|
||||
self.songBeamerFileListWidget
|
||||
)
|
||||
|
||||
def onSongBeamerRemoveButtonClicked(self):
|
||||
self.removeSelectedItems(self.songBeamerFileListWidget)
|
||||
|
||||
def onCancelButtonClicked(self, checked):
|
||||
"""
|
||||
Stop the import on pressing the cancel button.
|
||||
|
@ -373,6 +399,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard):
|
|||
self.songsOfFellowshipFileListWidget.clear()
|
||||
self.genericFileListWidget.clear()
|
||||
self.ewFilenameEdit.setText(u'')
|
||||
self.songBeamerFileListWidget.clear()
|
||||
#self.csvFilenameEdit.setText(u'')
|
||||
|
||||
def incrementProgressBar(self, status_text, increment=1):
|
||||
|
@ -448,6 +475,12 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard):
|
|||
importer = self.plugin.importSongs(SongFormat.EasyWorship,
|
||||
filename=unicode(self.ewFilenameEdit.text())
|
||||
)
|
||||
elif source_format == SongFormat.SongBeamer:
|
||||
# Import SongBeamer songs
|
||||
importer = self.plugin.importSongs(SongFormat.SongBeamer,
|
||||
filenames=self.getListOfFiles(
|
||||
self.songBeamerFileListWidget)
|
||||
)
|
||||
success = importer.do_import()
|
||||
if success:
|
||||
# reload songs
|
||||
|
|
|
@ -97,6 +97,7 @@ class Ui_SongImportWizard(object):
|
|||
self.formatComboBox.addItem(u'')
|
||||
self.formatComboBox.addItem(u'')
|
||||
self.formatComboBox.addItem(u'')
|
||||
self.formatComboBox.addItem(u'')
|
||||
# self.formatComboBox.addItem(u'')
|
||||
self.formatLayout.addWidget(self.formatComboBox)
|
||||
self.formatSpacer = QtGui.QSpacerItem(40, 20,
|
||||
|
@ -438,6 +439,42 @@ class Ui_SongImportWizard(object):
|
|||
self.ewLayout.setLayout(0, QtGui.QFormLayout.FieldRole,
|
||||
self.ewFileLayout)
|
||||
self.formatStackedWidget.addWidget(self.ewPage)
|
||||
# SongBeamer
|
||||
# Words of Worship
|
||||
self.songBeamerPage = QtGui.QWidget()
|
||||
self.songBeamerPage.setObjectName(u'songBeamerPage')
|
||||
self.songBeamerLayout = QtGui.QVBoxLayout(self.songBeamerPage)
|
||||
self.songBeamerLayout.setSpacing(8)
|
||||
self.songBeamerLayout.setMargin(0)
|
||||
self.songBeamerLayout.setObjectName(u'songBeamerLayout')
|
||||
self.songBeamerFileListWidget = QtGui.QListWidget(
|
||||
self.songBeamerPage)
|
||||
self.songBeamerFileListWidget.setSelectionMode(
|
||||
QtGui.QAbstractItemView.ExtendedSelection)
|
||||
self.songBeamerFileListWidget.setObjectName(
|
||||
u'songBeamerFileListWidget')
|
||||
self.songBeamerLayout.addWidget(self.songBeamerFileListWidget)
|
||||
self.songBeamerButtonLayout = QtGui.QHBoxLayout()
|
||||
self.songBeamerButtonLayout.setSpacing(8)
|
||||
self.songBeamerButtonLayout.setObjectName(
|
||||
u'songBeamerButtonLayout')
|
||||
self.songBeamerAddButton = QtGui.QPushButton(
|
||||
self.songBeamerPage)
|
||||
self.songBeamerAddButton.setIcon(openIcon)
|
||||
self.songBeamerAddButton.setObjectName(u'songBeamerAddButton')
|
||||
self.songBeamerButtonLayout.addWidget(self.songBeamerAddButton)
|
||||
self.songBeamerButtonSpacer = QtGui.QSpacerItem(40, 20,
|
||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||
self.songBeamerButtonLayout.addItem(self.songBeamerButtonSpacer)
|
||||
self.songBeamerRemoveButton = QtGui.QPushButton(
|
||||
self.songBeamerPage)
|
||||
self.songBeamerRemoveButton.setIcon(deleteIcon)
|
||||
self.songBeamerRemoveButton.setObjectName(
|
||||
u'songBeamerRemoveButton')
|
||||
self.songBeamerButtonLayout.addWidget(
|
||||
self.songBeamerRemoveButton)
|
||||
self.songBeamerLayout.addLayout(self.songBeamerButtonLayout)
|
||||
self.formatStackedWidget.addWidget(self.songBeamerPage)
|
||||
# Commented out for future use.
|
||||
# self.csvPage = QtGui.QWidget()
|
||||
# self.csvPage.setObjectName(u'CSVPage')
|
||||
|
@ -524,6 +561,8 @@ class Ui_SongImportWizard(object):
|
|||
'Generic Document/Presentation'))
|
||||
self.formatComboBox.setItemText(8,
|
||||
translate('SongsPlugin.ImportWizardForm', 'EasyWorship'))
|
||||
self.formatComboBox.setItemText(9,
|
||||
translate('SongsPlugin.ImportWizardForm', 'SongBeamer'))
|
||||
# self.formatComboBox.setItemText(9,
|
||||
# translate('SongsPlugin.ImportWizardForm', 'CSV'))
|
||||
self.openLP2FilenameLabel.setText(
|
||||
|
@ -576,10 +615,10 @@ class Ui_SongImportWizard(object):
|
|||
translate('SongsPlugin.ImportWizardForm', 'The generic document/'
|
||||
'presentation importer has been disabled because OpenLP cannot '
|
||||
'find OpenOffice.org on your computer.'))
|
||||
self.ewFilenameLabel.setText(
|
||||
translate('SongsPlugin.ImportWizardForm', 'Filename:'))
|
||||
self.ewBrowseButton.setText(
|
||||
translate('SongsPlugin.ImportWizardForm', 'Browse...'))
|
||||
self.songBeamerAddButton.setText(
|
||||
translate('SongsPlugin.ImportWizardForm', 'Add Files...'))
|
||||
self.songBeamerRemoveButton.setText(
|
||||
translate('SongsPlugin.ImportWizardForm', 'Remove File(s)'))
|
||||
# self.csvFilenameLabel.setText(
|
||||
# translate('SongsPlugin.ImportWizardForm', 'Filename:'))
|
||||
# self.csvBrowseButton.setText(
|
||||
|
|
|
@ -29,6 +29,7 @@ from olpimport import OpenLPSongImport
|
|||
from wowimport import WowImport
|
||||
from cclifileimport import CCLIFileImport
|
||||
from ewimport import EasyWorshipSongImport
|
||||
from songbeamerimport import SongBeamerImport
|
||||
# Imports that might fail
|
||||
try:
|
||||
from olp1import import OpenLP1SongImport
|
||||
|
@ -64,6 +65,7 @@ class SongFormat(object):
|
|||
Generic = 7
|
||||
#CSV = 8
|
||||
EasyWorship = 8
|
||||
SongBeamer = 9
|
||||
|
||||
@staticmethod
|
||||
def get_class(format):
|
||||
|
@ -89,6 +91,8 @@ class SongFormat(object):
|
|||
return CCLIFileImport
|
||||
elif format == SongFormat.EasyWorship:
|
||||
return EasyWorshipSongImport
|
||||
elif format == SongFormat.SongBeamer:
|
||||
return SongBeamerImport
|
||||
# else:
|
||||
return None
|
||||
|
||||
|
@ -106,7 +110,8 @@ class SongFormat(object):
|
|||
SongFormat.CCLI,
|
||||
SongFormat.SongsOfFellowship,
|
||||
SongFormat.Generic,
|
||||
SongFormat.EasyWorship
|
||||
SongFormat.EasyWorship,
|
||||
SongFormat.SongBeamer
|
||||
]
|
||||
|
||||
@staticmethod
|
||||
|
|
Loading…
Reference in New Issue