From 79d9179e3a7faa1286c8487e6b5a178863707f63 Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Fri, 11 Jan 2013 20:15:19 +0400 Subject: [PATCH 01/19] Added future to rename items in ServiceManager. --- openlp/core/ui/servicemanager.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 7da61dc63..dc5d2685f 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -242,6 +242,8 @@ class ServiceManager(QtGui.QWidget): self.menu = QtGui.QMenu() self.editAction = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Edit Item'), icon=u':/general/general_edit.png', triggers=self.remoteEdit) + self.RenameAction = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Rename...'), + triggers=self.onServiceItemRename) self.maintainAction = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Reorder Item'), icon=u':/general/general_edit.png', triggers=self.onServiceItemEditForm) self.notesAction = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Notes'), @@ -829,6 +831,31 @@ class ServiceManager(QtGui.QWidget): if self.serviceItemEditForm.exec_(): self.addServiceItem(self.serviceItemEditForm.getServiceItem(), replace=True, expand=self.serviceItems[item][u'expanded']) + + def onServiceItemRename(self): + """ + Opens a dialog to rename the service item. + """ + item = self.findServiceItem()[0] + if not self.serviceItems[item][u'service_item'].is_text()\ + and ItemCapabilities.HasDetailedTitleDisplay in self.serviceItems[item][u'service_item'].capabilities\ + or len(self.serviceItems[item][u'service_item']._raw_frames) == 1: + get_main_title = False + Title = self.serviceItems[item][u'service_item']._raw_frames[0][u'title'] + else: + get_main_title = True + Title = self.serviceItems[item][u'service_item'].title + Title, ok = QtGui.QInputDialog.getText(self, + self.tr(translate('OpenLP.ServiceManager', 'Input title')), + self.tr(translate('OpenLP.ServiceManager', 'Title')), + QtGui.QLineEdit.Normal, self.trUtf8(Title)) + if ok: + if get_main_title: + self.serviceItems[item][u'service_item'].title = unicode(Title) + else: + self.serviceItems[item][u'service_item']._raw_frames[0][u'title']= unicode(Title) + self.repaintServiceList(item, -1) + self.setModified() def previewLive(self, message): """ From bbccd0ddf2e546dd469d9b72e9383e1ae2e49888 Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Sat, 9 Feb 2013 00:40:59 +0400 Subject: [PATCH 02/19] some fix --- openlp/core/ui/servicemanager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index dc5d2685f..b61afdb27 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -838,8 +838,8 @@ class ServiceManager(QtGui.QWidget): """ item = self.findServiceItem()[0] if not self.serviceItems[item][u'service_item'].is_text()\ - and ItemCapabilities.HasDetailedTitleDisplay in self.serviceItems[item][u'service_item'].capabilities\ - or len(self.serviceItems[item][u'service_item']._raw_frames) == 1: + and (ItemCapabilities.HasDetailedTitleDisplay in self.serviceItems[item][u'service_item'].capabilities\ + or len(self.serviceItems[item][u'service_item']._raw_frames) == 1): get_main_title = False Title = self.serviceItems[item][u'service_item']._raw_frames[0][u'title'] else: From 1dc22fc91210a19e33e131dd987c3d643879bc9f Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Tue, 2 Apr 2013 14:19:33 +0400 Subject: [PATCH 03/19] fix --- openlp/core/ui/servicemanager.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index cfa0d4707..9abccef9b 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -228,6 +228,8 @@ class ServiceManagerDialog(object): self.menu = QtGui.QMenu() self.edit_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Edit Item'), icon=u':/general/general_edit.png', triggers=self.remote_edit) + self.rename_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Rename...'), + triggers=self.on_service_item_rename) self.maintain_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Reorder Item'), icon=u':/general/general_edit.png', triggers=self.on_service_item_edit_form) self.notes_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Notes'), @@ -1434,6 +1436,28 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): if new_item: self.add_service_item(new_item, replace=True) + def on_service_item_rename(self): + """ + Opens a dialog to rename the service item. + """ + item = self.find_service_item()[0] +# if False and not self.service_items[item][u'service_item'].is_text()\ +# and (ItemCapabilities.HasDetailedTitleDisplay in self.service_items[item][u'service_item'].capabilities\ +# or len(self.service_items[item][u'service_item']._raw_frames) == 1): +# get_main_title = False +# Title = self.service_items[item][u'service_item']._raw_frames[0][u'title'] +# else: +# get_main_title = True + Title = self.service_items[item][u'service_item'].title + Title, ok = QtGui.QInputDialog.getText(self, + self.tr(translate('OpenLP.ServiceManager', 'Input title')), + self.tr(translate('OpenLP.ServiceManager', 'Title')), + QtGui.QLineEdit.Normal, self.trUtf8(Title)) + if ok: + self.service_items[item][u'service_item'].title = unicode(Title) + self.repaint_service_list(item, -1) + self.set_modified() + def create_custom(self): """ Saves the current text item as a custom slide From 6209ad8bb538454f6acee5092615dab5db154132 Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Tue, 2 Apr 2013 15:54:18 +0400 Subject: [PATCH 04/19] style fix --- openlp/core/ui/servicemanager.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 30ad0b386..9f609302e 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1407,13 +1407,11 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): # Title = self.service_items[item][u'service_item']._raw_frames[0][u'title'] # else: # get_main_title = True - Title = self.service_items[item][u'service_item'].title - Title, ok = QtGui.QInputDialog.getText(self, - self.tr(translate('OpenLP.ServiceManager', 'Input title')), - self.tr(translate('OpenLP.ServiceManager', 'Title')), - QtGui.QLineEdit.Normal, self.trUtf8(Title)) + title = self.service_items[item][u'service_item'].title + title, ok = QtGui.QInputDialog.getText(self, self.tr(translate('OpenLP.ServiceManager', 'Input title')), + self.tr(translate('OpenLP.ServiceManager', 'Title')), QtGui.QLineEdit.Normal, self.trUtf8(title)) if ok: - self.service_items[item][u'service_item'].title = unicode(Title) + self.service_items[item][u'service_item'].title = unicode(title) self.repaint_service_list(item, -1) self.set_modified() From c443a6702e1172381b20e6df376072a82a41c17e Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Tue, 2 Apr 2013 23:28:56 +0400 Subject: [PATCH 05/19] changed image add behavior for title --- openlp/core/lib/serviceitem.py | 2 +- openlp/core/ui/servicemanager.py | 7 +++++++ openlp/plugins/images/lib/mediaitem.py | 6 ++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index f57243818..466b6808f 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -442,7 +442,7 @@ class ServiceItem(object): """ Returns the title of the service item. """ - if self.is_text(): + if self.is_text() or self.is_image(): return self.title else: if ItemCapabilities.HasDetailedTitleDisplay in self.capabilities: diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 9f609302e..852bcf27f 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -775,6 +775,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): pos = item.data(0, QtCore.Qt.UserRole) service_item = self.service_items[pos - 1] self.edit_action.setVisible(False) + self.rename_action.setVisible(False) self.create_custom_action.setVisible(False) self.maintain_action.setVisible(False) self.notes_action.setVisible(False) @@ -782,6 +783,9 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): self.auto_start_action.setVisible(False) if service_item[u'service_item'].is_capable(ItemCapabilities.CanEdit) and service_item[u'service_item'].edit_id: self.edit_action.setVisible(True) + if not service_item[u'service_item'].is_capable(ItemCapabilities.HasDetailedTitleDisplay)\ + and not service_item[u'service_item'].is_capable(ItemCapabilities.CanEdit): + self.rename_action.setVisible(True) if service_item[u'service_item'].is_capable(ItemCapabilities.CanMaintain): self.maintain_action.setVisible(True) if item.parent() is None: @@ -1400,6 +1404,9 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): Opens a dialog to rename the service item. """ item = self.find_service_item()[0] + if ItemCapabilities.HasDetailedTitleDisplay in self.service_items[item][u'service_item'].capabilities\ + or ItemCapabilities.CanEdit in self.service_items[item][u'service_item'].capabilities: + return # if False and not self.service_items[item][u'service_item'].is_text()\ # and (ItemCapabilities.HasDetailedTitleDisplay in self.service_items[item][u'service_item'].capabilities\ # or len(self.service_items[item][u'service_item']._raw_frames) == 1): diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index d74b1ccab..f9c29c9e0 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -543,9 +543,11 @@ class ImageMediaItem(MediaManagerItem): if not items: return False # Determine service item title - if isinstance(items[0].data(0, QtCore.Qt.UserRole), ImageGroups): + if (isinstance(items[0].data(0, QtCore.Qt.UserRole), ImageGroups) or len(items) == 1)\ + and len(service_item._raw_frames) ==0: service_item.title = items[0].text(0) - else: + elif len(service_item._raw_frames) == 1 and service_item.title == service_item._raw_frames[0][u'title']\ + or len(items) > 1 and len(service_item._raw_frames) ==0: service_item.title = unicode(self.plugin.name_strings[u'plural']) service_item.add_capability(ItemCapabilities.CanMaintain) service_item.add_capability(ItemCapabilities.CanPreview) From 637cb09e74deef4ef82583e1f90a20de91c21bd2 Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Fri, 5 Apr 2013 19:13:00 +0400 Subject: [PATCH 06/19] removed commented code --- openlp/core/ui/servicemanager.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 852bcf27f..033b20ccd 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1407,13 +1407,6 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): if ItemCapabilities.HasDetailedTitleDisplay in self.service_items[item][u'service_item'].capabilities\ or ItemCapabilities.CanEdit in self.service_items[item][u'service_item'].capabilities: return -# if False and not self.service_items[item][u'service_item'].is_text()\ -# and (ItemCapabilities.HasDetailedTitleDisplay in self.service_items[item][u'service_item'].capabilities\ -# or len(self.service_items[item][u'service_item']._raw_frames) == 1): -# get_main_title = False -# Title = self.service_items[item][u'service_item']._raw_frames[0][u'title'] -# else: -# get_main_title = True title = self.service_items[item][u'service_item'].title title, ok = QtGui.QInputDialog.getText(self, self.tr(translate('OpenLP.ServiceManager', 'Input title')), self.tr(translate('OpenLP.ServiceManager', 'Title')), QtGui.QLineEdit.Normal, self.trUtf8(title)) From eca016c21d7b2fec4cfb1ddfe34fffc6c2a1191e Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Mon, 8 Apr 2013 09:03:55 +0400 Subject: [PATCH 07/19] Added capability to edit title of service_item --- openlp/core/lib/serviceitem.py | 7 ++++++- openlp/core/ui/servicemanager.py | 6 ++---- openlp/plugins/bibles/lib/mediaitem.py | 1 + openlp/plugins/images/lib/mediaitem.py | 1 + openlp/plugins/media/lib/mediaitem.py | 6 +++--- openlp/plugins/presentations/lib/mediaitem.py | 4 ++-- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 466b6808f..e7af59ee7 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -113,6 +113,10 @@ class ItemCapabilities(object): ``CanAutoStartForLive`` The capability to ignore the do not play if display blank flag. + + ``CanEditTitle`` + The capability to allow the ServiceManager to allow the title of the item to be + edited """ CanPreview = 1 @@ -131,6 +135,7 @@ class ItemCapabilities(object): CanWordSplit = 14 HasBackgroundAudio = 15 CanAutoStartForLive = 16 + CanEditTitle = 17 class ServiceItem(object): @@ -442,7 +447,7 @@ class ServiceItem(object): """ Returns the title of the service item. """ - if self.is_text() or self.is_image(): + if self.is_text() or ItemCapabilities.CanEditTitle in self.capabilities: return self.title else: if ItemCapabilities.HasDetailedTitleDisplay in self.capabilities: diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 033b20ccd..d6c416f52 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -783,8 +783,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): self.auto_start_action.setVisible(False) if service_item[u'service_item'].is_capable(ItemCapabilities.CanEdit) and service_item[u'service_item'].edit_id: self.edit_action.setVisible(True) - if not service_item[u'service_item'].is_capable(ItemCapabilities.HasDetailedTitleDisplay)\ - and not service_item[u'service_item'].is_capable(ItemCapabilities.CanEdit): + if service_item[u'service_item'].is_capable(ItemCapabilities.CanEditTitle): self.rename_action.setVisible(True) if service_item[u'service_item'].is_capable(ItemCapabilities.CanMaintain): self.maintain_action.setVisible(True) @@ -1404,8 +1403,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): Opens a dialog to rename the service item. """ item = self.find_service_item()[0] - if ItemCapabilities.HasDetailedTitleDisplay in self.service_items[item][u'service_item'].capabilities\ - or ItemCapabilities.CanEdit in self.service_items[item][u'service_item'].capabilities: + if not service_item[u'service_item'].is_capable(ItemCapabilities.CanEditTitle): return title = self.service_items[item][u'service_item'].title title, ok = QtGui.QInputDialog.getText(self, self.tr(translate('OpenLP.ServiceManager', 'Input title')), diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index abe3cc45a..3d8473fdd 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -842,6 +842,7 @@ class BibleMediaItem(MediaManagerItem): service_item.add_capability(ItemCapabilities.CanPreview) service_item.add_capability(ItemCapabilities.CanLoop) service_item.add_capability(ItemCapabilities.CanWordSplit) + service_item.add_capability(ItemCapabilities.CanEditTitle) # Service Item: Title service_item.title = create_separated_list(raw_title) # Service Item: Theme diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index f9c29c9e0..39fe4f036 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -553,6 +553,7 @@ class ImageMediaItem(MediaManagerItem): service_item.add_capability(ItemCapabilities.CanPreview) service_item.add_capability(ItemCapabilities.CanLoop) service_item.add_capability(ItemCapabilities.CanAppend) + service_item.add_capability(ItemCapabilities.CanEditTitle) # force a nonexistent theme service_item.theme = -1 missing_items = [] diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 57bc6947b..0c386787a 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -181,9 +181,9 @@ class MediaMediaItem(MediaManagerItem): translate('MediaPlugin.MediaItem', 'Missing Media File'), translate('MediaPlugin.MediaItem', 'The file %s no longer exists.') % filename) return False - service_item.title = self.displayTypeComboBox.currentText() - service_item.shortname = service_item.title + service_item.shortname = self.displayTypeComboBox.currentText() (path, name) = os.path.split(filename) + service_item.title = name service_item.add_from_command(path, name, CLAPPERBOARD) # Only get start and end times if going to a service if context == ServiceItemContext.Service: @@ -192,7 +192,7 @@ class MediaMediaItem(MediaManagerItem): return False service_item.add_capability(ItemCapabilities.CanAutoStartForLive) service_item.add_capability(ItemCapabilities.RequiresMedia) - service_item.add_capability(ItemCapabilities.HasDetailedTitleDisplay) + service_item.add_capability(ItemCapabilities.CanEditTitle) if Settings().value(self.settings_section + u'/media auto start') == QtCore.Qt.Checked: service_item.will_auto_start = True # force a non-existent theme diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index f92562541..759f166d3 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -244,10 +244,9 @@ class PresentationMediaItem(MediaManagerItem): items = self.list_view.selectedItems() if len(items) > 1: return False - service_item.title = self.displayTypeComboBox.currentText() service_item.shortname = self.displayTypeComboBox.currentText() service_item.add_capability(ItemCapabilities.ProvidesOwnDisplay) - service_item.add_capability(ItemCapabilities.HasDetailedTitleDisplay) + service_item.add_capability(ItemCapabilities.CanEditTitle) shortname = service_item.shortname if not shortname: return False @@ -260,6 +259,7 @@ class PresentationMediaItem(MediaManagerItem): return False controller = self.controllers[service_item.shortname] (path, name) = os.path.split(filename) + service_item.title = name doc = controller.add_document(filename) if doc.get_thumbnail_path(1, True) is None: doc.load_presentation() From ce807f57b6a3ea5342f8008077a9fe340698c5ac Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Fri, 12 Apr 2013 19:12:20 +0400 Subject: [PATCH 08/19] returned old code --- openlp/core/ui/servicemanager.py | 2 +- openlp/plugins/media/lib/mediaitem.py | 6 +++--- openlp/plugins/presentations/lib/mediaitem.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index d6c416f52..d06040f44 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1403,7 +1403,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): Opens a dialog to rename the service item. """ item = self.find_service_item()[0] - if not service_item[u'service_item'].is_capable(ItemCapabilities.CanEditTitle): + if not self.service_items[item][u'service_item'].is_capable(ItemCapabilities.CanEditTitle): return title = self.service_items[item][u'service_item'].title title, ok = QtGui.QInputDialog.getText(self, self.tr(translate('OpenLP.ServiceManager', 'Input title')), diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 0c386787a..57bc6947b 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -181,9 +181,9 @@ class MediaMediaItem(MediaManagerItem): translate('MediaPlugin.MediaItem', 'Missing Media File'), translate('MediaPlugin.MediaItem', 'The file %s no longer exists.') % filename) return False - service_item.shortname = self.displayTypeComboBox.currentText() + service_item.title = self.displayTypeComboBox.currentText() + service_item.shortname = service_item.title (path, name) = os.path.split(filename) - service_item.title = name service_item.add_from_command(path, name, CLAPPERBOARD) # Only get start and end times if going to a service if context == ServiceItemContext.Service: @@ -192,7 +192,7 @@ class MediaMediaItem(MediaManagerItem): return False service_item.add_capability(ItemCapabilities.CanAutoStartForLive) service_item.add_capability(ItemCapabilities.RequiresMedia) - service_item.add_capability(ItemCapabilities.CanEditTitle) + service_item.add_capability(ItemCapabilities.HasDetailedTitleDisplay) if Settings().value(self.settings_section + u'/media auto start') == QtCore.Qt.Checked: service_item.will_auto_start = True # force a non-existent theme diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index 759f166d3..f92562541 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -244,9 +244,10 @@ class PresentationMediaItem(MediaManagerItem): items = self.list_view.selectedItems() if len(items) > 1: return False + service_item.title = self.displayTypeComboBox.currentText() service_item.shortname = self.displayTypeComboBox.currentText() service_item.add_capability(ItemCapabilities.ProvidesOwnDisplay) - service_item.add_capability(ItemCapabilities.CanEditTitle) + service_item.add_capability(ItemCapabilities.HasDetailedTitleDisplay) shortname = service_item.shortname if not shortname: return False @@ -259,7 +260,6 @@ class PresentationMediaItem(MediaManagerItem): return False controller = self.controllers[service_item.shortname] (path, name) = os.path.split(filename) - service_item.title = name doc = controller.add_document(filename) if doc.get_thumbnail_path(1, True) is None: doc.load_presentation() From e52cfa02569a72aeede128bf5c937c125d3143b3 Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Thu, 16 May 2013 09:05:41 +0400 Subject: [PATCH 09/19] restored original code --- openlp/plugins/images/lib/mediaitem.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index 39fe4f036..b16a0bea1 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -543,11 +543,9 @@ class ImageMediaItem(MediaManagerItem): if not items: return False # Determine service item title - if (isinstance(items[0].data(0, QtCore.Qt.UserRole), ImageGroups) or len(items) == 1)\ - and len(service_item._raw_frames) ==0: + if isinstance(items[0].data(0, QtCore.Qt.UserRole), ImageGroups): service_item.title = items[0].text(0) - elif len(service_item._raw_frames) == 1 and service_item.title == service_item._raw_frames[0][u'title']\ - or len(items) > 1 and len(service_item._raw_frames) ==0: + else: service_item.title = unicode(self.plugin.name_strings[u'plural']) service_item.add_capability(ItemCapabilities.CanMaintain) service_item.add_capability(ItemCapabilities.CanPreview) From 25ed0ab4d70bc2d429ab394e9019f3b8aa02ecbc Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Tue, 9 Jul 2013 01:26:31 +0400 Subject: [PATCH 10/19] small fixes --- openlp/core/lib/serviceitem.py | 3 +-- openlp/plugins/media/lib/mediaitem.py | 1 + openlp/plugins/presentations/lib/mediaitem.py | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index cda7d90fe..c95cbd59f 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -108,8 +108,7 @@ class ItemCapabilities(object): The capability to ignore the do not play if display blank flag. ``CanEditTitle`` - The capability to allow the ServiceManager to allow the title of the item to be - edited + The capability to edit the title of the item """ CanPreview = 1 diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 30748a225..8fe966f65 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -196,6 +196,7 @@ class MediaMediaItem(MediaManagerItem): return False service_item.add_capability(ItemCapabilities.CanAutoStartForLive) service_item.add_capability(ItemCapabilities.RequiresMedia) + service_item.add_capability(ItemCapabilities.CanEditTitle) if Settings().value(self.settings_section + u'/media auto start') == QtCore.Qt.Checked: service_item.will_auto_start = True # force a non-existent theme diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index cef30a498..e8cb469f6 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -246,6 +246,7 @@ class PresentationMediaItem(MediaManagerItem): return False service_item.processor = self.display_type_combo_box.currentText() service_item.add_capability(ItemCapabilities.ProvidesOwnDisplay) + service_item.add_capability(ItemCapabilities.CanEditTitle) if not self.display_type_combo_box.currentText(): return False for bitem in items: From 2900e756fd2f6d6bfb5340129ac6cf3d22f1dee2 Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Wed, 4 Sep 2013 07:51:53 +0400 Subject: [PATCH 11/19] fix --- openlp/core/ui/servicemanager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 1332cb8c2..6bfcd0b9f 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1400,7 +1400,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): if not self.service_items[item][u'service_item'].is_capable(ItemCapabilities.CanEditTitle): return title = self.service_items[item][u'service_item'].title - title, ok = QtGui.QInputDialog.getText(self, self.tr(translate('OpenLP.ServiceManager', 'Input title')), + title, ok = QtGui.QInputDialog.getText(self, self.tr(translate('OpenLP.ServiceManager', 'Rename item title')), self.tr(translate('OpenLP.ServiceManager', 'Title')), QtGui.QLineEdit.Normal, self.trUtf8(title)) if ok: self.service_items[item][u'service_item'].title = unicode(title) From 473d10cf7991e834d6c410a55794835b4d1da03c Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Wed, 4 Sep 2013 09:40:20 +0400 Subject: [PATCH 12/19] styling. --- openlp/core/ui/servicemanager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 49695c43c..f150df6a8 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1405,8 +1405,8 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): if not self.service_items[item][u'service_item'].is_capable(ItemCapabilities.CanEditTitle): return title = self.service_items[item][u'service_item'].title - title, ok = QtGui.QInputDialog.getText(self, translate('OpenLP.ServiceManager', 'Rename item title'), - translate('OpenLP.ServiceManager', 'Title:'), QtGui.QLineEdit.Normal, self.trUtf8(title)) + title, ok = QtGui.QInputDialog.getText(self, translate('OpenLP.ServiceManager', 'Rename item title'), + translate('OpenLP.ServiceManager', 'Title:'), QtGui.QLineEdit.Normal, self.trUtf8(title)) if ok: self.service_items[item][u'service_item'].title = unicode(title) self.repaint_service_list(item, -1) From df56435f441dd584013eceeaaffc267d4fcdbf87 Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Thu, 5 Sep 2013 11:23:59 +0400 Subject: [PATCH 13/19] fixes --- openlp/core/ui/servicemanager.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index f150df6a8..46e53c36a 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -790,7 +790,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): self.auto_start_action.setVisible(False) if service_item['service_item'].is_capable(ItemCapabilities.CanEdit) and service_item['service_item'].edit_id: self.edit_action.setVisible(True) - if service_item[u'service_item'].is_capable(ItemCapabilities.CanEditTitle): + if service_item['service_item'].is_capable(ItemCapabilities.CanEditTitle): self.rename_action.setVisible(True) if service_item['service_item'].is_capable(ItemCapabilities.CanMaintain): self.maintain_action.setVisible(True) @@ -1402,13 +1402,13 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): Opens a dialog to rename the service item. """ item = self.find_service_item()[0] - if not self.service_items[item][u'service_item'].is_capable(ItemCapabilities.CanEditTitle): + if not self.service_items[item]['service_item'].is_capable(ItemCapabilities.CanEditTitle): return - title = self.service_items[item][u'service_item'].title + title = self.service_items[item]['service_item'].title title, ok = QtGui.QInputDialog.getText(self, translate('OpenLP.ServiceManager', 'Rename item title'), translate('OpenLP.ServiceManager', 'Title:'), QtGui.QLineEdit.Normal, self.trUtf8(title)) if ok: - self.service_items[item][u'service_item'].title = unicode(title) + self.service_items[item]['service_item'].title = unicode(title) self.repaint_service_list(item, -1) self.set_modified() From b1adce782e9cf81753694ee512e1805814fdef35 Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Wed, 11 Sep 2013 00:29:45 +0400 Subject: [PATCH 14/19] Fixed unicode --- openlp/core/ui/servicemanager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 46e53c36a..db391a130 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1408,7 +1408,7 @@ class ServiceManager(QtGui.QWidget, ServiceManagerDialog): title, ok = QtGui.QInputDialog.getText(self, translate('OpenLP.ServiceManager', 'Rename item title'), translate('OpenLP.ServiceManager', 'Title:'), QtGui.QLineEdit.Normal, self.trUtf8(title)) if ok: - self.service_items[item]['service_item'].title = unicode(title) + self.service_items[item]['service_item'].title = title self.repaint_service_list(item, -1) self.set_modified() From 5daaabc3c1c119bec18e086088d28c6877ffe59e Mon Sep 17 00:00:00 2001 From: Dmitriy Marmyshev Date: Fri, 11 Oct 2013 19:50:36 +0400 Subject: [PATCH 15/19] test rename action visibility --- tests/interfaces/openlp_core_ui/test_servicemanager.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/interfaces/openlp_core_ui/test_servicemanager.py b/tests/interfaces/openlp_core_ui/test_servicemanager.py index dbd49102c..fb38bd739 100644 --- a/tests/interfaces/openlp_core_ui/test_servicemanager.py +++ b/tests/interfaces/openlp_core_ui/test_servicemanager.py @@ -62,6 +62,7 @@ class TestServiceManager(TestCase): q_point = None # Mocked actions. self.service_manager.edit_action.setVisible = Mock() + self.service_manager.rename_action.setVisible = Mock() self.service_manager.create_custom_action.setVisible = Mock() self.service_manager.maintain_action.setVisible = Mock() self.service_manager.notes_action.setVisible = Mock() @@ -74,6 +75,8 @@ class TestServiceManager(TestCase): # THEN: The following actions should be not visible. self.service_manager.edit_action.setVisible.assert_called_once_with(False), \ 'The action should be set invisible.' + self.service_manager.rename_action.setVisible.assert_called_once_with(False), \ + 'The action should be set invisible.' self.service_manager.create_custom_action.setVisible.assert_called_once_with(False), \ 'The action should be set invisible.' self.service_manager.maintain_action.setVisible.assert_called_once_with(False), \ From 81a8868a5a26bc8005a3d135d28f95337c2903d3 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Mon, 31 Mar 2014 20:49:47 +0200 Subject: [PATCH 16/19] Fix merge --- openlp/core/ui/servicemanager.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 4e60cf19e..60e725103 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1487,7 +1487,6 @@ class ServiceManager(OpenLPMixin, RegistryMixin, QtGui.QWidget, Ui_ServiceManage if new_item: self.add_service_item(new_item, replace=True) -<<<<<<< TREE def on_service_item_rename(self): """ Opens a dialog to rename the service item. @@ -1503,10 +1502,7 @@ class ServiceManager(OpenLPMixin, RegistryMixin, QtGui.QWidget, Ui_ServiceManage self.repaint_service_list(item, -1) self.set_modified() - def create_custom(self): -======= def create_custom(self, field=None): ->>>>>>> MERGE-SOURCE """ Saves the current text item as a custom slide :param field: From a7dc47e80f3eb2710fea8c709ebd92fa5770e4a5 Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Mon, 31 Mar 2014 21:07:54 +0200 Subject: [PATCH 17/19] Test --- tests/interfaces/openlp_core_ui/test_servicemanager.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/interfaces/openlp_core_ui/test_servicemanager.py b/tests/interfaces/openlp_core_ui/test_servicemanager.py index f4f5f26fc..78df788ab 100644 --- a/tests/interfaces/openlp_core_ui/test_servicemanager.py +++ b/tests/interfaces/openlp_core_ui/test_servicemanager.py @@ -313,6 +313,7 @@ class TestServiceManager(TestCase, TestMixin): self.service_manager.notes_action.setVisible = MagicMock() self.service_manager.time_action.setVisible = MagicMock() self.service_manager.auto_start_action.setVisible = MagicMock() + self.service_manager.rename_action.setVisible = MagicMock() # WHEN: Show the context menu. self.service_manager.context_menu(q_point) @@ -329,6 +330,8 @@ class TestServiceManager(TestCase, TestMixin): 'The action should be set invisible.' self.service_manager.auto_start_action.setVisible.assert_called_with(True), \ 'The action should be set visible.' + self.service_manager.rename_action.setVisible.assert_called_once_with(False), \ + 'The action should be set invisible.' def click_on_new_service_test(self): """ From d064549eab5fe5683801b08dcc3af58c0ce1fbee Mon Sep 17 00:00:00 2001 From: Samuel Mehrbrodt Date: Tue, 1 Apr 2014 22:39:13 +0200 Subject: [PATCH 18/19] Icon, indentation --- openlp/core/lib/serviceitem.py | 2 +- openlp/core/ui/servicemanager.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index a53a94a61..5d7bf4053 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -107,7 +107,7 @@ class ItemCapabilities(object): ``CanAutoStartForLive`` The capability to ignore the do not play if display blank flag. - + ``CanEditTitle`` The capability to edit the title of the item diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 60e725103..4489360da 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -235,7 +235,7 @@ class Ui_ServiceManager(object): self.edit_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Edit Item'), icon=':/general/general_edit.png', triggers=self.remote_edit) self.rename_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Rename...'), - triggers=self.on_service_item_rename) + icon=':/general/general_edit.png', triggers=self.on_service_item_rename) self.maintain_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Reorder Item'), icon=':/general/general_edit.png', triggers=self.on_service_item_edit_form) @@ -1496,7 +1496,8 @@ class ServiceManager(OpenLPMixin, RegistryMixin, QtGui.QWidget, Ui_ServiceManage return title = self.service_items[item]['service_item'].title title, ok = QtGui.QInputDialog.getText(self, translate('OpenLP.ServiceManager', 'Rename item title'), - translate('OpenLP.ServiceManager', 'Title:'), QtGui.QLineEdit.Normal, self.trUtf8(title)) + translate('OpenLP.ServiceManager', 'Title:'), + QtGui.QLineEdit.Normal, self.trUtf8(title)) if ok: self.service_items[item]['service_item'].title = title self.repaint_service_list(item, -1)