Dmitriy Marmyshev has proposed merging lp:~marmyshev/openlp/item_title into lp:openlp.
Requested reviews: Tim Bentley (trb143) Andreas Preikschat (googol) Raoul Snyman (raoul-snyman) For more details, see: https://code.launchpad.net/~marmyshev/openlp/item_title/+merge/184024 Added ability to rename items in ServiceManager. -- https://code.launchpad.net/~marmyshev/openlp/item_title/+merge/184024 Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/lib/serviceitem.py' --- openlp/core/lib/serviceitem.py 2013-08-31 18:17:38 +0000 +++ openlp/core/lib/serviceitem.py 2013-09-05 07:26:17 +0000 @@ -106,6 +106,9 @@ ``CanAutoStartForLive`` The capability to ignore the do not play if display blank flag. + + ``CanEditTitle`` + The capability to edit the title of the item """ CanPreview = 1 @@ -124,6 +127,7 @@ CanWordSplit = 14 HasBackgroundAudio = 15 CanAutoStartForLive = 16 + CanEditTitle = 17 class ServiceItem(object): @@ -443,7 +447,7 @@ """ Returns the title of the service item. """ - if self.is_text(): + if self.is_text() or ItemCapabilities.CanEditTitle in self.capabilities: return self.title else: if len(self._raw_frames) > 1: === modified file 'openlp/core/ui/servicemanager.py' --- openlp/core/ui/servicemanager.py 2013-08-31 18:17:38 +0000 +++ openlp/core/ui/servicemanager.py 2013-09-05 07:26:17 +0000 @@ -219,6 +219,8 @@ self.menu = QtGui.QMenu() 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) 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) self.notes_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Notes'), @@ -780,6 +782,7 @@ 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) @@ -787,6 +790,8 @@ 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['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) if item.parent() is None: @@ -1392,6 +1397,21 @@ 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 not self.service_items[item]['service_item'].is_capable(ItemCapabilities.CanEditTitle): + 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)) + if ok: + self.service_items[item]['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 === modified file 'openlp/plugins/bibles/lib/mediaitem.py' --- openlp/plugins/bibles/lib/mediaitem.py 2013-08-31 18:17:38 +0000 +++ openlp/plugins/bibles/lib/mediaitem.py 2013-09-05 07:26:17 +0000 @@ -842,6 +842,7 @@ 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 === modified file 'openlp/plugins/images/lib/mediaitem.py' --- openlp/plugins/images/lib/mediaitem.py 2013-08-31 18:17:38 +0000 +++ openlp/plugins/images/lib/mediaitem.py 2013-09-05 07:26:17 +0000 @@ -551,6 +551,7 @@ 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_filenames = [] === modified file 'openlp/plugins/media/lib/mediaitem.py' --- openlp/plugins/media/lib/mediaitem.py 2013-08-31 18:17:38 +0000 +++ openlp/plugins/media/lib/mediaitem.py 2013-09-05 07:26:17 +0000 @@ -195,6 +195,7 @@ if not self.media_controller.media_length(service_item): return False service_item.add_capability(ItemCapabilities.CanAutoStartForLive) + service_item.add_capability(ItemCapabilities.CanEditTitle) service_item.add_capability(ItemCapabilities.RequiresMedia) if Settings().value(self.settings_section + '/media auto start') == QtCore.Qt.Checked: service_item.will_auto_start = True === modified file 'openlp/plugins/presentations/lib/mediaitem.py' --- openlp/plugins/presentations/lib/mediaitem.py 2013-08-31 18:17:38 +0000 +++ openlp/plugins/presentations/lib/mediaitem.py 2013-09-05 07:26:17 +0000 @@ -246,6 +246,7 @@ 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:
_______________________________________________ Mailing list: https://launchpad.net/~openlp-core Post to : openlp-core@lists.launchpad.net Unsubscribe : https://launchpad.net/~openlp-core More help : https://help.launchpad.net/ListHelp