forked from openlp/openlp
Move to properties
This commit is contained in:
parent
5051b9a177
commit
f759191614
@ -43,7 +43,7 @@ from traceback import format_exception
|
|||||||
|
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
from openlp.core.lib import Receiver, Settings, check_directory_exists, Kernel
|
from openlp.core.lib import Receiver, Settings, check_directory_exists, Registry
|
||||||
from openlp.core.lib.ui import UiStrings
|
from openlp.core.lib.ui import UiStrings
|
||||||
from openlp.core.resources import qInitResources
|
from openlp.core.resources import qInitResources
|
||||||
from openlp.core.ui.mainwindow import MainWindow
|
from openlp.core.ui.mainwindow import MainWindow
|
||||||
@ -288,7 +288,7 @@ def main(args=None):
|
|||||||
portable_settings.sync()
|
portable_settings.sync()
|
||||||
else:
|
else:
|
||||||
app.setApplicationName(u'OpenLP')
|
app.setApplicationName(u'OpenLP')
|
||||||
kernel = Kernel.create()
|
registry = Registry.create()
|
||||||
app.setApplicationVersion(get_application_version()[u'version'])
|
app.setApplicationVersion(get_application_version()[u'version'])
|
||||||
# Instance check
|
# Instance check
|
||||||
if not options.testing:
|
if not options.testing:
|
||||||
|
@ -458,7 +458,7 @@ def create_separated_list(stringlist):
|
|||||||
u'Locale list separator: start') % (stringlist[0], merged)
|
u'Locale list separator: start') % (stringlist[0], merged)
|
||||||
|
|
||||||
|
|
||||||
from kernel import Kernel
|
from registry import Registry
|
||||||
from eventreceiver import Receiver
|
from eventreceiver import Receiver
|
||||||
from listwidgetwithdnd import ListWidgetWithDnD
|
from listwidgetwithdnd import ListWidgetWithDnD
|
||||||
from formattingtags import FormattingTags
|
from formattingtags import FormattingTags
|
||||||
|
@ -1,78 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# OpenLP - Open Source Lyrics Projection #
|
|
||||||
# --------------------------------------------------------------------------- #
|
|
||||||
# Copyright (c) 2008-2013 Raoul Snyman #
|
|
||||||
# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan #
|
|
||||||
# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub, #
|
|
||||||
# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer. #
|
|
||||||
# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru, #
|
|
||||||
# Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #
|
|
||||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Dave Warnock, #
|
|
||||||
# Frode Woldsund, Martin Zibricky, Patrick Zimmermann #
|
|
||||||
# --------------------------------------------------------------------------- #
|
|
||||||
# This program is free software; you can redistribute it and/or modify it #
|
|
||||||
# under the terms of the GNU General Public License as published by the Free #
|
|
||||||
# Software Foundation; version 2 of the License. #
|
|
||||||
# #
|
|
||||||
# This program is distributed in the hope that it will be useful, but WITHOUT #
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
|
|
||||||
# more details. #
|
|
||||||
# #
|
|
||||||
# You should have received a copy of the GNU General Public License along #
|
|
||||||
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
|
|
||||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
|
||||||
###############################################################################
|
|
||||||
"""
|
|
||||||
Provide plugin management
|
|
||||||
"""
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import logging
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
class Kernel(object):
|
|
||||||
"""
|
|
||||||
This is the Plugin manager, which loads all the plugins,
|
|
||||||
and executes all the hooks, as and when necessary.
|
|
||||||
"""
|
|
||||||
log.info(u'Kernel loaded')
|
|
||||||
__instance__ = None
|
|
||||||
|
|
||||||
|
|
||||||
def __new__(cls):
|
|
||||||
if not cls.__instance__:
|
|
||||||
cls.__instance__ = object.__new__(cls)
|
|
||||||
return cls.__instance__
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def create(self):
|
|
||||||
"""
|
|
||||||
The constructor for the plugin manager. Passes the controllers on to
|
|
||||||
the plugins for them to interact with via their ServiceItems.
|
|
||||||
|
|
||||||
``plugin_dir``
|
|
||||||
The directory to search for plugins.
|
|
||||||
"""
|
|
||||||
log.info(u'Kernel Initialising')
|
|
||||||
self.service_list = {}
|
|
||||||
|
|
||||||
def get(self, key):
|
|
||||||
if key in self.service_list:
|
|
||||||
return self.service_list[key]
|
|
||||||
else:
|
|
||||||
log.error(u'Service %s not found in list' % key)
|
|
||||||
return None
|
|
||||||
|
|
||||||
def register(self, key, reference):
|
|
||||||
print "register"
|
|
||||||
if key in self.service_list:
|
|
||||||
log.error(u'Duplicate service exception %s' % key)
|
|
||||||
raise Exception(u'Duplicate service exception %s' % key)
|
|
||||||
else:
|
|
||||||
self.service_list[key] = reference
|
|
||||||
print self.service_list
|
|
@ -32,7 +32,7 @@ import logging
|
|||||||
from PyQt4 import QtGui, QtCore, QtWebKit
|
from PyQt4 import QtGui, QtCore, QtWebKit
|
||||||
|
|
||||||
from openlp.core.lib import ServiceItem, expand_tags, build_lyrics_format_css, build_lyrics_outline_css, Receiver, \
|
from openlp.core.lib import ServiceItem, expand_tags, build_lyrics_format_css, build_lyrics_outline_css, Receiver, \
|
||||||
ItemCapabilities, FormattingTags, ImageSource, Kernel
|
ItemCapabilities, FormattingTags, ImageSource, Registry
|
||||||
from openlp.core.lib.theme import ThemeLevel
|
from openlp.core.lib.theme import ThemeLevel
|
||||||
from openlp.core.ui import MainDisplay, ScreenList
|
from openlp.core.ui import MainDisplay, ScreenList
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ class Renderer(object):
|
|||||||
self.theme_manager = theme_manager
|
self.theme_manager = theme_manager
|
||||||
self.image_manager = image_manager
|
self.image_manager = image_manager
|
||||||
self.screens = ScreenList()
|
self.screens = ScreenList()
|
||||||
Kernel().register(u'renderer', self)
|
Registry().register(u'renderer', self)
|
||||||
self.theme_level = ThemeLevel.Global
|
self.theme_level = ThemeLevel.Global
|
||||||
self.global_theme_name = u''
|
self.global_theme_name = u''
|
||||||
self.service_theme_name = u''
|
self.service_theme_name = u''
|
||||||
|
@ -39,7 +39,7 @@ import uuid
|
|||||||
|
|
||||||
from PyQt4 import QtGui
|
from PyQt4 import QtGui
|
||||||
|
|
||||||
from openlp.core.lib import build_icon, clean_tags, expand_tags, translate, ImageSource, Settings, Kernel
|
from openlp.core.lib import build_icon, clean_tags, expand_tags, translate, ImageSource, Settings, Registry
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -240,13 +240,11 @@ class ServiceItem(object):
|
|||||||
for the theme manager.
|
for the theme manager.
|
||||||
"""
|
"""
|
||||||
log.debug(u'Render called')
|
log.debug(u'Render called')
|
||||||
renderer = Kernel().get(u'renderer')
|
|
||||||
print renderer
|
|
||||||
self._display_frames = []
|
self._display_frames = []
|
||||||
self.bg_image_bytes = None
|
self.bg_image_bytes = None
|
||||||
if not provides_own_theme_data:
|
if not provides_own_theme_data:
|
||||||
renderer.set_item_theme(self.theme)
|
self.renderer.set_item_theme(self.theme)
|
||||||
self.themedata, self.main, self.footer = renderer.pre_render()
|
self.themedata, self.main, self.footer = self.renderer.pre_render()
|
||||||
if self.service_item_type == ServiceItemType.Text:
|
if self.service_item_type == ServiceItemType.Text:
|
||||||
log.debug(u'Formatting slides: %s' % self.title)
|
log.debug(u'Formatting slides: %s' % self.title)
|
||||||
# Save rendered pages to this dict. In the case that a slide is used
|
# Save rendered pages to this dict. In the case that a slide is used
|
||||||
@ -258,7 +256,7 @@ class ServiceItem(object):
|
|||||||
if verse_tag in previous_pages and previous_pages[verse_tag][0] == slide[u'raw_slide']:
|
if verse_tag in previous_pages and previous_pages[verse_tag][0] == slide[u'raw_slide']:
|
||||||
pages = previous_pages[verse_tag][1]
|
pages = previous_pages[verse_tag][1]
|
||||||
else:
|
else:
|
||||||
pages = renderer.format_slide(slide[u'raw_slide'], self)
|
pages = self.renderer.format_slide(slide[u'raw_slide'], self)
|
||||||
previous_pages[verse_tag] = (slide[u'raw_slide'], pages)
|
previous_pages[verse_tag] = (slide[u'raw_slide'], pages)
|
||||||
for page in pages:
|
for page in pages:
|
||||||
page = page.replace(u'<br>', u'{br}')
|
page = page.replace(u'<br>', u'{br}')
|
||||||
@ -646,3 +644,10 @@ class ServiceItem(object):
|
|||||||
type = frame[u'title'].split(u'.')[-1]
|
type = frame[u'title'].split(u'.')[-1]
|
||||||
if type.lower() not in suffix_list:
|
if type.lower() not in suffix_list:
|
||||||
self.is_valid = False
|
self.is_valid = False
|
||||||
|
|
||||||
|
def _get_renderer(self):
|
||||||
|
if not self._renderer:
|
||||||
|
self._renderer = Registry().get(u'renderer')
|
||||||
|
return self._renderer
|
||||||
|
|
||||||
|
renderer = property(_get_renderer)
|
Loading…
Reference in New Issue
Block a user