forked from openlp/openlp
- fix "Show Desktop" being not visible (now it's visible all the time)
- fix a bug: sending an image live when you hide the desktop, the image was visible for a short moment bzr-revno: 1357
This commit is contained in:
commit
bee8712f8c
@ -233,9 +233,6 @@ class MainDisplay(DisplayWidget):
|
|||||||
image = self.imageManager.get_image_bytes(name)
|
image = self.imageManager.get_image_bytes(name)
|
||||||
self.resetVideo()
|
self.resetVideo()
|
||||||
self.displayImage(image)
|
self.displayImage(image)
|
||||||
# show screen
|
|
||||||
if self.isLive:
|
|
||||||
self.setVisible(True)
|
|
||||||
return self.preview()
|
return self.preview()
|
||||||
|
|
||||||
def displayImage(self, image):
|
def displayImage(self, image):
|
||||||
@ -319,7 +316,7 @@ class MainDisplay(DisplayWidget):
|
|||||||
Changes the volume of a running video
|
Changes the volume of a running video
|
||||||
"""
|
"""
|
||||||
log.debug(u'videoVolume %d' % volume)
|
log.debug(u'videoVolume %d' % volume)
|
||||||
vol = float(volume)/float(10)
|
vol = float(volume) / float(10)
|
||||||
if self.phononActive:
|
if self.phononActive:
|
||||||
self.audio.setVolume(vol)
|
self.audio.setVolume(vol)
|
||||||
else:
|
else:
|
||||||
@ -335,7 +332,7 @@ class MainDisplay(DisplayWidget):
|
|||||||
# We are running a background theme
|
# We are running a background theme
|
||||||
self.override[u'theme'] = u''
|
self.override[u'theme'] = u''
|
||||||
self.override[u'video'] = True
|
self.override[u'video'] = True
|
||||||
vol = float(volume)/float(10)
|
vol = float(volume) / float(10)
|
||||||
if isBackground or not self.usePhonon:
|
if isBackground or not self.usePhonon:
|
||||||
js = u'show_video("init", "%s", %s, true); show_video("play");' % \
|
js = u'show_video("init", "%s", %s, true); show_video("play");' % \
|
||||||
(videoPath.replace(u'\\', u'\\\\'), str(vol))
|
(videoPath.replace(u'\\', u'\\\\'), str(vol))
|
||||||
@ -388,9 +385,10 @@ class MainDisplay(DisplayWidget):
|
|||||||
Receiver.send_message(u'openlp_process_events')
|
Receiver.send_message(u'openlp_process_events')
|
||||||
# if was hidden keep it hidden
|
# if was hidden keep it hidden
|
||||||
if self.isLive:
|
if self.isLive:
|
||||||
self.setVisible(True)
|
|
||||||
if self.hideMode:
|
if self.hideMode:
|
||||||
self.hideDisplay(self.hideMode)
|
self.hideDisplay(self.hideMode)
|
||||||
|
else:
|
||||||
|
self.setVisible(True)
|
||||||
preview = QtGui.QImage(self.screen[u'size'].width(),
|
preview = QtGui.QImage(self.screen[u'size'].width(),
|
||||||
self.screen[u'size'].height(),
|
self.screen[u'size'].height(),
|
||||||
QtGui.QImage.Format_ARGB32_Premultiplied)
|
QtGui.QImage.Format_ARGB32_Premultiplied)
|
||||||
|
@ -32,7 +32,7 @@ from PyQt4.phonon import Phonon
|
|||||||
|
|
||||||
from openlp.core.lib import OpenLPToolbar, Receiver, resize_image, \
|
from openlp.core.lib import OpenLPToolbar, Receiver, resize_image, \
|
||||||
ItemCapabilities, translate
|
ItemCapabilities, translate
|
||||||
from openlp.core.lib.ui import UiStrings, shortcut_action
|
from openlp.core.lib.ui import icon_action, UiStrings, shortcut_action
|
||||||
from openlp.core.ui import HideMode, MainDisplay
|
from openlp.core.ui import HideMode, MainDisplay
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
@ -114,8 +114,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.previewListWidget = SlideList(self)
|
self.previewListWidget = SlideList(self)
|
||||||
self.previewListWidget.setColumnCount(1)
|
self.previewListWidget.setColumnCount(1)
|
||||||
self.previewListWidget.horizontalHeader().setVisible(False)
|
self.previewListWidget.horizontalHeader().setVisible(False)
|
||||||
self.previewListWidget.setColumnWidth(
|
self.previewListWidget.setColumnWidth(0, self.controller.width())
|
||||||
0, self.controller.width())
|
|
||||||
self.previewListWidget.isLive = self.isLive
|
self.previewListWidget.isLive = self.isLive
|
||||||
self.previewListWidget.setObjectName(u'PreviewListWidget')
|
self.previewListWidget.setObjectName(u'PreviewListWidget')
|
||||||
self.previewListWidget.setSelectionBehavior(1)
|
self.previewListWidget.setSelectionBehavior(1)
|
||||||
@ -146,36 +145,30 @@ class SlideController(QtGui.QWidget):
|
|||||||
u':/slides/slide_next.png',
|
u':/slides/slide_next.png',
|
||||||
translate('OpenLP.SlideController', 'Move to next'),
|
translate('OpenLP.SlideController', 'Move to next'),
|
||||||
self.onSlideSelectedNext)
|
self.onSlideSelectedNext)
|
||||||
|
self.toolbar.addToolbarSeparator(u'Close Separator')
|
||||||
if self.isLive:
|
if self.isLive:
|
||||||
self.toolbar.addToolbarSeparator(u'Close Separator')
|
|
||||||
self.hideMenu = QtGui.QToolButton(self.toolbar)
|
self.hideMenu = QtGui.QToolButton(self.toolbar)
|
||||||
self.hideMenu.setText(translate('OpenLP.SlideController', 'Hide'))
|
self.hideMenu.setText(translate('OpenLP.SlideController', 'Hide'))
|
||||||
self.hideMenu.setPopupMode(QtGui.QToolButton.MenuButtonPopup)
|
self.hideMenu.setPopupMode(QtGui.QToolButton.MenuButtonPopup)
|
||||||
self.toolbar.addToolbarWidget(u'Hide Menu', self.hideMenu)
|
self.toolbar.addToolbarWidget(u'Hide Menu', self.hideMenu)
|
||||||
self.hideMenu.setMenu(QtGui.QMenu(
|
self.hideMenu.setMenu(QtGui.QMenu(
|
||||||
translate('OpenLP.SlideController', 'Hide'), self.toolbar))
|
translate('OpenLP.SlideController', 'Hide'), self.toolbar))
|
||||||
self.blankScreen = QtGui.QAction(QtGui.QIcon(
|
self.blankScreen = icon_action(self.hideMenu, u'Blank Screen',
|
||||||
u':/slides/slide_blank.png'),
|
u':/slides/slide_blank.png', False)
|
||||||
translate('OpenLP.SlideController',
|
self.blankScreen.setText(
|
||||||
'Blank Screen'), self.hideMenu)
|
translate('OpenLP.SlideController', 'Blank Screen'))
|
||||||
self.blankScreen.setCheckable(True)
|
self.themeScreen = icon_action(self.hideMenu, u'Blank Theme',
|
||||||
self.themeScreen = QtGui.QAction(QtGui.QIcon(
|
u':/slides/slide_theme.png', False)
|
||||||
u':/slides/slide_theme.png'),
|
self.themeScreen.setText(
|
||||||
translate('OpenLP.SlideController',
|
translate('OpenLP.SlideController', 'Blank to Theme'))
|
||||||
'Blank to Theme'), self.hideMenu)
|
self.desktopScreen = icon_action(self.hideMenu, u'Desktop Screen',
|
||||||
self.themeScreen.setCheckable(True)
|
u':/slides/slide_desktop.png', False)
|
||||||
|
self.desktopScreen.setText(
|
||||||
|
translate('OpenLP.SlideController', 'Show Desktop'))
|
||||||
self.hideMenu.setDefaultAction(self.blankScreen)
|
self.hideMenu.setDefaultAction(self.blankScreen)
|
||||||
self.hideMenu.menu().addAction(self.blankScreen)
|
self.hideMenu.menu().addAction(self.blankScreen)
|
||||||
self.hideMenu.menu().addAction(self.themeScreen)
|
self.hideMenu.menu().addAction(self.themeScreen)
|
||||||
if self.screens.display_count > 1:
|
self.hideMenu.menu().addAction(self.desktopScreen)
|
||||||
self.desktopScreen = QtGui.QAction(QtGui.QIcon(
|
|
||||||
u':/slides/slide_desktop.png'),
|
|
||||||
translate('OpenLP.SlideController',
|
|
||||||
'Show Desktop'), self.hideMenu)
|
|
||||||
self.hideMenu.menu().addAction(self.desktopScreen)
|
|
||||||
self.desktopScreen.setCheckable(True)
|
|
||||||
QtCore.QObject.connect(self.desktopScreen,
|
|
||||||
QtCore.SIGNAL(u'triggered(bool)'), self.onHideDisplay)
|
|
||||||
self.toolbar.addToolbarSeparator(u'Loop Separator')
|
self.toolbar.addToolbarSeparator(u'Loop Separator')
|
||||||
self.toolbar.addToolbarButton(
|
self.toolbar.addToolbarButton(
|
||||||
# Does not need translating - control string.
|
# Does not need translating - control string.
|
||||||
@ -195,7 +188,6 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.delaySpinBox.setToolTip(translate('OpenLP.SlideController',
|
self.delaySpinBox.setToolTip(translate('OpenLP.SlideController',
|
||||||
'Delay between slides in seconds'))
|
'Delay between slides in seconds'))
|
||||||
else:
|
else:
|
||||||
self.toolbar.addToolbarSeparator(u'Close Separator')
|
|
||||||
self.toolbar.addToolbarButton(
|
self.toolbar.addToolbarButton(
|
||||||
# Does not need translating - control string.
|
# Does not need translating - control string.
|
||||||
u'Go Live', u':/general/general_live.png',
|
u'Go Live', u':/general/general_live.png',
|
||||||
@ -226,8 +218,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
if self.isLive:
|
if self.isLive:
|
||||||
# Build the Song Toolbar
|
# Build the Song Toolbar
|
||||||
self.songMenu = QtGui.QToolButton(self.toolbar)
|
self.songMenu = QtGui.QToolButton(self.toolbar)
|
||||||
self.songMenu.setText(translate('OpenLP.SlideController',
|
self.songMenu.setText(translate('OpenLP.SlideController', 'Go To'))
|
||||||
'Go To'))
|
|
||||||
self.songMenu.setPopupMode(QtGui.QToolButton.InstantPopup)
|
self.songMenu.setPopupMode(QtGui.QToolButton.InstantPopup)
|
||||||
self.toolbar.addToolbarWidget(u'Song Menu', self.songMenu)
|
self.toolbar.addToolbarWidget(u'Song Menu', self.songMenu)
|
||||||
self.songMenu.setMenu(QtGui.QMenu(
|
self.songMenu.setMenu(QtGui.QMenu(
|
||||||
@ -303,6 +294,8 @@ class SlideController(QtGui.QWidget):
|
|||||||
QtCore.SIGNAL(u'triggered(bool)'), self.onBlankDisplay)
|
QtCore.SIGNAL(u'triggered(bool)'), self.onBlankDisplay)
|
||||||
QtCore.QObject.connect(self.themeScreen,
|
QtCore.QObject.connect(self.themeScreen,
|
||||||
QtCore.SIGNAL(u'triggered(bool)'), self.onThemeDisplay)
|
QtCore.SIGNAL(u'triggered(bool)'), self.onThemeDisplay)
|
||||||
|
QtCore.QObject.connect(self.desktopScreen,
|
||||||
|
QtCore.SIGNAL(u'triggered(bool)'), self.onHideDisplay)
|
||||||
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.QObject.connect(Receiver.get_receiver(),
|
||||||
@ -469,6 +462,9 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.onSlideSelected()
|
self.onSlideSelected()
|
||||||
|
|
||||||
def receiveSpinDelay(self, value):
|
def receiveSpinDelay(self, value):
|
||||||
|
"""
|
||||||
|
Adjusts the value of the ``delaySpinBox`` to the given one.
|
||||||
|
"""
|
||||||
self.delaySpinBox.setValue(int(value))
|
self.delaySpinBox.setValue(int(value))
|
||||||
|
|
||||||
def enableToolBar(self, item):
|
def enableToolBar(self, item):
|
||||||
@ -752,8 +748,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.hideMenu.setDefaultAction(self.blankScreen)
|
self.hideMenu.setDefaultAction(self.blankScreen)
|
||||||
self.blankScreen.setChecked(checked)
|
self.blankScreen.setChecked(checked)
|
||||||
self.themeScreen.setChecked(False)
|
self.themeScreen.setChecked(False)
|
||||||
if self.screens.display_count > 1:
|
self.desktopScreen.setChecked(False)
|
||||||
self.desktopScreen.setChecked(False)
|
|
||||||
if checked:
|
if checked:
|
||||||
Receiver.send_message(u'maindisplay_hide', HideMode.Blank)
|
Receiver.send_message(u'maindisplay_hide', HideMode.Blank)
|
||||||
QtCore.QSettings().setValue(
|
QtCore.QSettings().setValue(
|
||||||
@ -774,8 +769,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.hideMenu.setDefaultAction(self.themeScreen)
|
self.hideMenu.setDefaultAction(self.themeScreen)
|
||||||
self.blankScreen.setChecked(False)
|
self.blankScreen.setChecked(False)
|
||||||
self.themeScreen.setChecked(checked)
|
self.themeScreen.setChecked(checked)
|
||||||
if self.screens.display_count > 1:
|
self.desktopScreen.setChecked(False)
|
||||||
self.desktopScreen.setChecked(False)
|
|
||||||
if checked:
|
if checked:
|
||||||
Receiver.send_message(u'maindisplay_hide', HideMode.Theme)
|
Receiver.send_message(u'maindisplay_hide', HideMode.Theme)
|
||||||
QtCore.QSettings().setValue(
|
QtCore.QSettings().setValue(
|
||||||
@ -796,9 +790,6 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.hideMenu.setDefaultAction(self.desktopScreen)
|
self.hideMenu.setDefaultAction(self.desktopScreen)
|
||||||
self.blankScreen.setChecked(False)
|
self.blankScreen.setChecked(False)
|
||||||
self.themeScreen.setChecked(False)
|
self.themeScreen.setChecked(False)
|
||||||
# On valid if more than 1 display
|
|
||||||
if self.screens.display_count <= 1:
|
|
||||||
return
|
|
||||||
self.desktopScreen.setChecked(checked)
|
self.desktopScreen.setChecked(checked)
|
||||||
if checked:
|
if checked:
|
||||||
Receiver.send_message(u'maindisplay_hide', HideMode.Screen)
|
Receiver.send_message(u'maindisplay_hide', HideMode.Screen)
|
||||||
@ -1103,15 +1094,15 @@ class SlideController(QtGui.QWidget):
|
|||||||
Used by command items which provide their own displays to reset the
|
Used by command items which provide their own displays to reset the
|
||||||
screen hide attributes
|
screen hide attributes
|
||||||
"""
|
"""
|
||||||
|
blank = None
|
||||||
if self.blankScreen.isChecked:
|
if self.blankScreen.isChecked:
|
||||||
self.blankScreen.setChecked(False)
|
blank = self.blankScreen
|
||||||
self.hideMenu.setDefaultAction(self.blankScreen)
|
if self.themeScreen.isChecked:
|
||||||
|
blank = self.themeScreen
|
||||||
|
if self.desktopScreen.isChecked:
|
||||||
|
blank = self.desktopScreen
|
||||||
|
if blank:
|
||||||
|
blank.setChecked(False)
|
||||||
|
self.hideMenu.setDefaultAction(blank)
|
||||||
QtCore.QSettings().remove(
|
QtCore.QSettings().remove(
|
||||||
self.parent.generalSettingsSection + u'/screen blank')
|
self.parent.generalSettingsSection + u'/screen blank')
|
||||||
if self.themeScreen.isChecked:
|
|
||||||
self.themeScreen.setChecked(False)
|
|
||||||
self.hideMenu.setDefaultAction(self.themeScreen)
|
|
||||||
if self.screens.display_count > 1:
|
|
||||||
if self.desktopScreen.isChecked:
|
|
||||||
self.desktopScreen.setChecked(False)
|
|
||||||
self.hideMenu.setDefaultAction(self.desktopScreen)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user