forked from openlp/openlp
Fixes and notifications
This commit is contained in:
parent
c5f6dbfa6e
commit
1d673caff4
@ -119,6 +119,7 @@ class ServiceItem(object):
|
||||
self.image_border = u'#000000'
|
||||
self.background_audio = []
|
||||
self.theme_overwritten = False
|
||||
self.temporary_edit = False
|
||||
self._new_item()
|
||||
|
||||
def _new_item(self):
|
||||
|
@ -37,7 +37,7 @@ log = logging.getLogger(__name__)
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import OpenLPToolbar, ServiceItem, Receiver, build_icon, \
|
||||
ItemCapabilities, SettingsManager, translate
|
||||
ItemCapabilities, SettingsManager, translate, str_to_bool
|
||||
from openlp.core.lib.theme import ThemeLevel
|
||||
from openlp.core.lib.ui import UiStrings, critical_error_message_box, \
|
||||
context_menu_action, context_menu_separator, find_and_set_in_combo_box
|
||||
@ -670,6 +670,7 @@ class ServiceManager(QtGui.QWidget):
|
||||
# if the item has been processed
|
||||
if serviceItem._uuid == self.loadItem_uuid:
|
||||
serviceItem.edit_id = int(self.loadItem_editId)
|
||||
serviceItem.temporary_edit = self.loadItem_temporary
|
||||
self.addServiceItem(serviceItem, repaint=False)
|
||||
delete_file(p_file)
|
||||
self.setFileName(fileName)
|
||||
@ -999,6 +1000,17 @@ class ServiceManager(QtGui.QWidget):
|
||||
painter.drawImage(0, 0, overlay)
|
||||
painter.end()
|
||||
treewidgetitem.setIcon(0, build_icon(icon))
|
||||
elif serviceitem.temporary_edit:
|
||||
icon = QtGui.QImage(serviceitem.icon)
|
||||
icon = icon.scaled(80, 80, QtCore.Qt.KeepAspectRatio,
|
||||
QtCore.Qt.SmoothTransformation)
|
||||
overlay = QtGui.QImage(':/general/general_export.png')
|
||||
overlay = overlay.scaled(40, 40, QtCore.Qt.KeepAspectRatio,
|
||||
QtCore.Qt.SmoothTransformation)
|
||||
painter = QtGui.QPainter(icon)
|
||||
painter.drawImage(40, 0, overlay)
|
||||
painter.end()
|
||||
treewidgetitem.setIcon(0, build_icon(icon))
|
||||
else:
|
||||
treewidgetitem.setIcon(0, serviceitem.iconic_representation)
|
||||
else:
|
||||
@ -1006,6 +1018,11 @@ class ServiceManager(QtGui.QWidget):
|
||||
build_icon(u':/general/general_delete.png'))
|
||||
treewidgetitem.setText(0, serviceitem.get_display_title())
|
||||
tips = []
|
||||
if serviceitem.temporary_edit:
|
||||
tips.append(u'<strong>%s:</strong> <em>%s</em>' %
|
||||
(unicode(translate('OpenLP.ServiceManager', 'Edit')),
|
||||
(unicode(translate('OpenLP.ServiceManager',
|
||||
'Service copy only')))))
|
||||
if serviceitem.theme and serviceitem.theme != -1:
|
||||
tips.append(u'<strong>%s:</strong> <em>%s</em>' %
|
||||
(unicode(translate('OpenLP.ServiceManager', 'Slide theme')),
|
||||
@ -1127,8 +1144,9 @@ class ServiceManager(QtGui.QWidget):
|
||||
Triggered from plugins to update service items.
|
||||
Save the values as they will be used as part of the service load
|
||||
"""
|
||||
editId, self.loadItem_uuid = message.split(u':')
|
||||
editId, self.loadItem_uuid, temporary = message.split(u':')
|
||||
self.loadItem_editId = int(editId)
|
||||
self.loadItem_temporary = str_to_bool(temporary)
|
||||
|
||||
def replaceServiceItem(self, newItem):
|
||||
"""
|
||||
|
@ -540,6 +540,7 @@ class SongMediaItem(MediaManagerItem):
|
||||
Song.search_title.asc())
|
||||
editId = 0
|
||||
add_song = True
|
||||
temporary = False
|
||||
if search_results:
|
||||
for song in search_results:
|
||||
author_list = item.data_string[u'authors']
|
||||
@ -565,17 +566,18 @@ class SongMediaItem(MediaManagerItem):
|
||||
self._updateBackgroundAudio(song, item)
|
||||
editId = song.id
|
||||
self.onSearchTextButtonClick()
|
||||
elif not self.addSongFromService:
|
||||
elif add_song and not self.addSongFromService:
|
||||
# Make sure we temporary import formatting tags.
|
||||
song = self.openLyrics.xml_to_song(item.xml_version, True)
|
||||
# If there's any backing tracks, copy them over.
|
||||
if len(item.background_audio) > 0:
|
||||
self._updateBackgroundAudio(song, item)
|
||||
editId = song.id
|
||||
temporary = True
|
||||
# Update service with correct song id.
|
||||
if editId:
|
||||
Receiver.send_message(u'service_item_update',
|
||||
u'%s:%s' % (editId, item._uuid))
|
||||
u'%s:%s:%s' % (editId, item._uuid, temporary))
|
||||
|
||||
def search(self, string):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user