Update plugin list

Fix ServiceManager 
Put splash image back 
Fix hide screen bug.

bzr-revno: 1052
Fixes: https://launchpad.net/bugs/641644, https://launchpad.net/bugs/642754
This commit is contained in:
Tim Bentley 2010-09-22 19:50:55 +01:00
commit 983c2012fd
14 changed files with 42 additions and 36 deletions

View File

@ -87,7 +87,7 @@ class Renderer(object):
""" """
log.debug(u'set_text_rectangle %s , %s' % (rect_main, rect_footer)) log.debug(u'set_text_rectangle %s , %s' % (rect_main, rect_footer))
self._rect = rect_main self._rect = rect_main
self._rect_footer = rect_footer self._rect_footer = rect_footer
self.page_width = self._rect.width() self.page_width = self._rect.width()
self.page_height = self._rect.height() self.page_height = self._rect.height()
if self._theme.display_shadow: if self._theme.display_shadow:
@ -102,7 +102,7 @@ class Renderer(object):
u'*{margin: 0; padding: 0; border: 0;} '\ u'*{margin: 0; padding: 0; border: 0;} '\
u'#main {position:absolute; top:0px; %s %s}</style><body>' \ u'#main {position:absolute; top:0px; %s %s}</style><body>' \
u'<div id="main">' % \ u'<div id="main">' % \
(build_lyrics_format_css(self._theme, self.page_width, (build_lyrics_format_css(self._theme, self.page_width,
self.page_height), build_lyrics_outline_css(self._theme)) self.page_height), build_lyrics_outline_css(self._theme))
def set_frame_dest(self, frame_width, frame_height): def set_frame_dest(self, frame_width, frame_height):
@ -125,7 +125,7 @@ class Renderer(object):
self.frame.width(), self.frame.height()) self.frame.width(), self.frame.height())
if self._theme.background_type == u'image': if self._theme.background_type == u'image':
self.bg_frame = QtGui.QImage(self.frame.width(), self.bg_frame = QtGui.QImage(self.frame.width(),
self.frame.height(), self.frame.height(),
QtGui.QImage.Format_ARGB32_Premultiplied) QtGui.QImage.Format_ARGB32_Premultiplied)
painter = QtGui.QPainter() painter = QtGui.QPainter()
painter.begin(self.bg_frame) painter.begin(self.bg_frame)

View File

@ -28,6 +28,7 @@ import re
import sys import sys
try: try:
import enchant import enchant
from enchant import DictNotFoundError
enchant_available = True enchant_available = True
except ImportError: except ImportError:
enchant_available = False enchant_available = False
@ -43,7 +44,10 @@ class SpellTextEdit(QtGui.QPlainTextEdit):
QtGui.QPlainTextEdit.__init__(self, *args) QtGui.QPlainTextEdit.__init__(self, *args)
# Default dictionary based on the current locale. # Default dictionary based on the current locale.
if enchant_available: if enchant_available:
self.dict = enchant.Dict() try:
self.dict = enchant.Dict()
except DictNotFoundError:
self.dict = enchant.Dict(u'en_US')
self.highlighter = Highlighter(self.document()) self.highlighter = Highlighter(self.document())
self.highlighter.setDict(self.dict) self.highlighter.setDict(self.dict)

View File

@ -122,12 +122,12 @@ class MainDisplay(DisplayWidget):
self.scene = QtGui.QGraphicsScene(self) self.scene = QtGui.QGraphicsScene(self)
self.setScene(self.scene) self.setScene(self.scene)
self.scene.addItem(self.webView) self.scene.addItem(self.webView)
self.webView.setGeometry(QtCore.QRectF(0, 0, self.webView.setGeometry(QtCore.QRectF(0, 0,
self.screen[u'size'].width(), self.screen[u'size'].height())) self.screen[u'size'].width(), self.screen[u'size'].height()))
except AttributeError: except AttributeError:
# QGraphicsWebView a recent addition, so fall back to QWebView # QGraphicsWebView a recent addition, so fall back to QWebView
self.webView = QtWebKit.QWebView(self) self.webView = QtWebKit.QWebView(self)
self.webView.setGeometry(0, 0, self.webView.setGeometry(0, 0,
self.screen[u'size'].width(), self.screen[u'size'].height()) self.screen[u'size'].width(), self.screen[u'size'].height())
self.page = self.webView.page() self.page = self.webView.page()
self.frame = self.page.mainFrame() self.frame = self.page.mainFrame()
@ -164,7 +164,7 @@ class MainDisplay(DisplayWidget):
- splash_image.height()) / 2, - splash_image.height()) / 2,
splash_image) splash_image)
serviceItem = ServiceItem() serviceItem = ServiceItem()
serviceItem.bg_frame = initialFrame serviceItem.bg_image_bytes = image_to_byte(initialFrame)
self.webView.setHtml(build_html(serviceItem, self.screen, self.webView.setHtml(build_html(serviceItem, self.screen,
self.parent.alertTab, self.isLive)) self.parent.alertTab, self.isLive))
self.initialFrame = True self.initialFrame = True
@ -326,8 +326,12 @@ class MainDisplay(DisplayWidget):
# Important otherwise first preview will miss the background ! # Important otherwise first preview will miss the background !
while not self.loaded: while not self.loaded:
Receiver.send_message(u'openlp_process_events') Receiver.send_message(u'openlp_process_events')
# if was hidden keep it hidden
if self.isLive: if self.isLive:
self.setVisible(True) self.setVisible(True)
# if was hidden keep it hidden
if self.hide_mode and self.isLive:
self.hideDisplay(self.hide_mode)
preview = QtGui.QImage(self.screen[u'size'].width(), preview = QtGui.QImage(self.screen[u'size'].width(),
self.screen[u'size'].height(), self.screen[u'size'].height(),
QtGui.QImage.Format_ARGB32_Premultiplied) QtGui.QImage.Format_ARGB32_Premultiplied)
@ -335,7 +339,6 @@ class MainDisplay(DisplayWidget):
painter.setRenderHint(QtGui.QPainter.Antialiasing) painter.setRenderHint(QtGui.QPainter.Antialiasing)
self.frame.render(painter) self.frame.render(painter)
painter.end() painter.end()
# Make display show up if in single screen mode
return preview return preview
def buildHtml(self, serviceItem): def buildHtml(self, serviceItem):

