forked from openlp/openlp
Fix up presentation display bugs.
bzr-revno: 1173 Fixes: https://launchpad.net/bugs/660448
This commit is contained in:
commit
80dbce6162
@ -58,7 +58,7 @@ class ItemCapabilities(object):
|
|||||||
NoLineBreaks = 7
|
NoLineBreaks = 7
|
||||||
OnLoadUpdate = 8
|
OnLoadUpdate = 8
|
||||||
AddIfNewItem = 9
|
AddIfNewItem = 9
|
||||||
|
ProvidesOwnDisplay = 10
|
||||||
|
|
||||||
class ServiceItem(object):
|
class ServiceItem(object):
|
||||||
"""
|
"""
|
||||||
|
@ -393,6 +393,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
"""
|
"""
|
||||||
# We need to make this circuit, because we have to consider the other
|
# We need to make this circuit, because we have to consider the other
|
||||||
# slidecontroller as well.
|
# slidecontroller as well.
|
||||||
|
log.debug(u'paintEvent live = %s' % self.isLive)
|
||||||
self.parent.previewController.previewSizeChanged()
|
self.parent.previewController.previewSizeChanged()
|
||||||
self.parent.liveController.previewSizeChanged()
|
self.parent.liveController.previewSizeChanged()
|
||||||
|
|
||||||
@ -561,6 +562,8 @@ class SlideController(QtGui.QWidget):
|
|||||||
if self.serviceItem.is_media():
|
if self.serviceItem.is_media():
|
||||||
self.onMediaClose()
|
self.onMediaClose()
|
||||||
if self.isLive:
|
if self.isLive:
|
||||||
|
if serviceItem.is_capable(ItemCapabilities.ProvidesOwnDisplay):
|
||||||
|
self._forceUnblank()
|
||||||
blanked = self.BlankScreen.isChecked()
|
blanked = self.BlankScreen.isChecked()
|
||||||
else:
|
else:
|
||||||
blanked = False
|
blanked = False
|
||||||
@ -568,8 +571,6 @@ class SlideController(QtGui.QWidget):
|
|||||||
[serviceItem, self.isLive, blanked, slideno])
|
[serviceItem, self.isLive, blanked, slideno])
|
||||||
self.slideList = {}
|
self.slideList = {}
|
||||||
width = self.parent.ControlSplitter.sizes()[self.split]
|
width = self.parent.ControlSplitter.sizes()[self.split]
|
||||||
# Set pointing cursor when we have something to point at
|
|
||||||
self.PreviewListWidget.setCursor(QtCore.Qt.PointingHandCursor)
|
|
||||||
self.serviceItem = serviceItem
|
self.serviceItem = serviceItem
|
||||||
self.PreviewListWidget.clear()
|
self.PreviewListWidget.clear()
|
||||||
self.PreviewListWidget.setRowCount(0)
|
self.PreviewListWidget.setRowCount(0)
|
||||||
@ -698,7 +699,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
"""
|
"""
|
||||||
log.debug(u'mainDisplaySetBackground live = %s' % self.isLive)
|
log.debug(u'mainDisplaySetBackground live = %s' % self.isLive)
|
||||||
if not self.display.primary:
|
if not self.display.primary:
|
||||||
self.onHideDisplay(True)
|
self.onBlankDisplay(True)
|
||||||
|
|
||||||
def onSlideBlank(self):
|
def onSlideBlank(self):
|
||||||
"""
|
"""
|
||||||
@ -1041,3 +1042,22 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.video.hide()
|
self.video.hide()
|
||||||
self.SlidePreview.clear()
|
self.SlidePreview.clear()
|
||||||
self.SlidePreview.show()
|
self.SlidePreview.show()
|
||||||
|
|
||||||
|
def _forceUnblank(self):
|
||||||
|
"""
|
||||||
|
Used by command items which provide their own displays to reset the
|
||||||
|
screen hide attributes
|
||||||
|
"""
|
||||||
|
if self.BlankScreen.isChecked:
|
||||||
|
self.BlankScreen.setChecked(False)
|
||||||
|
self.HideMenu.setDefaultAction(self.BlankScreen)
|
||||||
|
QtCore.QSettings().setValue(
|
||||||
|
self.parent.generalSettingsSection + u'/screen blank',
|
||||||
|
QtCore.QVariant(False))
|
||||||
|
if self.ThemeScreen.isChecked:
|
||||||
|
self.ThemeScreen.setChecked(False)
|
||||||
|
self.HideMenu.setDefaultAction(self.ThemeScreen)
|
||||||
|
if self.DesktopScreen.isChecked:
|
||||||
|
self.DesktopScreen.setChecked(False)
|
||||||
|
self.HideMenu.setDefaultAction(self.DesktopScreen)
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ import os
|
|||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
|
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
|
||||||
SettingsManager, translate, check_item_selected, Receiver
|
SettingsManager, translate, check_item_selected, Receiver, ItemCapabilities
|
||||||
from openlp.plugins.presentations.lib import MessageListener
|
from openlp.plugins.presentations.lib import MessageListener
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
@ -249,6 +249,7 @@ class PresentationMediaItem(MediaManagerItem):
|
|||||||
return False
|
return False
|
||||||
service_item.title = unicode(self.DisplayTypeComboBox.currentText())
|
service_item.title = unicode(self.DisplayTypeComboBox.currentText())
|
||||||
service_item.shortname = unicode(self.DisplayTypeComboBox.currentText())
|
service_item.shortname = unicode(self.DisplayTypeComboBox.currentText())
|
||||||
|
service_item.add_capability(ItemCapabilities.ProvidesOwnDisplay)
|
||||||
shortname = service_item.shortname
|
shortname = service_item.shortname
|
||||||
if shortname:
|
if shortname:
|
||||||
for item in items:
|
for item in items:
|
||||||
|
Loading…
Reference in New Issue
Block a user