From 8c010efe5a28363846198d4ff9960b8d1d237b34 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Tue, 4 Aug 2009 22:23:33 +0200 Subject: [PATCH] Changed the layout of the Song Edit form, making it slightly easier for the average PC Joe to digest. --- openlp/plugins/songs/forms/editsongdialog.py | 555 +++++---- openlp/plugins/songs/forms/editsongform.py | 99 +- openlp/plugins/songs/lib/mediaitem.py | 8 +- resources/forms/editsongdialog.ui | 1171 ++++++++++-------- 4 files changed, 992 insertions(+), 841 deletions(-) diff --git a/openlp/plugins/songs/forms/editsongdialog.py b/openlp/plugins/songs/forms/editsongdialog.py index dec49e1a6..eecb000ac 100644 --- a/openlp/plugins/songs/forms/editsongdialog.py +++ b/openlp/plugins/songs/forms/editsongdialog.py @@ -1,151 +1,111 @@ # -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 -""" -OpenLP - Open Source Lyrics Projection -Copyright (c) 2008 Raoul Snyman -Portions copyright (c) 2008-2009 Martin Thompson, Tim Bentley, -This program is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free Software -Foundation; version 2 of the License. +# Form implementation generated from reading ui file '/home/raoul/Projects/openlp/songmaintenance/resources/forms/editsongdialog.ui' +# +# Created: Mon Jul 27 22:18:20 2009 +# by: PyQt4 UI code generator 4.4.4 +# +# WARNING! All changes made in this file will be lost! -This program is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA -""" -from openlp.core.lib import translate from PyQt4 import QtCore, QtGui class Ui_EditSongDialog(object): def setupUi(self, EditSongDialog): - EditSongDialog.setObjectName(u'EditSongDialog') - EditSongDialog.resize(786, 704) + EditSongDialog.setObjectName("EditSongDialog") + EditSongDialog.resize(645, 417) icon = QtGui.QIcon() - icon.addPixmap(QtGui.QPixmap(u':/icon/openlp-logo-16x16.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off) + icon.addPixmap(QtGui.QPixmap(":/icon/openlp.org-icon-32.bmp"), QtGui.QIcon.Normal, QtGui.QIcon.Off) EditSongDialog.setWindowIcon(icon) EditSongDialog.setModal(True) - self.EditSongLayout = QtGui.QVBoxLayout(EditSongDialog) - self.EditSongLayout.setSpacing(8) - self.EditSongLayout.setMargin(8) - self.EditSongLayout.setObjectName(u'EditSongLayout') - self.TopWidget = QtGui.QWidget(EditSongDialog) - self.TopWidget.setObjectName(u'TopWidget') - self.TopLayout = QtGui.QHBoxLayout(self.TopWidget) - self.TopLayout.setSpacing(8) - self.TopLayout.setMargin(0) - self.TopLayout.setObjectName(u'TopLayout') - self.TextWidget = QtGui.QWidget(self.TopWidget) - self.TextWidget.setObjectName(u'TextWidget') - self.DetailsLayout = QtGui.QVBoxLayout(self.TextWidget) - self.DetailsLayout.setSpacing(8) - self.DetailsLayout.setMargin(0) - self.DetailsLayout.setObjectName(u'DetailsLayout') - self.TitleLabel = QtGui.QLabel(self.TextWidget) - self.TitleLabel.setObjectName(u'TitleLabel') - self.DetailsLayout.addWidget(self.TitleLabel) - self.TitleEditItem = QtGui.QLineEdit(self.TextWidget) + self.verticalLayout = QtGui.QVBoxLayout(EditSongDialog) + self.verticalLayout.setMargin(8) + self.verticalLayout.setObjectName("verticalLayout") + self.SongTabWidget = QtGui.QTabWidget(EditSongDialog) + self.SongTabWidget.setObjectName("SongTabWidget") + self.LyricsTab = QtGui.QWidget() + self.LyricsTab.setObjectName("LyricsTab") + self.LyricsTabLayout = QtGui.QGridLayout(self.LyricsTab) + self.LyricsTabLayout.setMargin(8) + self.LyricsTabLayout.setSpacing(8) + self.LyricsTabLayout.setObjectName("LyricsTabLayout") + self.TitleLabel = QtGui.QLabel(self.LyricsTab) + self.TitleLabel.setObjectName("TitleLabel") + self.LyricsTabLayout.addWidget(self.TitleLabel, 0, 0, 1, 1) + self.TitleEditItem = QtGui.QLineEdit(self.LyricsTab) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.TitleEditItem.sizePolicy().hasHeightForWidth()) self.TitleEditItem.setSizePolicy(sizePolicy) - self.TitleEditItem.setObjectName(u'TitleEditItem') - self.DetailsLayout.addWidget(self.TitleEditItem) - self.AlternativeTitleLabel = QtGui.QLabel(self.TextWidget) - self.AlternativeTitleLabel.setObjectName(u'AlternativeTitleLabel') - self.DetailsLayout.addWidget(self.AlternativeTitleLabel) - self.AlternativeEdit = QtGui.QLineEdit(self.TextWidget) - self.AlternativeEdit.setObjectName(u'AlternativeEdit') - self.DetailsLayout.addWidget(self.AlternativeEdit) - self.LyricsLabel = QtGui.QLabel(self.TextWidget) - self.LyricsLabel.setObjectName(u'LyricsLabel') - self.DetailsLayout.addWidget(self.LyricsLabel) - self.VerseEditWidget = QtGui.QWidget(self.TextWidget) - self.VerseEditWidget.setObjectName(u'VerseEditWidget') - self.VerseEditLayout = QtGui.QVBoxLayout(self.VerseEditWidget) - self.VerseEditLayout.setSpacing(8) - self.VerseEditLayout.setMargin(0) - self.VerseEditLayout.setObjectName(u'VerseEditLayout') - self.VerseListWidget = QtGui.QListWidget(self.VerseEditWidget) - self.VerseListWidget.setObjectName(u'VerseListWidget') + self.TitleEditItem.setObjectName("TitleEditItem") + self.LyricsTabLayout.addWidget(self.TitleEditItem, 0, 1, 1, 2) + self.AlternativeTitleLabel = QtGui.QLabel(self.LyricsTab) + self.AlternativeTitleLabel.setObjectName("AlternativeTitleLabel") + self.LyricsTabLayout.addWidget(self.AlternativeTitleLabel, 1, 0, 1, 1) + self.AlternativeEdit = QtGui.QLineEdit(self.LyricsTab) + self.AlternativeEdit.setObjectName("AlternativeEdit") + self.LyricsTabLayout.addWidget(self.AlternativeEdit, 1, 1, 1, 2) + self.LyricsLabel = QtGui.QLabel(self.LyricsTab) + self.LyricsLabel.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) + self.LyricsLabel.setObjectName("LyricsLabel") + self.LyricsTabLayout.addWidget(self.LyricsLabel, 2, 0, 1, 1) + self.VerseListWidget = QtGui.QListWidget(self.LyricsTab) + self.VerseListWidget.setSpacing(2) self.VerseListWidget.setAlternatingRowColors(True) - self.VerseEditLayout.addWidget(self.VerseListWidget) - self.VerseButtonWidget = QtGui.QWidget(self.VerseEditWidget) - self.VerseButtonWidget.setObjectName(u'VerseButtonWidget') - self.VerseButtonLayout = QtGui.QHBoxLayout(self.VerseButtonWidget) - self.VerseButtonLayout.setSpacing(8) - self.VerseButtonLayout.setMargin(0) - self.VerseButtonLayout.setObjectName(u'VerseButtonLayout') - spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.VerseButtonLayout.addItem(spacerItem) - self.AddButton = QtGui.QPushButton(self.VerseButtonWidget) - self.AddButton.setObjectName(u'AddButton') - self.VerseButtonLayout.addWidget(self.AddButton) - self.EditButton = QtGui.QPushButton(self.VerseButtonWidget) - self.EditButton.setObjectName(u'EditButton') - self.VerseButtonLayout.addWidget(self.EditButton) - self.DeleteButton = QtGui.QPushButton(self.VerseButtonWidget) - self.DeleteButton.setObjectName(u'DeleteButton') - self.VerseButtonLayout.addWidget(self.DeleteButton) - self.VerseEditLayout.addWidget(self.VerseButtonWidget) - self.DetailsLayout.addWidget(self.VerseEditWidget) - self.VerseOrderLabel = QtGui.QLabel(self.TextWidget) - self.VerseOrderLabel.setObjectName(u'VerseOrderLabel') - self.DetailsLayout.addWidget(self.VerseOrderLabel) - self.VerseOrderEdit = QtGui.QLineEdit(self.TextWidget) - self.VerseOrderEdit.setObjectName(u'VerseOrderEdit') - self.DetailsLayout.addWidget(self.VerseOrderEdit) - self.CommentsLabel = QtGui.QLabel(self.TextWidget) - self.CommentsLabel.setObjectName(u'CommentsLabel') - self.DetailsLayout.addWidget(self.CommentsLabel) - self.CommentsEdit = QtGui.QTextEdit(self.TextWidget) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.CommentsEdit.sizePolicy().hasHeightForWidth()) - self.CommentsEdit.setSizePolicy(sizePolicy) - self.CommentsEdit.setMaximumSize(QtCore.QSize(16777215, 84)) - self.CommentsEdit.setObjectName(u'CommentsEdit') - self.DetailsLayout.addWidget(self.CommentsEdit) - self.ThemeGroupBox = QtGui.QGroupBox(self.TextWidget) - self.ThemeGroupBox.setObjectName(u'ThemeGroupBox') - self.ThemeLayout = QtGui.QHBoxLayout(self.ThemeGroupBox) - self.ThemeLayout.setSpacing(8) - self.ThemeLayout.setMargin(8) - self.ThemeLayout.setObjectName(u'ThemeLayout') - self.ThemeSelectionComboItem = QtGui.QComboBox(self.ThemeGroupBox) - self.ThemeSelectionComboItem.setObjectName(u'ThemeSelectionComboItem') - self.ThemeLayout.addWidget(self.ThemeSelectionComboItem) - self.DetailsLayout.addWidget(self.ThemeGroupBox) - self.TopLayout.addWidget(self.TextWidget) - self.AdditionalWidget = QtGui.QWidget(self.TopWidget) - sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.AdditionalWidget.sizePolicy().hasHeightForWidth()) - self.AdditionalWidget.setSizePolicy(sizePolicy) - self.AdditionalWidget.setMinimumSize(QtCore.QSize(100, 0)) - self.AdditionalWidget.setObjectName(u'AdditionalWidget') - self.AdditionalLayout = QtGui.QVBoxLayout(self.AdditionalWidget) - self.AdditionalLayout.setSpacing(8) - self.AdditionalLayout.setMargin(0) - self.AdditionalLayout.setObjectName(u'AdditionalLayout') - self.AuthorsGroupBox = QtGui.QGroupBox(self.AdditionalWidget) - self.AuthorsGroupBox.setObjectName(u'AuthorsGroupBox') + self.VerseListWidget.setObjectName("VerseListWidget") + self.LyricsTabLayout.addWidget(self.VerseListWidget, 2, 1, 1, 1) + self.VerseOrderLabel = QtGui.QLabel(self.LyricsTab) + self.VerseOrderLabel.setObjectName("VerseOrderLabel") + self.LyricsTabLayout.addWidget(self.VerseOrderLabel, 4, 0, 1, 1) + self.VerseOrderEdit = QtGui.QLineEdit(self.LyricsTab) + self.VerseOrderEdit.setObjectName("VerseOrderEdit") + self.LyricsTabLayout.addWidget(self.VerseOrderEdit, 4, 1, 1, 2) + self.VerseButtonWidget = QtGui.QWidget(self.LyricsTab) + self.VerseButtonWidget.setObjectName("VerseButtonWidget") + self.VerseButtonsLayout = QtGui.QVBoxLayout(self.VerseButtonWidget) + self.VerseButtonsLayout.setSpacing(8) + self.VerseButtonsLayout.setMargin(0) + self.VerseButtonsLayout.setObjectName("VerseButtonsLayout") + self.VerseAddButton = QtGui.QPushButton(self.VerseButtonWidget) + self.VerseAddButton.setObjectName("VerseAddButton") + self.VerseButtonsLayout.addWidget(self.VerseAddButton) + self.VerseEditButton = QtGui.QPushButton(self.VerseButtonWidget) + self.VerseEditButton.setObjectName("VerseEditButton") + self.VerseButtonsLayout.addWidget(self.VerseEditButton) + self.VerseEditAllButton = QtGui.QPushButton(self.VerseButtonWidget) + self.VerseEditAllButton.setObjectName("VerseEditAllButton") + self.VerseButtonsLayout.addWidget(self.VerseEditAllButton) + self.VerseDeleteButton = QtGui.QPushButton(self.VerseButtonWidget) + self.VerseDeleteButton.setObjectName("VerseDeleteButton") + self.VerseButtonsLayout.addWidget(self.VerseDeleteButton) + spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) + self.VerseButtonsLayout.addItem(spacerItem) + self.LyricsTabLayout.addWidget(self.VerseButtonWidget, 2, 2, 1, 1) + self.SongTabWidget.addTab(self.LyricsTab, "") + self.AuthorsTab = QtGui.QWidget() + self.AuthorsTab.setObjectName("AuthorsTab") + self.AuthorsTabLayout = QtGui.QHBoxLayout(self.AuthorsTab) + self.AuthorsTabLayout.setSpacing(8) + self.AuthorsTabLayout.setMargin(8) + self.AuthorsTabLayout.setObjectName("AuthorsTabLayout") + self.AuthorsMaintenanceWidget = QtGui.QWidget(self.AuthorsTab) + self.AuthorsMaintenanceWidget.setObjectName("AuthorsMaintenanceWidget") + self.AuthorsMaintenanceLayout = QtGui.QVBoxLayout(self.AuthorsMaintenanceWidget) + self.AuthorsMaintenanceLayout.setSpacing(8) + self.AuthorsMaintenanceLayout.setMargin(0) + self.AuthorsMaintenanceLayout.setObjectName("AuthorsMaintenanceLayout") + self.AuthorsGroupBox = QtGui.QGroupBox(self.AuthorsMaintenanceWidget) + self.AuthorsGroupBox.setObjectName("AuthorsGroupBox") self.AuthorsLayout = QtGui.QVBoxLayout(self.AuthorsGroupBox) self.AuthorsLayout.setSpacing(8) self.AuthorsLayout.setMargin(8) - self.AuthorsLayout.setObjectName(u'AuthorsLayout') + self.AuthorsLayout.setObjectName("AuthorsLayout") self.AuthorAddWidget = QtGui.QWidget(self.AuthorsGroupBox) - self.AuthorAddWidget.setObjectName(u'AuthorAddWidget') - self.AddAuthorLayout = QtGui.QHBoxLayout(self.AuthorAddWidget) - self.AddAuthorLayout.setSpacing(8) - self.AddAuthorLayout.setMargin(0) - self.AddAuthorLayout.setObjectName(u'AddAuthorLayout') + self.AuthorAddWidget.setObjectName("AuthorAddWidget") + self.AuthorAddLayout = QtGui.QHBoxLayout(self.AuthorAddWidget) + self.AuthorAddLayout.setSpacing(8) + self.AuthorAddLayout.setMargin(0) + self.AuthorAddLayout.setObjectName("AuthorAddLayout") self.AuthorsSelectionComboItem = QtGui.QComboBox(self.AuthorAddWidget) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) @@ -156,194 +116,283 @@ class Ui_EditSongDialog(object): self.AuthorsSelectionComboItem.setInsertPolicy(QtGui.QComboBox.InsertAlphabetically) self.AuthorsSelectionComboItem.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToMinimumContentsLength) self.AuthorsSelectionComboItem.setMinimumContentsLength(8) - self.AuthorsSelectionComboItem.setObjectName(u'AuthorsSelectionComboItem') - self.AddAuthorLayout.addWidget(self.AuthorsSelectionComboItem) - self.AuthorAddtoSongItem = QtGui.QPushButton(self.AuthorAddWidget) - self.AuthorAddtoSongItem.setMaximumSize(QtCore.QSize(110, 16777215)) - self.AuthorAddtoSongItem.setObjectName(u'AuthorAddtoSongItem') - self.AddAuthorLayout.addWidget(self.AuthorAddtoSongItem) + self.AuthorsSelectionComboItem.setObjectName("AuthorsSelectionComboItem") + self.AuthorAddLayout.addWidget(self.AuthorsSelectionComboItem) + self.AuthorAddButton = QtGui.QPushButton(self.AuthorAddWidget) + self.AuthorAddButton.setMaximumSize(QtCore.QSize(110, 16777215)) + self.AuthorAddButton.setObjectName("AuthorAddButton") + self.AuthorAddLayout.addWidget(self.AuthorAddButton) self.AuthorsLayout.addWidget(self.AuthorAddWidget) self.AuthorsListView = QtGui.QListWidget(self.AuthorsGroupBox) self.AuthorsListView.setAlternatingRowColors(True) - self.AuthorsListView.setObjectName(u'AuthorsListView') + self.AuthorsListView.setObjectName("AuthorsListView") self.AuthorsLayout.addWidget(self.AuthorsListView) self.AuthorRemoveWidget = QtGui.QWidget(self.AuthorsGroupBox) - self.AuthorRemoveWidget.setObjectName(u'AuthorRemoveWidget') + self.AuthorRemoveWidget.setObjectName("AuthorRemoveWidget") self.AuthorRemoveLayout = QtGui.QHBoxLayout(self.AuthorRemoveWidget) self.AuthorRemoveLayout.setSpacing(8) self.AuthorRemoveLayout.setMargin(0) - self.AuthorRemoveLayout.setObjectName(u'AuthorRemoveLayout') + self.AuthorRemoveLayout.setObjectName("AuthorRemoveLayout") spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.AuthorRemoveLayout.addItem(spacerItem1) - self.AuthorRemoveItem = QtGui.QPushButton(self.AuthorRemoveWidget) - self.AuthorRemoveItem.setObjectName(u'AuthorRemoveItem') - self.AuthorRemoveLayout.addWidget(self.AuthorRemoveItem) -# self.AddAuthorsButton = QtGui.QPushButton(self.AuthorRemoveWidget) -# self.AddAuthorsButton.setObjectName(u'AddAuthorsButton') -# self.AuthorRemoveLayout.addWidget(self.AddAuthorsButton) + self.AuthorRemoveButton = QtGui.QPushButton(self.AuthorRemoveWidget) + self.AuthorRemoveButton.setObjectName("AuthorRemoveButton") + self.AuthorRemoveLayout.addWidget(self.AuthorRemoveButton) self.AuthorsLayout.addWidget(self.AuthorRemoveWidget) - self.AdditionalLayout.addWidget(self.AuthorsGroupBox) - self.SongBookGroup = QtGui.QGroupBox(self.AdditionalWidget) - self.SongBookGroup.setObjectName(u'SongBookGroup') - self.SongbookLayout = QtGui.QGridLayout(self.SongBookGroup) - self.SongbookLayout.setMargin(8) - 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.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.SongbookCombo.sizePolicy().hasHeightForWidth()) - self.SongbookCombo.setSizePolicy(sizePolicy) - self.SongbookCombo.setObjectName(u'SongbookCombo') - self.SongbookLayout.addWidget(self.SongbookCombo, 0, 0, 1, 1) -# self.AddSongBookButton = QtGui.QPushButton(self.SongBookGroup) -# sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) -# sizePolicy.setHorizontalStretch(0) -# sizePolicy.setVerticalStretch(0) -# sizePolicy.setHeightForWidth(self.AddSongBookButton.sizePolicy().hasHeightForWidth()) -# self.AddSongBookButton.setSizePolicy(sizePolicy) -# self.AddSongBookButton.setObjectName(u'AddSongBookButton') -# self.SongbookLayout.addWidget(self.AddSongBookButton, 0, 1, 1, 1) - self.AdditionalLayout.addWidget(self.SongBookGroup) - self.TopicGroupBox = QtGui.QGroupBox(self.AdditionalWidget) + self.AuthorsMaintenanceLayout.addWidget(self.AuthorsGroupBox) + self.MaintenanceWidget = QtGui.QWidget(self.AuthorsMaintenanceWidget) + self.MaintenanceWidget.setObjectName("MaintenanceWidget") + self.MaintenanceLayout = QtGui.QHBoxLayout(self.MaintenanceWidget) + self.MaintenanceLayout.setSpacing(0) + self.MaintenanceLayout.setMargin(0) + self.MaintenanceLayout.setObjectName("MaintenanceLayout") + self.MaintenanceButton = QtGui.QPushButton(self.MaintenanceWidget) + self.MaintenanceButton.setObjectName("MaintenanceButton") + self.MaintenanceLayout.addWidget(self.MaintenanceButton) + spacerItem2 = QtGui.QSpacerItem(66, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.MaintenanceLayout.addItem(spacerItem2) + self.AuthorsMaintenanceLayout.addWidget(self.MaintenanceWidget) + self.AuthorsTabLayout.addWidget(self.AuthorsMaintenanceWidget) + self.TopicBookWidget = QtGui.QWidget(self.AuthorsTab) + self.TopicBookWidget.setObjectName("TopicBookWidget") + self.TopicBookLayout = QtGui.QVBoxLayout(self.TopicBookWidget) + self.TopicBookLayout.setSpacing(8) + self.TopicBookLayout.setMargin(0) + self.TopicBookLayout.setObjectName("TopicBookLayout") + self.TopicGroupBox = QtGui.QGroupBox(self.TopicBookWidget) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.TopicGroupBox.sizePolicy().hasHeightForWidth()) self.TopicGroupBox.setSizePolicy(sizePolicy) - self.TopicGroupBox.setObjectName(u'TopicGroupBox') + self.TopicGroupBox.setObjectName("TopicGroupBox") self.TopicLayout = QtGui.QVBoxLayout(self.TopicGroupBox) self.TopicLayout.setSpacing(8) self.TopicLayout.setMargin(8) - self.TopicLayout.setObjectName(u'TopicLayout') + self.TopicLayout.setObjectName("TopicLayout") self.TopicAddWidget = QtGui.QWidget(self.TopicGroupBox) - self.TopicAddWidget.setObjectName(u'TopicAddWidget') + self.TopicAddWidget.setObjectName("TopicAddWidget") self.TopicAddLayout = QtGui.QHBoxLayout(self.TopicAddWidget) self.TopicAddLayout.setSpacing(8) self.TopicAddLayout.setMargin(0) - self.TopicAddLayout.setObjectName(u'TopicAddLayout') + self.TopicAddLayout.setObjectName("TopicAddLayout") self.SongTopicCombo = QtGui.QComboBox(self.TopicAddWidget) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.SongTopicCombo.sizePolicy().hasHeightForWidth()) self.SongTopicCombo.setSizePolicy(sizePolicy) - self.SongTopicCombo.setObjectName(u'SongTopicCombo') + self.SongTopicCombo.setObjectName("SongTopicCombo") self.TopicAddLayout.addWidget(self.SongTopicCombo) - self.AddTopicsToSongButton = QtGui.QPushButton(self.TopicAddWidget) + self.TopicAddButton = QtGui.QPushButton(self.TopicAddWidget) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.AddTopicsToSongButton.sizePolicy().hasHeightForWidth()) - self.AddTopicsToSongButton.setSizePolicy(sizePolicy) - self.AddTopicsToSongButton.setObjectName(u'AddTopicsToSongButton') - self.TopicAddLayout.addWidget(self.AddTopicsToSongButton) + sizePolicy.setHeightForWidth(self.TopicAddButton.sizePolicy().hasHeightForWidth()) + self.TopicAddButton.setSizePolicy(sizePolicy) + self.TopicAddButton.setObjectName("TopicAddButton") + self.TopicAddLayout.addWidget(self.TopicAddButton) self.TopicLayout.addWidget(self.TopicAddWidget) self.TopicsListView = QtGui.QListWidget(self.TopicGroupBox) self.TopicsListView.setAlternatingRowColors(True) - self.TopicsListView.setObjectName(u'TopicsListView') + self.TopicsListView.setObjectName("TopicsListView") self.TopicLayout.addWidget(self.TopicsListView) self.TopicRemoveWidget = QtGui.QWidget(self.TopicGroupBox) - self.TopicRemoveWidget.setObjectName(u'TopicRemoveWidget') + self.TopicRemoveWidget.setObjectName("TopicRemoveWidget") self.TopicRemoveLayout = QtGui.QHBoxLayout(self.TopicRemoveWidget) self.TopicRemoveLayout.setSpacing(8) self.TopicRemoveLayout.setMargin(0) - self.TopicRemoveLayout.setObjectName(u'TopicRemoveLayout') - spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.TopicRemoveLayout.addItem(spacerItem2) - self.TopicRemoveItem = QtGui.QPushButton(self.TopicRemoveWidget) - self.TopicRemoveItem.setObjectName(u'TopicRemoveItem') - self.TopicRemoveLayout.addWidget(self.TopicRemoveItem) -# self.AddTopicButton = QtGui.QPushButton(self.TopicRemoveWidget) -# self.AddTopicButton.setObjectName(u'AddTopicButton') -# self.TopicRemoveLayout.addWidget(self.AddTopicButton) + self.TopicRemoveLayout.setObjectName("TopicRemoveLayout") + spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) + self.TopicRemoveLayout.addItem(spacerItem3) + self.TopicRemoveButton = QtGui.QPushButton(self.TopicRemoveWidget) + self.TopicRemoveButton.setObjectName("TopicRemoveButton") + self.TopicRemoveLayout.addWidget(self.TopicRemoveButton) self.TopicLayout.addWidget(self.TopicRemoveWidget) - self.AdditionalLayout.addWidget(self.TopicGroupBox) - self.CopyrightgroupBox = QtGui.QGroupBox(self.AdditionalWidget) - self.CopyrightgroupBox.setObjectName(u'CopyrightgroupBox') - self.CopyrightLayout = QtGui.QVBoxLayout(self.CopyrightgroupBox) + self.TopicBookLayout.addWidget(self.TopicGroupBox) + self.SongBookGroup = QtGui.QGroupBox(self.TopicBookWidget) + self.SongBookGroup.setObjectName("SongBookGroup") + self.SongbookLayout = QtGui.QGridLayout(self.SongBookGroup) + self.SongbookLayout.setMargin(8) + self.SongbookLayout.setSpacing(8) + self.SongbookLayout.setObjectName("SongbookLayout") + self.SongbookCombo = QtGui.QComboBox(self.SongBookGroup) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.SongbookCombo.sizePolicy().hasHeightForWidth()) + self.SongbookCombo.setSizePolicy(sizePolicy) + self.SongbookCombo.setObjectName("SongbookCombo") + self.SongbookLayout.addWidget(self.SongbookCombo, 0, 0, 1, 1) + self.TopicBookLayout.addWidget(self.SongBookGroup) + self.AuthorsTabLayout.addWidget(self.TopicBookWidget) + self.SongTabWidget.addTab(self.AuthorsTab, "") + self.ThemeTab = QtGui.QWidget() + self.ThemeTab.setObjectName("ThemeTab") + self.ThemeTabLayout = QtGui.QVBoxLayout(self.ThemeTab) + self.ThemeTabLayout.setSpacing(8) + self.ThemeTabLayout.setMargin(8) + self.ThemeTabLayout.setObjectName("ThemeTabLayout") + self.ThemeCopyCommentsWidget = QtGui.QWidget(self.ThemeTab) + self.ThemeCopyCommentsWidget.setObjectName("ThemeCopyCommentsWidget") + self.ThemeCopyCommentsLayout = QtGui.QHBoxLayout(self.ThemeCopyCommentsWidget) + self.ThemeCopyCommentsLayout.setSpacing(8) + self.ThemeCopyCommentsLayout.setMargin(0) + self.ThemeCopyCommentsLayout.setObjectName("ThemeCopyCommentsLayout") + self.TextWidget = QtGui.QWidget(self.ThemeCopyCommentsWidget) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.TextWidget.sizePolicy().hasHeightForWidth()) + self.TextWidget.setSizePolicy(sizePolicy) + self.TextWidget.setObjectName("TextWidget") + self.DetailsLayout = QtGui.QVBoxLayout(self.TextWidget) + self.DetailsLayout.setSpacing(8) + self.DetailsLayout.setMargin(0) + self.DetailsLayout.setObjectName("DetailsLayout") + self.ThemeGroupBox = QtGui.QGroupBox(self.TextWidget) + self.ThemeGroupBox.setObjectName("ThemeGroupBox") + self.ThemeLayout = QtGui.QHBoxLayout(self.ThemeGroupBox) + self.ThemeLayout.setSpacing(8) + self.ThemeLayout.setMargin(8) + self.ThemeLayout.setObjectName("ThemeLayout") + self.ThemeSelectionComboItem = QtGui.QComboBox(self.ThemeGroupBox) + self.ThemeSelectionComboItem.setObjectName("ThemeSelectionComboItem") + self.ThemeLayout.addWidget(self.ThemeSelectionComboItem) + self.ThemeAddButton = QtGui.QPushButton(self.ThemeGroupBox) + self.ThemeAddButton.setMaximumSize(QtCore.QSize(110, 16777215)) + self.ThemeAddButton.setObjectName("ThemeAddButton") + self.ThemeLayout.addWidget(self.ThemeAddButton) + self.DetailsLayout.addWidget(self.ThemeGroupBox) + self.CopyrightGroupBox = QtGui.QGroupBox(self.TextWidget) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.CopyrightGroupBox.sizePolicy().hasHeightForWidth()) + self.CopyrightGroupBox.setSizePolicy(sizePolicy) + self.CopyrightGroupBox.setObjectName("CopyrightGroupBox") + self.CopyrightLayout = QtGui.QVBoxLayout(self.CopyrightGroupBox) self.CopyrightLayout.setSpacing(8) self.CopyrightLayout.setMargin(8) - self.CopyrightLayout.setObjectName(u'CopyrightLayout') - self.CopyrightWidget = QtGui.QWidget(self.CopyrightgroupBox) - self.CopyrightWidget.setObjectName(u'CopyrightWidget') + self.CopyrightLayout.setObjectName("CopyrightLayout") + self.CopyrightWidget = QtGui.QWidget(self.CopyrightGroupBox) + self.CopyrightWidget.setObjectName("CopyrightWidget") self.CopyLayout = QtGui.QHBoxLayout(self.CopyrightWidget) self.CopyLayout.setSpacing(8) self.CopyLayout.setMargin(0) - self.CopyLayout.setObjectName(u'CopyLayout') + self.CopyLayout.setObjectName("CopyLayout") self.CopyrightEditItem = QtGui.QLineEdit(self.CopyrightWidget) - self.CopyrightEditItem.setObjectName(u'CopyrightEditItem') + self.CopyrightEditItem.setObjectName("CopyrightEditItem") self.CopyLayout.addWidget(self.CopyrightEditItem) - self.CopyrightInsertItem = QtGui.QPushButton(self.CopyrightWidget) - self.CopyrightInsertItem.setMaximumSize(QtCore.QSize(29, 16777215)) - self.CopyrightInsertItem.setObjectName(u'CopyrightInsertItem') - self.CopyLayout.addWidget(self.CopyrightInsertItem) + self.CopyrightInsertButton = QtGui.QPushButton(self.CopyrightWidget) + self.CopyrightInsertButton.setMaximumSize(QtCore.QSize(29, 16777215)) + self.CopyrightInsertButton.setObjectName("CopyrightInsertButton") + self.CopyLayout.addWidget(self.CopyrightInsertButton) self.CopyrightLayout.addWidget(self.CopyrightWidget) - self.CcliWidget = QtGui.QWidget(self.CopyrightgroupBox) - self.CcliWidget.setObjectName(u'CcliWidget') + self.CcliWidget = QtGui.QWidget(self.CopyrightGroupBox) + self.CcliWidget.setObjectName("CcliWidget") self.CCLILayout = QtGui.QHBoxLayout(self.CcliWidget) self.CCLILayout.setSpacing(8) self.CCLILayout.setMargin(0) - self.CCLILayout.setObjectName(u'CCLILayout') + self.CCLILayout.setObjectName("CCLILayout") self.CCLILabel = QtGui.QLabel(self.CcliWidget) - self.CCLILabel.setObjectName(u'CCLILabel') + self.CCLILabel.setObjectName("CCLILabel") self.CCLILayout.addWidget(self.CCLILabel) self.CCLNumberEdit = QtGui.QLineEdit(self.CcliWidget) - self.CCLNumberEdit.setObjectName(u'CCLNumberEdit') + self.CCLNumberEdit.setObjectName("CCLNumberEdit") self.CCLILayout.addWidget(self.CCLNumberEdit) self.CopyrightLayout.addWidget(self.CcliWidget) - self.AdditionalLayout.addWidget(self.CopyrightgroupBox) - self.TopLayout.addWidget(self.AdditionalWidget) - self.EditSongLayout.addWidget(self.TopWidget) + self.DetailsLayout.addWidget(self.CopyrightGroupBox) + spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) + self.DetailsLayout.addItem(spacerItem4) + self.ThemeCopyCommentsLayout.addWidget(self.TextWidget) + self.CommentsGroupBox = QtGui.QGroupBox(self.ThemeCopyCommentsWidget) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.CommentsGroupBox.sizePolicy().hasHeightForWidth()) + self.CommentsGroupBox.setSizePolicy(sizePolicy) + self.CommentsGroupBox.setObjectName("CommentsGroupBox") + self.CommentsLayout = QtGui.QVBoxLayout(self.CommentsGroupBox) + self.CommentsLayout.setSpacing(0) + self.CommentsLayout.setMargin(8) + self.CommentsLayout.setObjectName("CommentsLayout") + self.CommentsEdit = QtGui.QTextEdit(self.CommentsGroupBox) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.CommentsEdit.sizePolicy().hasHeightForWidth()) + self.CommentsEdit.setSizePolicy(sizePolicy) + self.CommentsEdit.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.CommentsEdit.setObjectName("CommentsEdit") + self.CommentsLayout.addWidget(self.CommentsEdit) + self.ThemeCopyCommentsLayout.addWidget(self.CommentsGroupBox) + self.ThemeTabLayout.addWidget(self.ThemeCopyCommentsWidget) + spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) + self.ThemeTabLayout.addItem(spacerItem5) + self.SongTabWidget.addTab(self.ThemeTab, "") + self.verticalLayout.addWidget(self.SongTabWidget) self.ButtonBox = QtGui.QDialogButtonBox(EditSongDialog) self.ButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save) - self.ButtonBox.setObjectName(u'ButtonBox') - self.EditSongLayout.addWidget(self.ButtonBox) + self.ButtonBox.setObjectName("ButtonBox") + self.verticalLayout.addWidget(self.ButtonBox) self.retranslateUi(EditSongDialog) - QtCore.QObject.connect(self.ButtonBox, QtCore.SIGNAL(u'rejected()'), EditSongDialog.close) - QtCore.QObject.connect(self.ButtonBox, QtCore.SIGNAL(u'accepted()'), self.onAccept) + self.SongTabWidget.setCurrentIndex(0) + QtCore.QObject.connect(self.ButtonBox, QtCore.SIGNAL("rejected()"), EditSongDialog.close) + QtCore.QObject.connect(self.ButtonBox, QtCore.SIGNAL("accepted()"), EditSongDialog.close) QtCore.QMetaObject.connectSlotsByName(EditSongDialog) + EditSongDialog.setTabOrder(self.SongTabWidget, self.TitleEditItem) EditSongDialog.setTabOrder(self.TitleEditItem, self.AlternativeEdit) - EditSongDialog.setTabOrder(self.AlternativeEdit, self.VerseOrderEdit) - EditSongDialog.setTabOrder(self.VerseOrderEdit, self.CommentsEdit) - EditSongDialog.setTabOrder(self.CommentsEdit, self.ThemeSelectionComboItem) - EditSongDialog.setTabOrder(self.ThemeSelectionComboItem, self.AuthorAddtoSongItem) - EditSongDialog.setTabOrder(self.AuthorAddtoSongItem, self.AuthorsListView) - EditSongDialog.setTabOrder(self.AuthorsListView, self.AuthorRemoveItem) - EditSongDialog.setTabOrder(self.AuthorRemoveItem, self.SongbookCombo) - #EditSongDialog.setTabOrder(self.SongbookCombo, self.AddSongBookButton) - #EditSongDialog.setTabOrder(self.AddSongBookButton, self.SongTopicCombo) - EditSongDialog.setTabOrder(self.SongbookCombo, self.SongTopicCombo) - EditSongDialog.setTabOrder(self.SongTopicCombo, self.TopicsListView) - EditSongDialog.setTabOrder(self.TopicsListView, self.TopicRemoveItem) - EditSongDialog.setTabOrder(self.TopicRemoveItem, self.CopyrightEditItem) - EditSongDialog.setTabOrder(self.CopyrightEditItem, self.CopyrightInsertItem) - EditSongDialog.setTabOrder(self.CopyrightInsertItem, self.CCLNumberEdit) - EditSongDialog.setTabOrder(self.CCLNumberEdit, self.ButtonBox) + 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(translate(u'EditSongDialog', u'Song Editor')) - self.TitleLabel.setText(translate(u'EditSongDialog', u'Title:')) - self.AlternativeTitleLabel.setText(translate(u'EditSongDialog', u'Alternative Title:')) - self.LyricsLabel.setText(translate(u'EditSongDialog', u'Lyrics:')) - self.AddButton.setText(translate(u'EditSongDialog', u'Add')) - self.EditButton.setText(translate(u'EditSongDialog', u'Edit')) - self.DeleteButton.setText(translate(u'EditSongDialog', u'Delete')) - self.VerseOrderLabel.setText(translate(u'EditSongDialog', u'Verse Order:')) - self.CommentsLabel.setText(translate(u'EditSongDialog', u'Comments:')) - self.ThemeGroupBox.setTitle(translate(u'EditSongDialog', u'Theme')) - self.AuthorsGroupBox.setTitle(translate(u'EditSongDialog', u'Authors')) - self.AuthorAddtoSongItem.setText(translate(u'EditSongDialog', u'Add to Song')) - self.AuthorRemoveItem.setText(translate(u'EditSongDialog', u'Remove')) - #self.AddAuthorsButton.setText(translate(u'EditSongDialog', u'Manage Authors')) - self.SongBookGroup.setTitle(translate(u'EditSongDialog', u'Song Book')) - #self.AddSongBookButton.setText(translate(u'EditSongDialog', u'Manage Song Books')) - self.TopicGroupBox.setTitle(translate(u'EditSongDialog', u'Topic')) - self.AddTopicsToSongButton.setText(translate(u'EditSongDialog', u'Add to Song')) - self.TopicRemoveItem.setText(translate(u'EditSongDialog', u'Remove')) - #self.AddTopicButton.setText(translate(u'EditSongDialog', u'Manage Topics')) - self.CopyrightgroupBox.setTitle(translate(u'EditSongDialog', u'Copyright Infomaton')) - self.CopyrightInsertItem.setText(translate(u'EditSongDialog', u'(c)')) - self.CCLILabel.setText(translate(u'EditSongDialog', u'CCLI Number:')) + EditSongDialog.setWindowTitle(QtGui.QApplication.translate("EditSongDialog", "Song Editor", None, QtGui.QApplication.UnicodeUTF8)) + self.TitleLabel.setText(QtGui.QApplication.translate("EditSongDialog", "Title:", None, QtGui.QApplication.UnicodeUTF8)) + self.AlternativeTitleLabel.setText(QtGui.QApplication.translate("EditSongDialog", "Alternative Title:", None, QtGui.QApplication.UnicodeUTF8)) + self.LyricsLabel.setText(QtGui.QApplication.translate("EditSongDialog", "Lyrics:", None, QtGui.QApplication.UnicodeUTF8)) + self.VerseOrderLabel.setText(QtGui.QApplication.translate("EditSongDialog", "Verse Order:", None, QtGui.QApplication.UnicodeUTF8)) + self.VerseAddButton.setText(QtGui.QApplication.translate("EditSongDialog", "Add", None, QtGui.QApplication.UnicodeUTF8)) + self.VerseEditButton.setText(QtGui.QApplication.translate("EditSongDialog", "Edit", None, QtGui.QApplication.UnicodeUTF8)) + self.VerseEditAllButton.setText(QtGui.QApplication.translate("EditSongDialog", "Edit All", None, QtGui.QApplication.UnicodeUTF8)) + self.VerseDeleteButton.setText(QtGui.QApplication.translate("EditSongDialog", "Delete", None, QtGui.QApplication.UnicodeUTF8)) + self.SongTabWidget.setTabText(self.SongTabWidget.indexOf(self.LyricsTab), QtGui.QApplication.translate("EditSongDialog", "Title && Lyrics", None, QtGui.QApplication.UnicodeUTF8)) + self.AuthorsGroupBox.setTitle(QtGui.QApplication.translate("EditSongDialog", "Authors", None, QtGui.QApplication.UnicodeUTF8)) + self.AuthorAddButton.setText(QtGui.QApplication.translate("EditSongDialog", "&Add to Song", None, QtGui.QApplication.UnicodeUTF8)) + self.AuthorRemoveButton.setText(QtGui.QApplication.translate("EditSongDialog", "&Remove", None, QtGui.QApplication.UnicodeUTF8)) + self.MaintenanceButton.setText(QtGui.QApplication.translate("EditSongDialog", "&Manage Authors, Topics, Books", None, QtGui.QApplication.UnicodeUTF8)) + self.TopicGroupBox.setTitle(QtGui.QApplication.translate("EditSongDialog", "Topic", None, QtGui.QApplication.UnicodeUTF8)) + self.TopicAddButton.setText(QtGui.QApplication.translate("EditSongDialog", "A&dd to Song", None, QtGui.QApplication.UnicodeUTF8)) + self.TopicRemoveButton.setText(QtGui.QApplication.translate("EditSongDialog", "R&emove", None, QtGui.QApplication.UnicodeUTF8)) + self.SongBookGroup.setTitle(QtGui.QApplication.translate("EditSongDialog", "Song Book", None, QtGui.QApplication.UnicodeUTF8)) + self.SongTabWidget.setTabText(self.SongTabWidget.indexOf(self.AuthorsTab), QtGui.QApplication.translate("EditSongDialog", "Authors, Topics && Book", None, QtGui.QApplication.UnicodeUTF8)) + self.ThemeGroupBox.setTitle(QtGui.QApplication.translate("EditSongDialog", "Theme", None, QtGui.QApplication.UnicodeUTF8)) + self.ThemeAddButton.setText(QtGui.QApplication.translate("EditSongDialog", "Add a Theme", None, QtGui.QApplication.UnicodeUTF8)) + self.CopyrightGroupBox.setTitle(QtGui.QApplication.translate("EditSongDialog", "Copyright Information", None, QtGui.QApplication.UnicodeUTF8)) + self.CopyrightInsertButton.setText(QtGui.QApplication.translate("EditSongDialog", "©", None, QtGui.QApplication.UnicodeUTF8)) + self.CCLILabel.setText(QtGui.QApplication.translate("EditSongDialog", "CCLI Number:", None, QtGui.QApplication.UnicodeUTF8)) + self.CommentsGroupBox.setTitle(QtGui.QApplication.translate("EditSongDialog", "Comments", None, QtGui.QApplication.UnicodeUTF8)) + self.SongTabWidget.setTabText(self.SongTabWidget.indexOf(self.ThemeTab), QtGui.QApplication.translate("EditSongDialog", "Theme, Copyright Info && Comments", None, QtGui.QApplication.UnicodeUTF8)) + diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index caa2a480e..3d6f441d9 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -18,12 +18,13 @@ this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA """ import logging -from PyQt4 import Qt, QtCore, QtGui -from openlp.core.lib import SongXMLBuilder, SongXMLParser, Event, EventType, EventManager -from openlp.plugins.songs.forms import AuthorsForm, TopicsForm, SongBookForm, \ - EditVerseForm -from openlp.plugins.songs.lib.models import Song +from PyQt4 import Qt, QtCore, QtGui + +from openlp.core.lib import SongXMLBuilder, SongXMLParser, Event, \ + EventType, EventManager +from openlp.plugins.songs.forms import EditVerseForm +from openlp.plugins.songs.lib.models import Song from editsongdialog import Ui_EditSongDialog class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): @@ -33,39 +34,34 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): global log log = logging.getLogger(u'EditSongForm') log.info(u'Song Editor loaded') - def __init__(self, songmanager, eventmanager, parent=None): + + def __init__(self, songmanager, eventmanager, parent=None): """ Constructor """ QtGui.QDialog.__init__(self, parent) self.setupUi(self) # Connecting signals and slots -# QtCore.QObject.connect(self.AddAuthorsButton, -# QtCore.SIGNAL(u'clicked()'), self.onAddAuthorsButtonClicked) - QtCore.QObject.connect(self.AuthorAddtoSongItem, - QtCore.SIGNAL(u'clicked()'), self.onAuthorAddtoSongItemClicked) - QtCore.QObject.connect(self.AuthorRemoveItem, - QtCore.SIGNAL(u'clicked()'), self.onAuthorRemovefromSongItemClicked) + QtCore.QObject.connect(self.AuthorAddButton, + QtCore.SIGNAL(u'clicked()'), self.onAuthorAddButtonClicked) + QtCore.QObject.connect(self.AuthorRemoveButton, + QtCore.SIGNAL(u'clicked()'), self.onAuthorRemoveButtonClicked) QtCore.QObject.connect(self.AuthorsListView, QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'), self.onAuthorsListViewPressed) -# QtCore.QObject.connect(self.AddTopicButton, -# QtCore.SIGNAL(u'clicked()'), self.onAddTopicButtonClicked) - QtCore.QObject.connect(self.AddTopicsToSongButton, - QtCore.SIGNAL(u'clicked()'), self.onTopicAddtoSongItemClicked) - QtCore.QObject.connect(self.TopicRemoveItem, - QtCore.SIGNAL(u'clicked()'), self.onTopicRemovefromSongItemClicked) + QtCore.QObject.connect(self.TopicAddButton, + QtCore.SIGNAL(u'clicked()'), self.onTopicAddButtonClicked) + QtCore.QObject.connect(self.TopicRemoveButton, + QtCore.SIGNAL(u'clicked()'), self.onTopicRemoveButtonClicked) QtCore.QObject.connect(self.TopicsListView, QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'), self.onTopicListViewPressed) -# QtCore.QObject.connect(self.AddSongBookButton, -# QtCore.SIGNAL(u'clicked()'), self.onAddSongBookButtonClicked) - QtCore.QObject.connect(self.CopyrightInsertItem, - QtCore.SIGNAL(u'clicked()'), self.onCopyrightInsertItemTriggered) - QtCore.QObject.connect(self.AddButton, - QtCore.SIGNAL(u'clicked()'), self.onAddVerseButtonClicked) - QtCore.QObject.connect(self.EditButton, - QtCore.SIGNAL(u'clicked()'), self.onEditVerseButtonClicked) - QtCore.QObject.connect(self.DeleteButton, - QtCore.SIGNAL(u'clicked()'), self.onDeleteVerseButtonClicked) + QtCore.QObject.connect(self.CopyrightInsertButton, + QtCore.SIGNAL(u'clicked()'), self.onCopyrightInsertButtonTriggered) + QtCore.QObject.connect(self.VerseAddButton, + QtCore.SIGNAL(u'clicked()'), self.onVerseAddButtonClicked) + QtCore.QObject.connect(self.VerseEditButton, + QtCore.SIGNAL(u'clicked()'), self.onVerseEditButtonClicked) + QtCore.QObject.connect(self.VerseDeleteButton, + QtCore.SIGNAL(u'clicked()'), self.onVerseDeleteButtonClicked) QtCore.QObject.connect(self.VerseListWidget, QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'), self.onVerseListViewPressed) QtCore.QObject.connect(self.SongbookCombo, @@ -75,9 +71,6 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): # Create other objects and forms self.songmanager = songmanager self.eventmanager = eventmanager -# self.authors_form = AuthorsForm(self.songmanager) -# self.topics_form = TopicsForm(self.songmanager) -# self.song_book_form = SongBookForm(self.songmanager) self.verse_form = EditVerseForm() self.initialise() self.AuthorsListView.setSortingEnabled(False) @@ -86,10 +79,10 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.TopicsListView.setAlternatingRowColors(True) def initialise(self): - self.EditButton.setEnabled(False) - self.DeleteButton.setEnabled(False) - self.AuthorRemoveItem.setEnabled(False) - self.TopicRemoveItem.setEnabled(False) + self.VerseEditButton.setEnabled(False) + self.VerseDeleteButton.setEnabled(False) + self.AuthorRemoveButton.setEnabled(False) + self.TopicRemoveButton.setEnabled(False) self.title_change = False def loadAuthors(self): @@ -208,7 +201,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.title_change = False self.TitleEditItem.setFocus(QtCore.Qt.OtherFocusReason) - def onAuthorAddtoSongItemClicked(self): + def onAuthorAddButtonClicked(self): item = int(self.AuthorsSelectionComboItem.currentIndex()) if item > -1: item_id = (self.AuthorsSelectionComboItem.itemData(item)).toInt()[0] @@ -220,9 +213,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def onAuthorsListViewPressed(self): if self.AuthorsListView.count() > 1: - self.AuthorRemoveItem.setEnabled(True) + self.AuthorRemoveButton.setEnabled(True) - def onAuthorRemovefromSongItemClicked(self): + def onAuthorRemoveButtonClicked(self): self.AuthorRemoveItem.setEnabled(False) item = self.AuthorsListView.currentItem() author_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] @@ -231,10 +224,12 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): row = self.AuthorsListView.row(item) self.AuthorsListView.takeItem(row) - def onTopicAddtoSongItemClicked(self): + def onTopicAddButtonClicked(self): item = int(self.SongTopicCombo.currentIndex()) if item > -1: item_id = (self.SongTopicCombo.itemData(item)).toInt()[0] + print item_id + print self.TopicsListView topic = self.songmanager.get_topic(item_id) self.song.topics.append(topic) topic_item = QtGui.QListWidgetItem(unicode(topic.name)) @@ -242,10 +237,10 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.TopicsListView.addItem(topic_item) def onTopicListViewPressed(self): - self.TopicRemoveItem.setEnabled(True) + self.TopicRemoveButton.setEnabled(True) - def onTopicRemovefromSongItemClicked(self): - self.TopicRemoveItem.setEnabled(False) + def onTopicRemoveButtonClicked(self): + self.TopicRemoveButton.setEnabled(False) item = self.TopicsListView.currentItem() topic_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] topic = self.songmanager.get_topic(topic_id) @@ -293,29 +288,29 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.song.theme_name = them_name def onVerseListViewPressed(self): - self.EditButton.setEnabled(True) - self.DeleteButton.setEnabled(True) + self.VerseEditButton.setEnabled(True) + self.VerseDeleteButton.setEnabled(True) - def onAddVerseButtonClicked(self): + def onVerseAddButtonClicked(self): self.verse_form.setVerse(u'') self.verse_form.exec_() self.VerseListWidget.addItem(self.verse_form.getVerse()) - def onEditVerseButtonClicked(self): + def onVerseEditButtonClicked(self): item = self.VerseListWidget.currentItem() if item is not None: self.verse_form.setVerse(item.text()) self.verse_form.exec_() item.setText(self.verse_form.getVerse()) self.VerseListWidget.repaint() - self.EditButton.setEnabled(False) - self.DeleteButton.setEnabled(False) + self.VerseEditButton.setEnabled(False) + self.VerseDeleteButton.setEnabled(False) - def onDeleteVerseButtonClicked(self): + def onVerseDeleteButtonClicked(self): item = self.VerseListWidget.takeItem(self.VerseListWidget.currentRow()) item = None - self.EditButton.setEnabled(False) - self.DeleteButton.setEnabled(False) + self.VerseEditButton.setEnabled(False) + self.VerseDeleteButton.setEnabled(False) def _validate_song(self): """ @@ -354,7 +349,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def on_CCLNumberEdit_lostFocus(self): self.song.ccli_number = self.CCLNumberEdit.text() - def onCopyrightInsertItemTriggered(self): + def onCopyrightInsertButtonTriggered(self): text = self.CopyrightEditItem.displayText() pos = self.CopyrightEditItem.cursorPosition() text = text[:pos] + u'©' + text[pos:] diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index a0539fe9a..49f70eb05 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -20,14 +20,14 @@ Place, Suite 330, Boston, MA 02111-1307 USA import logging from PyQt4 import QtCore, QtGui + from openlp.core.lib import MediaManagerItem, translate, ServiceItem, \ SongXMLParser, contextMenuAction, contextMenuSeparator -from openlp.plugins.songs.forms import EditSongForm, AuthorsForm, \ - TopicsForm, SongBookForm, SongMaintenanceForm +from openlp.plugins.songs.forms import EditSongForm, SongMaintenanceForm class SongList(QtGui.QListWidget): - def __init__(self,parent=None,name=None): + def __init__(self, parent=None, name=None): QtGui.QListWidget.__init__(self,parent) def mouseMoveEvent(self, event): @@ -59,7 +59,7 @@ class SongMediaItem(MediaManagerItem): self.PluginTextShort = u'Song' self.ConfigSection = u'song' MediaManagerItem.__init__(self, parent, icon, title) - self.edit_song_form = EditSongForm(self.parent.songmanager, self.parent.event_manager) + self.edit_song_form = EditSongForm(self.parent.songmanager, self.parent.event_manager, self) self.song_maintenance_form = SongMaintenanceForm(self.parent.songmanager, self) def setupUi(self): diff --git a/resources/forms/editsongdialog.ui b/resources/forms/editsongdialog.ui index da470786f..3e30f9ed9 100644 --- a/resources/forms/editsongdialog.ui +++ b/resources/forms/editsongdialog.ui @@ -1,554 +1,653 @@ - + + EditSongDialog - - + + 0 0 - 786 - 704 + 645 + 417 - + Song Editor - - + + :/icon/openlp.org-icon-32.bmp:/icon/openlp.org-icon-32.bmp - + true - - - 8 - - + + 8 - - - - 8 - - - 0 - - - - - - 8 + + + 0 + + + + Title && Lyrics + + + + 8 + + + 8 + + + + + Title: - - 0 + + + + + + + 0 + 0 + - - - - Title: - - - - - - - - 0 - 0 - - - - - - - - Alternative Title: - - - - - - - - - - Lyrics: - - - - - - - - 8 - - - 0 - - - - - - - - - 8 - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Add - - - - - - - Edit - - - - - - - Delete - - - - - - - - - - - - - Verse Order: - - - - - - - - - - Comments: - - - - - - - - 0 - 0 - - - - - 16777215 - 84 - - - - - - - - Theme - - - - 8 - - - 8 - - - - - - - - - 110 - 16777215 - - - - Add a Theme - - - - - - - - - - - - - - 0 - 0 - - - - - 100 - 0 - - - - - 8 + + + + + + Alternative Title: - - 0 + + + + + + + + + Lyrics: - - - - Authors - - - - 8 + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + Verse Order: + + + + + + + + + + + 8 + + + 0 + + + + + Add - - 8 + + + + + + Edit - - - - - 8 - - - 0 - - - - - - 0 - 0 - - - - false - - - QComboBox::InsertAlphabetically - - - QComboBox::AdjustToMinimumContentsLength - - - 8 - - - - - - - - 110 - 16777215 - - - - Add to Song - - - - - - - - - - true - - - - - - - - 8 - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Remove - - - - - - - Manage Authors - - - - - - - - - - - - - Song Book - - - - 8 + + + + + + Edit All - - 8 + + + + + + Delete - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - Manage Song Books - - - - - - - - - - - 0 - 0 - - - - Topic - - - - 8 + + + + + + Qt::Vertical - - 8 + + + 20 + 40 + - - - - - 8 - - - 0 - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - Add to Song - - - - - - - - - - true - - - - - - - - 8 - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Remove - - - - - - - Manage Topics - - - - - - - - - - - - - Copyright Infomaton - - - - 8 + + + + + + + + + + Authors, Topics && Book + + + + 8 + + + 8 + + + + + + 8 + + + 0 + + + + + Authors - - 8 + + + 8 + + + 8 + + + + + + 8 + + + 0 + + + + + + 0 + 0 + + + + false + + + QComboBox::InsertAlphabetically + + + QComboBox::AdjustToMinimumContentsLength + + + 8 + + + + + + + + 110 + 16777215 + + + + &Add to Song + + + + + + + + + + true + + + + + + + + 8 + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + &Remove + + + + + + + + + + + + + + 0 + + + 0 + + + + + &Manage Authors, Topics, Books + + + + + + + Qt::Horizontal + + + + 66 + 20 + + + + + + + + + + + + + + + 8 + + + 0 + + + + + + 0 + 0 + - - - - - 8 + + Topic + + + + 8 + + + 8 + + + + + + 8 + + + 0 + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + A&dd to Song + + + + + + + + + + true - - 0 + + + + + + + 8 + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + R&emove + + + + + + + + + + + + + Song Book + + + + 8 + + + 8 + + + + + + 0 + 0 + - - - - - - - - 29 - 16777215 - - - - © - - - - - - - - - - - 8 + + + + + + + + + + + + + Theme, Copyright Info && Comments + + + + 8 + + + 8 + + + + + + 8 + + + 0 + + + + + + 0 + 0 + + + + + 8 + + + 0 + + + + + Theme - - 0 + + + 8 + + + 8 + + + + + + + + + 110 + 16777215 + + + + Add a Theme + + + + + + + + + + + 0 + 0 + - - - - CCLI Number: - - - - - - - - - - - - - - - - + + Copyright Information + + + + 8 + + + 8 + + + + + + 8 + + + 0 + + + + + + + + + 29 + 16777215 + + + + © + + + + + + + + + + + 8 + + + 0 + + + + + CCLI Number: + + + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + 0 + 0 + + + + Comments + + + + 0 + + + 8 + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + - - + + QDialogButtonBox::Cancel|QDialogButtonBox::Save @@ -556,27 +655,35 @@ + SongTabWidget TitleEditItem AlternativeEdit + VerseListWidget + VerseAddButton + VerseEditButton + VerseEditAllButton + VerseDeleteButton VerseOrderEdit - CommentsEdit - ThemeSelectionComboItem - ThemeAddItem - AuthorAddtoSongItem + AuthorsSelectionComboItem + AuthorAddButton AuthorsListView - AuthorRemoveItem - SongbookCombo - AddSongBookButton + AuthorRemoveButton + MaintenanceButton SongTopicCombo - ToticsListView - pushButton + TopicAddButton + TopicsListView + TopicRemoveButton + SongbookCombo + ThemeSelectionComboItem + ThemeAddButton CopyrightEditItem - CopyrightInsertItem + CopyrightInsertButton CCLNumberEdit + CommentsEdit ButtonBox - + @@ -585,11 +692,11 @@ EditSongDialog close() - + 607 456 - + 578 -15 @@ -601,11 +708,11 @@ EditSongDialog close() - + 549 461 - + 91 -50