View File

@ -383,20 +383,20 @@ class ServiceManager(QtGui.QWidget):
serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList) serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList)
tempItem = None tempItem = None
setLastItem = False setLastItem = False
while serviceIterator: while serviceIterator.value():
if serviceIterator.isSelected() and tempItem is None: if serviceIterator.value().isSelected() and tempItem is None:
setLastItem = True setLastItem = True
serviceIterator.setSelected(False) serviceIterator.value().setSelected(False)
if serviceIterator.isSelected(): if serviceIterator.value().isSelected():
#We are on the first record # We are on the first record
if tempItem: if tempItem:
tempItem.setSelected(True) tempItem.setSelected(True)
serviceIterator.setSelected(False) serviceIterator.value().setSelected(False)
else: else:
tempItem = serviceIterator tempItem = serviceIterator.value()
lastItem = serviceIterator lastItem = serviceIterator.value()
++serviceIterator serviceIterator += 1
#Top Item was selected so set the last one # Top Item was selected so set the last one
if setLastItem: if setLastItem:
lastItem.setSelected(True) lastItem.setSelected(True)
@ -406,16 +406,18 @@ class ServiceManager(QtGui.QWidget):
Called by the down arrow Called by the down arrow
""" """
serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList) serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList)
firstItem = serviceIterator firstItem = None
setSelected = False setSelected = False
while serviceIterator: while serviceIterator.value():
if not firstItem:
firstItem = serviceIterator.value()
if setSelected: if setSelected:
setSelected = False setSelected = False
serviceIterator.setSelected(True) serviceIterator.value().setSelected(True)
elif serviceIterator.isSelected(): elif serviceIterator.value() and serviceIterator.value().isSelected():
serviceIterator.setSelected(False) serviceIterator.value().setSelected(False)
setSelected = True setSelected = True
++serviceIterator serviceIterator += 1
if setSelected: if setSelected:
firstItem.setSelected(True) firstItem.setSelected(True)

View File

@ -40,7 +40,7 @@ class AlertsPlugin(Plugin):
log.info(u'Alerts Plugin loaded') log.info(u'Alerts Plugin loaded')
def __init__(self, plugin_helpers): def __init__(self, plugin_helpers):
Plugin.__init__(self, u'Alerts', u'1.9.2', plugin_helpers) Plugin.__init__(self, u'Alerts', u'1.9.3', plugin_helpers)
self.weight = -3 self.weight = -3
self.icon = build_icon(u':/plugins/plugin_alerts.png') self.icon = build_icon(u':/plugins/plugin_alerts.png')
self.alertsmanager = AlertsManager(self) self.alertsmanager = AlertsManager(self)

View File

@ -37,7 +37,7 @@ class BiblePlugin(Plugin):
log.info(u'Bible Plugin loaded') log.info(u'Bible Plugin loaded')
def __init__(self, plugin_helpers): def __init__(self, plugin_helpers):
Plugin.__init__(self, u'Bibles', u'1.9.2', plugin_helpers) Plugin.__init__(self, u'Bibles', u'1.9.3', plugin_helpers)
self.weight = -9 self.weight = -9
self.icon_path = u':/plugins/plugin_bibles.png' self.icon_path = u':/plugins/plugin_bibles.png'
self.icon = build_icon(self.icon_path) self.icon = build_icon(self.icon_path)

View File

