SlideController clean up part 2

This commit is contained in:
Tim Bentley 2009-08-24 05:30:04 +01:00
parent 57f04820f0
commit 7ec0a53d77
7 changed files with 51 additions and 36 deletions

View File

@ -28,7 +28,7 @@ from openlp.core.lib import Receiver
from openlp.core.resources import * from openlp.core.resources import *
from openlp.core.ui import MainWindow, SplashScreen from openlp.core.ui import MainWindow, SplashScreen
logging.basicConfig(level=logging.INFO, logging.basicConfig(level=logging.DEBUG,
format=u'%(asctime)s:%(msecs)3d %(name)-15s %(levelname)-8s %(message)s', format=u'%(asctime)s:%(msecs)3d %(name)-15s %(levelname)-8s %(message)s',
datefmt=u'%m-%d %H:%M:%S', filename=u'openlp.log', filemode=u'w') datefmt=u'%m-%d %H:%M:%S', filename=u'openlp.log', filemode=u'w')
@ -52,7 +52,7 @@ class OpenLP(QtGui.QApplication):
pass pass
#provide a listener for widgets to reqest a screen update. #provide a listener for widgets to reqest a screen update.
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'openlpprocessevents'), self.processEvents) QtCore.SIGNAL(u'process_events'), self.processEvents)
self.setApplicationName(u'openlp.org') self.setApplicationName(u'openlp.org')
self.setApplicationVersion(u'1.9.0') self.setApplicationVersion(u'1.9.0')
self.splash = SplashScreen(self.applicationVersion()) self.splash = SplashScreen(self.applicationVersion())

View File

@ -33,8 +33,8 @@ class EventReceiver(QtCore.QObject):
print "send_message ", event , msg print "send_message ", event , msg
self.emit(QtCore.SIGNAL(event), msg) self.emit(QtCore.SIGNAL(event), msg)
def received(self, msg=None): # def received(self, msg=None):
print "received ", msg # print "received ", msg
class Receiver(): class Receiver():
@ -56,9 +56,9 @@ class Receiver():
def send_message(event, msg=None): def send_message(event, msg=None):
Receiver.eventreceiver.send_message(event, msg) Receiver.eventreceiver.send_message(event, msg)
@staticmethod # @staticmethod
def receive(): # def receive():
Receiver.eventreceiver.receive() # Receiver.eventreceiver.receive()
@staticmethod @staticmethod
def get_receiver(): def get_receiver():

View File

@ -21,7 +21,7 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from time import sleep from time import sleep
from openlp.core.lib import translate, EventManager, Event, EventType from openlp.core.lib import translate, EventManager, Event, EventType, Receiver
class MainDisplay(QtGui.QWidget): class MainDisplay(QtGui.QWidget):
""" """
@ -60,6 +60,8 @@ class MainDisplay(QtGui.QWidget):
self.timer_id = 0 self.timer_id = 0
# Register the main form as an event consumer. # Register the main form as an event consumer.
self.parent.EventManager.register(self) self.parent.EventManager.register(self)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'live_slide_blank'), self.blankDisplay)
def handle_event(self, event): def handle_event(self, event):
""" """

View File

