Fix preview of live when returning from blank display

This commit is contained in:
Tim Bentley 2010-11-26 09:00:14 +00:00
parent 4c3e32c4d7
commit f153c27d32
2 changed files with 6 additions and 5 deletions

View File

@ -459,9 +459,9 @@ class MainDisplay(DisplayWidget):
if self.phononActive: if self.phononActive:
self.webView.setVisible(False) self.webView.setVisible(False)
self.videoPlay() self.videoPlay()
self.hide_mode = None
# Trigger actions when display is active again # Trigger actions when display is active again
Receiver.send_message(u'maindisplay_active') Receiver.send_message(u'maindisplay_active')
self.hide_mode = None
class AudioPlayer(QtCore.QObject): class AudioPlayer(QtCore.QObject):
""" """

View File

@ -391,6 +391,8 @@ class SlideController(QtGui.QWidget):
if self.isLive: if self.isLive:
QtCore.QObject.connect(self.volumeSlider, QtCore.QObject.connect(self.volumeSlider,
QtCore.SIGNAL(u'sliderReleased()'), self.mediaVolume) QtCore.SIGNAL(u'sliderReleased()'), self.mediaVolume)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'maindisplay_active'), self.updatePreview)
def screenSizeChanged(self): def screenSizeChanged(self):
""" """
@ -823,16 +825,15 @@ class SlideController(QtGui.QWidget):
row) row)
def updatePreview(self): def updatePreview(self):
log.debug(u'updatePreview %s ' %self.screens.current[u'primary'])
if not self.screens.current[u'primary']: if not self.screens.current[u'primary']:
# Grab now, but try again in a couple of seconds if slide change # Grab now, but try again in a couple of seconds if slide change
# is slow # is slow
QtCore.QTimer.singleShot(0.5, self.grabMainDisplay) QtCore.QTimer.singleShot(0.5, self.grabMainDisplay)
QtCore.QTimer.singleShot(2.5, self.grabMainDisplay) QtCore.QTimer.singleShot(2.5, self.grabMainDisplay)
else: else:
label = self.PreviewListWidget.cellWidget( self.SlidePreview.setPixmap(
self.PreviewListWidget.currentRow(), 1) QtGui.QPixmap.fromImage(self.display.preview()))
if label:
self.SlidePreview.setPixmap(label.pixmap())
def grabMainDisplay(self): def grabMainDisplay(self):
winid = QtGui.QApplication.desktop().winId() winid = QtGui.QApplication.desktop().winId()