@ -376,9 +376,6 @@ class BibleMediaItem(MediaManagerItem):
def onSearchProgressShow(self): def onSearchProgressShow(self):
self.SearchProgress.setVisible(True) self.SearchProgress.setVisible(True)
Receiver.send_message(u'openlp_process_events') Receiver.send_message(u'openlp_process_events')
#self.SearchProgress.setMinimum(0)
#self.SearchProgress.setMaximum(2)
#self.SearchProgress.setValue(1)
def onSearchProgressHide(self): def onSearchProgressHide(self):
self.SearchProgress.setVisible(False) self.SearchProgress.setVisible(False)

View File

@ -47,7 +47,7 @@ class CustomPlugin(Plugin):
log.info(u'Custom Plugin loaded') log.info(u'Custom Plugin loaded')
def __init__(self, plugin_helpers): def __init__(self, plugin_helpers):
Plugin.__init__(self, u'Custom', u'1.9.2', plugin_helpers) Plugin.__init__(self, u'Custom', u'1.9.3', plugin_helpers)
self.weight = -5 self.weight = -5
self.custommanager = Manager(u'custom', init_schema) self.custommanager = Manager(u'custom', init_schema)
self.edit_custom_form = EditCustomForm(self.custommanager) self.edit_custom_form = EditCustomForm(self.custommanager)

View File

@ -35,7 +35,7 @@ class ImagePlugin(Plugin):
log.info(u'Image Plugin loaded') log.info(u'Image Plugin loaded')
def __init__(self, plugin_helpers): def __init__(self, plugin_helpers):
Plugin.__init__(self, u'Images', u'1.9.2', plugin_helpers) Plugin.__init__(self, u'Images', u'1.9.3', plugin_helpers)
self.weight = -7 self.weight = -7
self.icon_path = u':/plugins/plugin_images.png' self.icon_path = u':/plugins/plugin_images.png'
self.icon = build_icon(self.icon_path) self.icon = build_icon(self.icon_path)

View File

@ -37,7 +37,7 @@ class MediaPlugin(Plugin):
log.info(u'%s MediaPlugin loaded', __name__) log.info(u'%s MediaPlugin loaded', __name__)
def __init__(self, plugin_helpers): def __init__(self, plugin_helpers):
Plugin.__init__(self, u'Media', u'1.9.2', plugin_helpers) Plugin.__init__(self, u'Media', u'1.9.3', plugin_helpers)
self.weight = -6 self.weight = -6
self.icon_path = u':/plugins/plugin_media.png' self.icon_path = u':/plugins/plugin_media.png'
self.icon = build_icon(self.icon_path) self.icon = build_icon(self.icon_path)

View File

@ -51,7 +51,7 @@ class PresentationPlugin(Plugin):
""" """
log.debug(u'Initialised') log.debug(u'Initialised')
self.controllers = {} self.controllers = {}
Plugin.__init__(self, u'Presentations', u'1.9.2', plugin_helpers) Plugin.__init__(self, u'Presentations', u'1.9.3', plugin_helpers)
self.weight = -8 self.weight = -8
self.icon_path = u':/plugins/plugin_presentations.png' self.icon_path = u':/plugins/plugin_presentations.png'
self.icon = build_icon(self.icon_path) self.icon = build_icon(self.icon_path)

View File

@ -38,7 +38,7 @@ class RemotesPlugin(Plugin):
""" """
remotes constructor remotes constructor
""" """
Plugin.__init__(self, u'Remotes', u'1.9.2', plugin_helpers) Plugin.__init__(self, u'Remotes', u'1.9.3', plugin_helpers)
self.icon = build_icon(u':/plugins/plugin_remote.png') self.icon = build_icon(u':/plugins/plugin_remote.png')
self.weight = -1 self.weight = -1
self.server = None self.server = None

View File

@ -50,7 +50,7 @@ class SongsPlugin(Plugin):
""" """
Create and set up the Songs plugin. Create and set up the Songs plugin.
""" """
Plugin.__init__(self, u'Songs', u'1.9.2', plugin_helpers) Plugin.__init__(self, u'Songs', u'1.9.3', plugin_helpers)
self.weight = -10 self.weight = -10
self.manager = Manager(u'songs', init_schema) self.manager = Manager(u'songs', init_schema)
self.icon_path = u':/plugins/plugin_songs.png' self.icon_path = u':/plugins/plugin_songs.png'

View File

@ -41,7 +41,7 @@ class SongUsagePlugin(Plugin):
log.info(u'SongUsage Plugin loaded') log.info(u'SongUsage Plugin loaded')
def __init__(self, plugin_helpers): def __init__(self, plugin_helpers):
Plugin.__init__(self, u'SongUsage', u'1.9.2', plugin_helpers) Plugin.__init__(self, u'SongUsage', u'1.9.3', plugin_helpers)
self.weight = -4 self.weight = -4
self.icon = build_icon(u':/plugins/plugin_songusage.png') self.icon = build_icon(u':/plugins/plugin_songusage.png')
self.songusagemanager = None self.songusagemanager = None