From bb31492609098116c93e65407a770828080f9985 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Fri, 27 Aug 2010 23:49:27 +0100 Subject: [PATCH 1/5] Fix song maintenance as subform (Bug #612282) --- openlp/plugins/songs/forms/editsongform.py | 1 + openlp/plugins/songs/forms/editversedialog.py | 121 +++++++++--------- openlp/plugins/songs/forms/editverseform.py | 67 +++++----- .../songs/forms/songmaintenanceform.py | 37 +++--- 4 files changed, 115 insertions(+), 111 deletions(-) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 1567fa62e..a7c5650a3 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -600,6 +600,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.CopyrightEditItem.setCursorPosition(pos + 1) def onMaintenanceButtonClicked(self): + self.parent.song_maintenance_form.songFormLaunch = True self.parent.song_maintenance_form.exec_() self.loadAuthors() self.loadBooks() diff --git a/openlp/plugins/songs/forms/editversedialog.py b/openlp/plugins/songs/forms/editversedialog.py index 10c0d6849..832b8aa4c 100644 --- a/openlp/plugins/songs/forms/editversedialog.py +++ b/openlp/plugins/songs/forms/editversedialog.py @@ -30,77 +30,78 @@ from openlp.core.lib import build_icon, translate from openlp.plugins.songs.lib import VerseType class Ui_EditVerseDialog(object): - def setupUi(self, EditVerseDialog): - EditVerseDialog.setObjectName(u'EditVerseDialog') - EditVerseDialog.resize(474, 442) - EditVerseDialog.setModal(True) - self.EditVerseLayout = QtGui.QVBoxLayout(EditVerseDialog) - self.EditVerseLayout.setSpacing(8) - self.EditVerseLayout.setMargin(8) - self.EditVerseLayout.setObjectName(u'EditVerseLayout') - self.VerseTextEdit = QtGui.QPlainTextEdit(EditVerseDialog) - self.VerseTextEdit.setObjectName(u'VerseTextEdit') - self.EditVerseLayout.addWidget(self.VerseTextEdit) - self.VerseTypeLayout = QtGui.QHBoxLayout() - self.VerseTypeLayout.setSpacing(8) - self.VerseTypeLayout.setObjectName(u'VerseTypeLayout') - self.VerseTypeLabel = QtGui.QLabel(EditVerseDialog) - self.VerseTypeLabel.setObjectName(u'VerseTypeLabel') - self.VerseTypeLayout.addWidget(self.VerseTypeLabel) - self.VerseTypeComboBox = QtGui.QComboBox(EditVerseDialog) - self.VerseTypeComboBox.setObjectName(u'VerseTypeComboBox') - self.VerseTypeComboBox.addItem(u'') - self.VerseTypeComboBox.addItem(u'') - self.VerseTypeComboBox.addItem(u'') - self.VerseTypeComboBox.addItem(u'') - self.VerseTypeComboBox.addItem(u'') - self.VerseTypeComboBox.addItem(u'') - self.VerseTypeComboBox.addItem(u'') - self.VerseTypeLayout.addWidget(self.VerseTypeComboBox) - self.VerseNumberBox = QtGui.QSpinBox(EditVerseDialog) - self.VerseNumberBox.setMinimum(1) - self.VerseNumberBox.setObjectName(u'VerseNumberBox') - self.VerseTypeLayout.addWidget(self.VerseNumberBox) - self.InsertButton = QtGui.QPushButton(EditVerseDialog) - self.InsertButton.setIcon(build_icon(u':/general/general_add.png')) - self.InsertButton.setObjectName(u'InsertButton') - self.VerseTypeLayout.addWidget(self.InsertButton) - self.VerseTypeSpacer = QtGui.QSpacerItem(40, 20, + def setupUi(self, editVerseDialog): + editVerseDialog.setObjectName(u'editVerseDialog') + editVerseDialog.resize(474, 442) + editVerseDialog.setModal(True) + self.editVerseLayout = QtGui.QVBoxLayout(editVerseDialog) + self.editVerseLayout.setSpacing(8) + self.editVerseLayout.setMargin(8) + self.editVerseLayout.setObjectName(u'editVerseLayout') + self.verseTextEdit = QtGui.QPlainTextEdit(editVerseDialog) + self.verseTextEdit.setObjectName(u'verseTextEdit') + self.editVerseLayout.addWidget(self.verseTextEdit) + self.verseTypeLayout = QtGui.QHBoxLayout() + self.verseTypeLayout.setSpacing(8) + self.verseTypeLayout.setObjectName(u'verseTypeLayout') + self.verseTypeLabel = QtGui.QLabel(editVerseDialog) + self.verseTypeLabel.setObjectName(u'verseTypeLabel') + self.verseTypeLayout.addWidget(self.verseTypeLabel) + self.verseTypeComboBox = QtGui.QComboBox(editVerseDialog) + self.verseTypeComboBox.setObjectName(u'verseTypeComboBox') + self.verseTypeLabel.setBuddy(self.verseTypeComboBox) + self.verseTypeComboBox.addItem(u'') + self.verseTypeComboBox.addItem(u'') + self.verseTypeComboBox.addItem(u'') + self.verseTypeComboBox.addItem(u'') + self.verseTypeComboBox.addItem(u'') + self.verseTypeComboBox.addItem(u'') + self.verseTypeComboBox.addItem(u'') + self.verseTypeLayout.addWidget(self.verseTypeComboBox) + self.verseNumberBox = QtGui.QSpinBox(editVerseDialog) + self.verseNumberBox.setMinimum(1) + self.verseNumberBox.setObjectName(u'verseNumberBox') + self.verseTypeLayout.addWidget(self.verseNumberBox) + self.insertButton = QtGui.QPushButton(editVerseDialog) + self.insertButton.setIcon(build_icon(u':/general/general_add.png')) + self.insertButton.setObjectName(u'insertButton') + self.verseTypeLayout.addWidget(self.insertButton) + self.verseTypeSpacer = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.VerseTypeLayout.addItem(self.VerseTypeSpacer) - self.EditVerseLayout.addLayout(self.VerseTypeLayout) - self.EditButtonBox = QtGui.QDialogButtonBox(EditVerseDialog) - self.EditButtonBox.setOrientation(QtCore.Qt.Horizontal) - self.EditButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | + self.verseTypeLayout.addItem(self.verseTypeSpacer) + self.editVerseLayout.addLayout(self.verseTypeLayout) + self.editButtonBox = QtGui.QDialogButtonBox(editVerseDialog) + self.editButtonBox.setOrientation(QtCore.Qt.Horizontal) + self.editButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Save) - self.EditButtonBox.setObjectName(u'EditButtonBox') - self.EditVerseLayout.addWidget(self.EditButtonBox) + self.editButtonBox.setObjectName(u'editButtonBox') + self.editVerseLayout.addWidget(self.editButtonBox) - self.retranslateUi(EditVerseDialog) - QtCore.QObject.connect(self.EditButtonBox, QtCore.SIGNAL(u'accepted()'), - EditVerseDialog.accept) - QtCore.QObject.connect(self.EditButtonBox, QtCore.SIGNAL(u'rejected()'), - EditVerseDialog.reject) - QtCore.QMetaObject.connectSlotsByName(EditVerseDialog) + self.retranslateUi(editVerseDialog) + QtCore.QObject.connect(self.editButtonBox, QtCore.SIGNAL(u'accepted()'), + editVerseDialog.accept) + QtCore.QObject.connect(self.editButtonBox, QtCore.SIGNAL(u'rejected()'), + editVerseDialog.reject) + QtCore.QMetaObject.connectSlotsByName(editVerseDialog) - def retranslateUi(self, EditVerseDialog): - EditVerseDialog.setWindowTitle( + def retranslateUi(self, editVerseDialog): + editVerseDialog.setWindowTitle( translate('SongsPlugin.EditVerseForm', 'Edit Verse')) - self.VerseTypeLabel.setText( + self.verseTypeLabel.setText( translate('SongsPlugin.EditVerseForm', '&Verse type:')) - self.VerseTypeComboBox.setItemText(0, + self.verseTypeComboBox.setItemText(0, VerseType.to_string(VerseType.Verse)) - self.VerseTypeComboBox.setItemText(1, + self.verseTypeComboBox.setItemText(1, VerseType.to_string(VerseType.Chorus)) - self.VerseTypeComboBox.setItemText(2, + self.verseTypeComboBox.setItemText(2, VerseType.to_string(VerseType.Bridge)) - self.VerseTypeComboBox.setItemText(3, + self.verseTypeComboBox.setItemText(3, VerseType.to_string(VerseType.PreChorus)) - self.VerseTypeComboBox.setItemText(4, + self.verseTypeComboBox.setItemText(4, VerseType.to_string(VerseType.Intro)) - self.VerseTypeComboBox.setItemText(5, + self.verseTypeComboBox.setItemText(5, VerseType.to_string(VerseType.Ending)) - self.VerseTypeComboBox.setItemText(6, + self.verseTypeComboBox.setItemText(6, VerseType.to_string(VerseType.Other)) - self.InsertButton.setText( + self.insertButton.setText( translate('SongsPlugin.EditVerseForm', '&Insert')) diff --git a/openlp/plugins/songs/forms/editverseform.py b/openlp/plugins/songs/forms/editverseform.py index 3622593a0..b52069025 100644 --- a/openlp/plugins/songs/forms/editverseform.py +++ b/openlp/plugins/songs/forms/editverseform.py @@ -45,34 +45,29 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog): """ QtGui.QDialog.__init__(self, parent) self.setupUi(self) - QtCore.QObject.connect( - self.InsertButton, - QtCore.SIGNAL(u'clicked()'), - self.onInsertButtonClicked - ) - QtCore.QObject.connect( - self.VerseTextEdit, + QtCore.QObject.connect(self.insertButton, QtCore.SIGNAL(u'clicked()'), + self.onInsertButtonClicked) + QtCore.QObject.connect(self.verseTextEdit, QtCore.SIGNAL(u'cursorPositionChanged()'), - self.onCursorPositionChanged - ) + self.onCursorPositionChanged) self.verse_regex = re.compile(r'---\[([-\w]+):([\d]+)\]---') def insertVerse(self, title, num=1): - if self.VerseTextEdit.textCursor().columnNumber() != 0: - self.VerseTextEdit.insertPlainText(u'\n') - self.VerseTextEdit.insertPlainText(u'---[%s:%s]---\n' % (title, num)) - self.VerseTextEdit.setFocus() + if self.verseTextEdit.textCursor().columnNumber() != 0: + self.verseTextEdit.insertPlainText(u'\n') + self.verseTextEdit.insertPlainText(u'---[%s:%s]---\n' % (title, num)) + self.verseTextEdit.setFocus() def onInsertButtonClicked(self): - if self.VerseTextEdit.textCursor().columnNumber() != 0: - self.VerseTextEdit.insertPlainText(u'\n') - verse_type = self.VerseTypeComboBox.currentIndex() + if self.verseTextEdit.textCursor().columnNumber() != 0: + self.verseTextEdit.insertPlainText(u'\n') + verse_type = self.verseTypeComboBox.currentIndex() if verse_type == VerseType.Verse: self.insertVerse(VerseType.to_string(VerseType.Verse), - self.VerseNumberBox.value()) + self.verseNumberBox.value()) elif verse_type == VerseType.Chorus: self.insertVerse(VerseType.to_string(VerseType.Chorus), - self.VerseNumberBox.value()) + self.verseNumberBox.value()) elif verse_type == VerseType.Bridge: self.insertVerse(VerseType.to_string(VerseType.Bridge)) elif verse_type == VerseType.PreChorus: @@ -85,12 +80,12 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog): self.insertVerse(VerseType.to_string(VerseType.Other)) def onCursorPositionChanged(self): - position = self.VerseTextEdit.textCursor().position() - text = unicode(self.VerseTextEdit.toPlainText()) + position = self.verseTextEdit.textCursor().position() + text = unicode(self.verseTextEdit.toPlainText()) if not text: return if text.rfind(u'[', 0, position) > text.rfind(u']', 0, position) and \ - text.find(u']', position) < text.find(u'[', position): + text.find(u']', position) < text.find(u'[', position): return position = text.rfind(u'---[', 0, position) if position == -1: @@ -106,8 +101,8 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog): verse_number = int(match.group(2)) verse_type_index = VerseType.from_string(verse_type) if verse_type_index is not None: - self.VerseTypeComboBox.setCurrentIndex(verse_type_index) - self.VerseNumberBox.setValue(verse_number) + self.verseTypeComboBox.setCurrentIndex(verse_type_index) + self.verseNumberBox.setValue(verse_number) def setVerse(self, text, single=False, tag=u'%s:1' % VerseType.to_string(VerseType.Verse)): @@ -115,26 +110,26 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog): verse_type, verse_number = tag.split(u':') verse_type_index = VerseType.from_string(verse_type) if verse_type_index is not None: - self.VerseTypeComboBox.setCurrentIndex(verse_type_index) - self.VerseNumberBox.setValue(int(verse_number)) - self.InsertButton.setVisible(False) + self.verseTypeComboBox.setCurrentIndex(verse_type_index) + self.verseNumberBox.setValue(int(verse_number)) + self.insertButton.setVisible(False) else: if not text: text = u'---[%s:1]---\n' % VerseType.to_string(VerseType.Verse) - self.VerseTypeComboBox.setCurrentIndex(0) - self.VerseNumberBox.setValue(1) - self.InsertButton.setVisible(True) - self.VerseTextEdit.setPlainText(text) - self.VerseTextEdit.setFocus(QtCore.Qt.OtherFocusReason) - self.VerseTextEdit.moveCursor(QtGui.QTextCursor.End) + self.verseTypeComboBox.setCurrentIndex(0) + self.verseNumberBox.setValue(1) + self.insertButton.setVisible(True) + self.verseTextEdit.setPlainText(text) + self.verseTextEdit.setFocus(QtCore.Qt.OtherFocusReason) + self.verseTextEdit.moveCursor(QtGui.QTextCursor.End) def getVerse(self): - return self.VerseTextEdit.toPlainText(), \ - VerseType.to_string(self.VerseTypeComboBox.currentIndex()), \ - unicode(self.VerseNumberBox.value()) + return self.verseTextEdit.toPlainText(), \ + VerseType.to_string(self.verseTypeComboBox.currentIndex()), \ + unicode(self.verseNumberBox.value()) def getVerseAll(self): - text = self.VerseTextEdit.toPlainText() + text = self.verseTextEdit.toPlainText() if not text.startsWith(u'---['): text = u'---[%s:1]---\n%s' % (VerseType.to_string(VerseType.Verse), text) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 3ba7494c1..b9e4b707f 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -42,6 +42,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): """ QtGui.QDialog.__init__(self, parent) self.setupUi(self) + self.songFormLaunch = False + self.commitOnSave = True self.songmanager = songmanager self.authorform = AuthorsForm(self) self.topicform = TopicsForm(self) @@ -70,6 +72,11 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): self.resetAuthors() self.resetTopics() self.resetBooks() + if self.songFormLaunch: + self.commitOnSave = False + self.songFormLaunch = False + else: + self.commitOnSave = True self.TypeListWidget.setFocus() return QtGui.QDialog.exec_(self) @@ -227,7 +234,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): last_name=unicode(self.authorform.LastNameEdit.text()), display_name=unicode(self.authorform.DisplayEdit.text())) if self.checkAuthor(author): - if self.songmanager.save_object(author): + if self.songmanager.save_object(author, self.commitOnSave): self.resetAuthors() else: QtGui.QMessageBox.critical(self, @@ -244,7 +251,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.topicform.exec_(): topic = Topic.populate(name=unicode(self.topicform.NameEdit.text())) if self.checkTopic(topic): - if self.songmanager.save_object(topic): + if self.songmanager.save_object(topic, self.commitOnSave): self.resetTopics() else: QtGui.QMessageBox.critical(self, @@ -262,7 +269,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book = Book.populate(name=unicode(self.bookform.NameEdit.text()), publisher=unicode(self.bookform.PublisherEdit.text())) if self.checkBook(book): - if self.songmanager.save_object(book): + if self.songmanager.save_object(book, self.commitOnSave): self.resetBooks() else: QtGui.QMessageBox.critical(self, @@ -295,7 +302,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): author.display_name = unicode( self.authorform.DisplayEdit.text()) if self.checkAuthor(author, True): - if self.songmanager.save_object(author): + if self.songmanager.save_object(author, self.commitOnSave): self.resetAuthors() Receiver.send_message(u'songs_load_list') else: @@ -337,7 +344,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.topicform.exec_(False): topic.name = unicode(self.topicform.NameEdit.text()) if self.checkTopic(topic, True): - if self.songmanager.save_object(topic): + if self.songmanager.save_object(topic, self.commitOnSave): self.resetTopics() else: QtGui.QMessageBox.critical(self, @@ -380,7 +387,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book.name = unicode(self.bookform.NameEdit.text()) book.publisher = unicode(self.bookform.PublisherEdit.text()) if self.checkBook(book, True): - if self.songmanager.save_object(book): + if self.songmanager.save_object(book, self.commitOnSave): self.resetBooks() else: QtGui.QMessageBox.critical(self, @@ -404,12 +411,12 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book.publisher = temp_publisher def mergeAuthors(self, old_author): - ''' + """ Merges two authors into one author. ``old_author`` The author which will be deleted afterwards. - ''' + """ existing_author = self.songmanager.get_object_filtered(Author, and_(Author.first_name == old_author.first_name, Author.last_name == old_author.last_name, @@ -422,16 +429,16 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if existing_author not in song.authors: song.authors.append(existing_author) song.authors.remove(old_author) - self.songmanager.save_object(song) + self.songmanager.save_object(song, self.commitOnSave) self.songmanager.delete_object(Author, old_author.id) def mergeTopics(self, old_topic): - ''' + """ Merges two topics into one topic. ``old_topic`` The topic which will be deleted afterwards. - ''' + """ existing_topic = self.songmanager.get_object_filtered(Topic, Topic.name == old_topic.name) songs = self.songmanager.get_all_objects(Song, @@ -442,16 +449,16 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if existing_topic not in song.topics: song.topics.append(existing_topic) song.topics.remove(old_topic) - self.songmanager.save_object(song) + self.songmanager.save_object(song, self.commitOnSave) self.songmanager.delete_object(Topic, old_topic.id) def mergeBooks(self, old_book): - ''' + """ Merges two books into one book. ``old_book`` The book which will be deleted afterwards. - ''' + """ existing_book = self.songmanager.get_object_filtered(Book, and_(Book.name == old_book.name, Book.publisher == old_book.publisher)) @@ -459,7 +466,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): Song.song_book_id == old_book.id) for song in songs: song.song_book_id = existing_book.id - self.songmanager.save_object(song) + self.songmanager.save_object(song, self.commitOnSave) self.songmanager.delete_object(Book, old_book.id) def onAuthorDeleteButtonClick(self): From 000d23f7c6454faded27ef09b0245934f8752f5b Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 28 Aug 2010 02:31:11 +0100 Subject: [PATCH 2/5] Cleanup long lines --- .../plugins/songs/forms/songimportwizard.py | 60 ++++++++++++------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/openlp/plugins/songs/forms/songimportwizard.py b/openlp/plugins/songs/forms/songimportwizard.py index f1898d107..f174d5ce3 100644 --- a/openlp/plugins/songs/forms/songimportwizard.py +++ b/openlp/plugins/songs/forms/songimportwizard.py @@ -215,25 +215,32 @@ class Ui_SongImportWizard(object): self.wordsOfWorshipLayout.setSpacing(8) self.wordsOfWorshipLayout.setMargin(0) self.wordsOfWorshipLayout.setObjectName(u'wordsOfWorshipLayout') - self.wordsOfWorshipFileListWidget = QtGui.QListWidget(self.wordsOfWorshipPage) + self.wordsOfWorshipFileListWidget = QtGui.QListWidget( + self.wordsOfWorshipPage) self.wordsOfWorshipFileListWidget.setSelectionMode( QtGui.QAbstractItemView.ExtendedSelection) - self.wordsOfWorshipFileListWidget.setObjectName(u'wordsOfWorshipFileListWidget') + self.wordsOfWorshipFileListWidget.setObjectName( + u'wordsOfWorshipFileListWidget') self.wordsOfWorshipLayout.addWidget(self.wordsOfWorshipFileListWidget) self.wordsOfWorshipButtonLayout = QtGui.QHBoxLayout() self.wordsOfWorshipButtonLayout.setSpacing(8) - self.wordsOfWorshipButtonLayout.setObjectName(u'wordsOfWorshipButtonLayout') - self.wordsOfWorshipAddButton = QtGui.QPushButton(self.wordsOfWorshipPage) + self.wordsOfWorshipButtonLayout.setObjectName( + u'wordsOfWorshipButtonLayout') + self.wordsOfWorshipAddButton = QtGui.QPushButton( + self.wordsOfWorshipPage) self.wordsOfWorshipAddButton.setIcon(openIcon) self.wordsOfWorshipAddButton.setObjectName(u'wordsOfWorshipAddButton') self.wordsOfWorshipButtonLayout.addWidget(self.wordsOfWorshipAddButton) self.wordsOfWorshipButtonSpacer = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.wordsOfWorshipButtonLayout.addItem(self.wordsOfWorshipButtonSpacer) - self.wordsOfWorshipRemoveButton = QtGui.QPushButton(self.wordsOfWorshipPage) + self.wordsOfWorshipRemoveButton = QtGui.QPushButton( + self.wordsOfWorshipPage) self.wordsOfWorshipRemoveButton.setIcon(deleteIcon) - self.wordsOfWorshipRemoveButton.setObjectName(u'wordsOfWorshipRemoveButton') - self.wordsOfWorshipButtonLayout.addWidget(self.wordsOfWorshipRemoveButton) + self.wordsOfWorshipRemoveButton.setObjectName( + u'wordsOfWorshipRemoveButton') + self.wordsOfWorshipButtonLayout.addWidget( + self.wordsOfWorshipRemoveButton) self.wordsOfWorshipLayout.addLayout(self.wordsOfWorshipButtonLayout) self.formatStackedWidget.addWidget(self.wordsOfWorshipPage) # CCLI File import @@ -267,30 +274,43 @@ class Ui_SongImportWizard(object): # Songs of Fellowship self.songsOfFellowshipPage = QtGui.QWidget() self.songsOfFellowshipPage.setObjectName(u'songsOfFellowshipPage') - self.songsOfFellowshipLayout = QtGui.QVBoxLayout(self.songsOfFellowshipPage) + self.songsOfFellowshipLayout = QtGui.QVBoxLayout( + self.songsOfFellowshipPage) self.songsOfFellowshipLayout.setMargin(0) self.songsOfFellowshipLayout.setSpacing(8) self.songsOfFellowshipLayout.setObjectName(u'songsOfFellowshipLayout') - self.songsOfFellowshipFileListWidget = QtGui.QListWidget(self.songsOfFellowshipPage) + self.songsOfFellowshipFileListWidget = QtGui.QListWidget( + self.songsOfFellowshipPage) self.songsOfFellowshipFileListWidget.setSelectionMode( QtGui.QAbstractItemView.ExtendedSelection) - self.songsOfFellowshipFileListWidget.setObjectName(u'songsOfFellowshipFileListWidget') - self.songsOfFellowshipLayout.addWidget(self.songsOfFellowshipFileListWidget) + self.songsOfFellowshipFileListWidget.setObjectName( + u'songsOfFellowshipFileListWidget') + self.songsOfFellowshipLayout.addWidget( + self.songsOfFellowshipFileListWidget) self.songsOfFellowshipButtonLayout = QtGui.QHBoxLayout() self.songsOfFellowshipButtonLayout.setSpacing(8) - self.songsOfFellowshipButtonLayout.setObjectName(u'songsOfFellowshipButtonLayout') - self.songsOfFellowshipAddButton = QtGui.QPushButton(self.songsOfFellowshipPage) + self.songsOfFellowshipButtonLayout.setObjectName( + u'songsOfFellowshipButtonLayout') + self.songsOfFellowshipAddButton = QtGui.QPushButton( + self.songsOfFellowshipPage) self.songsOfFellowshipAddButton.setIcon(openIcon) - self.songsOfFellowshipAddButton.setObjectName(u'songsOfFellowshipAddButton') - self.songsOfFellowshipButtonLayout.addWidget(self.songsOfFellowshipAddButton) + self.songsOfFellowshipAddButton.setObjectName( + u'songsOfFellowshipAddButton') + self.songsOfFellowshipButtonLayout.addWidget( + self.songsOfFellowshipAddButton) self.songsOfFellowshipButtonSpacer = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.songsOfFellowshipButtonLayout.addItem(self.songsOfFellowshipButtonSpacer) - self.songsOfFellowshipRemoveButton = QtGui.QPushButton(self.songsOfFellowshipPage) + self.songsOfFellowshipButtonLayout.addItem( + self.songsOfFellowshipButtonSpacer) + self.songsOfFellowshipRemoveButton = QtGui.QPushButton( + self.songsOfFellowshipPage) self.songsOfFellowshipRemoveButton.setIcon(deleteIcon) - self.songsOfFellowshipRemoveButton.setObjectName(u'songsOfFellowshipRemoveButton') - self.songsOfFellowshipButtonLayout.addWidget(self.songsOfFellowshipRemoveButton) - self.songsOfFellowshipLayout.addLayout(self.songsOfFellowshipButtonLayout) + self.songsOfFellowshipRemoveButton.setObjectName( + u'songsOfFellowshipRemoveButton') + self.songsOfFellowshipButtonLayout.addWidget( + self.songsOfFellowshipRemoveButton) + self.songsOfFellowshipLayout.addLayout( + self.songsOfFellowshipButtonLayout) self.formatStackedWidget.addWidget(self.songsOfFellowshipPage) # Generic Document/Presentation import self.genericPage = QtGui.QWidget() From 066a97f4d76a6967aeba1233bada6daaddbdbc25 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 28 Aug 2010 20:32:24 +0100 Subject: [PATCH 3/5] Really fix song maintenance as subform (Bug #612282) --- openlp/plugins/songs/forms/editsongdialog.py | 12 +++- openlp/plugins/songs/forms/editsongform.py | 69 +++++++++---------- .../songs/forms/songmaintenanceform.py | 25 +++---- openlp/plugins/songs/lib/db.py | 2 +- 4 files changed, 51 insertions(+), 57 deletions(-) diff --git a/openlp/plugins/songs/forms/editsongdialog.py b/openlp/plugins/songs/forms/editsongdialog.py index 6cac95030..870a68bca 100644 --- a/openlp/plugins/songs/forms/editsongdialog.py +++ b/openlp/plugins/songs/forms/editsongdialog.py @@ -263,8 +263,8 @@ class Ui_EditSongDialog(object): self.SongbookLayout.setSpacing(8) self.SongbookLayout.setObjectName(u'SongbookLayout') self.SongbookCombo = QtGui.QComboBox(self.SongBookGroup) - sizePolicy = QtGui.QSizePolicy( - QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, + QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( @@ -273,6 +273,12 @@ class Ui_EditSongDialog(object): self.SongbookCombo.setSizePolicy(sizePolicy) self.SongbookCombo.setObjectName(u'SongbookCombo') self.SongbookLayout.addWidget(self.SongbookCombo, 0, 0, 1, 1) + self.songBookNumberLabel = QtGui.QLabel(self.SongBookGroup) + self.SongbookLayout.addWidget(self.songBookNumberLabel, 0, 1, 1, 1) + self.songBookNumberEdit = QtGui.QLineEdit(self.SongBookGroup) + self.songBookNumberLabel.setBuddy(self.songBookNumberEdit) + self.songBookNumberEdit.setMaximumWidth(35) + self.SongbookLayout.addWidget(self.songBookNumberEdit, 0, 2, 1, 1) self.TopicBookLayout.addWidget(self.SongBookGroup) self.AuthorsTabLayout.addWidget(self.TopicBookWidget) self.SongTabWidget.addTab(self.AuthorsTab, u'') @@ -440,6 +446,8 @@ class Ui_EditSongDialog(object): translate('SongsPlugin.EditSongForm', 'R&emove')) self.SongBookGroup.setTitle( translate('SongsPlugin.EditSongForm', 'Song Book')) + self.songBookNumberLabel.setText(translate('SongsPlugin.EditSongForm', + 'Song No.:')) self.SongTabWidget.setTabText( self.SongTabWidget.indexOf(self.AuthorsTab), translate('SongsPlugin.EditSongForm', diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index a7c5650a3..ebabde799 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -49,6 +49,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): """ QtGui.QDialog.__init__(self, parent) self.parent = parent + self.song = None # can this be automated? self.width = 400 self.setupUi(self) @@ -83,10 +84,6 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): QtCore.QObject.connect(self.VerseListWidget, QtCore.SIGNAL(u'itemClicked(QTableWidgetItem*)'), self.onVerseListViewPressed) - QtCore.QObject.connect(self.SongbookCombo, - QtCore.SIGNAL(u'activated(int)'), self.onSongBookComboChanged) - QtCore.QObject.connect(self.ThemeSelectionComboItem, - QtCore.SIGNAL(u'activated(int)'), self.onThemeComboChanged) QtCore.QObject.connect(self.ThemeAddButton, QtCore.SIGNAL(u'clicked()'), self.parent.parent.renderManager.theme_manager.onAddTheme) @@ -157,7 +154,6 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def newSong(self): log.debug(u'New Song') self.SongTabWidget.setCurrentIndex(0) - self.song = Song() self.TitleEditItem.setText(u'') self.AlternativeEdit.setText(u'') self.CopyrightEditItem.setText(u'') @@ -298,8 +294,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): else: author = Author.populate(first_name=text.rsplit(u' ', 1)[0], last_name=text.rsplit(u' ', 1)[1], display_name=text) - self.songmanager.save_object(author, False) - self.song.authors.append(author) + self.songmanager.save_object(author) author_item = QtGui.QListWidgetItem( unicode(author.display_name)) author_item.setData(QtCore.Qt.UserRole, @@ -312,13 +307,13 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): elif item > 0: item_id = (self.AuthorsSelectionComboItem.itemData(item)).toInt()[0] author = self.songmanager.get_object(Author, item_id) - if author in self.song.authors: + if self.AuthorsListView.findItems(unicode(author.display_name), + QtCore.Qt.MatchExactly): QtGui.QMessageBox.warning(self, translate('SongsPlugin.EditSongForm', 'Error'), translate('SongsPlugin.EditSongForm', 'This author is ' 'already in the list.')) else: - self.song.authors.append(author) author_item = QtGui.QListWidgetItem(unicode( author.display_name)) author_item.setData(QtCore.Qt.UserRole, @@ -340,9 +335,6 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def onAuthorRemoveButtonClicked(self): self.AuthorRemoveButton.setEnabled(False) item = self.AuthorsListView.currentItem() - author_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] - author = self.songmanager.get_object(Author, author_id) - self.song.authors.remove(author) row = self.AuthorsListView.row(item) self.AuthorsListView.takeItem(row) @@ -357,8 +349,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes: topic = Topic.populate(name=text) - self.songmanager.save_object(topic, False) - self.song.topics.append(topic) + self.songmanager.save_object(topic) topic_item = QtGui.QListWidgetItem(unicode(topic.name)) topic_item.setData(QtCore.Qt.UserRole, QtCore.QVariant(topic.id)) @@ -370,13 +361,13 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): elif item > 0: item_id = (self.SongTopicCombo.itemData(item)).toInt()[0] topic = self.songmanager.get_object(Topic, item_id) - if topic in self.song.topics: + if self.TopicsListView.findItems(unicode(topic.name), + QtCore.Qt.MatchExactly): QtGui.QMessageBox.warning(self, translate('SongsPlugin.EditSongForm', 'Error'), translate('SongsPlugin.EditSongForm', 'This topic is ' 'already in the list.')) else: - self.song.topics.append(topic) topic_item = QtGui.QListWidgetItem(unicode(topic.name)) topic_item.setData(QtCore.Qt.UserRole, QtCore.QVariant(topic.id)) @@ -396,27 +387,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def onTopicRemoveButtonClicked(self): self.TopicRemoveButton.setEnabled(False) item = self.TopicsListView.currentItem() - topic_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] - topic = self.songmanager.get_object(Topic, topic_id) - self.song.topics.remove(topic) row = self.TopicsListView.row(item) self.TopicsListView.takeItem(row) - def onSongBookComboChanged(self, item): - if item >= 1: - self.song.song_book_id = \ - (self.SongbookCombo.itemData(item)).toInt()[0] - else: - self.song.song_book_id = 0 - - def onThemeComboChanged(self, item): - if item == 0: - # None means no Theme - self.song.theme_name = None - else: - them_name = unicode(self.ThemeSelectionComboItem.itemText(item)) - self.song.theme_name = them_name - def onVerseListViewPressed(self): self.VerseEditButton.setEnabled(True) self.VerseDeleteButton.setEnabled(True) @@ -600,11 +573,17 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.CopyrightEditItem.setCursorPosition(pos + 1) def onMaintenanceButtonClicked(self): - self.parent.song_maintenance_form.songFormLaunch = True + temp_song_book = None + item = int(self.SongbookCombo.currentIndex()) + text = unicode(self.SongbookCombo.currentText()) + if item == 0 and text: + temp_song_book = text self.parent.song_maintenance_form.exec_() self.loadAuthors() self.loadBooks() self.loadTopics() + if temp_song_book: + self.SongbookCombo.setEditText(temp_song_book) def onPreview(self, button): """ @@ -621,6 +600,8 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def accept(self): log.debug(u'accept') + if not self.song: + self.song = Song() item = int(self.SongbookCombo.currentIndex()) text = unicode(self.SongbookCombo.currentText()) if item == 0 and text: @@ -633,7 +614,6 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): book = Book.populate(name=text, publisher=u'') self.songmanager.save_object(book) self.song.book = book - self.loadBooks() else: return if self.saveSong(): @@ -649,9 +629,22 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.song.comments = unicode(self.CommentsEdit.toPlainText()) self.song.verse_order = unicode(self.VerseOrderEdit.text()) self.song.ccli_number = unicode(self.CCLNumberEdit.text()) + self.song.song_number = unicode(self.songBookNumberEdit.text()) if self._validate_song(): self.processLyrics() self.processTitle() + self.song.authors = [] + for row in range(self.AuthorsListView.count()): + item = self.AuthorsListView.item(row) + authorId = (item.data(QtCore.Qt.UserRole)).toInt()[0] + self.song.authors.append(self.songmanager.get_object(Author, + authorId)) + self.song.topics = [] + for row in range(self.TopicsListView.count()): + item = self.TopicsListView.item(row) + topicId = (item.data(QtCore.Qt.UserRole)).toInt()[0] + self.song.topics.append(self.songmanager.get_object(Topic, + topicId)) self.songmanager.save_object(self.song) return True return False @@ -683,5 +676,5 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def processTitle(self): log.debug(u'processTitle') - self.song.search_title = \ - re.sub(r'[\'"`,;:(){}?]+', u'', unicode(self.song.search_title)) + self.song.search_title = re.sub(r'[\'"`,;:(){}?]+', u'', + unicode(self.song.search_title)) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index b9e4b707f..a2c12a6d6 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -42,8 +42,6 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): """ QtGui.QDialog.__init__(self, parent) self.setupUi(self) - self.songFormLaunch = False - self.commitOnSave = True self.songmanager = songmanager self.authorform = AuthorsForm(self) self.topicform = TopicsForm(self) @@ -72,11 +70,6 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): self.resetAuthors() self.resetTopics() self.resetBooks() - if self.songFormLaunch: - self.commitOnSave = False - self.songFormLaunch = False - else: - self.commitOnSave = True self.TypeListWidget.setFocus() return QtGui.QDialog.exec_(self) @@ -234,7 +227,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): last_name=unicode(self.authorform.LastNameEdit.text()), display_name=unicode(self.authorform.DisplayEdit.text())) if self.checkAuthor(author): - if self.songmanager.save_object(author, self.commitOnSave): + if self.songmanager.save_object(author): self.resetAuthors() else: QtGui.QMessageBox.critical(self, @@ -251,7 +244,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.topicform.exec_(): topic = Topic.populate(name=unicode(self.topicform.NameEdit.text())) if self.checkTopic(topic): - if self.songmanager.save_object(topic, self.commitOnSave): + if self.songmanager.save_object(topic): self.resetTopics() else: QtGui.QMessageBox.critical(self, @@ -269,7 +262,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book = Book.populate(name=unicode(self.bookform.NameEdit.text()), publisher=unicode(self.bookform.PublisherEdit.text())) if self.checkBook(book): - if self.songmanager.save_object(book, self.commitOnSave): + if self.songmanager.save_object(book): self.resetBooks() else: QtGui.QMessageBox.critical(self, @@ -302,7 +295,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): author.display_name = unicode( self.authorform.DisplayEdit.text()) if self.checkAuthor(author, True): - if self.songmanager.save_object(author, self.commitOnSave): + if self.songmanager.save_object(author): self.resetAuthors() Receiver.send_message(u'songs_load_list') else: @@ -344,7 +337,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.topicform.exec_(False): topic.name = unicode(self.topicform.NameEdit.text()) if self.checkTopic(topic, True): - if self.songmanager.save_object(topic, self.commitOnSave): + if self.songmanager.save_object(topic): self.resetTopics() else: QtGui.QMessageBox.critical(self, @@ -387,7 +380,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book.name = unicode(self.bookform.NameEdit.text()) book.publisher = unicode(self.bookform.PublisherEdit.text()) if self.checkBook(book, True): - if self.songmanager.save_object(book, self.commitOnSave): + if self.songmanager.save_object(book): self.resetBooks() else: QtGui.QMessageBox.critical(self, @@ -429,7 +422,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if existing_author not in song.authors: song.authors.append(existing_author) song.authors.remove(old_author) - self.songmanager.save_object(song, self.commitOnSave) + self.songmanager.save_object(song) self.songmanager.delete_object(Author, old_author.id) def mergeTopics(self, old_topic): @@ -449,7 +442,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if existing_topic not in song.topics: song.topics.append(existing_topic) song.topics.remove(old_topic) - self.songmanager.save_object(song, self.commitOnSave) + self.songmanager.save_object(song) self.songmanager.delete_object(Topic, old_topic.id) def mergeBooks(self, old_book): @@ -466,7 +459,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): Song.song_book_id == old_book.id) for song in songs: song.song_book_id = existing_book.id - self.songmanager.save_object(song, self.commitOnSave) + self.songmanager.save_object(song) self.songmanager.delete_object(Book, old_book.id) def onAuthorDeleteButtonClick(self): diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index 5f50c003b..987d1dd79 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -72,7 +72,7 @@ def init_schema(url): ``url`` The database to setup """ - session, metadata = init_db(url, auto_flush=False) + session, metadata = init_db(url) # Definition of the "authors" table authors_table = Table(u'authors', metadata, From 0abf1597ebd8d0a0889a1394539f873072517d09 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 28 Aug 2010 20:54:50 +0100 Subject: [PATCH 4/5] Fix trunk merging --- openlp/plugins/songs/forms/editverseform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/songs/forms/editverseform.py b/openlp/plugins/songs/forms/editverseform.py index b58a946ac..e81651e1a 100644 --- a/openlp/plugins/songs/forms/editverseform.py +++ b/openlp/plugins/songs/forms/editverseform.py @@ -45,7 +45,7 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog): """ QtGui.QDialog.__init__(self, parent) self.setupUi(self) - QtCore.QObject.connect(self.VerseTextEdit, + QtCore.QObject.connect(self.verseTextEdit, QtCore.SIGNAL('customContextMenuRequested(QPoint)'), self.contextMenu) QtCore.QObject.connect(self.insertButton, QtCore.SIGNAL(u'clicked()'), From 9a1ed78fd5a08ca50e2e22e4183aecb8c71fea42 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sun, 29 Aug 2010 00:52:10 +0100 Subject: [PATCH 5/5] Cleanups --- openlp/core/lib/htmlbuilder.py | 10 +++++----- openlp/core/lib/rendermanager.py | 2 +- openlp/core/ui/__init__.py | 5 +++-- openlp/core/ui/mainwindow.py | 6 ++++-- openlp/core/ui/slidecontroller.py | 18 ++++++++++++------ openlp/plugins/bibles/lib/mediaitem.py | 15 ++++++++------- 6 files changed, 33 insertions(+), 23 deletions(-) diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py index 2fa7b0df0..00468608a 100644 --- a/openlp/core/lib/htmlbuilder.py +++ b/openlp/core/lib/htmlbuilder.py @@ -343,10 +343,10 @@ def build_lyrics(item): shadow = u'display: none;' if theme: lyricscommon = u'width: %spx; height: %spx; word-wrap: break-word; ' \ - u'font-family: %s; font-size: %spx; color: %s; line-height: %d%%;' % \ - (item.main.width(), item.main.height(), - theme.font_main_name, theme.font_main_proportion, - theme.font_main_color, 100 + int(theme.font_main_line_adjustment)) + u'font-family: %s; font-size: %spx; color: %s; line-height: %d%%;' \ + % (item.main.width(), item.main.height(), theme.font_main_name, + theme.font_main_proportion, theme.font_main_color, + 100 + int(theme.font_main_line_adjustment)) lyricstable = u'left: %spx; top: %spx;' % \ (item.main.x(), item.main.y()) outlinetable = u'left: %spx; top: %spx;' % \ @@ -375,7 +375,7 @@ def build_lyrics(item): theme.display_outline_color) if theme.display_shadow: shadow = u'-webkit-text-stroke: %sem %s; ' \ - u'-webkit-text-fill-color: %s; '% \ + u'-webkit-text-fill-color: %s; ' % \ (float(theme.display_outline_size) / 16, theme.display_shadow_color, theme.display_shadow_color) else: diff --git a/openlp/core/lib/rendermanager.py b/openlp/core/lib/rendermanager.py index 13a8cfc6b..9caabdc69 100644 --- a/openlp/core/lib/rendermanager.py +++ b/openlp/core/lib/rendermanager.py @@ -200,7 +200,7 @@ class RenderManager(object): serviceItem.raw_footer = footer serviceItem.render(True) self.display.buildHtml(serviceItem) - frame, raw_html = serviceItem.get_rendered_frame(0) + raw_html = serviceItem.get_rendered_frame(0)[1] preview = self.display.text(raw_html) # Reset the real screen size for subsequent render requests self.calculate_default(self.screens.current[u'size']) diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index 17f2371cc..dad79cb7b 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -53,8 +53,9 @@ class SpellTextEdit(QtGui.QPlainTextEdit): if event.button() == QtCore.Qt.RightButton: # Rewrite the mouse event to a left button event so the cursor is # moved to the location of the pointer. - event = QtGui.QMouseEvent(QtCore.QEvent.MouseButtonPress, event.pos(), - QtCore.Qt.LeftButton, QtCore.Qt.LeftButton, QtCore.Qt.NoModifier) + event = QtGui.QMouseEvent(QtCore.QEvent.MouseButtonPress, + event.pos(), QtCore.Qt.LeftButton, QtCore.Qt.LeftButton, + QtCore.Qt.NoModifier) QtGui.QPlainTextEdit.mousePressEvent(self, event) def contextMenuEvent(self, event): diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index b408821cf..abf035d65 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -94,8 +94,10 @@ class Ui_MainWindow(object): self.ControlSplitter.setObjectName(u'ControlSplitter') self.MainContentLayout.addWidget(self.ControlSplitter) # Create slide controllers - self.PreviewController = SlideController(self, self.settingsmanager, self.screens) - self.LiveController = SlideController(self, self.settingsmanager, self.screens, True) + self.PreviewController = SlideController(self, self.settingsmanager, + self.screens) + self.LiveController = SlideController(self, self.settingsmanager, + self.screens, True) # Create menu self.MenuBar = QtGui.QMenuBar(MainWindow) self.MenuBar.setGeometry(QtCore.QRect(0, 0, 1087, 27)) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index bced92f99..5d688b890 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -117,7 +117,8 @@ class SlideController(QtGui.QWidget): self.split = 1 self.typePrefix = u'live' else: - self.TypeLabel.setText(translate('OpenLP.SlideController', 'Preview')) + self.TypeLabel.setText(translate('OpenLP.SlideController', + 'Preview')) self.split = 0 self.typePrefix = u'preview' self.TypeLabel.setStyleSheet(u'font-weight: bold; font-size: 12pt;') @@ -199,7 +200,8 @@ class SlideController(QtGui.QWidget): QtCore.SIGNAL("triggered(bool)"), self.onThemeDisplay) if self.screens.display_count > 1: self.DesktopScreen = QtGui.QAction(QtGui.QIcon( - u':/slides/slide_desktop.png'), u'Show Desktop', self.HideMenu) + u':/slides/slide_desktop.png'), u'Show Desktop', + self.HideMenu) self.DesktopScreen.setCheckable(True) QtCore.QObject.connect(self.DesktopScreen, QtCore.SIGNAL("triggered(bool)"), self.onHideDisplay) @@ -212,7 +214,8 @@ class SlideController(QtGui.QWidget): self.Toolbar.addToolbarSeparator(u'Close Separator') self.Toolbar.addToolbarButton( u'Go Live', u':/general/general_live.png', - translate('OpenLP.SlideController', 'Move to live'), self.onGoLive) + translate('OpenLP.SlideController', 'Move to live'), + self.onGoLive) self.Toolbar.addToolbarSeparator(u'Close Separator') self.Toolbar.addToolbarButton( u'Edit Song', u':/general/general_edit.png', @@ -233,7 +236,8 @@ class SlideController(QtGui.QWidget): self.DelaySpinBox.setMaximum(180) self.Toolbar.addToolbarWidget( u'Image SpinBox', self.DelaySpinBox) - self.DelaySpinBox.setSuffix(translate('OpenLP.SlideController', 's')) + self.DelaySpinBox.setSuffix(translate('OpenLP.SlideController', + 's')) self.DelaySpinBox.setToolTip(translate('OpenLP.SlideController', 'Delay between slides in seconds')) self.ControllerLayout.addWidget(self.Toolbar) @@ -274,11 +278,13 @@ class SlideController(QtGui.QWidget): # Build the Song Toolbar if isLive: self.SongMenu = QtGui.QToolButton(self.Toolbar) - self.SongMenu.setText(translate('OpenLP.SlideController', 'Go to Verse')) + self.SongMenu.setText(translate('OpenLP.SlideController', + 'Go to Verse')) self.SongMenu.setPopupMode(QtGui.QToolButton.InstantPopup) self.Toolbar.addToolbarWidget(u'Song Menu', self.SongMenu) self.SongMenu.setMenu(QtGui.QMenu( - translate('OpenLP.SlideController', 'Go to Verse'), self.Toolbar)) + translate('OpenLP.SlideController', 'Go to Verse'), + self.Toolbar)) self.Toolbar.makeWidgetsInvisible([u'Song Menu']) # Screen preview area self.PreviewFrame = QtGui.QFrame(self.Splitter) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 42129d784..ab38b5f83 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -465,9 +465,9 @@ class BibleMediaItem(MediaManagerItem): self.displayResults(bible, dual_bible) def generateSlideData(self, service_item, item=None): - ''' + """ Generates and formats the slides for the service item. - ''' + """ log.debug(u'generating slide data') items = self.listView.selectedIndexes() if len(items) == 0: @@ -551,7 +551,8 @@ class BibleMediaItem(MediaManagerItem): if isinstance(reference, QtCore.QVariant): reference = reference.toPyObject() bible_new = self._decodeQtObject(reference, 'bible') - dual_bible_new = self._decodeQtObject(reference, 'dual_bible') + dual_bible_new = self._decodeQtObject(reference, + 'dual_bible') if dual_bible_new: raw_slides.append(bible_text) bible_text = u'' @@ -639,10 +640,10 @@ class BibleMediaItem(MediaManagerItem): combo.addItem(unicode(i)) def displayResults(self, bible, dual_bible=None): - ''' - Displays the search results in the media manager. All data needed for further - action is saved for/in each row. - ''' + """ + Displays the search results in the media manager. All data needed for + further action is saved for/in each row. + """ version = self.parent.manager.get_meta_data(bible, u'Version') copyright = self.parent.manager.get_meta_data(bible, u'Copyright') #permission = self.parent.manager.get_meta_data(bible, u'Permissions')