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.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',
datefmt=u'%m-%d %H:%M:%S', filename=u'openlp.log', filemode=u'w')
@ -52,7 +52,7 @@ class OpenLP(QtGui.QApplication):
pass
#provide a listener for widgets to reqest a screen update.
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.setApplicationVersion(u'1.9.0')
self.splash = SplashScreen(self.applicationVersion())

View File

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

View File

@ -21,7 +21,7 @@ import logging
from PyQt4 import QtCore, QtGui
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):
"""
@ -60,6 +60,8 @@ class MainDisplay(QtGui.QWidget):
self.timer_id = 0
# Register the main form as an event consumer.
self.parent.EventManager.register(self)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'live_slide_blank'), self.blankDisplay)
def handle_event(self, event):
"""

View File

@ -66,6 +66,9 @@ class SlideController(QtGui.QWidget):
self.toolbarList = {}
QtGui.QWidget.__init__(self, parent)
self.isLive = isLive
self.prefix = u'preview_'
if isLive:
self.prefix = u'live_'
self.parent = parent
self.Panel = QtGui.QWidget(parent.ControlSplitter)
self.Splitter = QtGui.QSplitter(self.Panel)
@ -139,18 +142,13 @@ class SlideController(QtGui.QWidget):
QtCore.SIGNAL(u'activated(QModelIndex)'), self.onSlideSelected)
# Window Event Handlers
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.SIGNAL(u'slide_previous'), self.onSlideSelectedPrevious)
QtCore.SIGNAL(u'%sslide_previous'% self.prefix), self.onSlideSelectedPrevious)
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.SIGNAL(u'slide_last'), self.onSlideSelectedLast)
# Add Late Arrivals
# self.BaseToolbar.PreviewListWidget = self.PreviewListWidget
# self.BaseToolbar.SlidePreview = self.SlidePreview
# self.BaseToolbar.mainDisplay = self.parent.mainDisplay
QtCore.SIGNAL(u'%sslide_last'% self.prefix), self.onSlideSelectedLast)
def registerToolbar(self, handle,controller):
"""
@ -175,9 +173,6 @@ class SlideController(QtGui.QWidget):
toolbar = self.toolbarList[handle.lower()]
except:
toolbar = self.toolbarList[u'master']
# toolbar.PreviewListWidget = self.PreviewListWidget
# toolbar.SlidePreview = self.SlidePreview
# toolbar.mainDisplay = self.parent.mainDisplay
return toolbar
def addServiceItem(self, item):
@ -243,12 +238,6 @@ class SlideController(QtGui.QWidget):
self.PreviewListWidget.setFocus()
#Screen event methods
def onBlankScreen(self):
"""
Blank the screen.
"""
self.mainDisplay.blankDisplay()
def onSlideSelected(self):
"""
Generate the preview when you click on a slide.
@ -328,11 +317,19 @@ class MasterToolbar(QtCore.QObject):
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):
@ -346,6 +343,11 @@ class MasterToolbar(QtCore.QObject):
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',
@ -364,19 +366,30 @@ class MasterToolbar(QtCore.QObject):
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'slide_first')
Receiver().send_message(u'%sslide_first'% self.prefix)
def onSlidePrevious(self):
Receiver().send_message(u'slide_previous')
Receiver().send_message(u'%sslide_previous'% self.prefix)
def onSlideNext(self):
Receiver().send_message(u'slide_next')
Receiver().send_message(u'%sslide_next'% self.prefix)
def onSlideLast(self):
Receiver().send_message(u'slide_last')
Receiver().send_message(u'%sslide_last' % self.prefix)
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
#Flush the screen events
if count % 3 == 0:
Receiver().send_message(u'openlpprocessevents')
Receiver().send_message(u'process_events')
count = 0
count = 0
@ -83,5 +83,5 @@ class BibleCSVImpl(BibleCommon):
count += 1
#Every x verses repaint the screen
if count % 3 == 0:
Receiver().send_message(u'openlpprocessevents')
Receiver().send_message(u'process_events')
count = 0

View File

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

View File

@ -252,7 +252,7 @@ class BibleMediaItem(MediaManagerItem):
def setQuickMsg2(self, 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
time.sleep(0.5)