forked from openlp/openlp
Reverted 'adding multiple service items' functionality
This commit is contained in:
parent
9752716672
commit
d323f9d746
@ -32,7 +32,7 @@ import os
|
|||||||
|
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
from openlp.core.lib import ItemCapabilities, MediaManagerItem, Registry, ServiceItem, ServiceItemContext, Settings, \
|
from openlp.core.lib import ItemCapabilities, MediaManagerItem, Registry, ServiceItemContext, Settings, \
|
||||||
StringContent, TreeWidgetWithDnD, UiStrings, build_icon, check_directory_exists, check_item_selected, \
|
StringContent, TreeWidgetWithDnD, UiStrings, build_icon, check_directory_exists, check_item_selected, \
|
||||||
create_thumb, translate, validate_thumb
|
create_thumb, translate, validate_thumb
|
||||||
from openlp.core.lib.ui import create_widget_action, critical_error_message_box
|
from openlp.core.lib.ui import create_widget_action, critical_error_message_box
|
||||||
@ -538,76 +538,63 @@ class ImageMediaItem(MediaManagerItem):
|
|||||||
"""
|
"""
|
||||||
background = QtGui.QColor(Settings().value(self.settings_section + u'/background color'))
|
background = QtGui.QColor(Settings().value(self.settings_section + u'/background color'))
|
||||||
if item:
|
if item:
|
||||||
new_items = [item]
|
items = [item]
|
||||||
else:
|
else:
|
||||||
new_items = self.list_view.selectedItems()
|
items = self.list_view.selectedItems()
|
||||||
if not new_items:
|
if not items:
|
||||||
return False
|
return False
|
||||||
for bitem in new_items:
|
# Determine service item title
|
||||||
new_service_item = ServiceItem(self.plugin)
|
if isinstance(items[0].data(0, QtCore.Qt.UserRole), ImageGroups):
|
||||||
new_service_item.add_icon(self.plugin.icon_path)
|
service_item.title = items[0].text(0)
|
||||||
# Determine service item title
|
else:
|
||||||
if isinstance(bitem.data(0, QtCore.Qt.UserRole), ImageGroups):
|
service_item.title = unicode(self.plugin.name_strings[u'plural'])
|
||||||
new_service_item.title = bitem.text(0)
|
service_item.add_capability(ItemCapabilities.CanMaintain)
|
||||||
else:
|
service_item.add_capability(ItemCapabilities.CanPreview)
|
||||||
new_service_item.title = unicode(self.plugin.name_strings[u'plural'])
|
service_item.add_capability(ItemCapabilities.CanLoop)
|
||||||
new_service_item.add_capability(ItemCapabilities.CanMaintain)
|
service_item.add_capability(ItemCapabilities.CanAppend)
|
||||||
new_service_item.add_capability(ItemCapabilities.CanPreview)
|
# force a nonexistent theme
|
||||||
new_service_item.add_capability(ItemCapabilities.CanLoop)
|
service_item.theme = -1
|
||||||
new_service_item.add_capability(ItemCapabilities.CanAppend)
|
missing_items = []
|
||||||
# force a nonexistent theme
|
missing_items_filenames = []
|
||||||
new_service_item.theme = -1
|
# Expand groups to images
|
||||||
sub_images = []
|
for bitem in items:
|
||||||
missing_items = []
|
|
||||||
missing_items_filenames = []
|
|
||||||
# Expand groups to images
|
|
||||||
if isinstance(bitem.data(0, QtCore.Qt.UserRole), ImageGroups) or bitem.data(0, QtCore.Qt.UserRole) is None:
|
if isinstance(bitem.data(0, QtCore.Qt.UserRole), ImageGroups) or bitem.data(0, QtCore.Qt.UserRole) is None:
|
||||||
for index in range(0, bitem.childCount()):
|
for index in range(0, bitem.childCount()):
|
||||||
if isinstance(bitem.child(index).data(0, QtCore.Qt.UserRole), ImageFilenames):
|
if isinstance(bitem.child(index).data(0, QtCore.Qt.UserRole), ImageFilenames):
|
||||||
sub_images.append(bitem.child(index))
|
items.append(bitem.child(index))
|
||||||
if isinstance(bitem.data(0, QtCore.Qt.UserRole), ImageFilenames):
|
items.remove(bitem)
|
||||||
sub_images.append(bitem)
|
# Don't try to display empty groups
|
||||||
# Don't try to display empty groups
|
if not items:
|
||||||
if not sub_images:
|
return False
|
||||||
return False
|
# Find missing files
|
||||||
# Find missing files
|
for bitem in items:
|
||||||
for bitem in sub_images:
|
filename = bitem.data(0, QtCore.Qt.UserRole).filename
|
||||||
filename = bitem.data(0, QtCore.Qt.UserRole).filename
|
if not os.path.exists(filename):
|
||||||
if not os.path.exists(filename):
|
missing_items.append(bitem)
|
||||||
missing_items.append(bitem)
|
missing_items_filenames.append(filename)
|
||||||
missing_items_filenames.append(filename)
|
for item in missing_items:
|
||||||
for item in missing_items:
|
items.remove(item)
|
||||||
sub_images.remove(item)
|
# We cannot continue, as all images do not exist.
|
||||||
# We cannot continue, as all images do not exist.
|
if not items:
|
||||||
if not sub_images:
|
if not remote:
|
||||||
if not remote:
|
critical_error_message_box(
|
||||||
critical_error_message_box(
|
translate('ImagePlugin.MediaItem', 'Missing Image(s)'),
|
||||||
translate('ImagePlugin.MediaItem', 'Missing Image(s)'),
|
translate('ImagePlugin.MediaItem', 'The following image(s) no longer exist: %s') %
|
||||||
translate('ImagePlugin.MediaItem', 'The following image(s) no longer exist: %s') %
|
u'\n'.join(missing_items_filenames))
|
||||||
u'\n'.join(missing_items_filenames))
|
return False
|
||||||
return False
|
# We have missing as well as existing images. We ask what to do.
|
||||||
# We have missing as well as existing images. We ask what to do.
|
elif missing_items and QtGui.QMessageBox.question(self,
|
||||||
elif missing_items and QtGui.QMessageBox.question(self,
|
translate('ImagePlugin.MediaItem', 'Missing Image(s)'),
|
||||||
translate('ImagePlugin.MediaItem', 'Missing Image(s)'),
|
translate('ImagePlugin.MediaItem', 'The following image(s) no longer exist: %s\n'
|
||||||
translate('ImagePlugin.MediaItem', 'The following image(s) no longer exist: %s\n'
|
'Do you want to add the other images anyway?') % u'\n'.join(missing_items_filenames),
|
||||||
'Do you want to add the other images anyway?') % u'\n'.join(missing_items_filenames),
|
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.No:
|
||||||
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | QtGui.QMessageBox.Yes)) == \
|
return False
|
||||||
QtGui.QMessageBox.No:
|
# Continue with the existing images.
|
||||||
return False
|
for bitem in items:
|
||||||
# Continue with the existing images.
|
filename = bitem.data(0, QtCore.Qt.UserRole).filename
|
||||||
for sub_image in sub_images:
|
name = os.path.split(filename)[1]
|
||||||
filename = sub_image.data(0, QtCore.Qt.UserRole).filename
|
service_item.add_from_image(filename, name, background)
|
||||||
name = os.path.split(filename)[1]
|
return True
|
||||||
new_service_item.add_from_image(filename, name, background)
|
|
||||||
# Add the service item to the correct controller
|
|
||||||
if context == ServiceItemContext.Service:
|
|
||||||
self.service_manager.add_service_item(new_service_item)
|
|
||||||
elif context == ServiceItemContext.Preview:
|
|
||||||
self.preview_controller.add_service_item(new_service_item)
|
|
||||||
elif context == ServiceItemContext.Live:
|
|
||||||
self.live_controller.add_service_item(new_service_item)
|
|
||||||
# Return False because we added the service item ourselves
|
|
||||||
return False
|
|
||||||
|
|
||||||
def check_group_exists(self, new_group):
|
def check_group_exists(self, new_group):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user