forked from openlp/openlp
Cleanups and ratio changes
This commit is contained in:
parent
b76a946bff
commit
63b4696621
|
@ -174,13 +174,14 @@ def image_to_byte(image):
|
|||
The image to converted.
|
||||
"""
|
||||
byte_array = QtCore.QByteArray()
|
||||
buffer = QtCore.QBuffer(byte_array) #// use buffer to store pixmap into byteArray
|
||||
buffer.open(QtCore.QIODevice.WriteOnly)
|
||||
# use buffer to store pixmap into byteArray
|
||||
buffie = QtCore.QBuffer(byte_array)
|
||||
buffie.open(QtCore.QIODevice.WriteOnly)
|
||||
if isinstance(image, QtGui.QImage):
|
||||
pixmap = QtGui.QPixmap.fromImage(image)
|
||||
else:
|
||||
pixmap = QtGui.QPixmap(image)
|
||||
pixmap.save(buffer, "PNG")
|
||||
pixmap.save(buffie, "PNG")
|
||||
#convert to base64 encoding so does not get missed!
|
||||
return byte_array.toBase64()
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ HTMLSRC = u"""
|
|||
%s
|
||||
%s
|
||||
%s
|
||||
%s
|
||||
</style>
|
||||
<script language="javascript">
|
||||
var t = null;
|
||||
|
@ -74,6 +75,7 @@ HTMLSRC = u"""
|
|||
<div id="footer" class="footer"></div>
|
||||
<div id="alert"></div>
|
||||
<video id="video"></video>
|
||||
<blank id="blank"></blank>
|
||||
%s
|
||||
</body>
|
||||
</html>
|
||||
|
@ -83,11 +85,13 @@ def build_html(item, screen, alert):
|
|||
height = screen[u'size'].height()
|
||||
html = HTMLSRC % (build_video(width, height),
|
||||
build_image(width, height),
|
||||
build_lyrics(item, width, height),
|
||||
build_footer(item, width, height),
|
||||
build_alert(width, height, alert),
|
||||
build_lyrics(item),
|
||||
build_footer(item),
|
||||
build_alert(width, alert),
|
||||
build_image(width, height),
|
||||
build_blank(width, height),
|
||||
build_image_src(item.bg_frame))
|
||||
print html
|
||||
return html
|
||||
|
||||
def build_video(width, height):
|
||||
|
@ -103,6 +107,18 @@ def build_video(width, height):
|
|||
"""
|
||||
return video % (width, height)
|
||||
|
||||
def build_blank(width, height):
|
||||
blank = """
|
||||
#blank {
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
width: %spx
|
||||
height: %spx;
|
||||
z-index:10;
|
||||
}
|
||||
"""
|
||||
return blank % (width, height)
|
||||
|
||||
def build_image(width, height):
|
||||
image = """
|
||||
|
@ -124,7 +140,7 @@ def build_image_src(image):
|
|||
"""
|
||||
return image_src % image_to_byte(image)
|
||||
|
||||
def build_lyrics(item, width, height):
|
||||
def build_lyrics(item):
|
||||
lyrics = """
|
||||
#lyrics {position: absolute; %s z-index:3; %s; %s %s }
|
||||
table {border=0;margin=0padding=0;}
|
||||
|
@ -136,9 +152,10 @@ def build_lyrics(item, width, height):
|
|||
font = u''
|
||||
text = u''
|
||||
if theme:
|
||||
position = u' left: %spx; top: %spx; width: %spx; height: %spx; ' %\
|
||||
(item.main.x(), item.main.y(), item.main.width(), item.main.height())
|
||||
font = u' font-family %s; font-size: %spx;' %\
|
||||
position = u' left: %spx; top: %spx; width: %spx; height: %spx; ' % \
|
||||
(item.main.x(), item.main.y(), item.main.width(),
|
||||
item.main.height())
|
||||
font = u' font-family %s; font-size: %spx;' % \
|
||||
(theme.font_main_name, theme.font_main_proportion)
|
||||
align = u''
|
||||
if theme.display_horizontalAlign == 2:
|
||||
|
@ -153,7 +170,8 @@ def build_lyrics(item, width, height):
|
|||
valign = u'vertical-align=bottom;'
|
||||
text = u'color:%s; %s %s' % (theme.font_main_color, align, valign)
|
||||
if theme.display_shadow and theme.display_outline:
|
||||
fontworks = u'text-shadow: -%spx 0 %s, 0 %spx %s, %spx 0 %s, 0 -%spx %s, %spx %spx %spx %s' %\
|
||||
fontworks = u'text-shadow: -%spx 0 %s, 0 %spx %s, %spx 0 %s, 0 ' \
|
||||
'-%spx %s, %spx %spx %spx %s' % \
|
||||
(theme.display_outline_size, theme.display_outline_color,
|
||||
theme.display_outline_size, theme.display_outline_color,
|
||||
theme.display_outline_size, theme.display_outline_color,
|
||||
|
@ -161,11 +179,12 @@ def build_lyrics(item, width, height):
|
|||
theme.display_shadow_size, theme.display_shadow_size,
|
||||
theme.display_shadow_size, theme.display_shadow_color)
|
||||
elif theme.display_shadow:
|
||||
fontworks = u'text-shadow: %spx %spx %spx %s' %\
|
||||
fontworks = u'text-shadow: %spx %spx %spx %s' % \
|
||||
(theme.display_shadow_size, theme.display_shadow_size,
|
||||
theme.display_shadow_size, theme.display_shadow_color)
|
||||
elif theme.display_outline:
|
||||
fontworks = u'text-shadow: -%spx 0 %s, 0 %spx %s, %spx 0 %s, 0 -%spx %s' %\
|
||||
fontworks = u'text-shadow: -%spx 0 %s, 0 %spx %s,' \
|
||||
' %spx 0 %s, 0 -%spx %s' % \
|
||||
(theme.display_outline_size, theme.display_outline_color,
|
||||
theme.display_outline_size, theme.display_outline_color,
|
||||
theme.display_outline_size, theme.display_outline_color,
|
||||
|
@ -174,7 +193,7 @@ def build_lyrics(item, width, height):
|
|||
print lyrics_html
|
||||
return lyrics_html
|
||||
|
||||
def build_footer(item, width, height):
|
||||
def build_footer(item):
|
||||
lyrics = """
|
||||
#footer {position: absolute; %s z-index:3; %s; %s }
|
||||
"""
|
||||
|
@ -184,9 +203,10 @@ def build_footer(item, width, height):
|
|||
font = u''
|
||||
text = u''
|
||||
if theme:
|
||||
position = u' left: %spx; top: %spx; width: %spx; height: %spx; ' %\
|
||||
(item.footer.x(), item.footer.y(), item.footer.width(), item.footer.height())
|
||||
font = u' font-family %s; font-size: %spx;' %\
|
||||
position = u' left: %spx; top: %spx; width: %spx; height: %spx; ' % \
|
||||
(item.footer.x(), item.footer.y(), item.footer.width(),
|
||||
item.footer.height())
|
||||
font = u' font-family %s; font-size: %spx;' % \
|
||||
(theme.font_footer_name, theme.font_footer_proportion)
|
||||
align = u''
|
||||
if theme.display_horizontalAlign == 2:
|
||||
|
@ -205,7 +225,7 @@ def build_footer(item, width, height):
|
|||
return lyrics_html
|
||||
|
||||
|
||||
def build_alert(width, height, alert):
|
||||
def build_alert(width, alert):
|
||||
alert = """
|
||||
#alert {
|
||||
position: absolute;
|
||||
|
|
|
@ -36,18 +36,6 @@ log = logging.getLogger(__name__)
|
|||
|
||||
#http://www.steveheffernan.com/html5-video-player/demo-video-player.html
|
||||
|
||||
## QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
## QtCore.SIGNAL(u'maindisplay_hide'), self.hideDisplay)
|
||||
## QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
## QtCore.SIGNAL(u'maindisplay_show'), self.showDisplay)
|
||||
## QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
## QtCore.SIGNAL(u'videodisplay_start'), self.onStartVideo)
|
||||
## QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
## QtCore.SIGNAL(u'videodisplay_stop'), self.onStopVideo)
|
||||
## QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
## QtCore.SIGNAL(u'config_updated'), self.setup)
|
||||
|
||||
|
||||
class DisplayWidget(QtGui.QGraphicsView):
|
||||
"""
|
||||
Customised version of QTableWidget which can respond to keyboard
|
||||
|
@ -55,44 +43,44 @@ class DisplayWidget(QtGui.QGraphicsView):
|
|||
"""
|
||||
log.info(u'Display Widget loaded')
|
||||
|
||||
def __init__(self, live, parent=None, name=None):
|
||||
def __init__(self, live, parent=None):
|
||||
QtGui.QGraphicsView.__init__(self)
|
||||
self.parent = parent
|
||||
self.live = live
|
||||
# self.hotkey_map = {
|
||||
# QtCore.Qt.Key_Return: 'servicemanager_next_item',
|
||||
# QtCore.Qt.Key_Space: 'slidecontroller_live_next_noloop',
|
||||
# QtCore.Qt.Key_Enter: 'slidecontroller_live_next_noloop',
|
||||
# QtCore.Qt.Key_0: 'servicemanager_next_item',
|
||||
# QtCore.Qt.Key_Backspace: 'slidecontroller_live_previous_noloop'}
|
||||
self.hotkey_map = {
|
||||
QtCore.Qt.Key_Return: 'servicemanager_next_item',
|
||||
QtCore.Qt.Key_Space: 'slidecontroller_live_next_noloop',
|
||||
QtCore.Qt.Key_Enter: 'slidecontroller_live_next_noloop',
|
||||
QtCore.Qt.Key_0: 'servicemanager_next_item',
|
||||
QtCore.Qt.Key_Backspace: 'slidecontroller_live_previous_noloop'}
|
||||
|
||||
def keyPressEvent(self, event):
|
||||
# Key events only needed for live
|
||||
if not self.live:
|
||||
return
|
||||
# if isinstance(event, QtGui.QKeyEvent):
|
||||
# #here accept the event and do something
|
||||
# if event.key() == QtCore.Qt.Key_Up:
|
||||
# Receiver.send_message(u'slidecontroller_live_previous')
|
||||
# event.accept()
|
||||
# elif event.key() == QtCore.Qt.Key_Down:
|
||||
# Receiver.send_message(u'slidecontroller_live_next')
|
||||
# event.accept()
|
||||
# elif event.key() == QtCore.Qt.Key_PageUp:
|
||||
# Receiver.send_message(u'slidecontroller_live_first')
|
||||
# event.accept()
|
||||
# elif event.key() == QtCore.Qt.Key_PageDown:
|
||||
# Receiver.send_message(u'slidecontroller_live_last')
|
||||
# event.accept()
|
||||
# elif event.key() in self.hotkey_map:
|
||||
# Receiver.send_message(self.hotkey_map[event.key()])
|
||||
# event.accept()
|
||||
# elif event.key() == QtCore.Qt.Key_Escape:
|
||||
# self.resetDisplay()
|
||||
# event.accept()
|
||||
# event.ignore()
|
||||
# else:
|
||||
# event.ignore()
|
||||
if isinstance(event, QtGui.QKeyEvent):
|
||||
# Here accept the event and do something
|
||||
if event.key() == QtCore.Qt.Key_Up:
|
||||
Receiver.send_message(u'slidecontroller_live_previous')
|
||||
event.accept()
|
||||
elif event.key() == QtCore.Qt.Key_Down:
|
||||
Receiver.send_message(u'slidecontroller_live_next')
|
||||
event.accept()
|
||||
elif event.key() == QtCore.Qt.Key_PageUp:
|
||||
Receiver.send_message(u'slidecontroller_live_first')
|
||||
event.accept()
|
||||
elif event.key() == QtCore.Qt.Key_PageDown:
|
||||
Receiver.send_message(u'slidecontroller_live_last')
|
||||
event.accept()
|
||||
elif event.key() in self.hotkey_map:
|
||||
Receiver.send_message(self.hotkey_map[event.key()])
|
||||
event.accept()
|
||||
elif event.key() == QtCore.Qt.Key_Escape:
|
||||
self.resetDisplay()
|
||||
event.accept()
|
||||
event.ignore()
|
||||
else:
|
||||
event.ignore()
|
||||
|
||||
class MainDisplay(DisplayWidget):
|
||||
|
||||
|
@ -104,14 +92,18 @@ class MainDisplay(DisplayWidget):
|
|||
self.setWindowTitle(u'OpenLP Display')
|
||||
self.setWindowFlags(QtCore.Qt.FramelessWindowHint |
|
||||
QtCore.Qt.WindowStaysOnTopHint)
|
||||
|
||||
self.currvideo = False
|
||||
self.video1 = "c:\\users\\jonathan\\Desktop\\Wildlife.wmv"
|
||||
self.video2 = "c:\\users\\jonathan\\Desktop\\movie.ogg"
|
||||
self.currslide = False
|
||||
self.slide1 = "<sup>[1:1]</sup> In the beginning God created the heavens and the earth.<br/><br/><sup> [1:2]</sup> Now the earth was formless and empty, darkness was over the surface of the deep, and the Spirit of God was hovering over the waters.<br/><br/><sup>[1:3]</sup> And God said, \"Let there be light,\" and there was light.<br/><br/><sup>[1:4]</sup> God saw that the light was good, and he separated the light from the darkness.<br/><br/>"
|
||||
self.slide2 = "<br /><br />This is the chorus<br />Blah Blah Blah<br />Blah Blah Blah<br />Blah Blah Blah<br />Blah Blah Blah<br />Blah Blah Blah"
|
||||
self.alerttext = "<p>Red Alert! Raise Shields!</p>"
|
||||
if self.isLive:
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'maindisplay_hide'), self.hideDisplay)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'maindisplay_show'), self.showDisplay)
|
||||
## QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
## QtCore.SIGNAL(u'videodisplay_start'), self.onStartVideo)
|
||||
## QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
## QtCore.SIGNAL(u'videodisplay_stop'), self.onStopVideo)
|
||||
## QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
## QtCore.SIGNAL(u'config_updated'), self.setup)
|
||||
|
||||
def setup(self):
|
||||
log.debug(u'Setup %s for %s ' % (
|
||||
|
@ -130,6 +122,14 @@ class MainDisplay(DisplayWidget):
|
|||
self.frame.setScrollBarPolicy(QtCore.Qt.Horizontal,
|
||||
QtCore.Qt.ScrollBarAlwaysOff)
|
||||
if self.isLive:
|
||||
# Build the initial frame.
|
||||
self.black = QtGui.QImage(
|
||||
self.screens.current[u'size'].width(),
|
||||
self.screens.current[u'size'].height(),
|
||||
QtGui.QImage.Format_ARGB32_Premultiplied)
|
||||
painter_image = QtGui.QPainter()
|
||||
painter_image.begin(self.black)
|
||||
painter_image.fillRect(self.black.rect(), QtCore.Qt.black)
|
||||
#Build the initial frame.
|
||||
initialFrame = QtGui.QImage(
|
||||
self.screens.current[u'size'].width(),
|
||||
|
@ -147,6 +147,11 @@ class MainDisplay(DisplayWidget):
|
|||
serviceItem.bg_frame = initialFrame
|
||||
self.webView.setHtml(build_html(serviceItem, self.screen, None))
|
||||
self.show()
|
||||
# To display or not to display?
|
||||
if not self.screen[u'primary']:
|
||||
self.primary = False
|
||||
else:
|
||||
self.primary = True
|
||||
|
||||
def next(self):
|
||||
if self.currslide:
|
||||
|
@ -158,14 +163,33 @@ class MainDisplay(DisplayWidget):
|
|||
self.currslide = not self.currslide
|
||||
|
||||
def text(self, slide):
|
||||
"""
|
||||
Add the slide text from slideController
|
||||
|
||||
`slide`
|
||||
The slide text to be displayed
|
||||
"""
|
||||
print slide
|
||||
self.frame.findFirstElement('div#lyrics').setInnerXml(slide)
|
||||
return self.preview()
|
||||
|
||||
def alert(self):
|
||||
"""
|
||||
Add the alert text
|
||||
|
||||
`slide`
|
||||
The slide text to be displayed
|
||||
"""
|
||||
self.frame.findFirstElement('div#alert').setInnerXml(self.alerttext)
|
||||
|
||||
def image(self, image):
|
||||
"""
|
||||
Add an image as the background. The image is converted to a
|
||||
bytestream on route.
|
||||
|
||||
`Image`
|
||||
The Image to be displayed can be QImage or QPixmap
|
||||
"""
|
||||
image = resize_image(image, self.screen[u'size'].width(),
|
||||
self.screen[u'size'].height())
|
||||
self.frame.evaluateJavaScript(
|
||||
|
@ -180,14 +204,14 @@ class MainDisplay(DisplayWidget):
|
|||
'src', unicode('data:image/png;base64,%s' % image_to_byte(self.serviceItem.bg_frame)))
|
||||
|
||||
def video(self, videoPath, noSound=False):
|
||||
if self.currimage:
|
||||
self.frame.findFirstElement('video').setAttribute('src', videoPath)
|
||||
self.frame.findFirstElement('video').setAttribute('src', videoPath)
|
||||
self.frame.evaluateJavaScript(
|
||||
"document.getElementById('video').style.visibility = 'visible'")
|
||||
self.frame.evaluateJavaScript(
|
||||
"document.getElementById('image').style.visibility = 'hidden'")
|
||||
self.frame.evaluateJavaScript("document.getElementById('video').play()")
|
||||
self.currimage = not self.currimage
|
||||
if noSound:
|
||||
self.frame.evaluateJavaScript("document.getElementById('video').mute()")
|
||||
|
||||
def loaded(self):
|
||||
self.loaded = True
|
||||
|
@ -227,20 +251,20 @@ class MainDisplay(DisplayWidget):
|
|||
Store the images so they can be replaced when required
|
||||
"""
|
||||
log.debug(u'hideDisplay mode = %d', mode)
|
||||
#self.displayText.setPixmap(self.transparent)
|
||||
if mode == HideMode.Screen:
|
||||
#self.display_image.setPixmap(self.transparent)
|
||||
self.setVisible(False)
|
||||
elif mode == HideMode.Blank:
|
||||
self.displayBlank.setPixmap(
|
||||
QtGui.QPixmap.fromImage(self.blankFrame))
|
||||
self.frame.findFirstElement('img').setAttribute(
|
||||
'src', unicode('data:image/png;base64,%s' \
|
||||
% image_to_byte(self.black)))
|
||||
else:
|
||||
if self.parent.renderManager.renderer.bg_frame:
|
||||
if self.serviceItem:
|
||||
self.displayBlank.setPixmap(QtGui.QPixmap.fromImage(
|
||||
self.parent.renderManager.renderer.bg_frame))
|
||||
else:
|
||||
self.displayBlank.setPixmap(
|
||||
QtGui.QPixmap.fromImage(self.blankFrame))
|
||||
self.frame.findFirstElement('img').setAttribute(
|
||||
'src', unicode('data:image/png;base64,%s' \
|
||||
% image_to_byte(self.black)))
|
||||
if mode != HideMode.Screen and self.isHidden():
|
||||
self.setVisible(True)
|
||||
|
||||
|
@ -251,10 +275,10 @@ class MainDisplay(DisplayWidget):
|
|||
Make the stored images None to release memory.
|
||||
"""
|
||||
log.debug(u'showDisplay')
|
||||
self.displayBlank.setPixmap(self.transparent)
|
||||
self.frame.findFirstElement('img').setAttribute('src', u'')
|
||||
if self.isHidden():
|
||||
self.setVisible(True)
|
||||
#Trigger actions when display is active again
|
||||
# Trigger actions when display is active again
|
||||
Receiver.send_message(u'maindisplay_active')
|
||||
|
||||
class AudioPlayer(QtCore.QObject):
|
||||
|
|
|
@ -786,7 +786,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
their locations
|
||||
"""
|
||||
self.RenderManager.update_display()
|
||||
#self.displayManager.setup()
|
||||
self.setFocus()
|
||||
self.activateWindow()
|
||||
|
||||
|
|
|
@ -36,23 +36,23 @@ from openlp.core.lib import OpenLPToolbar, Receiver, resize_image, \
|
|||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
class SlideThread(QtCore.QThread):
|
||||
"""
|
||||
A special Qt thread class to speed up the display of text based frames.
|
||||
This is threaded so it loads the frames in background
|
||||
"""
|
||||
def __init__(self, parent, prefix, count):
|
||||
QtCore.QThread.__init__(self, parent)
|
||||
self.prefix = prefix
|
||||
self.count = count
|
||||
|
||||
def run(self):
|
||||
"""
|
||||
Run the thread.
|
||||
"""
|
||||
time.sleep(1)
|
||||
for i in range(0, self.count):
|
||||
Receiver.send_message(u'%s_slide_cache' % self.prefix, i)
|
||||
#class SlideThread(QtCore.QThread):
|
||||
# """
|
||||
# A special Qt thread class to speed up the display of text based frames.
|
||||
# This is threaded so it loads the frames in background
|
||||
# """
|
||||
# def __init__(self, parent, prefix, count):
|
||||
# QtCore.QThread.__init__(self, parent)
|
||||
# self.prefix = prefix
|
||||
# self.count = count
|
||||
#
|
||||
# def run(self):
|
||||
# """
|
||||
# Run the thread.
|
||||
# """
|
||||
# time.sleep(1)
|
||||
# for i in range(0, self.count):
|
||||
# Receiver.send_message(u'%s_slide_cache' % self.prefix, i)
|
||||
|
||||
class SlideList(QtGui.QTableWidget):
|
||||
"""
|
||||
|
@ -105,8 +105,9 @@ class SlideController(QtGui.QWidget):
|
|||
self.isLive = isLive
|
||||
self.parent = parent
|
||||
self.screens = screens
|
||||
self.ratio = float(self.screens.current[u'size'].width()) / \
|
||||
float(self.screens.current[u'size'].height())
|
||||
self.display = MainDisplay(self, screens, isLive)
|
||||
#self.displayManager = self.parent.displayManager
|
||||
self.loopList = [
|
||||
u'Start Loop',
|
||||
u'Loop Separator',
|
||||
|
@ -322,7 +323,7 @@ class SlideController(QtGui.QWidget):
|
|||
self.SlidePreview.setSizePolicy(sizePolicy)
|
||||
self.SlidePreview.setFixedSize(
|
||||
QtCore.QSize(self.settingsmanager.slidecontroller_image,
|
||||
self.settingsmanager.slidecontroller_image / 1.3 ))
|
||||
self.settingsmanager.slidecontroller_image / self.ratio ))
|
||||
self.SlidePreview.setFrameShape(QtGui.QFrame.Box)
|
||||
self.SlidePreview.setFrameShadow(QtGui.QFrame.Plain)
|
||||
self.SlidePreview.setLineWidth(1)
|
||||
|
@ -389,9 +390,21 @@ class SlideController(QtGui.QWidget):
|
|||
QtCore.SIGNAL(u'splitterMoved(int, int)'), self.trackSplitter)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'config_updated'), self.refreshServiceItem)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'config_screen_changed'), self.screenSizeChanged)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'%s_slide_cache' % self.typePrefix), self.slideCache)
|
||||
|
||||
def screenSizeChanged(self):
|
||||
# rebuild display as screen size changed
|
||||
self.display = MainDisplay(self, self.screens, self.isLive)
|
||||
self.ratio = float(self.screens.current[u'size'].width()) / \
|
||||
float(self.screens.current[u'size'].height())
|
||||
self.display.setup()
|
||||
self.SlidePreview.setFixedSize(
|
||||
QtCore.QSize(self.settingsmanager.slidecontroller_image,
|
||||
self.settingsmanager.slidecontroller_image / (self.ratio )))
|
||||
|
||||
def widthChanged(self):
|
||||
"""
|
||||
Handle changes of width from the splitter between the live and preview
|
||||
|
@ -606,10 +619,10 @@ class SlideController(QtGui.QWidget):
|
|||
self.PreviewListWidget.setFocus()
|
||||
Receiver.send_message(u'slidecontroller_%s_started' % self.typePrefix,
|
||||
[serviceItem])
|
||||
if self.serviceItem.is_text():
|
||||
st = SlideThread(
|
||||
self, self.typePrefix, len(self.serviceItem.get_frames()))
|
||||
st.start()
|
||||
# if self.serviceItem.is_text():
|
||||
# st = SlideThread(
|
||||
# self, self.typePrefix, len(self.serviceItem.get_frames()))
|
||||
# st.start()
|
||||
log.log(15, u'Display Rendering took %4s' % (time.time() - before))
|
||||
|
||||
def onTextRequest(self):
|
||||
|
@ -632,7 +645,7 @@ class SlideController(QtGui.QWidget):
|
|||
Receiver.send_message(u'slidecontroller_%s_text_response'
|
||||
% self.typePrefix, data)
|
||||
|
||||
#Screen event methods
|
||||
# Screen event methods
|
||||
def onSlideSelectedFirst(self):
|
||||
"""
|
||||
Go to the first slide.
|
||||
|
@ -667,8 +680,8 @@ class SlideController(QtGui.QWidget):
|
|||
Allow the main display to blank the main display at startup time
|
||||
"""
|
||||
log.debug(u'mainDisplaySetBackground')
|
||||
if not self.mainDisplay.primary:
|
||||
self.onBlankDisplay(True)
|
||||
if not self.display.primary:
|
||||
self.display.hideDisplay()
|
||||
|
||||
def onSlideBlank(self):
|
||||
"""
|
||||
|
@ -986,4 +999,4 @@ class SlideController(QtGui.QWidget):
|
|||
text = text.replace(u'<br>', u'\n').replace(u'<p>', u'')\
|
||||
.replace(u'</p>', u'').replace(u'<sup>', u'')\
|
||||
.replace(u'</sup>', u'')
|
||||
return text
|
||||
return text
|
||||
|
|
Loading…
Reference in New Issue