Cleanups and screen fixes

This commit is contained in:
Tim Bentley 2010-08-26 06:01:29 +01:00
parent 492389b715
commit adb757cd2f
6 changed files with 44 additions and 51 deletions

View File

@ -390,7 +390,6 @@ class GeneralTab(SettingsTab):
unicode(self.screens.current[u'size'].width()))
self.overrideCheckBox.setChecked(settings.value(u'override position',
QtCore.QVariant(False)).toBool())
if self.overrideCheckBox.isChecked():
self.customXValueEdit.setText(settings.value(u'x position',
QtCore.QVariant(self.screens.current[u'size'].x())).toString())
self.customYValueEdit.setText(settings.value(u'y position',
@ -401,15 +400,6 @@ class GeneralTab(SettingsTab):
self.customWidthValueEdit.setText(
settings.value(u'width', QtCore.QVariant(
self.screens.current[u'size'].width())).toString())
else:
self.customXValueEdit.setText(
unicode(self.screens.current[u'size'].x()))
self.customYValueEdit.setText(
unicode(self.screens.current[u'size'].y()))
self.customHeightValueEdit.setText(
unicode(self.screens.current[u'size'].height()))
self.customWidthValueEdit.setText(
unicode(self.screens.current[u'size'].width()))
settings.endGroup()
self.customXValueEdit.setEnabled(self.overrideCheckBox.isChecked())
self.customYValueEdit.setEnabled(self.overrideCheckBox.isChecked())
@ -438,8 +428,6 @@ class GeneralTab(SettingsTab):
QtCore.QVariant(self.autoPreviewCheckBox.isChecked()))
settings.setValue(u'loop delay',
QtCore.QVariant(self.timeoutSpinBox.value()))
Receiver.send_message(u'slidecontroller_live_spin_delay',
self.timeoutSpinBox.value())
settings.setValue(u'ccli number',
QtCore.QVariant(self.numberEdit.displayText()))
settings.setValue(u'songselect username',
@ -459,15 +447,15 @@ class GeneralTab(SettingsTab):
settings.endGroup()
self.screens.display = self.displayOnMonitorCheck.isChecked()
# Monitor Number has changed.
postUpdate = False
if self.screens.monitor_number != self.monitorNumber:
self.screens.monitor_number = self.monitorNumber
self.screens.set_current_display(self.monitorNumber)
Receiver.send_message(u'config_screen_changed')
Receiver.send_message(u'config_updated')
postUpdate = True
# On save update the screens as well
self.postSetUp()
self.postSetUp(postUpdate)
def postSetUp(self):
def postSetUp(self, postUpdate=False):
"""
Apply settings after settings tab has loaded
"""
@ -482,10 +470,13 @@ class GeneralTab(SettingsTab):
int(self.customHeightValueEdit.text()))
if self.overrideCheckBox.isChecked():
self.screens.set_override_display()
Receiver.send_message(u'config_screen_changed')
else:
self.screens.reset_current_display()
# Order is important so be carefull if you change
if self.overrideChanged:
Receiver.send_message(u'config_screen_changed')
if postUpdate:
Receiver.send_message(u'config_updated')
self.overrideChanged = False
def onOverrideCheckBoxToggled(self, checked):

View File

@ -80,6 +80,7 @@ class DisplayWidget(QtGui.QGraphicsView):
event.accept()
elif event.key() == QtCore.Qt.Key_Escape:
self.setVisible(False)
self.videoStop()
event.accept()
event.ignore()
else:
@ -103,7 +104,7 @@ class MainDisplay(DisplayWidget):
QtCore.SIGNAL(u'maindisplay_show'), self.showDisplay)
def setup(self):
log.debug(u'Setup %s for %s ' % (
log.debug(u'Setup %s %s for %s ' % (self.isLive,
self.screens, self.screens.monitor_number))
self.screen = self.screens.current
self.setVisible(False)
@ -205,6 +206,9 @@ class MainDisplay(DisplayWidget):
self.screen[u'size'].height())
self.resetVideo()
self.displayImage(image)
# show screen
if self.isLive:
self.setVisible(True)
def displayImage(self, image):
"""
@ -238,6 +242,9 @@ class MainDisplay(DisplayWidget):
"""
log.debug(u'videoPlay')
self.frame.evaluateJavaScript(u'show_video("play");')
# show screen
if self.isLive:
self.setVisible(True)
def videoPause(self):
"""
@ -283,7 +290,7 @@ class MainDisplay(DisplayWidget):
"""
Generates a preview of the image displayed.
"""
log.debug(u'preview')
log.debug(u'preview for %s', self.isLive)
# Wait for the fade to finish before geting the preview.
# Important otherwise preview will have incorrect text if at all !
if self.serviceItem.themedata and \
@ -302,6 +309,9 @@ class MainDisplay(DisplayWidget):
painter.setRenderHint(QtGui.QPainter.Antialiasing)
self.frame.render(painter)
painter.end()
# Make display show up if in single screen mode
if self.isLive:
self.setVisible(True)
# save preview for debugging
if log.isEnabledFor(logging.DEBUG):
preview.save(u'temp.png', u'png')

View File

@ -44,9 +44,9 @@ class ScreenList(object):
self.override = None
self.screen_list = []
self.display_count = 0
#actual display number
# actual display number
self.current_display = 0
#save config display number
# save config display number
self.monitor_number = 0
def add_screen(self, screen):

View File

@ -779,7 +779,7 @@ class ServiceManager(QtGui.QWidget):
Rebuild the service list as things have changed and a
repaint is the easiest way to do this.
"""
#force reset of renderer as theme data has changed
# force reset of renderer as theme data has changed
self.parent.RenderManager.themedata = None
if self.serviceItems:
tempServiceItems = self.serviceItems
@ -789,8 +789,8 @@ class ServiceManager(QtGui.QWidget):
for item in tempServiceItems:
self.addServiceItem(
item[u'service_item'], False, item[u'expanded'])
#Set to False as items may have changed rendering
#does not impact the saved song so True may also be valid
# Set to False as items may have changed rendering
# does not impact the saved song so True may also be valid
self.parent.serviceChanged(False, self.serviceName)
def addServiceItem(self, item, rebuild=False, expand=True, replace=False):

View File

@ -386,8 +386,6 @@ class SlideController(QtGui.QWidget):
QtCore.SIGNAL(u'config_updated'), self.refreshServiceItem)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'config_screen_changed'), self.screenSizeChanged)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'%s_slide_cache' % self.typePrefix), self.slideCache)
if self.isLive:
QtCore.QObject.connect(self.volumeSlider,
QtCore.SIGNAL(u'sliderReleased()'), self.mediaVolume)
@ -494,7 +492,7 @@ class SlideController(QtGui.QWidget):
if self.serviceItem.is_text() or self.serviceItem.is_image():
item = self.serviceItem
item.render()
self.addServiceManagerItem(item, self.selectedRow)
self._processItem(item, self.selectedRow)
def addServiceItem(self, item):
"""
@ -766,13 +764,6 @@ class SlideController(QtGui.QWidget):
% self.serviceItem.name.lower(),
[self.serviceItem, self.isLive])
def slideCache(self, slide):
"""
Generate a slide cache item rendered and ready for use
in the background.
"""
self.serviceItem.get_rendered_frame(int(slide))
def onSlideSelected(self):
"""
Generate the preview when you click on a slide.
@ -817,6 +808,7 @@ class SlideController(QtGui.QWidget):
else:
label = self.PreviewListWidget.cellWidget(
self.PreviewListWidget.currentRow(), 1)
if label:
self.SlidePreview.setPixmap(label.pixmap())
def grabMainDisplay(self):