From a4a0b521a45514c754030f5860b7398b49715522 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 27 Jun 2009 20:55:55 +0100 Subject: [PATCH] More cleanups and bug fixes. --- openlp/core/lib/mediamanageritem.py | 26 ++++++----- openlp/plugins/bibles/lib/mediaitem.py | 36 +++++++-------- openlp/plugins/custom/lib/mediaitem.py | 42 +++++++++--------- openlp/plugins/images/lib/mediaitem.py | 10 ++++- openlp/plugins/presentations/lib/mediaitem.py | 7 --- openlp/plugins/songs/forms/editsongform.py | 5 --- openlp/plugins/songs/lib/mediaitem.py | 44 +++++++++---------- 7 files changed, 84 insertions(+), 86 deletions(-) diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 518bf2ca7..fc9f349ff 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -227,16 +227,22 @@ class MediaManagerItem(QtGui.QWidget): translate(self.TranslationContext, self.OnNewPrompt), self.parent.config.get_last_dir(), self.OnNewFileMasks) - log.info(u'New files(s)', unicode(files)) + log.info(u'New files(s)%s', unicode(files)) if len(files) > 0: self.loadList(files) dir, filename = os.path.split(unicode(files[0])) self.parent.config.set_last_dir(dir) #self.parent.config.set_list(self.ConfigSection, self.ListData.getFileList()) + def getFileList(self): + count = 0 + while count < len(self.ListView): + filelist = [set.ListView.item(count).text()] + count += 1 + return filelist + def loadList(self, list): - for file in list: - self.ListData.addRow(file) + raise NotImplementedError(u'MediaManagerItem.loadList needs to be defined by the plugin') def onNewClick(self): raise NotImplementedError(u'MediaManagerItem.onNewClick needs to be defined by the plugin') @@ -245,11 +251,7 @@ class MediaManagerItem(QtGui.QWidget): raise NotImplementedError(u'MediaManagerItem.onEditClick needs to be defined by the plugin') def onDeleteClick(self): - indexes = self.ListView.selectedIndexes() - for index in indexes: - current_row = int(index.row()) - self.ListData.removeRow(current_row) - self.parent.config.set_list(self.ConfigSection, self.ListData.getFileList()) + raise NotImplementedError(u'MediaManagerItem.onDeleteClick needs to be defined by the plugin') def generateSlideData(self): raise NotImplementedError(u'MediaManagerItem.generateSlideData needs to be defined by the plugin') @@ -257,15 +259,15 @@ class MediaManagerItem(QtGui.QWidget): def onPreviewClick(self): log.debug(self.PluginTextShort+u'Preview Requested') service_item = ServiceItem(self.parent) - service_item.addIcon(u':/media/media_image.png') + service_item.addIcon(u':/media/media_'+self.PluginTextShort.lower()+u'.png') self.generateSlideData(service_item) self.parent.preview_controller.addServiceItem(service_item) self.ListView.clearSelection() def onLiveClick(self): - log.debug(self.PluginTextShort+u' Live Requested') + log.debug(self.PluginTextShort + u' Live Requested') service_item = ServiceItem(self.parent) - service_item.addIcon(u':/media/media_image.png') + service_item.addIcon(u':/media/media_'+self.PluginTextShort.lower()+u'.png') self.generateSlideData(service_item) self.parent.live_controller.addServiceItem(service_item) self.ListView.clearSelection() @@ -273,7 +275,7 @@ class MediaManagerItem(QtGui.QWidget): def onAddClick(self): log.debug(self.PluginTextShort+u' Add Requested') service_item = ServiceItem(self.parent) - service_item.addIcon(u':/media/media_image.png') + service_item.addIcon(u':/media/media_'+self.PluginTextShort.lower()+u'.png') self.generateSlideData(service_item) self.parent.service_manager.addServiceItem(service_item) self.ListView.clearSelection() diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 41f2fb799..e6fa2e6f2 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -192,11 +192,11 @@ class BibleMediaItem(MediaManagerItem): self.SearchTabWidget.addTab(self.AdvancedTab, u'Advanced') # Add the search tab widget to the page layout self.PageLayout.addWidget(self.SearchTabWidget) - self.BibleListWidget = BibleList() - self.BibleListWidget.setAlternatingRowColors(True) - self.BibleListWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) - self.BibleListWidget.setDragEnabled(True) - self.PageLayout.addWidget(self.BibleListWidget) + self.ListView = BibleList() + self.ListView.setAlternatingRowColors(True) + self.ListView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) + self.ListView.setDragEnabled(True) + self.PageLayout.addWidget(self.ListView) # Combo Boxes QtCore.QObject.connect(self.AdvancedVersionComboBox, QtCore.SIGNAL(u'activated(int)'), self.onAdvancedVersionComboBox) @@ -213,18 +213,18 @@ class BibleMediaItem(MediaManagerItem): QtCore.SIGNAL(u'pressed()'), self.onAdvancedSearchButton) QtCore.QObject.connect(self.QuickSearchButton, QtCore.SIGNAL(u'pressed()'), self.onQuickSearchButton) - QtCore.QObject.connect(self.BibleListWidget, + QtCore.QObject.connect(self.ListView, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onPreviewClick) # Context Menus - self.BibleListWidget.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) - self.BibleListWidget.addAction(self.contextMenuAction( - self.BibleListWidget, u':/system/system_preview.png', + self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) + self.ListView.addAction(self.contextMenuAction( + self.ListView, u':/system/system_preview.png', translate(u'BibleMediaItem',u'&Preview Verse'), self.onPreviewClick)) - self.BibleListWidget.addAction(self.contextMenuAction( - self.BibleListWidget, u':/system/system_live.png', + self.ListView.addAction(self.contextMenuAction( + self.ListView, u':/system/system_live.png', translate(u'BibleMediaItem',u'&Show Live'), self.onLiveClick)) - self.BibleListWidget.addAction(self.contextMenuAction( - self.BibleListWidget, u':/system/system_add.png', + self.ListView.addAction(self.contextMenuAction( + self.ListView, u':/system/system_add.png', translate(u'BibleMediaItem',u'&Add to Service'), self.onAddClick)) def retranslateUi(self): @@ -309,7 +309,7 @@ class BibleMediaItem(MediaManagerItem): self.search_results = self.parent.biblemanager.get_verse_text(bible, book, chapter_from, chapter_to, verse_from, verse_to) if self.ClearAdvancedSearchComboBox.currentIndex() == 0: - self.BibleListWidget.clear() + self.ListView.clear() self.displayResults(bible) def onAdvancedFromChapter(self): @@ -327,7 +327,7 @@ class BibleMediaItem(MediaManagerItem): bible = unicode(self.QuickVersionComboBox.currentText()) text = unicode(self.QuickSearchEdit.displayText()) if self.ClearQuickSearchComboBox.currentIndex() == 0: - self.BibleListWidget.clear() + self.ListView.clear() if self.QuickSearchComboBox.currentIndex() == 1: self.search_results = self.parent.biblemanager.get_verse_from_text(bible, text) else: @@ -337,13 +337,13 @@ class BibleMediaItem(MediaManagerItem): def generateSlideData(self, service_item): log.debug(u'generating slide data') - items = self.BibleListWidget.selectedIndexes() + items = self.ListView.selectedIndexes() old_chapter = u'' raw_slides=[] raw_footer = [] bible_text = u'' for item in items: - bitem = self.BibleListWidget.item(item.row()) + bitem = self.ListView.item(item.row()) text = unicode((bitem.data(QtCore.Qt.UserRole)).toString()) verse = text[:text.find(u'(')] bible = text[text.find(u'(') + 1:text.find(u')')] @@ -422,7 +422,7 @@ class BibleMediaItem(MediaManagerItem): bible_text = unicode(u' %s %d:%d (%s)'%(book , chap,vse, bible)) bible_verse = QtGui.QListWidgetItem(bible_text) bible_verse.setData(QtCore.Qt.UserRole, QtCore.QVariant(bible_text)) - self.BibleListWidget.addItem(bible_verse) + self.ListView.addItem(bible_verse) def searchByReference(self, bible, search): log.debug(u'searchByReference %s ,%s', bible, search) diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 46968167b..b583d12e1 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -105,38 +105,38 @@ class CustomMediaItem(MediaManagerItem): self.CustomWidget.setObjectName(u'CustomWidget') # Add the Custom widget to the page layout self.PageLayout.addWidget(self.CustomWidget) - self.CustomListWidget = CustomList() - self.CustomListWidget.setAlternatingRowColors(True) - self.CustomListWidget.setDragEnabled(True) - self.PageLayout.addWidget(self.CustomListWidget) + self.ListView = CustomList() + self.ListView.setAlternatingRowColors(True) + self.ListView.setDragEnabled(True) + self.PageLayout.addWidget(self.ListView) # Signals - QtCore.QObject.connect(self.CustomListWidget, + QtCore.QObject.connect(self.ListView, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onCustomPreviewClick) #define and add the context menu - self.CustomListWidget.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) - self.CustomListWidget.addAction(self.contextMenuAction(self.CustomListWidget, + self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) + self.ListView.addAction(self.contextMenuAction(self.ListView, ':/custom/custom_edit.png', translate(u'CustomMediaItem', u'&Edit Custom'), self.onCustomEditClick)) - self.CustomListWidget.addAction(self.contextMenuSeparator(self.CustomListWidget)) - self.CustomListWidget.addAction(self.contextMenuAction( - self.CustomListWidget, ':/system/system_preview.png', + self.ListView.addAction(self.contextMenuSeparator(self.ListView)) + self.ListView.addAction(self.contextMenuAction( + self.ListView, ':/system/system_preview.png', translate(u'CustomMediaItem',u'&Preview Custom'), self.onCustomPreviewClick)) - self.CustomListWidget.addAction(self.contextMenuAction( - self.CustomListWidget, ':/system/system_live.png', + self.ListView.addAction(self.contextMenuAction( + self.ListView, ':/system/system_live.png', translate(u'CustomMediaItem',u'&Show Live'), self.onCustomLiveClick)) - self.CustomListWidget.addAction(self.contextMenuAction( - self.CustomListWidget, ':/system/system_add.png', + self.ListView.addAction(self.contextMenuAction( + self.ListView, ':/system/system_add.png', translate(u'CustomMediaItem',u'&Add to Service'), self.onCustomAddClick)) def initialise(self): self.loadCustomList(self.parent.custommanager.get_all_slides()) def loadCustomList(self, list): - self.CustomListWidget.clear() + self.ListView.clear() for CustomSlide in list: custom_name = QtGui.QListWidgetItem(CustomSlide.title) custom_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(CustomSlide.id)) - self.CustomListWidget.addItem(custom_name) + self.ListView.addItem(custom_name) def onCustomNewClick(self): self.parent.edit_custom_form.loadCustom(0) @@ -144,7 +144,7 @@ class CustomMediaItem(MediaManagerItem): self.initialise() def onCustomEditClick(self): - item = self.CustomListWidget.currentItem() + item = self.ListView.currentItem() if item is not None: item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] self.parent.edit_custom_form.loadCustom(item_id) @@ -152,12 +152,12 @@ class CustomMediaItem(MediaManagerItem): self.initialise() def onCustomDeleteClick(self): - item = self.CustomListWidget.currentItem() + item = self.ListView.currentItem() if item is not None: item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] self.parent.custommanager.delete_custom(item_id) - row = self.CustomListWidget.row(item) - self.CustomListWidget.takeItem(row) + row = self.ListView.row(item) + self.ListView.takeItem(row) def onCustomPreviewClick(self): log.debug(u'Custom Preview Requested') @@ -185,7 +185,7 @@ class CustomMediaItem(MediaManagerItem): raw_footer = [] slide = None theme = None - item = self.CustomListWidget.currentItem() + item = self.ListView.currentItem() item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] customSlide = self.parent.custommanager.get_custom(item_id) title = customSlide.title diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index 14bfaf26b..f67364374 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -55,9 +55,17 @@ class ImageMediaItem(MediaManagerItem): def initialise(self): self.ListView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) - self.ListView.setIconSize(QtCore.QSize(88,50)) + self.ListView.setIconSize(QtCore.QSize(50,88)) self.loadList(self.parent.config.load_list(self.ConfigSection)) + def onDeleteClick(self): + item = self.ListView.currentItem() + if item is not None: + item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] + row = self.ListView.row(item) + self.ListView.takeItem(row) + self.parent.config.set_list(self.ConfigSection, self.ListData.getFileList()) + def loadList(self, list): for file in list: (path, filename) = os.path.split(unicode(file)) diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index ec7391f6f..67afbd7cc 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -90,13 +90,6 @@ class PresentationMediaItem(MediaManagerItem): item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file)) self.ListView.addItem(item_name) - def getFileList(self): - count = 0 - while count < len(self.ListView): - filelist = [set.ListView.item(count).text()] - count += 1 - return filelist - def loadPresentationList(self, list): pass # for files in list: diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 9eecbde2e..751c58b99 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -317,11 +317,6 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.TitleEditItem.setStyleSheet(u'background-color: red; color: white') else: self.TitleEditItem.setStyleSheet(u'') - if len(self.CopyrightEditItem.displayText()) == 0: - valid = False - self.CopyrightEditItem.setStyleSheet(u'background-color: red; color: white') - else: - self.CopyrightEditItem.setStyleSheet(u'') if self.VerseListWidget.count() == 0: valid = False self.VerseListWidget.setStyleSheet(u'background-color: red; color: white') diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 87c050fed..7b4e1af3d 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -121,12 +121,12 @@ class SongMediaItem(MediaManagerItem): self.SearchLayout.addWidget(self.SearchTextButton, 3, 2, 1, 1) # Add the song widget to the page layout self.PageLayout.addWidget(self.SongWidget) - self.SongListWidget = SongList() - self.SongListWidget.setAlternatingRowColors(True) - self.SongListWidget.setDragEnabled(True) - self.SongListWidget.setObjectName(u'SongListWidget') - self.PageLayout.addWidget(self.SongListWidget) - self.SongListWidget.setDragEnabled(True) + self.ListView = SongList() + self.ListView.setAlternatingRowColors(True) + self.ListView.setDragEnabled(True) + self.ListView.setObjectName(u'ListView') + self.PageLayout.addWidget(self.ListView) + self.ListView.setDragEnabled(True) # Signals and slots QtCore.QObject.connect(self.SearchTextButton, QtCore.SIGNAL(u'pressed()'), self.onSearchTextButtonClick) @@ -134,21 +134,21 @@ class SongMediaItem(MediaManagerItem): QtCore.SIGNAL(u'pressed()'), self.onClearTextButtonClick) QtCore.QObject.connect(self.SearchTextEdit, QtCore.SIGNAL(u'textChanged(const QString&)'), self.onSearchTextEditChanged) - QtCore.QObject.connect(self.SongListWidget, + QtCore.QObject.connect(self.ListView, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onSongPreviewClick) #define and add the context menu - self.SongListWidget.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) - self.SongListWidget.addAction(self.contextMenuAction(self.SongListWidget, + self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) + self.ListView.addAction(self.contextMenuAction(self.ListView, ':/songs/song_new.png', translate(u'SongMediaItem', u'&Edit Song'), self.onSongEditClick)) - self.SongListWidget.addAction(self.contextMenuSeparator(self.SongListWidget)) - self.SongListWidget.addAction(self.contextMenuAction(self.SongListWidget, + self.ListView.addAction(self.contextMenuSeparator(self.ListView)) + self.ListView.addAction(self.contextMenuAction(self.ListView, ':/system/system_preview.png', translate(u'SongMediaItem', u'&Preview Song'), self.onSongPreviewClick)) - self.SongListWidget.addAction(self.contextMenuAction(self.SongListWidget, + self.ListView.addAction(self.contextMenuAction(self.ListView, ':/system/system_live.png', translate(u'SongMediaItem', u'&Show Live'), self.onSongLiveClick)) - self.SongListWidget.addAction(self.contextMenuAction(self.SongListWidget, + self.ListView.addAction(self.contextMenuAction(self.ListView, ':/system/system_add.png', translate(u'SongMediaItem', u'&Add to Service'), self.onSongAddClick)) @@ -182,7 +182,7 @@ class SongMediaItem(MediaManagerItem): def displayResultsSong(self, searchresults): log.debug(u'display results Song') - self.SongListWidget.clear() + self.ListView.clear() #log.debug(u'Records returned from search %s", len(searchresults)) for song in searchresults: author_list = u'' @@ -193,17 +193,17 @@ class SongMediaItem(MediaManagerItem): song_detail = unicode(u'%s (%s)' % (unicode(song.title), unicode(author_list))) song_name = QtGui.QListWidgetItem(song_detail) song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id)) - self.SongListWidget.addItem(song_name) + self.ListView.addItem(song_name) def displayResultsAuthor(self, searchresults): log.debug(u'display results Author') - self.SongListWidget.clear() + self.ListView.clear() for author in searchresults: for song in author.songs: song_detail = unicode(u'%s (%s)' % (unicode(author.display_name), unicode(song.title))) song_name = QtGui.QListWidgetItem(song_detail) song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id)) - self.SongListWidget.addItem(song_name) + self.ListView.addItem(song_name) def onClearTextButtonClick(self): """ @@ -223,19 +223,19 @@ class SongMediaItem(MediaManagerItem): self.edit_song_form.exec_() def onSongEditClick(self): - item = self.SongListWidget.currentItem() + item = self.ListView.currentItem() if item is not None: item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] self.edit_song_form.loadSong(item_id) self.edit_song_form.exec_() def onSongDeleteClick(self): - item = self.SongListWidget.currentItem() + item = self.ListView.currentItem() if item is not None: item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] self.parent.songmanager.delete_song(item_id) - row = self.SongListWidget.row(item) - self.SongListWidget.takeItem(row) + row = self.ListView.row(item) + self.ListView.takeItem(row) def onSongPreviewClick(self): service_item = ServiceItem(self.parent) @@ -248,7 +248,7 @@ class SongMediaItem(MediaManagerItem): raw_footer = [] author_list = u'' ccl = u'' - item = self.SongListWidget.currentItem() + item = self.ListView.currentItem() item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] song = self.parent.songmanager.get_song(item_id) service_item.theme = song.theme_name