diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index 9776efb83..ab9510629 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -116,18 +116,19 @@ class Renderer(object): html_text = u'' styled_text = u'' for line in text: - styled_line = expand_tags(line) - if styled_text: - styled_text += line_end + styled_line + styled_line = expand_tags(line) + line_end + styled_text += styled_line html = self.page_shell + styled_text + u'' self.web.setHtml(html) # Text too long so go to next page if self.web_frame.contentsSize().height() > self.page_height: + if html_text.endswith(u'
'): + html_text = html_text[:len(html_text)-4] formatted.append(html_text) html_text = u'' styled_text = styled_line html_text += line + line_end - if line_break: + if html_text.endswith(u'
'): html_text = html_text[:len(html_text)-4] formatted.append(html_text) log.debug(u'format_slide - End') diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index fb3c67102..4d7ccae72 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -602,7 +602,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): QtCore.QObject.connect(self.FileSaveAsItem, QtCore.SIGNAL(u'triggered()'), self.ServiceManagerContents.onSaveService) - #i18n set signals for languages + # i18n set signals for languages QtCore.QObject.connect(self.AutoLanguageItem, QtCore.SIGNAL(u'toggled(bool)'), self.setAutoLanguage) self.LanguageGroup.triggered.connect(LanguageManager.set_language) @@ -622,15 +622,15 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): QtCore.SIGNAL(u'config_screen_changed'), self.screenChanged) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'maindisplay_status_text'), self.showStatusMessage) - #warning cyclic dependency - #RenderManager needs to call ThemeManager and - #ThemeManager needs to call RenderManager + # warning cyclic dependency + # RenderManager needs to call ThemeManager and + # ThemeManager needs to call RenderManager self.RenderManager = RenderManager( self.ThemeManagerContents, self.screens) - #Define the media Dock Manager + # Define the media Dock Manager self.mediaDockManager = MediaDockManager(self.MediaToolBox) log.info(u'Load Plugins') - #make the controllers available to the plugins + # make the controllers available to the plugins self.plugin_helpers[u'preview'] = self.PreviewController self.plugin_helpers[u'live'] = self.LiveController self.plugin_helpers[u'render'] = self.RenderManager diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 59ae353cc..e4b4733a2 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -794,9 +794,10 @@ class SlideController(QtGui.QWidget): row = self.PreviewListWidget.currentRow() self.selectedRow = 0 if row > -1 and row < self.PreviewListWidget.rowCount(): - if self.serviceItem.is_command() and self.isLive: - Receiver.send_message(u'%s_slide' % self.serviceItem.name.lower(), - [self.serviceItem, self.isLive, row]) + if self.serviceItem.is_command(): + if self.isLive: + Receiver.send_message(u'%s_slide' % self.serviceItem.name.lower(), + [self.serviceItem, self.isLive, row]) self.updatePreview() else: toDisplay = self.serviceItem.get_rendered_frame(row) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 7d6272b6a..7660e8514 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -25,6 +25,7 @@ ############################################################################### import logging +import mimetypes from PyQt4.phonon import Phonon @@ -45,6 +46,7 @@ class MediaPlugin(Plugin): self.dnd_id = u'Media' self.audio_list = u'' self.video_list = u'' + mimetypes.init() for mimetype in Phonon.BackendCapabilities.availableMimeTypes(): mimetype = unicode(mimetype) type = mimetype.split(u'audio/x-') @@ -60,13 +62,18 @@ class MediaPlugin(Plugin): self.video_list, mimetype = self._addToList(self.video_list, type, mimetype) - def _addToList(self, list, value, type): + def _addToList(self, list, value, mimetype): + # Is it a media type if len(value) == 2: - if list.find(value[1]) == -1: - list += u'*.%s ' % value[1] - self.serviceManager.supportedSuffixes(value[1]) - type = u'' - return list, type + extensions = mimetypes.guess_all_extensions(unicode(mimetype)) + # we have an extension + if extensions: + for extension in extensions: + if list.find(extension) == -1: + list += u'*%s ' % extension + self.serviceManager.supportedSuffixes(extension[1:]) + mimetype = u'' + return list, mimetype def getSettingsTab(self): return MediaTab(self.name)