forked from openlp/openlp
head950
This commit is contained in:
commit
162e673d1a
@ -654,70 +654,6 @@ class Ui_AmendThemeDialog(object):
|
||||
QtCore.QObject.connect(self.ThemeButtonBox,
|
||||
QtCore.SIGNAL(u'rejected()'), AmendThemeDialog.reject)
|
||||
QtCore.QMetaObject.connectSlotsByName(AmendThemeDialog)
|
||||
AmendThemeDialog.setTabOrder(self.ThemeButtonBox, self.ThemeNameEdit)
|
||||
AmendThemeDialog.setTabOrder(self.ThemeNameEdit, self.ThemeTabWidget)
|
||||
AmendThemeDialog.setTabOrder(self.ThemeTabWidget,
|
||||
self.BackgroundComboBox)
|
||||
AmendThemeDialog.setTabOrder(self.BackgroundComboBox,
|
||||
self.BackgroundTypeComboBox)
|
||||
AmendThemeDialog.setTabOrder(self.BackgroundTypeComboBox,
|
||||
self.Color1PushButton)
|
||||
AmendThemeDialog.setTabOrder(self.Color1PushButton,
|
||||
self.Color2PushButton)
|
||||
AmendThemeDialog.setTabOrder(self.Color2PushButton, self.ImageLineEdit)
|
||||
AmendThemeDialog.setTabOrder(self.ImageLineEdit, self.ImageToolButton)
|
||||
AmendThemeDialog.setTabOrder(self.ImageToolButton,
|
||||
self.GradientComboBox)
|
||||
AmendThemeDialog.setTabOrder(self.GradientComboBox,
|
||||
self.FontMainComboBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontMainComboBox,
|
||||
self.FontMainColorPushButton)
|
||||
AmendThemeDialog.setTabOrder(self.FontMainColorPushButton,
|
||||
self.FontMainSizeSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontMainSizeSpinBox,
|
||||
self.FontMainWeightComboBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontMainWeightComboBox,
|
||||
self.FontMainLineSpacingSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontMainLineSpacingSpinBox,
|
||||
self.FontMainDefaultCheckBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontMainDefaultCheckBox,
|
||||
self.FontMainXSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontMainXSpinBox,
|
||||
self.FontMainYSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontMainYSpinBox,
|
||||
self.FontMainWidthSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontMainWidthSpinBox,
|
||||
self.FontMainHeightSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontMainHeightSpinBox,
|
||||
self.FontFooterComboBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontFooterComboBox,
|
||||
self.FontFooterColorPushButton)
|
||||
AmendThemeDialog.setTabOrder(self.FontFooterColorPushButton,
|
||||
self.FontFooterSizeSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontFooterSizeSpinBox,
|
||||
self.FontFooterWeightComboBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontFooterWeightComboBox,
|
||||
self.FontFooterDefaultCheckBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontFooterDefaultCheckBox,
|
||||
self.FontFooterXSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontFooterXSpinBox,
|
||||
self.FontFooterYSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontFooterYSpinBox,
|
||||
self.FontFooterWidthSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontFooterWidthSpinBox,
|
||||
self.FontFooterHeightSpinBox)
|
||||
AmendThemeDialog.setTabOrder(self.FontFooterHeightSpinBox,
|
||||
self.OutlineCheckBox)
|
||||
AmendThemeDialog.setTabOrder(self.OutlineCheckBox,
|
||||
self.OutlineColorPushButton)
|
||||
AmendThemeDialog.setTabOrder(self.OutlineColorPushButton,
|
||||
self.ShadowCheckBox)
|
||||
AmendThemeDialog.setTabOrder(self.ShadowCheckBox,
|
||||
self.ShadowColorPushButton)
|
||||
AmendThemeDialog.setTabOrder(self.ShadowColorPushButton,
|
||||
self.HorizontalComboBox)
|
||||
AmendThemeDialog.setTabOrder(self.HorizontalComboBox,
|
||||
self.VerticalComboBox)
|
||||
|
||||
def retranslateUi(self, AmendThemeDialog):
|
||||
AmendThemeDialog.setWindowTitle(
|
||||
|
@ -264,6 +264,10 @@ class MainDisplay(DisplayWidget):
|
||||
(self.screen[u'size'].width() - splash_image.width()) / 2,
|
||||
(self.screen[u'size'].height() - splash_image.height()) / 2,
|
||||
splash_image)
|
||||
#build a blank transparent image
|
||||
self.transparent = QtGui.QPixmap(
|
||||
self.screen[u'size'].width(), self.screen[u'size'].height())
|
||||
self.transparent.fill(QtCore.Qt.transparent)
|
||||
self.displayImage(self.initialFrame)
|
||||
self.repaint()
|
||||
#Build a Black screen
|
||||
@ -274,12 +278,6 @@ class MainDisplay(DisplayWidget):
|
||||
QtGui.QImage.Format_ARGB32_Premultiplied)
|
||||
painter.begin(self.blankFrame)
|
||||
painter.fillRect(self.blankFrame.rect(), QtCore.Qt.black)
|
||||
#build a blank transparent image
|
||||
self.transparent = QtGui.QPixmap(
|
||||
self.screen[u'size'].width(), self.screen[u'size'].height())
|
||||
self.transparent.fill(QtCore.Qt.transparent)
|
||||
# self.displayText.setPixmap(self.transparent)
|
||||
#self.frameView(self.transparent)
|
||||
# To display or not to display?
|
||||
if not self.screen[u'primary']:
|
||||
self.setVisible(True)
|
||||
@ -410,6 +408,7 @@ class MainDisplay(DisplayWidget):
|
||||
self.imageDisplay.setPixmap(QtGui.QPixmap.fromImage(frame))
|
||||
else:
|
||||
self.imageDisplay.setPixmap(frame)
|
||||
self.frameView(self.transparent)
|
||||
self.videoDisplay.setHtml(u'<html></html>')
|
||||
|
||||
def displayVideo(self, path):
|
||||
|
@ -118,6 +118,7 @@ class ThemeManager(QtGui.QWidget):
|
||||
self.checkThemesExists(self.thumbPath)
|
||||
self.amendThemeForm.path = self.path
|
||||
self.oldBackgroundImage = None
|
||||
self.editingDefault = False
|
||||
# Last little bits of setting up
|
||||
self.global_theme = unicode(QtCore.QSettings().value(
|
||||
self.settingsSection + u'/global theme',
|
||||
@ -184,7 +185,6 @@ class ThemeManager(QtGui.QWidget):
|
||||
Loads the settings for the theme that is to be edited and launches the
|
||||
theme editing form so the user can make their changes.
|
||||
"""
|
||||
self.editingDefault = False
|
||||
if check_item_selected(self.ThemeListWidget, translate('ThemeManager',
|
||||
'You must select a theme to edit.')):
|
||||
item = self.ThemeListWidget.currentItem()
|
||||
@ -211,6 +211,14 @@ class ThemeManager(QtGui.QWidget):
|
||||
'You must select a theme to delete.')):
|
||||
item = self.ThemeListWidget.currentItem()
|
||||
theme = unicode(item.text())
|
||||
# confirm deletion
|
||||
answer = QtGui.QMessageBox.question(self,
|
||||
translate('ThemeManager', 'Delete Confirmation'),
|
||||
translate('ThemeManager', 'Delete theme?'),
|
||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes |
|
||||
QtGui.QMessageBox.No), QtGui.QMessageBox.No)
|
||||
if answer == QtGui.QMessageBox.No:
|
||||
return
|
||||
# should be the same unless default
|
||||
if theme != unicode(item.data(QtCore.Qt.UserRole).toString()):
|
||||
QtGui.QMessageBox.critical(self,
|
||||
@ -610,6 +618,7 @@ class ThemeManager(QtGui.QWidget):
|
||||
self.settingsSection + u'/global theme',
|
||||
QtCore.QVariant(self.global_theme))
|
||||
Receiver.send_message(u'theme_update_global', self.global_theme)
|
||||
self.editingDefault = False
|
||||
self.pushThemes()
|
||||
else:
|
||||
# Don't close the dialog - allow the user to change the name of
|
||||
|
@ -120,14 +120,6 @@ class Ui_AlertDialog(object):
|
||||
QtCore.QObject.connect(self.CloseButton, QtCore.SIGNAL(u'clicked()'),
|
||||
AlertDialog.close)
|
||||
QtCore.QMetaObject.connectSlotsByName(AlertDialog)
|
||||
AlertDialog.setTabOrder(self.AlertTextEdit, self.ParameterEdit)
|
||||
AlertDialog.setTabOrder(self.ParameterEdit, self.AlertListWidget)
|
||||
AlertDialog.setTabOrder(self.AlertListWidget, self.NewButton)
|
||||
AlertDialog.setTabOrder(self.NewButton, self.SaveButton)
|
||||
AlertDialog.setTabOrder(self.SaveButton, self.DeleteButton)
|
||||
AlertDialog.setTabOrder(self.DeleteButton, self.DisplayButton)
|
||||
AlertDialog.setTabOrder(self.DisplayButton, self.DisplayCloseButton)
|
||||
AlertDialog.setTabOrder(self.DisplayCloseButton, self.CloseButton)
|
||||
|
||||
def retranslateUi(self, AlertDialog):
|
||||
AlertDialog.setWindowTitle(
|
||||
|
@ -136,17 +136,6 @@ class Ui_customEditDialog(object):
|
||||
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'),
|
||||
customEditDialog.closePressed)
|
||||
QtCore.QMetaObject.connectSlotsByName(customEditDialog)
|
||||
customEditDialog.setTabOrder(self.TitleEdit, self.VerseTextEdit)
|
||||
customEditDialog.setTabOrder(self.VerseTextEdit, self.AddButton)
|
||||
customEditDialog.setTabOrder(self.AddButton, self.VerseListView)
|
||||
customEditDialog.setTabOrder(self.VerseListView, self.EditButton)
|
||||
customEditDialog.setTabOrder(self.EditButton, self.EditAllButton)
|
||||
customEditDialog.setTabOrder(self.EditAllButton, self.SaveButton)
|
||||
customEditDialog.setTabOrder(self.SaveButton, self.DeleteButton)
|
||||
customEditDialog.setTabOrder(self.DeleteButton, self.CreditEdit)
|
||||
customEditDialog.setTabOrder(self.CreditEdit, self.UpButton)
|
||||
customEditDialog.setTabOrder(self.UpButton, self.DownButton)
|
||||
customEditDialog.setTabOrder(self.DownButton, self.ThemeComboBox)
|
||||
|
||||
def retranslateUi(self, customEditDialog):
|
||||
customEditDialog.setWindowTitle(
|
||||
|
@ -394,48 +394,12 @@ class Ui_EditSongDialog(object):
|
||||
QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Save)
|
||||
self.ButtonBox.setObjectName(u'ButtonBox')
|
||||
self.verticalLayout.addWidget(self.ButtonBox)
|
||||
|
||||
self.retranslateUi(EditSongDialog)
|
||||
QtCore.QObject.connect(self.ButtonBox,
|
||||
QtCore.SIGNAL(u'rejected()'), EditSongDialog.closePressed)
|
||||
QtCore.QObject.connect(self.ButtonBox,
|
||||
QtCore.SIGNAL(u'accepted()'), EditSongDialog.accept)
|
||||
QtCore.QMetaObject.connectSlotsByName(EditSongDialog)
|
||||
EditSongDialog.setTabOrder(self.SongTabWidget, self.TitleEditItem)
|
||||
EditSongDialog.setTabOrder(self.TitleEditItem, self.AlternativeEdit)
|
||||
EditSongDialog.setTabOrder(self.AlternativeEdit, self.VerseListWidget)
|
||||
EditSongDialog.setTabOrder(self.VerseListWidget, self.VerseAddButton)
|
||||
EditSongDialog.setTabOrder(self.VerseAddButton, self.VerseEditButton)
|
||||
EditSongDialog.setTabOrder(self.VerseEditButton,
|
||||
self.VerseEditAllButton)
|
||||
EditSongDialog.setTabOrder(self.VerseEditAllButton,
|
||||
self.VerseDeleteButton)
|
||||
EditSongDialog.setTabOrder(self.VerseDeleteButton, self.VerseOrderEdit)
|
||||
EditSongDialog.setTabOrder(self.VerseOrderEdit,
|
||||
self.AuthorsSelectionComboItem)
|
||||
EditSongDialog.setTabOrder(self.AuthorsSelectionComboItem,
|
||||
self.AuthorAddButton)
|
||||
EditSongDialog.setTabOrder(self.AuthorAddButton, self.AuthorsListView)
|
||||
EditSongDialog.setTabOrder(self.AuthorsListView,
|
||||
self.AuthorRemoveButton)
|
||||
EditSongDialog.setTabOrder(self.AuthorRemoveButton,
|
||||
self.MaintenanceButton)
|
||||
EditSongDialog.setTabOrder(self.MaintenanceButton, self.SongTopicCombo)
|
||||
EditSongDialog.setTabOrder(self.SongTopicCombo, self.TopicAddButton)
|
||||
EditSongDialog.setTabOrder(self.TopicAddButton, self.TopicsListView)
|
||||
EditSongDialog.setTabOrder(self.TopicsListView, self.TopicRemoveButton)
|
||||
EditSongDialog.setTabOrder(self.TopicRemoveButton, self.SongbookCombo)
|
||||
EditSongDialog.setTabOrder(self.SongbookCombo,
|
||||
self.ThemeSelectionComboItem)
|
||||
EditSongDialog.setTabOrder(self.ThemeSelectionComboItem,
|
||||
self.ThemeAddButton)
|
||||
EditSongDialog.setTabOrder(self.ThemeAddButton, self.CopyrightEditItem)
|
||||
EditSongDialog.setTabOrder(self.CopyrightEditItem,
|
||||
self.CopyrightInsertButton)
|
||||
EditSongDialog.setTabOrder(self.CopyrightInsertButton,
|
||||
self.CCLNumberEdit)
|
||||
EditSongDialog.setTabOrder(self.CCLNumberEdit, self.CommentsEdit)
|
||||
EditSongDialog.setTabOrder(self.CommentsEdit, self.ButtonBox)
|
||||
|
||||
def retranslateUi(self, EditSongDialog):
|
||||
EditSongDialog.setWindowTitle(
|
||||
|
@ -178,7 +178,8 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard):
|
||||
SettingsManager.get_last_dir(self.songsplugin.settingsSection, 1))
|
||||
if filename:
|
||||
editbox.setText(filename)
|
||||
self.config.set_last_dir(filename, 1)
|
||||
SettingsManager.set_last_dir(self.songsplugin.settingsSection,
|
||||
filename, 1)
|
||||
|
||||
def incrementProgressBar(self, status_text):
|
||||
log.debug(u'IncrementBar %s', status_text)
|
||||
|
@ -109,16 +109,16 @@ class Ui_SongImportWizard(object):
|
||||
self.OpenLyricsButtonLayout.setSpacing(8)
|
||||
self.OpenLyricsButtonLayout.setObjectName(u'OpenLyricsButtonLayout')
|
||||
self.OpenLyricsAddButton = QtGui.QPushButton(self.OpenLyricsPage)
|
||||
self.OpenLyricsAddButton.setIcon(
|
||||
build_icon(u':/general/general_open.png'))
|
||||
openIcon = build_icon(u':/general/general_open.png')
|
||||
self.OpenLyricsAddButton.setIcon(openIcon)
|
||||
self.OpenLyricsAddButton.setObjectName(u'OpenLyricsAddButton')
|
||||
self.OpenLyricsButtonLayout.addWidget(self.OpenLyricsAddButton)
|
||||
self.OpenLyricsButtonSpacer = QtGui.QSpacerItem(40, 20,
|
||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||
self.OpenLyricsButtonLayout.addItem(self.OpenLyricsButtonSpacer)
|
||||
self.OpenLyricsRemoveButton = QtGui.QPushButton(self.OpenLyricsPage)
|
||||
self.OpenLyricsRemoveButton.setIcon(
|
||||
build_icon(u':/general/general_delete.png'))
|
||||
deleteIcon = build_icon(u':/general/general_delete.png')
|
||||
self.OpenLyricsRemoveButton.setIcon(deleteIcon)
|
||||
self.OpenLyricsRemoveButton.setObjectName(u'OpenLyricsRemoveButton')
|
||||
self.OpenLyricsButtonLayout.addWidget(self.OpenLyricsRemoveButton)
|
||||
self.OpenLyricsLayout.addLayout(self.OpenLyricsButtonLayout)
|
||||
@ -136,14 +136,14 @@ class Ui_SongImportWizard(object):
|
||||
self.OpenSongButtonLayout.setSpacing(8)
|
||||
self.OpenSongButtonLayout.setObjectName(u'OpenSongButtonLayout')
|
||||
self.OpenSongAddButton = QtGui.QPushButton(self.OpenSongPage)
|
||||
self.OpenSongAddButton.setIcon(self.OpenIcon)
|
||||
self.OpenSongAddButton.setIcon(openIcon)
|
||||
self.OpenSongAddButton.setObjectName(u'OpenSongAddButton')
|
||||
self.OpenSongButtonLayout.addWidget(self.OpenSongAddButton)
|
||||
self.OpenSongButtonSpacer = QtGui.QSpacerItem(40, 20,
|
||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||
self.OpenSongButtonLayout.addItem(self.OpenSongButtonSpacer)
|
||||
self.OpenSongRemoveButton = QtGui.QPushButton(self.OpenSongPage)
|
||||
self.OpenSongRemoveButton.setIcon(self.DeleteIcon)
|
||||
self.OpenSongRemoveButton.setIcon(deleteIcon)
|
||||
self.OpenSongRemoveButton.setObjectName(u'OpenSongRemoveButton')
|
||||
self.OpenSongButtonLayout.addWidget(self.OpenSongRemoveButton)
|
||||
self.OpenSongLayout.addLayout(self.OpenSongButtonLayout)
|
||||
@ -161,14 +161,14 @@ class Ui_SongImportWizard(object):
|
||||
self.CCLIButtonLayout.setSpacing(8)
|
||||
self.CCLIButtonLayout.setObjectName(u'CCLIButtonLayout')
|
||||
self.CCLIAddButton = QtGui.QPushButton(self.CCLIPage)
|
||||
self.CCLIAddButton.setIcon(self.OpenIcon)
|
||||
self.CCLIAddButton.setIcon(openIcon)
|
||||
self.CCLIAddButton.setObjectName(u'CCLIAddButton')
|
||||
self.CCLIButtonLayout.addWidget(self.CCLIAddButton)
|
||||
self.CCLIButtonSpacer = QtGui.QSpacerItem(40, 20,
|
||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||
self.CCLIButtonLayout.addItem(self.CCLIButtonSpacer)
|
||||
self.CCLIRemoveButton = QtGui.QPushButton(self.CCLIPage)
|
||||
self.CCLIRemoveButton.setIcon(self.DeleteIcon)
|
||||
self.CCLIRemoveButton.setIcon(deleteIcon)
|
||||
self.CCLIRemoveButton.setObjectName(u'CCLIRemoveButton')
|
||||
self.CCLIButtonLayout.addWidget(self.CCLIRemoveButton)
|
||||
self.CCLILayout.addLayout(self.CCLIButtonLayout)
|
||||
@ -190,7 +190,7 @@ class Ui_SongImportWizard(object):
|
||||
self.CSVFilenameEdit.setObjectName(u'CSVFilenameEdit')
|
||||
self.CSVFileLayout.addWidget(self.CSVFilenameEdit)
|
||||
self.CSVBrowseButton = QtGui.QToolButton(self.CSVPage)
|
||||
self.CSVBrowseButton.setIcon(self.OpenIcon)
|
||||
self.CSVBrowseButton.setIcon(openIcon)
|
||||
self.CSVBrowseButton.setObjectName(u'CSVBrowseButton')
|
||||
self.CSVFileLayout.addWidget(self.CSVBrowseButton)
|
||||
self.CSVLayout.setLayout(0, QtGui.QFormLayout.FieldRole,
|
||||
@ -213,14 +213,11 @@ class Ui_SongImportWizard(object):
|
||||
self.ImportProgressBar.setObjectName(u'ImportProgressBar')
|
||||
self.ImportLayout.addWidget(self.ImportProgressBar)
|
||||
SongImportWizard.addPage(self.ImportPage)
|
||||
|
||||
self.retranslateUi(SongImportWizard)
|
||||
self.FormatStackedWidget.setCurrentIndex(0)
|
||||
QtCore.QObject.connect(
|
||||
self.FormatComboBox,
|
||||
QtCore.QObject.connect(self.FormatComboBox,
|
||||
QtCore.SIGNAL(u'currentIndexChanged(int)'),
|
||||
self.FormatStackedWidget.setCurrentIndex
|
||||
)
|
||||
self.FormatStackedWidget.setCurrentIndex)
|
||||
QtCore.QMetaObject.connectSlotsByName(SongImportWizard)
|
||||
|
||||
def retranslateUi(self, SongImportWizard):
|
||||
@ -275,4 +272,3 @@ class Ui_SongImportWizard(object):
|
||||
translate('SongsPlugin.ImportWizardForm', 'Ready.'))
|
||||
self.ImportProgressBar.setFormat(
|
||||
translate('SongsPlugin.ImportWizardForm', '%p%'))
|
||||
|
||||
|
@ -137,7 +137,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog):
|
||||
|
||||
def checkAuthor(self, new_author, edit=False):
|
||||
"""
|
||||
Returns False when the given Author is already in the list elsewise
|
||||
Returns False if the given Author is already in the list otherwise
|
||||
True.
|
||||
"""
|
||||
authors = self.songmanager.get_all_objects_filtered(Author,
|
||||
@ -163,11 +163,10 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog):
|
||||
|
||||
def checkTopic(self, new_topic, edit=False):
|
||||
"""
|
||||
Returns False when the given Topic is already in the list elsewise True.
|
||||
Returns False if the given Topic is already in the list otherwise True.
|
||||
"""
|
||||
topics = self.songmanager.get_all_objects_filtered(Topic,
|
||||
Topic.name == new_topic.name
|
||||
)
|
||||
Topic.name == new_topic.name)
|
||||
if len(topics) > 0:
|
||||
# If we edit an existing Topic, we need to make sure that we do
|
||||
# not return False when nothing has changed (because this would
|
||||
@ -184,25 +183,22 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog):
|
||||
|
||||
def checkBook(self, new_book, edit=False):
|
||||
"""
|
||||
Returns False when the given Book is already in the list elsewise True.
|
||||
Returns False if the given Book is already in the list otherwise True.
|
||||
"""
|
||||
books = self.songmanager.get_all_objects_filtered(Book,
|
||||
and_(
|
||||
Book.name == new_book.name,
|
||||
Book.publisher == new_book.publisher
|
||||
)
|
||||
)
|
||||
and_(Book.name == new_book.name,
|
||||
Book.publisher == new_book.publisher))
|
||||
if len(books) > 0:
|
||||
# If we edit an existing Book, we need to make sure that we do
|
||||
# not return False when nothing has changed (because this would
|
||||
# cause an error message later on).
|
||||
if edit:
|
||||
if books[0].id == new_book.id:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
# If we edit an existing Book, we need to make sure that we do
|
||||
# not return False when nothing has changed (because this would
|
||||
# cause an error message later on).
|
||||
if edit:
|
||||
if books[0].id == new_book.id:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
|
@ -142,7 +142,7 @@ class SofImport(OooImport):
|
||||
self.blanklines += 1
|
||||
if self.blanklines > 1:
|
||||
return
|
||||
if self.song.get_title() != u'':
|
||||
if self.song.title != u'':
|
||||
self.finish_verse()
|
||||
return
|
||||
self.blanklines = 0
|
||||
@ -166,8 +166,8 @@ class SofImport(OooImport):
|
||||
self.finish_verse()
|
||||
self.song.repeat_verse()
|
||||
return
|
||||
if self.song.get_title() == u'':
|
||||
if self.song.get_copyright() == u'':
|
||||
if self.song.title == u'':
|
||||
if self.song.copyright == u'':
|
||||
self.add_author(text)
|
||||
else:
|
||||
self.song.add_copyright(text)
|
||||
@ -187,10 +187,10 @@ class SofImport(OooImport):
|
||||
return text
|
||||
if textportion.CharWeight == BOLD:
|
||||
boldtext = text.strip()
|
||||
if boldtext.isdigit() and self.song.get_song_number() == '':
|
||||
if boldtext.isdigit() and self.song.song_number == '':
|
||||
self.add_songnumber(boldtext)
|
||||
return u''
|
||||
if self.song.get_title() == u'':
|
||||
if self.song.title == u'':
|
||||
text = self.uncap_text(text)
|
||||
self.add_title(text)
|
||||
return text
|
||||
@ -220,20 +220,17 @@ class SofImport(OooImport):
|
||||
Add a song number, store as alternate title. Also use the song
|
||||
number to work out which songbook we're in
|
||||
"""
|
||||
self.song.set_song_number(song_no)
|
||||
self.song.set_alternate_title(song_no + u'.')
|
||||
self.song.song_number = song_no
|
||||
self.song.alternate_title = song_no + u'.'
|
||||
self.song.song_book_pub = u'Kingsway Publications'
|
||||
if int(song_no) <= 640:
|
||||
self.song.set_song_book(u'Songs of Fellowship 1',
|
||||
u'Kingsway Publications')
|
||||
self.song.song_book = u'Songs of Fellowship 1'
|
||||
elif int(song_no) <= 1150:
|
||||
self.song.set_song_book(u'Songs of Fellowship 2',
|
||||
u'Kingsway Publications')
|
||||
self.song.song_book = u'Songs of Fellowship 2'
|
||||
elif int(song_no) <= 1690:
|
||||
self.song.set_song_book(u'Songs of Fellowship 3',
|
||||
u'Kingsway Publications')
|
||||
self.song.song_book = u'Songs of Fellowship 3'
|
||||
else:
|
||||
self.song.set_song_book(u'Songs of Fellowship 4',
|
||||
u'Kingsway Publications')
|
||||
self.song.song_book = u'Songs of Fellowship 4'
|
||||
|
||||
def add_title(self, text):
|
||||
"""
|
||||
@ -245,7 +242,7 @@ class SofImport(OooImport):
|
||||
title = title[1:]
|
||||
if title.endswith(u','):
|
||||
title = title[:-1]
|
||||
self.song.set_title(title)
|
||||
self.song.title = title
|
||||
|
||||
def add_author(self, text):
|
||||
"""
|
||||
@ -283,7 +280,7 @@ class SofImport(OooImport):
|
||||
splitat = None
|
||||
else:
|
||||
versetag = u'V'
|
||||
splitat = self.verse_splits(self.song.get_song_number())
|
||||
splitat = self.verse_splits(self.song.song_number)
|
||||
if splitat:
|
||||
ln = 0
|
||||
verse = u''
|
||||
@ -538,4 +535,3 @@ class SofImport(OooImport):
|
||||
if song_number == 1119:
|
||||
return 7
|
||||
return None
|
||||
|
||||
|
@ -123,53 +123,10 @@ class SongImport(object):
|
||||
if len(lines) == 1:
|
||||
self.parse_author(lines[0])
|
||||
return
|
||||
if not self.get_title():
|
||||
self.set_title(lines[0])
|
||||
if not self.title:
|
||||
self.title = lines[0]
|
||||
self.add_verse(text)
|
||||
|
||||
def get_title(self):
|
||||
"""
|
||||
Return the title
|
||||
"""
|
||||
return self.title
|
||||
|
||||
def get_copyright(self):
|
||||
"""
|
||||
Return the copyright
|
||||
"""
|
||||
return self.copyright
|
||||
|
||||
def get_song_number(self):
|
||||
"""
|
||||
Return the song number
|
||||
"""
|
||||
return self.song_number
|
||||
|
||||
def set_title(self, title):
|
||||
"""
|
||||
Set the title
|
||||
"""
|
||||
self.title = title
|
||||
|
||||
def set_alternate_title(self, title):
|
||||
"""
|
||||
Set the alternate title
|
||||
"""
|
||||
self.alternate_title = title
|
||||
|
||||
def set_song_number(self, song_number):
|
||||
"""
|
||||
Set the song number
|
||||
"""
|
||||
self.song_number = song_number
|
||||
|
||||
def set_song_book(self, song_book, publisher):
|
||||
"""
|
||||
Set the song book name and publisher
|
||||
"""
|
||||
self.song_book_name = song_book
|
||||
self.song_book_pub = publisher
|
||||
|
||||
def add_copyright(self, copyright):
|
||||
"""
|
||||
Build the copyright field
|
||||
@ -303,28 +260,22 @@ class SongImport(object):
|
||||
author = self.manager.get_object_filtered(Author,
|
||||
Author.display_name == authortext)
|
||||
if author is None:
|
||||
author = Author()
|
||||
author.display_name = authortext
|
||||
author.last_name = authortext.split(u' ')[-1]
|
||||
author.first_name = u' '.join(authortext.split(u' ')[:-1])
|
||||
self.manager.save_object(author)
|
||||
author = Author.populate(display_name = authortext,
|
||||
last_name=authortext.split(u' ')[-1],
|
||||
first_name=u' '.join(authortext.split(u' ')[:-1]))
|
||||
song.authors.append(author)
|
||||
if self.song_book_name:
|
||||
song_book = self.manager.get_object_filtered(Book,
|
||||
Book.name == self.song_book_name)
|
||||
if song_book is None:
|
||||
song_book = Book()
|
||||
song_book.name = self.song_book_name
|
||||
song_book.publisher = self.song_book_pub
|
||||
self.manager.save_object(song_book)
|
||||
song.song_book_id = song_book.id
|
||||
song_book = Book.populate(name=self.song_book_name,
|
||||
publisher=self.song_book_pub)
|
||||
song.book = song_book
|
||||
for topictext in self.topics:
|
||||
topic = self.manager.get_object_filtered(Topic,
|
||||
Topic.name == topictext)
|
||||
if topic is None:
|
||||
topic = Topic()
|
||||
topic.name = topictext
|
||||
self.manager.save_object(topic)
|
||||
topic = Topic.populate(name=topictext)
|
||||
song.topics.append(topictext)
|
||||
self.manager.save_object(song)
|
||||
|
||||
|
@ -366,10 +366,6 @@ class Song(object):
|
||||
if len(self.search_title) < 1:
|
||||
raise SongTitleError(u'The searchable title is empty')
|
||||
|
||||
def get_title(self):
|
||||
"""Return title value"""
|
||||
return self.title
|
||||
|
||||
def from_ccli_text_buffer(self, textList):
|
||||
"""
|
||||
Create song from a list of texts (strings) - CCLI text format expected
|
||||
@ -688,7 +684,7 @@ class Song(object):
|
||||
raise SongSlideError(u'Slide number too high')
|
||||
res = []
|
||||
if self.show_title:
|
||||
title = self.get_title()
|
||||
title = self.title
|
||||
else:
|
||||
title = ""
|
||||
if self.show_author_list:
|
||||
|
Loading…
Reference in New Issue
Block a user