openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #03741
[Merge] lp:~trb143/openlp/bugfixes1 into lp:openlp
Tim Bentley has proposed merging lp:~trb143/openlp/bugfixes1 into lp:openlp.
Requested reviews:
Raoul Snyman (raoul-snyman): approve
Jonathan Corwin (j-corwin)
Related bugs:
#637547 Editing a song in a loaded service file crashes
https://bugs.launchpad.net/bugs/637547
#637886 Replacing live video background with nothing live causes crash
https://bugs.launchpad.net/bugs/637886
#641644 "blank" modes still not worrking correctly!
https://bugs.launchpad.net/bugs/641644
#642778 enchant.DictNotFoundError: Dictionary for language 'ja_JP' could not be found
https://bugs.launchpad.net/bugs/642778
Bug fixes for spellchecking and hiding displays.
Fix silly bug with languages if no language files loaded.
--
https://code.launchpad.net/~trb143/openlp/bugfixes1/+merge/36197
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/lib/renderer.py'
--- openlp/core/lib/renderer.py 2010-09-17 20:32:00 +0000
+++ openlp/core/lib/renderer.py 2010-09-21 19:11:15 +0000
@@ -87,7 +87,7 @@
"""
log.debug(u'set_text_rectangle %s , %s' % (rect_main, rect_footer))
self._rect = rect_main
- self._rect_footer = rect_footer
+ self._rect_footer = rect_footer
self.page_width = self._rect.width()
self.page_height = self._rect.height()
if self._theme.display_shadow:
@@ -102,7 +102,7 @@
u'*{margin: 0; padding: 0; border: 0;} '\
u'#main {position:absolute; top:0px; %s %s}</style><body>' \
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))
def set_frame_dest(self, frame_width, frame_height):
@@ -125,7 +125,7 @@
self.frame.width(), self.frame.height())
if self._theme.background_type == u'image':
self.bg_frame = QtGui.QImage(self.frame.width(),
- self.frame.height(),
+ self.frame.height(),
QtGui.QImage.Format_ARGB32_Premultiplied)
painter = QtGui.QPainter()
painter.begin(self.bg_frame)
=== modified file 'openlp/core/lib/spelltextedit.py'
--- openlp/core/lib/spelltextedit.py 2010-09-04 10:39:48 +0000
+++ openlp/core/lib/spelltextedit.py 2010-09-21 19:11:15 +0000
@@ -28,6 +28,7 @@
import sys
try:
import enchant
+ from enchant import DictNotFoundError
enchant_available = True
except ImportError:
enchant_available = False
@@ -42,10 +43,14 @@
def __init__(self, *args):
QtGui.QPlainTextEdit.__init__(self, *args)
# Default dictionary based on the current locale.
- if enchant_available:
- self.dict = enchant.Dict()
- self.highlighter = Highlighter(self.document())
- self.highlighter.setDict(self.dict)
+ self.enchant_available = enchant_available
+ if self.enchant_available:
+ try:
+ self.dict = enchant.Dict()
+ self.highlighter = Highlighter(self.document())
+ self.highlighter.setDict(self.dict)
+ except DictNotFoundError:
+ self.enchant_available = False
def mousePressEvent(self, event):
if event.button() == QtCore.Qt.RightButton:
@@ -66,7 +71,7 @@
self.setTextCursor(cursor)
# Check if the selected word is misspelled and offer spelling
# suggestions if it is.
- if enchant_available and self.textCursor().hasSelection():
+ if self.enchant_available and self.textCursor().hasSelection():
text = unicode(self.textCursor().selectedText())
if not self.dict.check(text):
spell_menu = QtGui.QMenu(translate('OpenLP.SpellTextEdit',
=== modified file 'openlp/core/ui/maindisplay.py'
--- openlp/core/ui/maindisplay.py 2010-09-19 20:59:00 +0000
+++ openlp/core/ui/maindisplay.py 2010-09-21 19:11:15 +0000
@@ -122,12 +122,12 @@
self.scene = QtGui.QGraphicsScene(self)
self.setScene(self.scene)
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()))
except AttributeError:
# QGraphicsWebView a recent addition, so fall back to QWebView
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.page = self.webView.page()
self.frame = self.page.mainFrame()
@@ -164,7 +164,7 @@
- splash_image.height()) / 2,
splash_image)
serviceItem = ServiceItem()
- serviceItem.bg_frame = initialFrame
+ serviceItem.bg_image_bytes = image_to_byte(initialFrame)
self.webView.setHtml(build_html(serviceItem, self.screen,
self.parent.alertTab, self.isLive))
self.initialFrame = True
@@ -326,8 +326,12 @@
# Important otherwise first preview will miss the background !
while not self.loaded:
Receiver.send_message(u'openlp_process_events')
+ # if was hidden keep it hidden
if self.isLive:
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(),
self.screen[u'size'].height(),
QtGui.QImage.Format_ARGB32_Premultiplied)
@@ -335,7 +339,6 @@
painter.setRenderHint(QtGui.QPainter.Antialiasing)
self.frame.render(painter)
painter.end()
- # Make display show up if in single screen mode
return preview
def buildHtml(self, serviceItem):
=== modified file 'openlp/core/ui/servicemanager.py'
--- openlp/core/ui/servicemanager.py 2010-09-18 15:24:39 +0000
+++ openlp/core/ui/servicemanager.py 2010-09-21 19:11:15 +0000
@@ -383,20 +383,20 @@
serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList)
tempItem = None
setLastItem = False
- while serviceIterator:
- if serviceIterator.isSelected() and tempItem is None:
+ while serviceIterator.value():
+ if serviceIterator.value().isSelected() and tempItem is None:
setLastItem = True
- serviceIterator.setSelected(False)
- if serviceIterator.isSelected():
- #We are on the first record
+ serviceIterator.value().setSelected(False)
+ if serviceIterator.value().isSelected():
+ # We are on the first record
if tempItem:
tempItem.setSelected(True)
- serviceIterator.setSelected(False)
+ serviceIterator.value().setSelected(False)
else:
- tempItem = serviceIterator
- lastItem = serviceIterator
- ++serviceIterator
- #Top Item was selected so set the last one
+ tempItem = serviceIterator.value()
+ lastItem = serviceIterator.value()
+ serviceIterator += 1
+ # Top Item was selected so set the last one
if setLastItem:
lastItem.setSelected(True)
@@ -406,16 +406,18 @@
Called by the down arrow
"""
serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList)
- firstItem = serviceIterator
+ firstItem = None
setSelected = False
- while serviceIterator:
+ while serviceIterator.value():
+ if not firstItem:
+ firstItem = serviceIterator.value()
if setSelected:
setSelected = False
- serviceIterator.setSelected(True)
- elif serviceIterator.isSelected():
- serviceIterator.setSelected(False)
+ serviceIterator.value().setSelected(True)
+ elif serviceIterator.value() and serviceIterator.value().isSelected():
+ serviceIterator.value().setSelected(False)
setSelected = True
- ++serviceIterator
+ serviceIterator += 1
if setSelected:
firstItem.setSelected(True)
=== modified file 'openlp/core/utils/languagemanager.py'
--- openlp/core/utils/languagemanager.py 2010-09-16 20:40:12 +0000
+++ openlp/core/utils/languagemanager.py 2010-09-21 19:11:15 +0000
@@ -107,19 +107,20 @@
``action``
The language menu option
"""
- action_name = u'%s' % action.objectName()
- qm_list = LanguageManager.get_qm_list()
- if LanguageManager.auto_language:
- language = u'[%s]' % qm_list[action_name]
- else:
- language = u'%s' % qm_list[action_name]
- QtCore.QSettings().setValue(
- u'general/language', QtCore.QVariant(language))
- log.info(u'Language file: \'%s\' written to conf file' % language)
- QtGui.QMessageBox.information(None,
- translate('OpenLP.LanguageManager', 'Language'),
- translate('OpenLP.LanguageManager',
- 'Please restart OpenLP to use your new language setting.'))
+ if action:
+ action_name = u'%s' % action.objectName()
+ qm_list = LanguageManager.get_qm_list()
+ if LanguageManager.auto_language:
+ language = u'[%s]' % qm_list[action_name]
+ else:
+ language = u'%s' % qm_list[action_name]
+ QtCore.QSettings().setValue(
+ u'general/language', QtCore.QVariant(language))
+ log.info(u'Language file: \'%s\' written to conf file' % language)
+ QtGui.QMessageBox.information(None,
+ translate('OpenLP.LanguageManager', 'Language'),
+ translate('OpenLP.LanguageManager',
+ 'Please restart OpenLP to use your new language setting.'))
@staticmethod
def init_qm_list():
=== modified file 'openlp/plugins/alerts/alertsplugin.py'
--- openlp/plugins/alerts/alertsplugin.py 2010-08-28 15:49:51 +0000
+++ openlp/plugins/alerts/alertsplugin.py 2010-09-21 19:11:15 +0000
@@ -40,7 +40,7 @@
log.info(u'Alerts Plugin loaded')
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.icon = build_icon(u':/plugins/plugin_alerts.png')
self.alertsmanager = AlertsManager(self)
=== modified file 'openlp/plugins/bibles/bibleplugin.py'
--- openlp/plugins/bibles/bibleplugin.py 2010-07-31 00:05:27 +0000
+++ openlp/plugins/bibles/bibleplugin.py 2010-09-21 19:11:15 +0000
@@ -37,7 +37,7 @@
log.info(u'Bible Plugin loaded')
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.icon_path = u':/plugins/plugin_bibles.png'
self.icon = build_icon(self.icon_path)
=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
--- openlp/plugins/bibles/lib/mediaitem.py 2010-09-14 14:21:44 +0000
+++ openlp/plugins/bibles/lib/mediaitem.py 2010-09-21 19:11:15 +0000
@@ -376,9 +376,6 @@
def onSearchProgressShow(self):
self.SearchProgress.setVisible(True)
Receiver.send_message(u'openlp_process_events')
- #self.SearchProgress.setMinimum(0)
- #self.SearchProgress.setMaximum(2)
- #self.SearchProgress.setValue(1)
def onSearchProgressHide(self):
self.SearchProgress.setVisible(False)
=== modified file 'openlp/plugins/custom/customplugin.py'
--- openlp/plugins/custom/customplugin.py 2010-07-31 00:05:27 +0000
+++ openlp/plugins/custom/customplugin.py 2010-09-21 19:11:15 +0000
@@ -47,7 +47,7 @@
log.info(u'Custom Plugin loaded')
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.custommanager = Manager(u'custom', init_schema)
self.edit_custom_form = EditCustomForm(self.custommanager)
=== modified file 'openlp/plugins/images/imageplugin.py'
--- openlp/plugins/images/imageplugin.py 2010-07-31 00:05:27 +0000
+++ openlp/plugins/images/imageplugin.py 2010-09-21 19:11:15 +0000
@@ -35,7 +35,7 @@
log.info(u'Image Plugin loaded')
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.icon_path = u':/plugins/plugin_images.png'
self.icon = build_icon(self.icon_path)
=== modified file 'openlp/plugins/media/mediaplugin.py'
--- openlp/plugins/media/mediaplugin.py 2010-07-31 00:05:27 +0000
+++ openlp/plugins/media/mediaplugin.py 2010-09-21 19:11:15 +0000
@@ -37,7 +37,7 @@
log.info(u'%s MediaPlugin loaded', __name__)
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.icon_path = u':/plugins/plugin_media.png'
self.icon = build_icon(self.icon_path)
=== modified file 'openlp/plugins/presentations/presentationplugin.py'
--- openlp/plugins/presentations/presentationplugin.py 2010-07-31 00:05:27 +0000
+++ openlp/plugins/presentations/presentationplugin.py 2010-09-21 19:11:15 +0000
@@ -51,7 +51,7 @@
"""
log.debug(u'Initialised')
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.icon_path = u':/plugins/plugin_presentations.png'
self.icon = build_icon(self.icon_path)
=== modified file 'openlp/plugins/remotes/remoteplugin.py'
--- openlp/plugins/remotes/remoteplugin.py 2010-07-30 22:12:04 +0000
+++ openlp/plugins/remotes/remoteplugin.py 2010-09-21 19:11:15 +0000
@@ -38,7 +38,7 @@
"""
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.weight = -1
self.server = None
=== modified file 'openlp/plugins/songs/songsplugin.py'
--- openlp/plugins/songs/songsplugin.py 2010-08-26 19:45:09 +0000
+++ openlp/plugins/songs/songsplugin.py 2010-09-21 19:11:15 +0000
@@ -50,7 +50,7 @@
"""
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.manager = Manager(u'songs', init_schema)
self.icon_path = u':/plugins/plugin_songs.png'
=== modified file 'openlp/plugins/songusage/songusageplugin.py'
--- openlp/plugins/songusage/songusageplugin.py 2010-08-02 19:05:40 +0000
+++ openlp/plugins/songusage/songusageplugin.py 2010-09-21 19:11:15 +0000
@@ -41,7 +41,7 @@
log.info(u'SongUsage Plugin loaded')
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.icon = build_icon(u':/plugins/plugin_songusage.png')
self.songusagemanager = None
Follow ups