@ -66,6 +66,9 @@ class SlideController(QtGui.QWidget):
self.toolbarList = {} 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)
@ -139,18 +142,13 @@ class SlideController(QtGui.QWidget):
QtCore.SIGNAL(u'activated(QModelIndex)'), self.onSlideSelected) QtCore.SIGNAL(u'activated(QModelIndex)'), self.onSlideSelected)
# Window Event Handlers # Window Event Handlers
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'slide_first'), self.onSlideSelectedFirst) QtCore.SIGNAL(u'%sslide_first'% self.prefix), self.onSlideSelectedFirst)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'slide_previous'), self.onSlideSelectedPrevious) QtCore.SIGNAL(u'%sslide_previous'% self.prefix), self.onSlideSelectedPrevious)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'slide_next'), self.onSlideSelectedNext) QtCore.SIGNAL(u'%sslide_next'% self.prefix), self.onSlideSelectedNext)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'slide_last'), self.onSlideSelectedLast) QtCore.SIGNAL(u'%sslide_last'% self.prefix), self.onSlideSelectedLast)
# Add Late Arrivals
# self.BaseToolbar.PreviewListWidget = self.PreviewListWidget
# self.BaseToolbar.SlidePreview = self.SlidePreview
# self.BaseToolbar.mainDisplay = self.parent.mainDisplay
def registerToolbar(self, handle,controller): def registerToolbar(self, handle,controller):
""" """
@ -175,9 +173,6 @@ class SlideController(QtGui.QWidget):
toolbar = self.toolbarList[handle.lower()] toolbar = self.toolbarList[handle.lower()]
except: except:
toolbar = self.toolbarList[u'master'] toolbar = self.toolbarList[u'master']
# toolbar.PreviewListWidget = self.PreviewListWidget
# toolbar.SlidePreview = self.SlidePreview
# toolbar.mainDisplay = self.parent.mainDisplay
return toolbar return toolbar
def addServiceItem(self, item): def addServiceItem(self, item):
@ -243,12 +238,6 @@ class SlideController(QtGui.QWidget):
self.PreviewListWidget.setFocus() self.PreviewListWidget.setFocus()
#Screen event methods #Screen event methods
def onBlankScreen(self):
"""
Blank the screen.
"""
self.mainDisplay.blankDisplay()
def onSlideSelected(self): def onSlideSelected(self):
""" """
Generate the preview when you click on a slide. Generate the preview when you click on a slide.
@ -328,11 +317,19 @@ class MasterToolbar(QtCore.QObject):
QtCore.QObject.__init__(self) QtCore.QObject.__init__(self)
self.PreviewListWidget = QtGui.QListWidget() self.PreviewListWidget = QtGui.QListWidget()
self.isLive = isLive self.isLive = isLive
self.prefix = u'preview_'
if isLive:
self.prefix = u'live_'
def getToolbar(self): def getToolbar(self):
#define toolbar here as it needs to be redefined each time #define toolbar here as it needs to be redefined each time
#as the clear destroys it. #as the clear destroys it.
self.defineToolbar() self.defineToolbar()
self.defineZone1()
self.defineZone2()
self.defineZone3()
self.defineZone4()
self.defineZone5()
return self.Toolbar return self.Toolbar
def defineToolbar(self): def defineToolbar(self):
@ -346,6 +343,11 @@ class MasterToolbar(QtCore.QObject):
self.Toolbar.sizePolicy().hasHeightForWidth()) self.Toolbar.sizePolicy().hasHeightForWidth())
self.Toolbar.setSizePolicy(sizeToolbarPolicy) self.Toolbar.setSizePolicy(sizeToolbarPolicy)
def defineZone1(self):
#Dummy Zone
pass
def defineZone2(self):
if self.isLive: if self.isLive:
self.Toolbar.addToolbarButton(u'First Slide', self.Toolbar.addToolbarButton(u'First Slide',
u':/slides/slide_first.png', u':/slides/slide_first.png',
@ -364,19 +366,30 @@ class MasterToolbar(QtCore.QObject):
u':/slides/slide_last.png', u':/slides/slide_last.png',
translate(u'SlideController', u'Move to last'), translate(u'SlideController', u'Move to last'),
self.onSlideLast) self.onSlideLast)
def defineZone3(self):
#Dummy Zone
pass
def defineZone4(self):
if self.isLive:
self.Toolbar.addSeparator() self.Toolbar.addSeparator()
self.Toolbar.addToolbarButton(u'Close Screen', self.Toolbar.addToolbarButton(u'Close Screen',
u':/slides/slide_close.png', u':/slides/slide_close.png',
translate(u'SlideController', u'Close Screen'), translate(u'SlideController', u'Close Screen'),
self.onSlideBlank) self.onSlideBlank)
def defineZone5(self):
#Dummy Zone
pass
def onSlideFirst(self): def onSlideFirst(self):
Receiver().send_message(u'slide_first') Receiver().send_message(u'%sslide_first'% self.prefix)
def onSlidePrevious(self): def onSlidePrevious(self):
Receiver().send_message(u'slide_previous') Receiver().send_message(u'%sslide_previous'% self.prefix)
def onSlideNext(self): def onSlideNext(self):
Receiver().send_message(u'slide_next') Receiver().send_message(u'%sslide_next'% self.prefix)
def onSlideLast(self): def onSlideLast(self):
Receiver().send_message(u'slide_last') Receiver().send_message(u'%sslide_last' % self.prefix)
def onSlideBlank(self): def onSlideBlank(self):
Receiver().send_message(u'slide_blank') Receiver().send_message(u'%sslide_blank' % self.prefix)

View File

@ -60,7 +60,7 @@ class BibleCSVImpl(BibleCommon):
count += 1 count += 1
#Flush the screen events #Flush the screen events
if count % 3 == 0: if count % 3 == 0:
Receiver().send_message(u'openlpprocessevents') Receiver().send_message(u'process_events')
count = 0 count = 0
count = 0 count = 0
@ -83,5 +83,5 @@ class BibleCSVImpl(BibleCommon):
count += 1 count += 1
#Every x verses repaint the screen #Every x verses repaint the screen
if count % 3 == 0: if count % 3 == 0:
Receiver().send_message(u'openlpprocessevents') Receiver().send_message(u'process_events')
count = 0 count = 0

View File

@ -149,13 +149,13 @@ class BibleOSISImpl():
self.abbrevOfBible[p[0]], testament) self.abbrevOfBible[p[0]], testament)
dialogobject.incrementProgressBar( dialogobject.incrementProgressBar(
self.booksOfBible[p[0]]) self.booksOfBible[p[0]])
Receiver().send_message(u'openlpprocessevents') Receiver().send_message(u'process_events')
count = 0 count = 0
self.bibledb.add_verse(book.id, p[1], p[2], text) self.bibledb.add_verse(book.id, p[1], p[2], text)
count += 1 count += 1
#Every 3 verses repaint the screen #Every 3 verses repaint the screen
if count % 3 == 0: if count % 3 == 0:
Receiver().send_message(u'openlpprocessevents') Receiver().send_message(u'process_events')
count = 0 count = 0
def remove_block(self, start_tag, end_tag, text): def remove_block(self, start_tag, end_tag, text):

View File

@ -252,7 +252,7 @@ class BibleMediaItem(MediaManagerItem):
def setQuickMsg2(self, text): def setQuickMsg2(self, text):
self.QuickMsg2.setText(translate(u'BibleMediaItem', unicode(text))) self.QuickMsg2.setText(translate(u'BibleMediaItem', unicode(text)))
Receiver().send_message(u'openlpprocessevents') Receiver().send_message(u'process_events')
#minor delay to get the events processed #minor delay to get the events processed
time.sleep(0.5) time.sleep(0.5)