2009-03-07 09:20:26 +00:00
# -*- coding: utf-8 -*-
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
2009-09-08 19:58:05 +00:00
###############################################################################
# OpenLP - Open Source Lyrics Projection #
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2009 Raoul Snyman #
# Portions copyright (c) 2008-2009 Martin Thompson, Tim Bentley, Carsten #
# Tinggaard, Jon Tibble, Jonathan Corwin, Maikel Stuivenberg, Scott Guerrieri #
# --------------------------------------------------------------------------- #
# 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 #
###############################################################################
2009-03-07 09:20:26 +00:00
import logging
from forms import EditCustomForm
2009-09-29 02:54:32 +00:00
from openlp . core . lib import Plugin , buildIcon
2009-09-11 04:54:22 +00:00
from openlp . plugins . custom . lib import CustomManager , CustomMediaItem
2009-03-07 09:20:26 +00:00
2009-04-07 19:03:36 +00:00
2009-03-12 19:52:37 +00:00
class CustomPlugin ( Plugin ) :
2009-09-11 04:54:22 +00:00
"""
This plugin enables the user to create , edit and display
custom slide shows . Custom shows are divided into slides .
Each show is able to have it ' s own theme.
Custom shows are designed to replace the use of songs where
the songs plugin has become restrictive . Examples could be
Welcome slides , Bible Reading information , Orders of service .
"""
2009-03-07 09:20:26 +00:00
global log
2009-09-28 20:45:04 +00:00
log = logging . getLogger ( u ' CustomPlugin ' )
2009-03-15 19:31:33 +00:00
log . info ( u ' Custom Plugin loaded ' )
2009-04-07 19:03:36 +00:00
2009-03-22 07:13:34 +00:00
def __init__ ( self , plugin_helpers ) :
2009-03-07 09:20:26 +00:00
# Call the parent constructor
2009-03-25 20:30:48 +00:00
Plugin . __init__ ( self , u ' Custom ' , u ' 1.9.0 ' , plugin_helpers )
2009-03-07 09:20:26 +00:00
self . weight = - 5
self . custommanager = CustomManager ( self . config )
2009-03-25 20:30:48 +00:00
self . edit_custom_form = EditCustomForm ( self . custommanager )
2009-03-07 09:20:26 +00:00
# Create the plugin icon
2009-09-29 02:54:32 +00:00
self . icon = buildIcon ( u ' :/media/media_custom.png ' )
2009-03-07 09:20:26 +00:00
def get_media_manager_item ( self ) :
2009-03-15 19:31:33 +00:00
# Create the CustomManagerItem object
2009-10-03 13:08:18 +00:00
return CustomMediaItem ( self , self . icon , u ' Custom Slides ' )
2009-10-01 16:56:42 +00:00
def about ( self ) :
return u ' <b>Custom Plugin</b> <br>This plugin allows slides to be displayed on the screen in the same way songs are. The difference between this plugin and songs is this plugin provides greater freedom.<br><br>This is a core plugin and cannot be made inactive</b> '