From 53a23e9a045dc75318a8b51388848f6f94163e39 Mon Sep 17 00:00:00 2001 From: Arjan Schrijver Date: Fri, 25 Jan 2013 15:25:10 +0100 Subject: [PATCH] Image groups can now be used as service items with multiple images --- openlp/plugins/images/lib/mediaitem.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index a0b5f3a14..1e96cfff0 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -270,7 +270,11 @@ class ImageMediaItem(MediaManagerItem): items = self.listView.selectedItems() if not items: return False - service_item.title = unicode(self.plugin.nameStrings[u'plural']) + # Determine service item title + if isinstance(items[0].data(0, QtCore.Qt.UserRole), ImageGroups): + service_item.title = items[0].text(0) + else: + service_item.title = unicode(self.plugin.nameStrings[u'plural']) service_item.add_capability(ItemCapabilities.CanMaintain) service_item.add_capability(ItemCapabilities.CanPreview) service_item.add_capability(ItemCapabilities.CanLoop) @@ -279,10 +283,15 @@ class ImageMediaItem(MediaManagerItem): service_item.theme = -1 missing_items = [] missing_items_filenames = [] + # Expand groups to images + for bitem in items: + if isinstance(bitem.data(0, QtCore.Qt.UserRole), ImageGroups) or bitem.data(0, QtCore.Qt.UserRole) is None: + for index in range(0, bitem.childCount()): + if isinstance(bitem.child(index).data(0, QtCore.Qt.UserRole), ImageFilenames): + items.append(bitem.child(index)) + items.remove(bitem) + # Find missing files for bitem in items: - if bitem.data(0, QtCore.Qt.UserRole) is None: - # Ignore double-clicked groups - continue filename = bitem.data(0, QtCore.Qt.UserRole).filename if not os.path.exists(filename): missing_items.append(bitem) @@ -306,9 +315,6 @@ class ImageMediaItem(MediaManagerItem): return False # Continue with the existing images. for bitem in items: - if bitem.data(0, QtCore.Qt.UserRole) is None: - # Ignore double-clicked groups - continue filename = bitem.data(0, QtCore.Qt.UserRole).filename name = os.path.split(filename)[1] service_item.add_from_image(filename, name, background)