Head r911

This commit is contained in:
Jon Tibble 2010-07-03 01:24:17 +01:00
commit 989ffb9fc5
23 changed files with 125 additions and 162 deletions

View File

@ -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

View File

@ -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):
"""

View File

@ -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):
"""

View File

@ -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):
"""

View File

@ -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'<html></html>')
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'<html></html>')
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.

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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',
'<b>Custom Plugin</b><br>This plugin '

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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:

View File

@ -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)

View File

@ -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)

View File

@ -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'\\'))

View File

@ -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):
"""

View File

@ -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()

View File

@ -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(),

View File

@ -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)

View File

@ -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

View File

@ -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