mirror of https://gitlab.com/openlp/openlp.git
Fix up toolbar handing to stop toolbar going off screen
Added Media Toolbar for the media items Added it to Preview Added and wired in a volume control
This commit is contained in:
parent
bc28e3e78f
commit
bf63b2ae2f
|
@ -264,18 +264,18 @@ class MainDisplay(DisplayWidget):
|
|||
self.firstTime = False
|
||||
else:
|
||||
self.mediaObject.enqueue(Phonon.MediaSource(file))
|
||||
self.onMediaPlay()
|
||||
self.onMediaPlay(message[3])
|
||||
|
||||
def onMediaPlay(self):
|
||||
def onMediaPlay(self, live=True):
|
||||
log.debug(u'Play the new media')
|
||||
if not self.mediaLoaded and not self.displayBlank:
|
||||
if not self.mediaLoaded and not self.displayBlank and live:
|
||||
self.blankDisplay()
|
||||
self.firstTime = True
|
||||
self.mediaLoaded = True
|
||||
self.display.hide()
|
||||
self.video.setFullScreen(True)
|
||||
self.mediaObject.play()
|
||||
if self.primary:
|
||||
if self.primary and not live:
|
||||
self.setVisible(True)
|
||||
|
||||
def onMediaPaws(self):
|
||||
|
|
|
@ -536,6 +536,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
self.settingsForm.postSetUp()
|
||||
|
||||
def versionCheck(self):
|
||||
"""
|
||||
Checks the version of the Application called from openlp.pyw
|
||||
"""
|
||||
applicationVersion = self.applicationVersion[u'Full']
|
||||
version = check_latest_version(self.generalConfig, applicationVersion)
|
||||
if applicationVersion != version:
|
||||
|
|
|
@ -26,6 +26,8 @@ import logging
|
|||
import time
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
from PyQt4.phonon import Phonon
|
||||
|
||||
from openlp.core.lib import OpenLPToolbar, Receiver, ServiceItemType, \
|
||||
str_to_bool, PluginConfig
|
||||
|
||||
|
@ -80,20 +82,9 @@ class SlideController(QtGui.QWidget):
|
|||
u'Loop Separator',
|
||||
u'Image SpinBox'
|
||||
]
|
||||
self.media_list = [
|
||||
u'Media Start',
|
||||
u'Media Stop',
|
||||
u'Media Pause'
|
||||
]
|
||||
self.song_edit_list = [
|
||||
u'Edit Song',
|
||||
]
|
||||
self.song_list = [
|
||||
u'First Slide',
|
||||
u'Previous Slide',
|
||||
u'Next Slide',
|
||||
u'Last Slide',
|
||||
]
|
||||
self.timer_id = 0
|
||||
self.commandItem = None
|
||||
self.songEdit = False
|
||||
|
@ -109,10 +100,12 @@ class SlideController(QtGui.QWidget):
|
|||
self.TypeLabel.setText(u'<strong>%s</strong>' %
|
||||
self.trUtf8(u'Live'))
|
||||
self.split = 1
|
||||
prefix = u'live_slidecontroller'
|
||||
else:
|
||||
self.TypeLabel.setText(u'<strong>%s</strong>' %
|
||||
self.trUtf8(u'Preview'))
|
||||
self.split = 0
|
||||
prefix = u'preview_slidecontroller'
|
||||
self.TypeLabel.setAlignment(QtCore.Qt.AlignCenter)
|
||||
self.PanelLayout.addWidget(self.TypeLabel)
|
||||
# Splitter
|
||||
|
@ -190,16 +183,24 @@ class SlideController(QtGui.QWidget):
|
|||
u'Image SpinBox', self.DelaySpinBox)
|
||||
self.DelaySpinBox.setSuffix(self.trUtf8(u's'))
|
||||
self.DelaySpinBox.setToolTip(self.trUtf8(u'Delay between slides in seconds'))
|
||||
self.Toolbar.addToolbarButton(
|
||||
u'Media Start', u':/slides/media_playback_start.png',
|
||||
self.trUtf8(u'Start playing media'), self.onMediaPlay)
|
||||
self.Toolbar.addToolbarButton(
|
||||
u'Media Pause', u':/slides/media_playback_pause.png',
|
||||
self.trUtf8(u'Start playing media'), self.onMediaPause)
|
||||
self.Toolbar.addToolbarButton(
|
||||
u'Media Stop', u':/slides/media_playback_stop.png',
|
||||
self.trUtf8(u'Start playing media'), self.onMediaStop)
|
||||
self.ControllerLayout.addWidget(self.Toolbar)
|
||||
#Build a Media ToolBar
|
||||
self.Mediabar = OpenLPToolbar(self)
|
||||
self.Mediabar.addToolbarButton(
|
||||
u'Media Start', u':/slides/media_playback_start.png',
|
||||
self.trUtf8(u'Start playing media'), self.onMediaPlay)
|
||||
self.Mediabar.addToolbarButton(
|
||||
u'Media Pause', u':/slides/media_playback_pause.png',
|
||||
self.trUtf8(u'Start playing media'), self.onMediaPause)
|
||||
self.Mediabar.addToolbarButton(
|
||||
u'Media Stop', u':/slides/media_playback_stop.png',
|
||||
self.trUtf8(u'Start playing media'), self.onMediaStop)
|
||||
self.volumeSlider = Phonon.VolumeSlider()
|
||||
self.volumeSlider.setGeometry(QtCore.QRect(90, 260, 221, 24))
|
||||
self.volumeSlider.setObjectName("volumeSlider")
|
||||
self.Mediabar.addToolbarWidget(
|
||||
u'Audio Volume', self.volumeSlider)
|
||||
self.ControllerLayout.addWidget(self.Mediabar)
|
||||
# Build the Song Toolbar
|
||||
if isLive:
|
||||
self.Songbar = OpenLPToolbar(self)
|
||||
|
@ -259,13 +260,9 @@ class SlideController(QtGui.QWidget):
|
|||
Receiver().send_message(u'request_spin_delay')
|
||||
if isLive:
|
||||
self.Toolbar.makeWidgetsInvisible(self.image_list)
|
||||
self.Toolbar.makeWidgetsInvisible(self.media_list)
|
||||
else:
|
||||
self.Toolbar.makeWidgetsInvisible(self.song_edit_list)
|
||||
if isLive:
|
||||
prefix = u'live_slidecontroller'
|
||||
else:
|
||||
prefix = u'preview_slidecontroller'
|
||||
self.Mediabar.setVisible(False)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'%s_first' % prefix), self.onSlideSelectedFirst)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
|
@ -291,10 +288,9 @@ class SlideController(QtGui.QWidget):
|
|||
self.PreviewListWidget.setColumnWidth(0, width)
|
||||
for framenumber, frame in enumerate(self.commandItem.frames):
|
||||
if frame[u'text']:
|
||||
break
|
||||
return
|
||||
self.PreviewListWidget.setRowHeight(framenumber, height)
|
||||
|
||||
|
||||
def trackSplitter(self, tab, pos):
|
||||
"""
|
||||
Splitter between the slide list and the preview panel
|
||||
|
@ -333,10 +329,10 @@ class SlideController(QtGui.QWidget):
|
|||
"""
|
||||
Allows the live toolbar to be customised
|
||||
"""
|
||||
self.Toolbar.setVisible(True)
|
||||
self.Songbar.setVisible(False)
|
||||
self.Mediabar.setVisible(False)
|
||||
self.Toolbar.makeWidgetsInvisible(self.image_list)
|
||||
self.Toolbar.makeWidgetsInvisible(self.media_list)
|
||||
self.Toolbar.makeWidgetsVisible(self.song_list)
|
||||
if item.service_item_type == ServiceItemType.Text:
|
||||
self.Toolbar.makeWidgetsInvisible(self.image_list)
|
||||
if item.name == u'Songs' and \
|
||||
|
@ -360,17 +356,24 @@ class SlideController(QtGui.QWidget):
|
|||
self.Toolbar.makeWidgetsVisible(self.image_list)
|
||||
elif item.service_item_type == ServiceItemType.Command and \
|
||||
item.name == u'Media':
|
||||
self.Toolbar.makeWidgetsInvisible(self.song_list)
|
||||
self.Toolbar.makeWidgetsVisible(self.media_list)
|
||||
self.Toolbar.setVisible(False)
|
||||
self.Mediabar.setVisible(True)
|
||||
self.volumeSlider.setAudioOutput(self.parent.mainDisplay.audio)
|
||||
|
||||
def enablePreviewToolBar(self, item):
|
||||
"""
|
||||
Allows the Preview toolbar to be customised
|
||||
"""
|
||||
self.Toolbar.setVisible(True)
|
||||
self.Mediabar.setVisible(False)
|
||||
self.Toolbar.makeWidgetsInvisible(self.song_edit_list)
|
||||
if (item.name == u'Songs' or item.name == u'Custom') and item.fromPlugin:
|
||||
self.Toolbar.makeWidgetsVisible(self.song_edit_list)
|
||||
else:
|
||||
self.Toolbar.makeWidgetsInvisible(self.song_edit_list)
|
||||
elif item.service_item_type == ServiceItemType.Command and \
|
||||
item.name == u'Media':
|
||||
self.Toolbar.setVisible(False)
|
||||
self.Mediabar.setVisible(True)
|
||||
self.volumeSlider.setAudioOutput(self.parent.mainDisplay.audio)
|
||||
|
||||
def addServiceItem(self, item):
|
||||
"""
|
||||
|
@ -627,7 +630,7 @@ class SlideController(QtGui.QWidget):
|
|||
Receiver().send_message(u'%s_pause'% self.commandItem.name.lower())
|
||||
|
||||
def onMediaPlay(self):
|
||||
Receiver().send_message(u'%s_play'% self.commandItem.name.lower())
|
||||
Receiver().send_message(u'%s_play'% self.commandItem.name.lower(), self.isLive)
|
||||
|
||||
def onMediaStop(self):
|
||||
Receiver().send_message(u'%s_stop'% self.commandItem.name.lower())
|
||||
|
|
Loading…
Reference in New Issue