diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 322ce8cd0..8ebfe88ae 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -443,7 +443,7 @@ class MediaManagerItem(QtGui.QWidget): service_item = self.buildServiceItem() if service_item: service_item.from_plugin = True - self.parent.preview_controller.addServiceItem(service_item) + self.parent.previewController.addServiceItem(service_item) def onLiveClick(self): """ @@ -460,7 +460,7 @@ class MediaManagerItem(QtGui.QWidget): service_item = self.buildServiceItem() if service_item: service_item.from_plugin = True - self.parent.live_controller.addServiceItem(service_item) + self.parent.liveController.addServiceItem(service_item) def onAddClick(self): """ @@ -479,7 +479,7 @@ class MediaManagerItem(QtGui.QWidget): service_item = self.buildServiceItem() if service_item: service_item.from_plugin = False - self.parent.service_manager.addServiceItem(service_item, + self.parent.serviceManager.addServiceItem(service_item, replace=self.remoteTriggered) else: items = self.ListView.selectedIndexes() @@ -487,7 +487,7 @@ class MediaManagerItem(QtGui.QWidget): service_item = self.buildServiceItem(item) if service_item: service_item.from_plugin = False - self.parent.service_manager.addServiceItem(service_item) + self.parent.serviceManager.addServiceItem(service_item) def onAddEditClick(self): """ @@ -500,7 +500,7 @@ class MediaManagerItem(QtGui.QWidget): 'You must select one or more items')) else: log.debug(self.PluginNameShort + u' Add requested') - service_item = self.parent.service_manager.getServiceItem() + service_item = self.parent.serviceManager.getServiceItem() if not service_item: QtGui.QMessageBox.information(self, translate('MediaManagerItem', 'No Service Item Selected'), @@ -508,7 +508,7 @@ class MediaManagerItem(QtGui.QWidget): 'You must select an existing service item to add to.')) elif self.title.lower() == service_item.name.lower(): self.generateSlideData(service_item) - self.parent.service_manager.addServiceItem(service_item, + self.parent.serviceManager.addServiceItem(service_item, replace=True) else: #Turn off the remote edit update message indicator diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index a5d712dfb..c8397f39a 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -124,13 +124,14 @@ class Plugin(QtCore.QObject): self.status = PluginStatus.Inactive # Set up logging self.log = logging.getLogger(self.name) - self.preview_controller = plugin_helpers[u'preview'] - self.live_controller = plugin_helpers[u'live'] - self.render_manager = plugin_helpers[u'render'] - self.service_manager = plugin_helpers[u'service'] - self.settings_form = plugin_helpers[u'settings form'] + self.previewController = plugin_helpers[u'preview'] + self.liveController = plugin_helpers[u'live'] + self.renderManager = plugin_helpers[u'render'] + self.serviceManager = plugin_helpers[u'service'] + self.settingsForm = plugin_helpers[u'settings form'] self.mediadock = plugin_helpers[u'toolbox'] - self.maindisplay = plugin_helpers[u'maindisplay'] + self.displayManager = plugin_helpers[u'displaymanager'] + self.pluginManager = plugin_helpers[u'pluginmanager'] QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'%s_add_service_item' % self.name), self.process_add_service_event) @@ -175,29 +176,29 @@ class Plugin(QtCore.QObject): """ pass - def add_import_menu_item(self, import_menu): + def add_import_menu_item(self, importMenu): """ Create a menu item and add it to the "Import" menu. - ``import_menu`` + ``importMenu`` The Import menu. """ pass - def add_export_menu_item(self, export_menu): + def add_export_menu_item(self, exportMenu): """ Create a menu item and add it to the "Export" menu. - ``export_menu`` + ``exportMenu`` The Export menu """ pass - def add_tools_menu_item(self, tools_menu): + def add_tools_menu_item(self, toolsMenu): """ Create a menu item and add it to the "Tools" menu. - ``tools_menu`` + ``toolsMenu`` The Tools menu """ pass @@ -224,9 +225,9 @@ class Plugin(QtCore.QObject): log.debug(u'process_add_service_event event called for plugin %s' % self.name) if replace: - self.media_item.onAddEditClick() + self.mediaItem.onAddEditClick() else: - self.media_item.onAddClick() + self.mediaItem.onAddClick() def about(self): """ @@ -240,30 +241,33 @@ class Plugin(QtCore.QObject): """ Called by the plugin Manager to initialise anything it needs. """ - if self.media_item: - self.media_item.initialise() + if self.mediaItem: + self.mediaItem.initialise() + self.insert_toolbox_item() def finalise(self): """ Called by the plugin Manager to cleanup things. """ - pass + self.remove_toolbox_item() def remove_toolbox_item(self): """ Called by the plugin to remove toolbar """ - self.mediadock.remove_dock(self.name) - self.settings_form.removeTab(self.name) + if self.mediaItem: + self.mediadock.remove_dock(self.name) + if self.settings_tab: + self.settingsForm.removeTab(self.name) def insert_toolbox_item(self): """ Called by plugin to replace toolbar """ - if self.media_item: - self.mediadock.insert_dock(self.media_item, self.icon, self.weight) + if self.mediaItem: + self.mediadock.insert_dock(self.mediaItem, self.icon, self.weight) if self.settings_tab: - self.settings_form.insertTab(self.settings_tab, self.weight) + self.settingsForm.insertTab(self.settings_tab, self.weight) def can_delete_theme(self, theme): """ diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py index d9ae40845..c9c578603 100644 --- a/openlp/core/lib/pluginmanager.py +++ b/openlp/core/lib/pluginmanager.py @@ -138,7 +138,7 @@ class PluginManager(object): """ for plugin in self.plugins: if plugin.status is not PluginStatus.Disabled: - plugin.media_item = plugin.get_media_manager_item() + plugin.mediaItem = plugin.get_media_manager_item() def hook_settings_tabs(self, settingsform=None): """ diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index c107a1872..a8988aa84 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -35,7 +35,6 @@ import uuid from PyQt4 import QtGui from openlp.core.lib import build_icon, resize_image -from openlp.core.utils import AppLocation log = logging.getLogger(__name__) @@ -74,7 +73,7 @@ class ServiceItem(object): The plugin that this service item belongs to. """ if plugin: - self.render_manager = plugin.render_manager + self.render_manager = plugin.renderManager self.name = plugin.name self.title = u'' self.shortname = u'' @@ -93,7 +92,6 @@ class ServiceItem(object): self.is_valid = True self.cache = {} self.icon = None - self.serviceItemPath = AppLocation.get_section_data_path(u'serviceItems') def add_capability(self, capability): """ @@ -155,12 +153,9 @@ class ServiceItem(object): del self.cache[len(self._display_frames)] log.log(15, u'Formatting took %4s' % (time.time() - before)) elif self.service_item_type == ServiceItemType.Image: - for count, slide in enumerate(self._raw_frames): + for slide in self._raw_frames: slide[u'image'] = resize_image(slide[u'image'], self.render_manager.width, self.render_manager.height) - path = os.path.join(self.serviceItemPath, self._uuid + unicode(count) + u'.png') - slide[u'image'].save(path) - slide[u'display'] = path elif self.service_item_type == ServiceItemType.Command: pass else: @@ -376,8 +371,7 @@ class ServiceItem(object): if self.service_item_type == ServiceItemType.Text: return self.render_individual(row) else: - return {u'main':self._raw_frames[row][u'image'], - u'trans':None, u'display':self._raw_frames[row][u'display']} + return {u'main':self._raw_frames[row][u'image'], u'trans':None} def get_frame_title(self, row=0): """ diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index ae6d400fe..aaef47612 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -25,13 +25,13 @@ import logging import os +import time from PyQt4 import QtCore, QtGui, QtWebKit from PyQt4.phonon import Phonon from openlp.core.lib import Receiver, resize_image from openlp.core.ui import HideMode -from openlp.core.utils import AppLocation log = logging.getLogger(__name__) @@ -104,11 +104,17 @@ class DisplayManager(QtGui.QWidget): """ self.mainDisplay.addAlert(alertMessage, location) - def displayImage(self, path): + def displayImageWithText(self, frame): """ Handles the addition of a background Image to the displays """ - self.mainDisplay.displayImage(path) + self.mainDisplay.addImageWithText(frame) + + def displayImage(self, frame): + """ + Handles the addition of a background Image to the displays + """ + self.mainDisplay.displayImage(frame) def displayVideo(self, path): """ @@ -212,6 +218,7 @@ class MainDisplay(DisplayWidget): pass self.screens = screens self.setupScene() + self.setupVideo() self.setupImage() self.setupText() self.setupAlert() @@ -248,7 +255,7 @@ class MainDisplay(DisplayWidget): (self.screen[u'size'].width() - splash_image.width()) / 2, (self.screen[u'size'].height() - splash_image.height()) / 2, splash_image) - #self.display_image.setPixmap(QtGui.QPixmap.fromImage(self.InitialFrame)) + self.displayImage(self.InitialFrame) self.repaint() #Build a Black screen painter = QtGui.QPainter() @@ -262,7 +269,7 @@ class MainDisplay(DisplayWidget): self.transparent = QtGui.QPixmap( self.screen[u'size'].width(), self.screen[u'size'].height()) self.transparent.fill(QtCore.Qt.transparent) -# self.display_text.setPixmap(self.transparent) +# self.displayText.setPixmap(self.transparent) #self.frameView(self.transparent) # To display or not to display? if not self.screen[u'primary']: @@ -277,25 +284,30 @@ class MainDisplay(DisplayWidget): self.scene.setSceneRect(0,0,self.size().width(), self.size().height()) self.setScene(self.scene) - def setupImage(self): + def setupVideo(self): self.webView = QtWebKit.QWebView() self.page = self.webView.page() - self.imageDisplay = self.page.mainFrame() - self.imageDisplay.setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff) - self.imageDisplay.setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff) + self.videoDisplay = self.page.mainFrame() + self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff) + self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff) self.proxy = QtGui.QGraphicsProxyWidget() self.proxy.setWidget(self.webView) self.proxy.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.FramelessWindowHint) - self.proxy.setZValue(2) + self.proxy.setZValue(1) self.scene.addItem(self.proxy) + def setupImage(self): + self.imageDisplay = QtGui.QGraphicsPixmapItem() + self.imageDisplay.setZValue(2) + self.scene.addItem(self.imageDisplay) + def setupText(self): - #self.display_text = QtGui.QGraphicsTextItem() - self.display_text = QtGui.QGraphicsPixmapItem() - #self.display_text.setPos(0,0) - #self.display_text.setTextWidth(self.size().width()) - self.display_text.setZValue(4) - self.scene.addItem(self.display_text) + #self.displayText = QtGui.QGraphicsTextItem() + self.displayText = QtGui.QGraphicsPixmapItem() + #self.displayText.setPos(0,0) + #self.displayText.setTextWidth(self.size().width()) + self.displayText.setZValue(4) + self.scene.addItem(self.displayText) def setupAlert(self): self.alertText = QtGui.QGraphicsTextItem() @@ -304,9 +316,9 @@ class MainDisplay(DisplayWidget): self.scene.addItem(self.alertText) def setupBlank(self): - self.display_blank = QtGui.QGraphicsPixmapItem() - self.display_blank.setZValue(10) - self.scene.addItem(self.display_blank) + self.displayBlank = QtGui.QGraphicsPixmapItem() + self.displayBlank.setZValue(10) + self.scene.addItem(self.displayBlank) def resetDisplay(self): log.debug(u'resetDisplay') @@ -328,19 +340,19 @@ class MainDisplay(DisplayWidget): Store the images so they can be replaced when required """ log.debug(u'hideDisplay mode = %d', mode) - #self.display_text.setPixmap(self.transparent) + #self.displayText.setPixmap(self.transparent) if mode == HideMode.Screen: #self.display_image.setPixmap(self.transparent) self.setVisible(False) elif mode == HideMode.Blank: - self.display_blank.setPixmap( + self.displayBlank.setPixmap( QtGui.QPixmap.fromImage(self.blankFrame)) else: if self.parent.renderManager.renderer.bg_frame: - self.display_blank.setPixmap(QtGui.QPixmap.fromImage( + self.displayBlank.setPixmap(QtGui.QPixmap.fromImage( self.parent.renderManager.renderer.bg_frame)) else: - self.display_blank.setPixmap( + self.displayBlank.setPixmap( QtGui.QPixmap.fromImage(self.blankFrame)) def showDisplay(self, message=u''): @@ -350,7 +362,7 @@ class MainDisplay(DisplayWidget): Make the stored images None to release memory. """ log.debug(u'showDisplay') - self.display_blank.setPixmap(self.transparent) + self.displayBlank.setPixmap(self.transparent) #Trigger actions when display is active again Receiver.send_message(u'maindisplay_active') @@ -358,7 +370,8 @@ class MainDisplay(DisplayWidget): log.debug(u'addImageWithText') frame = resize_image( frame, self.screen[u'size'].width(), self.screen[u'size'].height()) - self.display_image.setPixmap(QtGui.QPixmap.fromImage(frame)) + self.imageDisplay.setPixmap(QtGui.QPixmap.fromImage(frame)) + self.videoDisplay.setHtml(u'') def addAlert(self, message, location): """ @@ -378,14 +391,18 @@ class MainDisplay(DisplayWidget): self.alertText.setPos(0,self.size().height() - 76) self.alertText.setHtml(message) - def displayImage(self, path): + def displayImage(self, frame): """ Places the Image passed on the display screen - ``path`` - The path to the image to be displayed + ``frame`` + The image to be displayed """ log.debug(u'adddisplayImage') - self.imageDisplay.setHtml(HTMLIMAGE % path) + if isinstance(frame, QtGui.QImage): + self.imageDisplay.setPixmap(QtGui.QPixmap.fromImage(frame)) + else: + self.imageDisplay.setPixmap(frame) + self.videoDisplay.setHtml(u'') def displayVideo(self, path): """ @@ -394,7 +411,8 @@ class MainDisplay(DisplayWidget): The path to the image to be displayed """ log.debug(u'adddisplayVideo') - self.imageDisplay.setHtml(HTMLVIDEO % + self.displayImage(self.transparent) + self.videoDisplay.setHtml(HTMLVIDEO % (path, self.screen[u'size'].width(), self.screen[u'size'].height())) def frameView(self, frame, transition=False): @@ -409,42 +427,29 @@ class MainDisplay(DisplayWidget): log.debug(u'frameView') if transition: if self.frame is not None: - self.display_text.setPixmap( + self.displayText.setPixmap( QtGui.QPixmap.fromImage(self.frame)) - self.update() + self.repaint() + Receiver.send_message(u'openlp_process_events') + time.sleep(0.1) self.frame = None if frame[u'trans'] is not None: - self.display_text.setPixmap( + self.displayText.setPixmap( QtGui.QPixmap.fromImage(frame[u'trans'])) self.repaint() + Receiver.send_message(u'openlp_process_events') + time.sleep(0.1) self.frame = frame[u'trans'] - self.display_text.setPixmap( + self.displayText.setPixmap( QtGui.QPixmap.fromImage(frame[u'main'])) - self.display_frame = frame[u'main'] - self.repaint() else: if isinstance(frame, QtGui.QPixmap): - self.display_text.setPixmap(frame) + self.displayText.setPixmap(frame) else: - self.display_text.setPixmap(QtGui.QPixmap.fromImage(frame)) - self.display_frame = frame + self.displayText.setPixmap(QtGui.QPixmap.fromImage(frame)) if not self.isVisible() and self.screens.display: self.setVisible(True) - def closeEvent(self, event): - """ - Shutting down cleans up background files - """ - serviceItemPath = AppLocation.get_section_data_path(u'serviceItems') - for file in os.listdir(serviceItemPath): - file_path = os.path.join(serviceItemPath, file) - try: - if os.path.isfile(file_path): - os.remove(file_path) - except OSError: - log.exception(u'Failed to clean up servicePath') - - class VideoDisplay(Phonon.VideoWidget): """ This is the form that is used to display videos on the projector. diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index f4d573d20..3f392655d 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -580,7 +580,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.plugin_helpers[u'service'] = self.ServiceManagerContents self.plugin_helpers[u'settings form'] = self.settingsForm self.plugin_helpers[u'toolbox'] = self.mediaDockManager - self.plugin_helpers[u'maindisplay'] = self.displayManager.mainDisplay + self.plugin_helpers[u'displaymanager'] = self.displayManager + self.plugin_helpers[u'pluginmanager'] = self.plugin_manager self.plugin_manager.find_plugins(pluginpath, self.plugin_helpers) # hook methods have to happen after find_plugins. Find plugins needs # the controllers hence the hooks have moved from setupUI() to here diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 5a34d09f8..8f9242764 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -785,7 +785,7 @@ class SlideController(QtGui.QWidget): if self.serviceItem.is_text(): self.mainDisplay.frameView(frame, True) else: - self.displayManager.displayImage(frame[u'display']) + self.displayManager.displayImage(frame[u'main']) self.selectedRow = row Receiver.send_message(u'slidecontroller_%s_changed' % self.typePrefix, row) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 46d4e8cb7..c6c3593f4 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -73,7 +73,7 @@ class alertsPlugin(Plugin): self.toolsAlertItem.setStatusTip( translate('AlertsPlugin', 'Show an alert message')) self.toolsAlertItem.setShortcut(u'F7') - self.service_manager.parent.ToolsMenu.addAction(self.toolsAlertItem) + self.serviceManager.parent.ToolsMenu.addAction(self.toolsAlertItem) QtCore.QObject.connect(self.toolsAlertItem, QtCore.SIGNAL(u'triggered()'), self.onAlertsTrigger) self.toolsAlertItem.setVisible(False) @@ -85,8 +85,8 @@ class alertsPlugin(Plugin): def finalise(self): log.info(u'Plugin Finalise') + Plugin.finalise(self) self.toolsAlertItem.setVisible(False) - #stop any events being processed def togglealertsState(self): self.alertsActive = not self.alertsActive diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index b891b14ad..9f4f034ab 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -48,14 +48,12 @@ class BiblePlugin(Plugin): if self.manager is None: self.manager = BibleManager(self) Plugin.initialise(self) - self.insert_toolbox_item() self.ImportBibleItem.setVisible(True) self.ExportBibleItem.setVisible(True) def finalise(self): log.info(u'Plugin Finalise') Plugin.finalise(self) - self.remove_toolbox_item() self.ImportBibleItem.setVisible(False) self.ExportBibleItem.setVisible(False) diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py index e65205351..60a0b312c 100644 --- a/openlp/plugins/custom/customplugin.py +++ b/openlp/plugins/custom/customplugin.py @@ -60,15 +60,6 @@ class CustomPlugin(Plugin): # Create the CustomManagerItem object return CustomMediaItem(self, self.icon, self.name) - def initialise(self): - log.info(u'Plugin Initialising') - Plugin.initialise(self) - self.insert_toolbox_item() - - def finalise(self): - log.info(u'Plugin Finalise') - self.remove_toolbox_item() - def about(self): about_text = translate('CustomPlugin', 'Custom Plugin
This plugin ' diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index f2ac04c1b..8f4cf6a7f 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -141,7 +141,7 @@ class CustomMediaItem(MediaManagerItem): id_list = [(item.data(QtCore.Qt.UserRole)).toInt()[0] for item in self.ListView.selectedIndexes()] for id in id_list: - self.parent.custommanager.delete_custom(id) + self.parent.custommanager.delete_object(CustomSlide, id) for row in row_list: self.ListView.takeItem(row) diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py index 9ebaa128f..be3863bda 100644 --- a/openlp/plugins/images/imageplugin.py +++ b/openlp/plugins/images/imageplugin.py @@ -39,15 +39,6 @@ class ImagePlugin(Plugin): self.icon = build_icon(u':/plugins/plugin_images.png') self.status = PluginStatus.Active - def initialise(self): - log.info(u'Plugin Initialising') - Plugin.initialise(self) - self.insert_toolbox_item() - - def finalise(self): - log.info(u'Plugin Finalise') - self.remove_toolbox_item() - def get_settings_tab(self): return ImageTab(self.name) diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index ee7a22106..a7f8ae73c 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -173,11 +173,12 @@ class ImageMediaItem(MediaManagerItem): if check_item_selected(self.ListView, translate('ImagePlugin.MediaItem', 'You must select an item to process.')): - item = self.buildServiceItem() - item.render() - self.parent.live_controller.displayManager. \ - displayImage(item.get_rendered_frame(0)[u'display']) - + items = self.ListView.selectedIndexes() + for item in items: + bitem = self.ListView.item(item.row()) + filename = unicode(bitem.data(QtCore.Qt.UserRole).toString()) + frame = QtGui.QImage(unicode(filename)) + self.parent.displayManager.displayImageWithText(frame) def onPreviewClick(self): MediaManagerItem.onPreviewClick(self) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 10c398912..a5fca6c12 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -101,22 +101,13 @@ class MediaMediaItem(MediaManagerItem): self.PageLayout.addWidget(self.ImageWidget) def onReplaceClick(self): -# if self.background: -# self.background = False -# Receiver.send_message(u'videodisplay_stop') -# else: -# self.background = True + if check_item_selected(self.ListView, translate('ImagePlugin.MediaItem', 'You must select an item to process.')): item = self.ListView.currentItem() filename = unicode(item.data(QtCore.Qt.UserRole).toString()) - self.parent.live_controller.displayManager.displayVideo(filename) -# items = self.ListView.selectedIndexes() -# for item in items: -# bitem = self.ListView.item(item.row()) -# filename = unicode(bitem.data(QtCore.Qt.UserRole).toString()) -# Receiver.send_message(u'videodisplay_background', filename) + self.parent.displayManager.displayVideo(filename) def generateSlideData(self, service_item, item=None): if item is None: diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 33261f1e2..70f88ab50 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -63,19 +63,10 @@ class MediaPlugin(Plugin): if len(value) == 2: if list.find(value[1]) == -1: list += u'*.%s ' % value[1] - self.service_manager.supportedSuffixes(value[1]) + self.serviceManager.supportedSuffixes(value[1]) type = u'' return list, type - def initialise(self): - log.info(u'Plugin Initialising') - Plugin.initialise(self) - self.insert_toolbox_item() - - def finalise(self): - log.info(u'Plugin Finalise') - self.remove_toolbox_item() - def get_media_manager_item(self): # Create the MediaManagerItem object return MediaMediaItem(self, self.icon, self.name) diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index ee50dd556..6f6d6fdb1 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -77,7 +77,7 @@ class PresentationMediaItem(MediaManagerItem): for type in types: if fileType.find(type) == -1: fileType += u'*%s ' % type - self.parent.service_manager.supportedSuffixes(type) + self.parent.serviceManager.supportedSuffixes(type) self.OnNewFileMasks = translate('PresentationPlugin.MediaItem', 'Presentations (%s)' % fileType) diff --git a/openlp/plugins/presentations/lib/pptviewcontroller.py b/openlp/plugins/presentations/lib/pptviewcontroller.py index 10ab41fd0..2c108333c 100644 --- a/openlp/plugins/presentations/lib/pptviewcontroller.py +++ b/openlp/plugins/presentations/lib/pptviewcontroller.py @@ -27,7 +27,7 @@ import os import logging if os.name == u'nt': - from ctypes import * + from ctypes import cdll from ctypes.wintypes import RECT from presentationcontroller import PresentationController, PresentationDocument @@ -79,8 +79,9 @@ class PptviewController(PresentationController): if self.process: return log.debug(u'start PPTView') - self.process = cdll.LoadLibrary( - r'openlp\plugins\presentations\lib\pptviewlib\pptviewlib.dll') + dllpath = os.path.join(self.plugin.pluginManager.basepath, + u'presentations', u'lib', u'pptviewlib', u'pptviewlib.dll') + self.process = cdll.LoadLibrary(dllpath) #self.process.SetDebug(1) def kill(self): @@ -118,7 +119,7 @@ class PptviewDocument(PresentationDocument): log.debug(u'LoadPresentation') #if self.pptid >= 0: # self.close_presentation() - rendermanager = self.controller.plugin.render_manager + rendermanager = self.controller.plugin.renderManager rect = rendermanager.screens.current[u'size'] rect = RECT(rect.x(), rect.y(), rect.right(), rect.bottom()) filepath = str(self.filepath.replace(u'/', u'\\')) diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index d92483b88..22c7c554e 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -64,7 +64,7 @@ class PresentationPlugin(Plugin): controller = self.controllers[key] if controller.enabled: controller.kill() - self.remove_toolbox_item() + Plugin.finalise(self) def get_media_manager_item(self): """ diff --git a/openlp/plugins/remotes/remoteplugin.py b/openlp/plugins/remotes/remoteplugin.py index fad7ecbe8..808714fb3 100644 --- a/openlp/plugins/remotes/remoteplugin.py +++ b/openlp/plugins/remotes/remoteplugin.py @@ -56,7 +56,7 @@ class RemotesPlugin(Plugin): Tidy up and close down the http server """ log.debug(u'finalise') - self.remove_toolbox_item() + Plugin.finalise(self) if self.server: self.server.close() diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 8c04bed0a..8c39a2fe8 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -88,7 +88,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): QtCore.SIGNAL(u'activated(int)'), self.onThemeComboChanged) QtCore.QObject.connect(self.ThemeAddButton, QtCore.SIGNAL(u'clicked()'), - self.parent.parent.render_manager.theme_manager.onAddTheme) + self.parent.parent.renderManager.theme_manager.onAddTheme) QtCore.QObject.connect(self.MaintenanceButton, QtCore.SIGNAL(u'clicked()'), self.onMaintenanceButtonClicked) QtCore.QObject.connect(Receiver.get_receiver(), diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 7ed30e5e0..4557f53fa 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -166,13 +166,13 @@ class SongMediaItem(MediaManagerItem): if search_type == 0: log.debug(u'Titles Search') search_results = self.parent.manager.get_all_objects_filtered(Song, - Song.search_title.like(u'%' + keywords + u'%'), + Song.search_title.like(u'%' + search_keywords + u'%'), Song.search_title.asc()) self.displayResultsSong(search_results) elif search_type == 1: log.debug(u'Lyrics Search') search_results = self.parent.manager.get_all_objects_filtered(Song, - Song.search_lyrics.like(u'%' + keywords + u'%'), + Song.search_lyrics.like(u'%' + search_keywords + u'%'), Song.search_lyrics.asc()) self.displayResultsSong(search_results) elif search_type == 2: @@ -371,7 +371,8 @@ class SongMediaItem(MediaManagerItem): author_list = author_list + unicode(author.display_name) author_audit.append(unicode(author.display_name)) if song.ccli_number is None or len(song.ccli_number) == 0: - ccli = self.parent.settings_form.GeneralTab.CCLINumber + ccli = QtCore.QSettings().value(u'general/ccli number', + QtCore.QVariant(u'')).toString() else: ccli = unicode(song.ccli_number) raw_footer.append(song.title) diff --git a/openlp/plugins/songs/lib/songxml.py b/openlp/plugins/songs/lib/songxml.py index c4683533d..e26a06e90 100644 --- a/openlp/plugins/songs/lib/songxml.py +++ b/openlp/plugins/songs/lib/songxml.py @@ -24,8 +24,8 @@ ############################################################################### import logging -import sys -import os +#import sys +#import os from types import ListType from xml.etree.ElementTree import ElementTree, XML diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index e2740748b..994c9884e 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -67,15 +67,9 @@ class SongsPlugin(Plugin): def initialise(self): log.info(u'Songs Initialising') Plugin.initialise(self) - self.insert_toolbox_item() - self.media_item.displayResultsSong( + self.mediaItem.displayResultsSong( self.manager.get_all_objects(Song, Song.title)) - def finalise(self): - log.info(u'Plugin Finalise') - Plugin.finalise(self) - self.remove_toolbox_item() - def get_media_manager_item(self): """ Create the MediaManagerItem object, which is displaed in the