From daf545bc06e5f36dc32b0e581f5db21f1e8d77fc Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 29 Jan 2011 07:53:21 +0000 Subject: [PATCH] Fix up service item display changes --- openlp/core/lib/serviceitem.py | 7 +++++-- openlp/core/ui/servicemanager.py | 4 ++-- openlp/plugins/presentations/lib/mediaitem.py | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 01a5623df..c74b89144 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -59,6 +59,7 @@ class ItemCapabilities(object): OnLoadUpdate = 8 AddIfNewItem = 9 ProvidesOwnDisplay = 10 + AllowsDetailedTitleDisplay = 11 class ServiceItem(object): @@ -314,14 +315,16 @@ class ServiceItem(object): path, text_image[u'title'], text_image[u'image'] ) self._new_item() - def get_title(self): + def get_display_title(self): """ Returns the title of the service item. """ if self.is_text(): return self.title else: - if len(self._raw_frames) > 1: + if ItemCapabilities.AllowsDetailedTitleDisplay in self.capabilities: + return self._raw_frames[0][u'title'] + elif len(self._raw_frames) > 1: return self.title else: return self._raw_frames[0][u'title'] diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 8ae844940..57a82722e 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -833,7 +833,7 @@ class ServiceManager(QtGui.QWidget): else: treewidgetitem.setIcon(0, build_icon(u':/general/general_delete.png')) - treewidgetitem.setText(0, serviceitem.get_title()) + treewidgetitem.setText(0, serviceitem.get_display_title()) treewidgetitem.setToolTip(0, serviceitem.notes) treewidgetitem.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(item[u'order'])) @@ -1176,7 +1176,7 @@ class ServiceManager(QtGui.QWidget): for item in self.serviceItems: service_item = item[u'service_item'] data_item = {} - data_item[u'title'] = unicode(service_item.get_title()) + data_item[u'title'] = unicode(service_item.get_display_title()) data_item[u'plugin'] = unicode(service_item.name) data_item[u'notes'] = unicode(service_item.notes) data_item[u'selected'] = (item == curitem) diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index e72d97be1..43cb3dab0 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -250,6 +250,7 @@ class PresentationMediaItem(MediaManagerItem): service_item.title = unicode(self.displayTypeComboBox.currentText()) service_item.shortname = unicode(self.displayTypeComboBox.currentText()) service_item.add_capability(ItemCapabilities.ProvidesOwnDisplay) + service_item.add_capability(ItemCapabilities.AllowsDetailedTitleDisplay) shortname = service_item.shortname if shortname: for item in items: