diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index e94aaad48..14606a948 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -24,6 +24,7 @@ import types import os +import uuid from PyQt4 import QtCore, QtGui @@ -360,18 +361,23 @@ class MediaManagerItem(QtGui.QWidget): log.debug(self.PluginNameShort + u' Preview Requested') service_item = self.buildServiceItem() if service_item is not None: + service_item.fromPlugin = True self.parent.preview_controller.addServiceItem(service_item) def onLiveClick(self): log.debug(self.PluginNameShort + u' Live Requested') service_item = self.buildServiceItem() if service_item is not None: + service_item.fromPlugin = True + service_item.uuid = unicode(uuid.uuid1()) self.parent.live_controller.addServiceItem(service_item) def onAddClick(self): log.debug(self.PluginNameShort + u' Add Requested') service_item = self.buildServiceItem() if service_item is not None: + service_item.fromPlugin = False + service_item.uuid = unicode(uuid.uuid1()) self.parent.service_manager.addServiceItem(service_item) def buildServiceItem(self): diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 50b8137f3..278896e9e 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -27,7 +27,6 @@ import string import logging import cPickle import zipfile -import uuid from PyQt4 import QtCore, QtGui from openlp.core.lib import PluginConfig, OpenLPToolbar, ServiceItem, \ @@ -563,7 +562,6 @@ class ServiceManager(QtGui.QWidget): self.repaintServiceList(sitem + 1, 0) self.parent.LiveController.replaceServiceManagerItem(item) else: - item.uuid = unicode(uuid.uuid1()) if sitem == -1: self.serviceItems.append({u'data': item, u'order': len(self.serviceItems) + 1, diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index ace128e4f..d00c045d4 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -284,14 +284,15 @@ class SlideController(QtGui.QWidget): str_to_bool(self.songsconfig.get_config(u'display songbar', True)): for action in self.Songbar.actions: self.Songbar.actions[action].setVisible(False) - verses = item.verse_order.split(u' ') - for verse in verses: - try: - self.Songbar.actions[verse].setVisible(True) - except: - #More than 20 verses hard luck - pass - self.Songbar.setVisible(True) + if item.verse_order is not None: + verses = item.verse_order.split(u' ') + for verse in verses: + try: + self.Songbar.actions[verse].setVisible(True) + except: + #More than 20 verses hard luck + pass + self.Songbar.setVisible(True) elif item.service_item_type == ServiceType.Image: #Not sensible to allow loops with 1 frame if len(item.frames) > 1: @@ -301,7 +302,7 @@ class SlideController(QtGui.QWidget): """ Allows the Preview toolbar to be customised """ - if item.name == u'Songs': + if item.name == u'Songs' and item.fromPlugin: self.Toolbar.makeWidgetsVisible(self.song_list) else: self.Toolbar.makeWidgetsInvisible(self.song_list) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 434e9902e..4bcecf457 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -468,6 +468,8 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def processTitle(self): log.debug(u'processTitle') self.song.search_title = self.song.search_title.replace(u'\'', u'') + self.song.search_title = self.song.search_title.replace(u'\"', u'') + self.song.search_title = self.song.search_title.replace(u'\`', u'') self.song.search_title = self.song.search_title.replace(u',', u'') self.song.search_title = self.song.search_title.replace(u';', u'') self.song.search_title = self.song.search_title.replace(u':', u'') diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 08005b326..506e0f3f8 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -289,6 +289,7 @@ class SongMediaItem(MediaManagerItem): song = self.parent.songmanager.get_song(item_id) service_item.theme = song.theme_name service_item.editEnabled = True + service_item.fromPlugin = True service_item.editId = item_id service_item.verse_order = song.verse_order if song.lyrics.startswith(u'