forked from openlp/openlp
SlideController cleanup - merge Main and Image
This commit is contained in:
parent
63f67ea756
commit
ed385ec31d
@ -66,6 +66,7 @@ from mediamanageritem import MediaManagerItem
|
|||||||
from xmlrootclass import XmlRootClass
|
from xmlrootclass import XmlRootClass
|
||||||
from serviceitem import ServiceItem
|
from serviceitem import ServiceItem
|
||||||
from eventreceiver import Receiver
|
from eventreceiver import Receiver
|
||||||
|
from serviceitem import ServiceType
|
||||||
from serviceitem import ServiceItem
|
from serviceitem import ServiceItem
|
||||||
from toolbar import OpenLPToolbar
|
from toolbar import OpenLPToolbar
|
||||||
from songxmlhandler import SongXMLBuilder
|
from songxmlhandler import SongXMLBuilder
|
||||||
|
@ -25,6 +25,11 @@ from PyQt4 import QtCore, QtGui
|
|||||||
|
|
||||||
from openlp.core.lib import buildIcon
|
from openlp.core.lib import buildIcon
|
||||||
|
|
||||||
|
class ServiceType(object):
|
||||||
|
Text = 1
|
||||||
|
Image = 2
|
||||||
|
Command = 3
|
||||||
|
|
||||||
class ServiceItem(object):
|
class ServiceItem(object):
|
||||||
"""
|
"""
|
||||||
The service item is a base class for the plugins to use to interact with
|
The service item is a base class for the plugins to use to interact with
|
||||||
@ -83,16 +88,16 @@ class ServiceItem(object):
|
|||||||
self.RenderManager.set_override_theme(self.theme)
|
self.RenderManager.set_override_theme(self.theme)
|
||||||
log.debug(u'Formatting slides')
|
log.debug(u'Formatting slides')
|
||||||
self.frames = []
|
self.frames = []
|
||||||
if self.service_item_type == u'text':
|
if self.service_item_type == ServiceType.Text:
|
||||||
for slide in self.service_frames:
|
for slide in self.service_frames:
|
||||||
formated = self.RenderManager.format_slide(slide[u'raw_slide'])
|
formated = self.RenderManager.format_slide(slide[u'raw_slide'])
|
||||||
for format in formated:
|
for format in formated:
|
||||||
frame = self.RenderManager.generate_slide(format, self.raw_footer)
|
frame = self.RenderManager.generate_slide(format, self.raw_footer)
|
||||||
self.frames.append({u'title': slide[u'title'], u'image': frame})
|
self.frames.append({u'title': slide[u'title'], u'image': frame})
|
||||||
elif self.service_item_type == u'command':
|
elif self.service_item_type == ServiceType.Command:
|
||||||
self.frames = self.service_frames
|
self.frames = self.service_frames
|
||||||
self.service_frames = []
|
self.service_frames = []
|
||||||
elif self.service_item_type == u'image':
|
elif self.service_item_type == ServiceType.Image:
|
||||||
#print "image"
|
#print "image"
|
||||||
#print self.service_frames
|
#print self.service_frames
|
||||||
for slide in self.service_frames:
|
for slide in self.service_frames:
|
||||||
@ -115,7 +120,7 @@ class ServiceItem(object):
|
|||||||
``image``
|
``image``
|
||||||
The actual image file name.
|
The actual image file name.
|
||||||
"""
|
"""
|
||||||
self.service_item_type = u'image'
|
self.service_item_type = ServiceType.Image
|
||||||
self.service_item_path = path
|
self.service_item_path = path
|
||||||
self.service_frames.append({u'title': frame_title, u'image': image})
|
self.service_frames.append({u'title': frame_title, u'image': image})
|
||||||
|
|
||||||
@ -129,7 +134,7 @@ class ServiceItem(object):
|
|||||||
``raw_slide``
|
``raw_slide``
|
||||||
The raw text of the slide.
|
The raw text of the slide.
|
||||||
"""
|
"""
|
||||||
self.service_item_type = u'text'
|
self.service_item_type = ServiceType.Text
|
||||||
frame_title = frame_title.split(u'\n')[0]
|
frame_title = frame_title.split(u'\n')[0]
|
||||||
self.service_frames.append({u'title': frame_title, u'raw_slide': raw_slide})
|
self.service_frames.append({u'title': frame_title, u'raw_slide': raw_slide})
|
||||||
|
|
||||||
@ -143,7 +148,7 @@ class ServiceItem(object):
|
|||||||
``command``
|
``command``
|
||||||
The command of/for the slide.
|
The command of/for the slide.
|
||||||
"""
|
"""
|
||||||
self.service_item_type = u'command'
|
self.service_item_type = ServiceType.Command
|
||||||
self.service_frames.append({u'title': frame_title, u'command': command})
|
self.service_frames.append({u'title': frame_title, u'command': command})
|
||||||
|
|
||||||
def get_oos_repr(self):
|
def get_oos_repr(self):
|
||||||
@ -160,15 +165,12 @@ class ServiceItem(object):
|
|||||||
u'type':self.service_item_type
|
u'type':self.service_item_type
|
||||||
}
|
}
|
||||||
oos_data = []
|
oos_data = []
|
||||||
if self.service_item_type == u'text':
|
if self.service_item_type == ServiceType.Text:
|
||||||
for slide in self.service_frames:
|
for slide in self.service_frames:
|
||||||
oos_data.append(slide)
|
oos_data.append(slide)
|
||||||
elif self.service_item_type == u'image':
|
elif self.service_item_type == ServiceType.Image:
|
||||||
#print "sf", self.service_frames
|
|
||||||
for slide in self.service_frames:
|
for slide in self.service_frames:
|
||||||
#print "s", slide
|
|
||||||
oos_data.append(slide[u'title'])
|
oos_data.append(slide[u'title'])
|
||||||
#print "od", oos_data
|
|
||||||
return {u'header': oos_header, u'data': oos_data}
|
return {u'header': oos_header, u'data': oos_data}
|
||||||
|
|
||||||
def set_from_oos(self, serviceitem, path=None):
|
def set_from_oos(self, serviceitem, path=None):
|
||||||
@ -182,7 +184,6 @@ class ServiceItem(object):
|
|||||||
``path``
|
``path``
|
||||||
Defaults to *None*. Any path data, usually for images.
|
Defaults to *None*. Any path data, usually for images.
|
||||||
"""
|
"""
|
||||||
#print "sfs", serviceitem
|
|
||||||
header = serviceitem[u'serviceitem'][u'header']
|
header = serviceitem[u'serviceitem'][u'header']
|
||||||
self.title = header[u'title']
|
self.title = header[u'title']
|
||||||
self.service_item_type = header[u'type']
|
self.service_item_type = header[u'type']
|
||||||
@ -190,12 +191,11 @@ class ServiceItem(object):
|
|||||||
self.theme = header[u'theme']
|
self.theme = header[u'theme']
|
||||||
self.addIcon(header[u'icon'])
|
self.addIcon(header[u'icon'])
|
||||||
self.raw_footer = header[u'footer']
|
self.raw_footer = header[u'footer']
|
||||||
if self.service_item_type == u'text':
|
if self.service_item_type == ServiceType.Text:
|
||||||
for slide in serviceitem[u'serviceitem'][u'data']:
|
for slide in serviceitem[u'serviceitem'][u'data']:
|
||||||
self.service_frames.append(slide)
|
self.service_frames.append(slide)
|
||||||
elif self.service_item_type == u'image':
|
elif self.service_item_type == ServiceType.Image:
|
||||||
for text_image in serviceitem[u'serviceitem'][u'data']:
|
for text_image in serviceitem[u'serviceitem'][u'data']:
|
||||||
filename = os.path.join(path, text_image)
|
filename = os.path.join(path, text_image)
|
||||||
#print "fn", filename
|
|
||||||
real_image = QtGui.QImage(unicode(filename))
|
real_image = QtGui.QImage(unicode(filename))
|
||||||
self.add_from_image(path, text_image, real_image)
|
self.add_from_image(path, text_image, real_image)
|
||||||
|
@ -34,8 +34,9 @@ class OpenLPToolbar(QtGui.QToolBar):
|
|||||||
QtGui.QToolBar.__init__(self, None)
|
QtGui.QToolBar.__init__(self, None)
|
||||||
# useful to be able to reuse button icons...
|
# useful to be able to reuse button icons...
|
||||||
self.icons = {}
|
self.icons = {}
|
||||||
|
self.actions = {}
|
||||||
self.log = logging.getLogger(u'OpenLPToolbar')
|
self.log = logging.getLogger(u'OpenLPToolbar')
|
||||||
self.log.info(u'Init done')
|
self.log.debug(u'Init done')
|
||||||
|
|
||||||
def addToolbarButton(self, title, icon, tooltip=None, slot=None, objectname=None):
|
def addToolbarButton(self, title, icon, tooltip=None, slot=None, objectname=None):
|
||||||
"""
|
"""
|
||||||
@ -76,6 +77,7 @@ class OpenLPToolbar(QtGui.QToolBar):
|
|||||||
if slot is not None:
|
if slot is not None:
|
||||||
QtCore.QObject.connect(ToolbarButton, QtCore.SIGNAL(u'triggered()'), slot)
|
QtCore.QObject.connect(ToolbarButton, QtCore.SIGNAL(u'triggered()'), slot)
|
||||||
self.icons[title] = ButtonIcon
|
self.icons[title] = ButtonIcon
|
||||||
|
self.actions[title] = ToolbarButton
|
||||||
|
|
||||||
def getIconFromTitle(self, title):
|
def getIconFromTitle(self, title):
|
||||||
"""
|
"""
|
||||||
|
@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with
|
|||||||
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
||||||
Place, Suite 330, Boston, MA 02111-1307 USA
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
"""
|
"""
|
||||||
from slidecontroller import MasterToolbar
|
#from slidecontroller import MasterToolbar
|
||||||
from maindisplay import MainDisplay
|
from maindisplay import MainDisplay
|
||||||
from amendthemeform import AmendThemeForm
|
from amendthemeform import AmendThemeForm
|
||||||
from slidecontroller import SlideController
|
from slidecontroller import SlideController
|
||||||
|
@ -21,7 +21,7 @@ import logging
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
from openlp.core.lib import OpenLPToolbar, translate, buildIcon, Receiver
|
from openlp.core.lib import OpenLPToolbar, translate, buildIcon, Receiver, ServiceType
|
||||||
|
|
||||||
class SlideList(QtGui.QTableWidget):
|
class SlideList(QtGui.QTableWidget):
|
||||||
"""
|
"""
|
||||||
@ -63,12 +63,8 @@ class SlideController(QtGui.QWidget):
|
|||||||
"""
|
"""
|
||||||
Set up the Slide Controller.
|
Set up the Slide Controller.
|
||||||
"""
|
"""
|
||||||
self.toolbarList = {}
|
|
||||||
QtGui.QWidget.__init__(self, parent)
|
QtGui.QWidget.__init__(self, parent)
|
||||||
self.isLive = isLive
|
self.isLive = isLive
|
||||||
self.prefix = u'preview_'
|
|
||||||
if isLive:
|
|
||||||
self.prefix = u'live_'
|
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.Panel = QtGui.QWidget(parent.ControlSplitter)
|
self.Panel = QtGui.QWidget(parent.ControlSplitter)
|
||||||
self.Splitter = QtGui.QSplitter(self.Panel)
|
self.Splitter = QtGui.QSplitter(self.Panel)
|
||||||
@ -96,10 +92,57 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.PreviewListWidget.isLive = self.isLive
|
self.PreviewListWidget.isLive = self.isLive
|
||||||
self.PreviewListWidget.setObjectName(u'PreviewListWidget')
|
self.PreviewListWidget.setObjectName(u'PreviewListWidget')
|
||||||
self.ControllerLayout.addWidget(self.PreviewListWidget)
|
self.ControllerLayout.addWidget(self.PreviewListWidget)
|
||||||
# Plugin the Base Toolbar class
|
# Build the full toolbar
|
||||||
self.BaseToolbar = MasterToolbar(self.isLive)
|
self.Toolbar = OpenLPToolbar(self)
|
||||||
self.registerToolbar(u'master', self.BaseToolbar)
|
sizeToolbarPolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
|
||||||
self.Toolbar = self.BaseToolbar.getToolbar()
|
QtGui.QSizePolicy.Fixed)
|
||||||
|
sizeToolbarPolicy.setHorizontalStretch(0)
|
||||||
|
sizeToolbarPolicy.setVerticalStretch(0)
|
||||||
|
sizeToolbarPolicy.setHeightForWidth(
|
||||||
|
self.Toolbar.sizePolicy().hasHeightForWidth())
|
||||||
|
self.Toolbar.setSizePolicy(sizeToolbarPolicy)
|
||||||
|
if self.isLive:
|
||||||
|
self.Toolbar.addToolbarButton(u'First Slide',
|
||||||
|
u':/slides/slide_first.png',
|
||||||
|
translate(u'SlideController', u'Move to first'),
|
||||||
|
self.onSlideSelectedFirst)
|
||||||
|
self.Toolbar.addToolbarButton(u'Previous Slide',
|
||||||
|
u':/slides/slide_previous.png',
|
||||||
|
translate(u'SlideController', u'Move to previous'),
|
||||||
|
self.onSlideSelectedPrevious)
|
||||||
|
self.Toolbar.addToolbarButton(u'Next Slide',
|
||||||
|
u':/slides/slide_next.png',
|
||||||
|
translate(u'SlideController', u'Move to next'),
|
||||||
|
self.onSlideSelectedNext)
|
||||||
|
if self.isLive:
|
||||||
|
self.Toolbar.addToolbarButton(u'Last Slide',
|
||||||
|
u':/slides/slide_last.png',
|
||||||
|
translate(u'SlideController', u'Move to last'),
|
||||||
|
self.onSlideSelectedLast)
|
||||||
|
if self.isLive:
|
||||||
|
self.Toolbar.addSeparator()
|
||||||
|
self.Toolbar.addToolbarButton(u'Close Screen',
|
||||||
|
u':/slides/slide_close.png',
|
||||||
|
translate(u'SlideController', u'Close Screen'),
|
||||||
|
self.onBlankScreen)
|
||||||
|
if isLive:
|
||||||
|
self.Toolbar.addSeparator()
|
||||||
|
self.Toolbar.addToolbarButton(u'Start Loop',
|
||||||
|
u':/media/media_time.png',
|
||||||
|
translate(u'SlideController', u'Start continuous loop'),
|
||||||
|
self.onStartLoop)
|
||||||
|
self.Toolbar.addToolbarButton(u'Stop Loop',
|
||||||
|
u':/media/media_stop.png',
|
||||||
|
translate(u'SlideController', u'Stop continuous loop'),
|
||||||
|
self.onStopLoop)
|
||||||
|
self.Toolbar.addSeparator()
|
||||||
|
self.DelaySpinBox = QtGui.QSpinBox(self.Toolbar)
|
||||||
|
self.SpinWidget = QtGui.QWidgetAction(self.Toolbar)
|
||||||
|
self.SpinWidget.setDefaultWidget(self.DelaySpinBox)
|
||||||
|
self.Toolbar.addAction(self.SpinWidget)
|
||||||
|
#self.DelaySpinBox.setValue(self.parent.parent.ImageTab.loop_delay)
|
||||||
|
self.DelaySpinBox.setSuffix(translate(u'SlideController', u's'))
|
||||||
|
|
||||||
self.ControllerLayout.addWidget(self.Toolbar)
|
self.ControllerLayout.addWidget(self.Toolbar)
|
||||||
sizeToolbarPolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
|
sizeToolbarPolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
|
||||||
QtGui.QSizePolicy.Fixed)
|
QtGui.QSizePolicy.Fixed)
|
||||||
@ -140,45 +183,26 @@ class SlideController(QtGui.QWidget):
|
|||||||
QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onSlideSelected)
|
QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onSlideSelected)
|
||||||
QtCore.QObject.connect(self.PreviewListWidget,
|
QtCore.QObject.connect(self.PreviewListWidget,
|
||||||
QtCore.SIGNAL(u'activated(QModelIndex)'), self.onSlideSelected)
|
QtCore.SIGNAL(u'activated(QModelIndex)'), self.onSlideSelected)
|
||||||
# Window Event Handlers
|
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
|
||||||
QtCore.SIGNAL(u'%sslide_first'% self.prefix), self.onSlideSelectedFirst)
|
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
|
||||||
QtCore.SIGNAL(u'%sslide_previous'% self.prefix), self.onSlideSelectedPrevious)
|
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
|
||||||
QtCore.SIGNAL(u'%sslide_next'% self.prefix), self.onSlideSelectedNext)
|
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
|
||||||
QtCore.SIGNAL(u'%sslide_last'% self.prefix), self.onSlideSelectedLast)
|
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
|
||||||
QtCore.SIGNAL(u'%sslide_start_loop'% self.prefix), self.onStartLoop)
|
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
|
||||||
QtCore.SIGNAL(u'%sslide_stop_loop'% self.prefix), self.onStopLoop)
|
|
||||||
|
|
||||||
|
def enableToolBar(self, item):
|
||||||
|
if self.isLive:
|
||||||
|
self.enableLiveToolBar(item)
|
||||||
|
else:
|
||||||
|
self.enablePreviewToolBar(item)
|
||||||
|
|
||||||
def registerToolbar(self, handle,controller):
|
def enableLiveToolBar(self, item):
|
||||||
"""
|
"""
|
||||||
Register a new toolbar with the controller
|
Allows the live toolbar to be customised
|
||||||
``handle``
|
|
||||||
Identifier for the toolbar being stored this should equal the
|
|
||||||
plugins name.
|
|
||||||
``controller``
|
|
||||||
The toolbar class which should extend MasterToolbar
|
|
||||||
"""
|
"""
|
||||||
#store the handle name in lower case so no probems later
|
if item.service_item_type == ServiceType.Text:
|
||||||
self.toolbarList[handle.lower()] = controller
|
a = c
|
||||||
|
pass
|
||||||
|
|
||||||
def retrieveToolbar(self, handle):
|
def enablePreviewToolBar(self, item):
|
||||||
"""
|
"""
|
||||||
Find the toolbar and return master if none present
|
Allows the Preview toolbar to be customised
|
||||||
Add extra information back into toolbar class
|
|
||||||
``handle``
|
|
||||||
Identifier for the toolbar being requested
|
|
||||||
"""
|
"""
|
||||||
try:
|
pass
|
||||||
toolbar = self.toolbarList[handle.lower()]
|
|
||||||
except:
|
|
||||||
toolbar = self.toolbarList[u'master']
|
|
||||||
return toolbar
|
|
||||||
|
|
||||||
def addServiceItem(self, item):
|
def addServiceItem(self, item):
|
||||||
"""
|
"""
|
||||||
@ -186,12 +210,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
request the correct the toolbar of the plugin
|
request the correct the toolbar of the plugin
|
||||||
Called by plugins
|
Called by plugins
|
||||||
"""
|
"""
|
||||||
self.BaseToolbar = self.retrieveToolbar(item.shortname)
|
self.enableToolBar(item)
|
||||||
self.ControllerLayout.removeWidget(self.Toolbar)
|
|
||||||
#remove the old toolbar
|
|
||||||
self.Toolbar.clear()
|
|
||||||
self.Toolbar = self.BaseToolbar.getToolbar()
|
|
||||||
self.ControllerLayout.addWidget(self.Toolbar)
|
|
||||||
item.render()
|
item.render()
|
||||||
self.displayServiceManagerItems(item, 0)
|
self.displayServiceManagerItems(item, 0)
|
||||||
|
|
||||||
@ -201,12 +220,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
request the correct the toolbar of the plugin
|
request the correct the toolbar of the plugin
|
||||||
Called by ServiceManager
|
Called by ServiceManager
|
||||||
"""
|
"""
|
||||||
self.BaseToolbar = self.retrieveToolbar(item.shortname)
|
self.enableToolBar(item)
|
||||||
self.ControllerLayout.removeWidget(self.Toolbar)
|
|
||||||
#remove the old toolbar
|
|
||||||
self.Toolbar.clear()
|
|
||||||
self.Toolbar = self.BaseToolbar.getToolbar()
|
|
||||||
self.ControllerLayout.addWidget(self.Toolbar)
|
|
||||||
self.displayServiceManagerItems(item, slideno)
|
self.displayServiceManagerItems(item, slideno)
|
||||||
|
|
||||||
def displayServiceManagerItems(self, serviceitem, slideno):
|
def displayServiceManagerItems(self, serviceitem, slideno):
|
||||||
@ -261,7 +275,6 @@ class SlideController(QtGui.QWidget):
|
|||||||
"""
|
"""
|
||||||
Go to the first slide.
|
Go to the first slide.
|
||||||
"""
|
"""
|
||||||
print "oSSF"
|
|
||||||
self.PreviewListWidget.selectRow(0)
|
self.PreviewListWidget.selectRow(0)
|
||||||
self.onSlideSelected()
|
self.onSlideSelected()
|
||||||
|
|
||||||
@ -329,88 +342,5 @@ class SlideController(QtGui.QWidget):
|
|||||||
if event.timerId() == self.timer_id:
|
if event.timerId() == self.timer_id:
|
||||||
self.onSlideSelectedNext()
|
self.onSlideSelectedNext()
|
||||||
|
|
||||||
class MasterToolbar(QtCore.QObject):
|
|
||||||
"""
|
|
||||||
Class from which all toolbars should extend
|
|
||||||
"""
|
|
||||||
def __init__(self, isLive):
|
|
||||||
self.Toolbar = None
|
|
||||||
QtCore.QObject.__init__(self)
|
|
||||||
self.PreviewListWidget = QtGui.QListWidget()
|
|
||||||
self.isLive = isLive
|
|
||||||
self.prefix = u'preview_'
|
|
||||||
if isLive:
|
|
||||||
self.prefix = u'live_'
|
|
||||||
|
|
||||||
def getToolbar(self):
|
|
||||||
#define toolbar here as it needs to be redefined each time
|
|
||||||
#as the clear destroys it.
|
|
||||||
self.defineToolbar()
|
|
||||||
self.defineZone1()
|
|
||||||
self.defineZone2()
|
|
||||||
self.defineZone3()
|
|
||||||
self.defineZone4()
|
|
||||||
self.defineZone5()
|
|
||||||
return self.Toolbar
|
|
||||||
|
|
||||||
def defineToolbar(self):
|
|
||||||
# Controller toolbar
|
|
||||||
self.Toolbar = OpenLPToolbar(self)
|
|
||||||
sizeToolbarPolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
|
|
||||||
QtGui.QSizePolicy.Fixed)
|
|
||||||
sizeToolbarPolicy.setHorizontalStretch(0)
|
|
||||||
sizeToolbarPolicy.setVerticalStretch(0)
|
|
||||||
sizeToolbarPolicy.setHeightForWidth(
|
|
||||||
self.Toolbar.sizePolicy().hasHeightForWidth())
|
|
||||||
self.Toolbar.setSizePolicy(sizeToolbarPolicy)
|
|
||||||
|
|
||||||
def defineZone1(self):
|
|
||||||
#Dummy Zone
|
|
||||||
pass
|
|
||||||
|
|
||||||
def defineZone2(self):
|
|
||||||
if self.isLive:
|
|
||||||
self.Toolbar.addToolbarButton(u'First Slide',
|
|
||||||
u':/slides/slide_first.png',
|
|
||||||
translate(u'SlideController', u'Move to first'),
|
|
||||||
self.onSlideFirst)
|
|
||||||
self.Toolbar.addToolbarButton(u'Previous Slide',
|
|
||||||
u':/slides/slide_previous.png',
|
|
||||||
translate(u'SlideController', u'Move to previous'),
|
|
||||||
self.onSlidePrevious)
|
|
||||||
self.Toolbar.addToolbarButton(u'Next Slide',
|
|
||||||
u':/slides/slide_next.png',
|
|
||||||
translate(u'SlideController', u'Move to next'),
|
|
||||||
self.onSlideNext)
|
|
||||||
if self.isLive:
|
|
||||||
self.Toolbar.addToolbarButton(u'Last Slide',
|
|
||||||
u':/slides/slide_last.png',
|
|
||||||
translate(u'SlideController', u'Move to last'),
|
|
||||||
self.onSlideLast)
|
|
||||||
|
|
||||||
def defineZone3(self):
|
|
||||||
#Dummy Zone
|
|
||||||
pass
|
|
||||||
|
|
||||||
def defineZone4(self):
|
|
||||||
if self.isLive:
|
|
||||||
self.Toolbar.addSeparator()
|
|
||||||
self.Toolbar.addToolbarButton(u'Close Screen',
|
|
||||||
u':/slides/slide_close.png',
|
|
||||||
translate(u'SlideController', u'Close Screen'),
|
|
||||||
self.onSlideBlank)
|
|
||||||
|
|
||||||
def defineZone5(self):
|
|
||||||
#Dummy Zone
|
|
||||||
pass
|
|
||||||
|
|
||||||
def onSlideFirst(self):
|
|
||||||
Receiver().send_message(u'%sslide_first'% self.prefix)
|
|
||||||
def onSlidePrevious(self):
|
|
||||||
Receiver().send_message(u'%sslide_previous'% self.prefix)
|
|
||||||
def onSlideNext(self):
|
|
||||||
Receiver().send_message(u'%sslide_next'% self.prefix)
|
|
||||||
def onSlideLast(self):
|
|
||||||
Receiver().send_message(u'%sslide_last' % self.prefix)
|
|
||||||
def onSlideBlank(self):
|
|
||||||
Receiver().send_message(u'%sslide_blank' % self.prefix)
|
|
||||||
|
@ -18,5 +18,4 @@ this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
|||||||
Place, Suite 330, Boston, MA 02111-1307 USA
|
Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
"""
|
"""
|
||||||
from mediaitem import ImageMediaItem
|
from mediaitem import ImageMediaItem
|
||||||
from imagetoolbar import ImageToolbar
|
|
||||||
from imagetab import ImageTab
|
from imagetab import ImageTab
|
||||||
|
@ -22,7 +22,6 @@ import os
|
|||||||
|
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
from openlp.core.lib import MediaManagerItem, ServiceItem, translate, BaseListWithDnD, buildIcon
|
from openlp.core.lib import MediaManagerItem, ServiceItem, translate, BaseListWithDnD, buildIcon
|
||||||
from openlp.plugins.images.lib.imagetoolbar import ImageToolbar
|
|
||||||
|
|
||||||
# We have to explicitly create separate classes for each plugin
|
# We have to explicitly create separate classes for each plugin
|
||||||
# in order for DnD to the Service manager to work correctly.
|
# in order for DnD to the Service manager to work correctly.
|
||||||
@ -56,9 +55,6 @@ class ImageMediaItem(MediaManagerItem):
|
|||||||
self.ServiceItemIconName = u':/media/media_image.png'
|
self.ServiceItemIconName = u':/media/media_image.png'
|
||||||
self.servicePath = None
|
self.servicePath = None
|
||||||
MediaManagerItem.__init__(self, parent, icon, title)
|
MediaManagerItem.__init__(self, parent, icon, title)
|
||||||
#create and install our own slide controller toolbar
|
|
||||||
imageToolbar = ImageToolbar(self, True)
|
|
||||||
parent.live_controller.registerToolbar(self.ConfigSection, imageToolbar)
|
|
||||||
|
|
||||||
def initialise(self):
|
def initialise(self):
|
||||||
self.ListView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
|
self.ListView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
|
||||||
|
Loading…
Reference in New Issue
Block a user