Merge from trunk

This commit is contained in:
Matthias Hub 2011-03-10 02:18:14 +01:00
commit 4dc0c331da
324 changed files with 62637 additions and 37012 deletions

View File

@ -4,13 +4,11 @@ recursive-include openlp *.csv
recursive-include openlp *.html
recursive-include openlp *.js
recursive-include openlp *.css
recursive-include openlp *.qm
recursive-include openlp *.png
recursive-include documentation *
recursive-include resources/forms *
recursive-include resources/i18n *
recursive-include resources/images *
recursive-include scripts *.py
include resources/*.desktop
recursive-include resources *
recursive-include scripts *
include copyright.txt
include LICENSE
include README.txt
include openlp/.version

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -17,3 +17,9 @@ Helper Classes & Functions
.. automodule:: openlp.plugins.remotes.lib
:members:
.. autoclass:: openlp.plugins.remotes.lib.httpserver.HttpConnection
:members:
.. autoclass:: openlp.plugins.remotes.lib.httpserver.HttpResponse
:members:

View File

@ -0,0 +1,180 @@
======
Bibles
======
Managing Bibles in OpenLP is a relatively simple process. There are also
converters provided to get data from other formats into OpenLP.
Bible Importer
==============
If you are using an earlier version of OpenLP or, come from another software
package, you may be able to convert your existing database to work in OpenLP
2.0. To access the Bible Importer :menuselection:`File --> Import --> Bible`.
You may also enter the Bible Importer by clicking the :guilabel:`Import Icon:`
.. image:: pics/themeimportexport.png
You will see the Bible Importer window, click :guilabel:`Next`.
.. image:: pics/bibleimport01.png
After clicking :guilabel:`Next` you can select from the various types of
software that OpenLP will convert Bibles from.
.. image:: pics/bibleimport02.png
Click on the file folder icon to choose the file of the Bible database you
want to import. See the following sections for information on the different
formats that OpenLP will import.
Importing from OpenLP Version 1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Converting from OpenLP Version 1 is a simple process. First you will need to
locate your Version 1 Bibles.
Windows XP::
C:\Documents and Settings\All Users\Application Data\openlp.org\Data\Bibles\
Windows Vista / Windows 7::
C:\ProgramData\openlp.org\Data\Bibles\
OpenLP Version 1 Bibles have the `.bible` file extension. After selecting
all of the OpenLP Version 1 Bibles you want to convert, click :guilabel:`Next`
.. image:: pics/bibleimportdetails1.png
Enter your Bible name and copyright details. Click :guilabel:`Next`. It may
take some time to convert your Bibles so please be patient.
.. image:: pics/bibleimportfinished1.png
When the import has finished click :guilabel:`Finish` and you should be
ready to use your OpenLP Version 1 Bibles.
Importing OSIS Bibles
^^^^^^^^^^^^^^^^^^^^^
**About OSIS Formatted Bibles**
OSIS is a format intended to provide a common format for Bibles. More
information can be found out here: http://www.bibletechnologies.net/
If you have any software installed that is part of the Sword Project
http://www.crosswire.org/sword/index.jsp it can be easily converted.
Importing OSIS files is very simple. Select your OSIS Bible file and click
:guilabel:`Next`
.. image:: pics/bibleimportdetails1.png
Enter you Bible name and copyright details. Click :guilabel:`Next`. It may take
some time to convert your Bibles so please be patient.
.. image:: pics/bibleimportfinished1.png
Click :guilabel:`Finish` and you should be ready to use your OpenLP Version
1 Bibles.
You can use the commands below convert Bibles from that software to OSIS format.
The following commands are used in all platforms and the commands are case
sensitive across all platforms. To convert a Bible using Command Prompt in
Windows or a Terminal in Linux or MAC you would type::
mod2osis biblename > biblename.osis
For example: if I wanted to convert a King James Version Bible I would type
something similar to this::
mod2osis KJV > kjv.osis
You may also wish to dictate a file location for the conversion to place the
osis file for example::
mod2osis KJV > /home/user/bibles/kjv.osis
Importing OpenSong Bibles
^^^^^^^^^^^^^^^^^^^^^^^^^
Converting from OpenSong you will need to locate your bibles database. In the
later versions of OpenSong you are asked to define the location of this. The
songs will be located in a folder named :guilabel:`Bibles`. This folder should
contain files with all your bibles in them without a file extension. (file.xmms).
When you have located this folder you will need to select the bible from the
folder.
You may also import downloaded bibles from OpenSong. The process is the same,
except you will need to extract the bible from a zip file. This is usually done
by right clicking on the downloaded file and select `Extract` or `Extract Here`.
After selecting the OpenSong Bibles you want to convert, click :guilabel:`Next`
.. image:: pics/bibleimportdetails1.png
Enter your Bible name and copyright details. Click :guilabel:`Next`. It may
take some time to convert your Bibles so please be patient.
.. image:: pics/bibleimportfinished1.png
When the import has finished then click :guilabel:`Finish` and you should now be
ready to use your OpenSong Bibles.
Importing Web Download Bibles
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**About Web Download**
OpenLP provides a Web Download method to import Bibles when you do not have a
locally installed Bible available. The Web Download method registers the Bible
in OpenLP like the other bibles only it downloads the verses as you need them.
This import is not meant to be used as your sole source for Bibles, but rather
as another option and does require an internet connection.
To use the web download feature select web download from the import wizard.
.. image:: pics/bibleimport01.png
You can select from several options of location to download from and also
what Bible translation you need. You will probably want to choose the location
from where you get the best performance or has the translation you need.
.. image:: pics/webbible1.png
You can also select a proxy server if needed from the `Proxy Server` tab. Your
network administrator will know if this is necessary, in most cases this will
not be needed.
.. image:: pics/webbibleproxy1.png
After selecting your download location and the Bible you wish to use, click
:guilabel:`Next` When your import is completed click :guilabel:`Finish`
.. image:: pics/biblewebcomplete.png
You should now be ready to use the web bible.
Importing CSV formatted Bibles
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you have a Bible in .csv format OpenLP can import it. CSV Bibles will
consist of two files a `books` file and a `verse` file.
Select CSV from the list of Bible types to import.
.. image:: pics/bibleimport02.png
You are now ready to select your .csv files. You will need to select both your
books and verse file location.
.. image:: pics/csvimport1.png
After you have selected the file locations you can click :guilabel:`Next`
.. image:: pics/bibleimportfinished1.png
Click :guilabel:`Finish` and you should now be ready to use your imported CSV
Bible

View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
#
# OpenLP documentation build configuration file, created by
# sphinx-quickstart on Fri Jul 10 17:20:40 2009.
# sphinx-quickstart on Thu Sep 30 21:24:54 2010.
#
# This file is execfile()d with the current directory set to its containing dir.
#
@ -11,19 +11,22 @@
# All configuration values have a default; values that are commented out
# serve to show the default.
import os
import sys
import os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath(os.path.join('..', '..')))
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
#extensions = ['sphinx.ext.autodoc']
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
@ -32,14 +35,14 @@ templates_path = ['_templates']
source_suffix = '.rst'
# The encoding of source files.
source_encoding = 'utf-8'
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'OpenLP'
copyright = u'2004-2010 Raoul Snyman'
copyright = u'2010, Raoul Snyman'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@ -48,7 +51,7 @@ copyright = u'2004-2010 Raoul Snyman'
# The short X.Y version.
version = '2.0'
# The full version, including alpha/beta/rc tags.
release = '1.9.5'
release = '2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@ -60,12 +63,9 @@ release = '1.9.5'
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# List of documents that shouldn't be included in the build.
#unused_docs = []
# List of directories, relative to source directory, that shouldn't be searched
# for source files.
exclude_trees = []
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
@ -75,7 +75,7 @@ exclude_trees = []
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
add_module_names = False
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
@ -90,42 +90,33 @@ pygments_style = 'sphinx'
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. Major themes that come with
# Sphinx are currently 'default' and 'sphinxdoc'.
#html_theme = 'openlp_qthelp'
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
if html_theme == 'default':
html_theme_options = {
'sidebarbgcolor': '#3a60a9',
'relbarbgcolor': '#203b6f',
'footerbgcolor': '#26437c',
'headtextcolor': '#203b6f',
'linkcolor': '#26437c',
'sidebarlinkcolor': '#ceceff'
}
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = [u'../themes']
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
html_title = u'OpenLP 2.0 User Manual'
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
html_logo = 'pics/logo.png'
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
html_favicon = 'pics/openlp.ico'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
@ -148,7 +139,7 @@ html_static_path = ['_static']
#html_additional_pages = {}
# If false, no module index is generated.
#html_use_modindex = True
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
@ -159,16 +150,22 @@ html_static_path = ['_static']
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'OpenLP-2.0-manual'
htmlhelp_basename = 'OpenLPdoc'
# -- Options for LaTeX output --------------------------------------------------
@ -182,8 +179,8 @@ htmlhelp_basename = 'OpenLP-2.0-manual'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'OpenLP.tex', u'OpenLP 2.0 User Manual',
u'Raoul Snyman', 'manual'),
('index', 'OpenLP.tex', u'OpenLP Documentation',
u'Wesley Stout', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
@ -194,6 +191,12 @@ latex_documents = [
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Additional stuff for the LaTeX preamble.
#latex_preamble = ''
@ -201,10 +204,14 @@ latex_documents = [
#latex_appendices = []
# If false, no module index is generated.
#latex_use_modindex = True
#latex_domain_indices = True
# A dictionary that contains LaTeX snippets that override those Sphinx usually
# puts into the generated .tex files.
latex_elements = {
'fontpkg': '\\usepackage{helvet}'
}
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'openlp', u'OpenLP Documentation',
[u'Wesley Stout'], 1)
]

View File

@ -0,0 +1,363 @@
==================
Configuring OpenLP
==================
OpenLP has many options you can configure to suit your needs. Most options are
self-explanatory and we will quickly review them.
To configure OpenLP, click on :menuselection:`Settings --> Configure OpenLP...`
The plugins you have activated will have configure options. If all the plugins
are activated there will be 9 tabs across the top you can configure.
General Tab
===========
.. image:: pics/configuregeneral.png
Monitors
^^^^^^^^
To select the monitor you want to display OpenLP on, click the drop-down box
and choose.
Display if a single screen
^^^^^^^^^^^^^^^^^^^^^^^^^^
When this box is selected, you will be able to see your display on a separate
window on the monitor you are using. Click the display and push the Esc key
on your keyboard to close the display window.
Application Startup
^^^^^^^^^^^^^^^^^^^
**Show blank screen warning:**
When this box is selected, you will get a warning when opening OpenLP that the
output display has been blanked. You may have blanked it and shut down the
program and this will warn you it is still blanked.
**Automatically open the last service:**
When this box is selected, OpenLP will remember the last service you were
working on when you closed the program.
**Show the splash screen:**
When this box it selected, the OpenLP logo will be displayed in the center of
the screen until the program opens. This is useful to know if the program is
opening.
Application Settings
^^^^^^^^^^^^^^^^^^^^
**Prompt to save before starting a new service**
When this box is selected, OpenLP will prompt you to save the service you are
working on before starting a new service.
**Automatically preview next item in service**
When this box is selected, the next item in the Service Manager will show in the
Preview pane.
**Slide loop delay**
This setting is the time delay in seconds if you want to continuously loop
images, verses, or lyrics. This control timer is also accessible on the "live
toolbar.
CCLI Details
^^^^^^^^^^^^
**CCLI number**
If you subscribe to CCLI, this box is for your License number. This number is
also displayed in the Song Footer box.
Display Position
^^^^^^^^^^^^^^^^
This setting will default to your computer monitor. It will override the output
display combo box. If your projector display is different, select the Override
display position and make the changes here to match your projector display. This
option also comes in handy when you have the "Display if a single screen" box
selected. You can make the display smaller so it does not cover your whole
screen.
Themes Tab
==========
.. image:: pics/configurethemes.png
Global Theme
^^^^^^^^^^^^
Choose the theme you would like to use as your default global theme from the
drop down box. The theme selected appears below. The global theme use is
determined by the Theme Level you have selected.
Theme Level
^^^^^^^^^^^
Choose from one of three options for the default use of your theme.
**Song Level:**
With this level selected, your theme is associated with the song. The theme is
controlled by adding or editing a song in the Song editor and your song theme
takes priority. If your song does not have a theme associated with it, OpenLP
will use the theme set in the Service Manager.
**Service Level:**
With this level selected, your theme is controlled at the top of the Service
Manager. Select your default service theme there. This setting will override
your Song theme.
**Global Level:**
With this level selected, all songs and verses will use the theme selected on
the left in the Global Theme drop down.
Advanced Tab
============
.. image:: pics/configureadvanced.png
UI Settings (user interface)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**Number of recent files to display:**
Set this number for OpenLP to remember your last files open. These will show
under File.
**Remember active media manager tab on startup:**
With this box selected OpenLP media manager will open on the same tab that it
was closed on.
**Double-click to send items straight to live:**
With this box selected, double-clicking on anything in the Media Manager will
immediately send it live instead of to Preview.
**Expand new service items on creation:**
With this box selected, everything you add to the Service Manager will be
expanded so you can see all the verses, lyrics and presentations, line by line.
When you open OpenLP, everything will automatically be expanded in the Service
Manager.
Songs Tab
=========
.. image:: pics/configuresongs.png
Songs Mode
^^^^^^^^^^
**Enable search as you type:**
With this box selected, Media Manager/Songs will display the song you are
searching for as you are typing. If this box is not selected, you need to type
in your search box and then click on the Search button.
**Display verses on live tool bar:**
With this box selected, a Go To drop down box is available on the live toolbar
to select any part of the verse type you want displayed live.
**Update service from song edit:**
With this box selected and you edit a song in the media manager, the results
will also change the song if it is added to the Service Manager. If this box
is not selected, your song edit changes will only be available in the Service
Manager if you add it again.
**Add missing songs when opening service:**
With this box selected, when you open an order of service created on another
computer, or if one of the songs are no longer in your Media Manager, it will
automatically enter the song in your Songs Media Manager. If this box is not
checked, the song is available in the service but will not be added to the
Media Manager.
Bibles Tab
==========
.. image:: pics/configurebibles.png
Verse Display
^^^^^^^^^^^^^
**Only show new chapter numbers:**
With this box selected, the live display of the verse will only show the
chapter number and verse for the first verse, and just the verse numbers after
that. If the chapter changes, the new chapter number will be displayed with the
verse number for the first line, and only the verse number displayed thereafter.
**Display style:**
This option will put brackets around the chapter and verse numbers. You may
select No Brackets or your bracket style from the drop down menu.
**Layout style:**
There are three options to determine how your Bible verses are displayed.
`Verse Per Slide` will display one verse per slide.
`Verse Per Line` will start each verse on a new line until the slide is full.
`Continuous` will run all verses together separated by verse number and chapter
if chapter is selected to show above.
**Note: Changes do not affect verses already in the service.**
**Display second Bible verses:**
OpenLP has the ability to display the same verse in two different Bible
versions for comparison. With this option selected, there will be a Second
choice in the Bible Media Manager to use this option. Verses will display with
one verse per slide with the second Bible verse below.
**Bible theme:**
You may select your default Bible theme from this drop down box. This selected
theme will only be used if your `Theme Level` is set at `Song Level`.
**Note: Changes do not affect verses already in the service.**
Presentations Tab
=================
.. image:: pics/configurepresentations.png
Available Controllers
^^^^^^^^^^^^^^^^^^^^^
OpenLP has the ability to import OpenOffice Impress or Microsoft PowerPoint
presentations, and use Impress, PowerPoint, or PowerPoint Viewer to display
them and they are controlled from within OpenLP. Please remember that in order
to use this function, you must have Impress, PowerPoint or PowerPoint Viewer
installed on your computer because OpenLP uses these programs to open and run
the presentation. You may select your default controllers here in this tab.
Advanced
^^^^^^^^
**Allow presentation application to be overridden**
With this option selected, you will see `Present using` area with a dropdown
box on the Presentations toolbar in Media Manager which gives you the option
to select the presentation program you want to use.
Media Tab
=========
.. image:: pics/configuremedia.png
Media Display
^^^^^^^^^^^^^
**Use Phonon for video playback**
If you are having trouble displaying media, selecting this box could help.
Custom Tab:
===========
.. image:: pics/configurecustom.png
Custom Display
^^^^^^^^^^^^^^
**Display Footer**
With this option selected, your Custom slide Title will be displayed in the
footer.
**Note: If you have an entry in the Credits box of your custom slide, title and
credits will always be displayed.**
Alerts Tab
==========
.. image:: pics/configurealerts.png
Font
^^^^
**Font name:**
Choose your desired font from the drop down menu
**Font color:**
Choose your font color here.
**Background color:**
Choose the background color the font will be displayed on.
**Font size:**
This will adjust the size of the font.
**Alert timeout:**
This setting will determine how long your Alert will be displayed on the screen,
in seconds.
**Location:**
Choose the location where you want the alert displayed on the
screen, Top, Middle or Bottom.
**Preview:**
Your choices will be displayed here.
Remote Tab
===========
.. image:: pics/configureremotes.png
OpenLP gives you the ability to control your Service Manager from a remote
computer through a web browser. This was written actually for a nursery or day
care where a "come and get YYYY" message could be triggered remotely. It has
now become an interface to control the whole service remotely.
An example of one use for this would be if you have a missionary with a
PowerPoint presentation, it may be easier for that missionary to remotely
connect to your projection computer and change the slides when he wants to.
To use this feature you will need to be on a network, wired or wireless, know
the IP address of the projection computer and enter that IP address and port
number in the remote computer's web browser.
To find your projection computer's IP address for Windows, open Command Prompt
and type in “ipconfig” (without quotations), press Enter key and your IP
address will show. In Linux, open Terminal and type “ifconfig” (without
quotations), and use the IP address after “inet addr:” The IP address will
always have a format of xxx.xxx.xxx.xxx where x is one to three digits long.
Server Settings
^^^^^^^^^^^^^^^
Serve on IP address: Put your projection computer's IP address here.
Port Number
^^^^^^^^^^^
You can use the default port number or change it to another number.
With these two settings written down, open a web browser in the remote computer
and enter the IP address followed by a colon and then the port number, ie:
192.168.1.104:4316 then press enter. You should now have access to the OpenLP
Controller. If it does not come up, you either entered the wrong IP address,
port number or one or both computer's are not connected to the network.

View File

@ -4,11 +4,11 @@ Dual Monitor Setup
The first step in getting OpenLP working on your system is to setup your
computer properly for dual monitors. This is not very difficult, but the steps
do vary depending on operating system.
will vary depending on operating system.
Most modern computers do have the ability for dual monitors. To be certain
Most modern computers have the ability for dual monitors. To be certain,
check your computer's documentation. A typical desktop computer capable of dual
monitors will have two of, or a combination of the two connectors below.
monitors will have two of, or a combination of the two, connectors below.
**VGA**
@ -18,8 +18,8 @@ monitors will have two of, or a combination of the two connectors below.
.. image:: pics/dvi.png
A laptop computer setup only varies slightly, generally you will need only one
of outputs pictured above since your laptops screen serves as one of the
A laptop computer setup only varies slightly. Generally you will need only one
of the outputs pictured above since your laptop screen serves as one of the
monitors. Sometimes with older laptops a key stroke generally involving the
:kbd:`Fn` key and another key is required to enable the second monitor on
laptops.
@ -27,9 +27,10 @@ laptops.
Some computers also incorporate the use of :abbr:`S-Video (Separate Video)` or
:abbr:`HDMI (High-Definition Multimedia Interface)` connections.
A typical OpenLP set up consist of your normal single monitor setup, with your
projector setup as the second monitor. With the option of extending your
desktop across the second monitor, or your operating system's equivalent.
A typical OpenLP setup consist of your normal single monitor, with your
projector hooked up to your computer as the second monitor. With the option of
extending your desktop across the second monitor, or your operating system's
equivalent.
Microsoft Windows
-----------------
@ -46,8 +47,8 @@ press :kbd:`Windows+P`.
The more traditional way is also fairly straight forward. Go to
:guilabel:`Control Panel` and click on :guilabel:`Display`. This will open up
the :guilabel:`Display` dialog. You can also bypass this step by right click on
a blank area on your desktop and selecting :guilabel:`Resolution`.
the :guilabel:`Display` dialog. You may also bypass this step by a right click
on a blank area on your desktop and selecting :guilabel:`Resolution`.
.. image:: pics/winsevendisplay.png
@ -66,7 +67,7 @@ a blank place on the desktop and click :guilabel:`Personalization`.
.. image:: pics/vistapersonalize.png
From the :guilabel:`Personalization` window click on :guilabel:`Display
Settings`. Then enable the montior that represents your projector and make sure
Settings`. Click on the monitor that represents your projector and make sure
you have checked :guilabel:`Extend the desktop onto this monitor`.
.. image:: pics/vistadisplaysettings.png
@ -77,7 +78,7 @@ Windows XP
From :guilabel:`Control Panel` select :guilabel:`Display`, or right click on a
blank area of the desktop and select :guilabel:`Properties`. From the
:guilabel:`Display Properties` window click on the :guilabel:`Settings` tab.
Then click on the monitor that represents your projector and make sure you have
Click on the monitor that represents your projector and make sure you have
checked :guilabel:`Extend my Windows desktop onto this monitor`.
.. image:: pics/xpdisplaysettings.png
@ -87,7 +88,7 @@ Linux
Due to the vast varieties of hardware, distributions, desktops, and drivers
this is not an exhaustive guide to dual monitor setup on Linux. This guide
assumes that you have properly set up any proprietary drivers if needed. You
assumes you have properly set up any proprietary drivers if needed. You
should seek out your distributions documentation if this general guide does not
work.
@ -123,7 +124,8 @@ Linux Systems Using nVidia Drivers
This guide is for users of the proprietary nVidia driver on Linux Distributions.
It is assumed that you have properly setup your drivers according to your
distribution's documentation, and you have a working ``xorg.conf`` file in place.
distribution's documentation, and you have a working ``xorg.conf`` file in
place.
If you wish to make the changes permanent in setting up your system for dual
monitors it will be necessary to modify your ``xorg.conf`` file. It is always a
@ -166,7 +168,7 @@ After clicking :guilabel:`Configure`, select :guilabel:`TwinView`. Then click
.. image:: pics/twinview.png
Then click :guilabel:`Apply` and if you are happy with the way things look click
Click :guilabel:`Apply` and if you are happy with the way things look click
:guilabel:`Keep` to keep your new settings. Don't worry if all goes wrong the
settings will return back to the previous settings in 15 seconds without any
action. nVidia Settings should take care of selecting your optimum resolution
@ -175,6 +177,6 @@ on :guilabel:`Save to X Configuration File`.
.. image:: pics/xorgwrite.png
Then click :guilabel:`Save` and you should be set. You may want to restart X or
Click :guilabel:`Save` and you should be set. You may want to restart X or
your machine just to make sure all the settings carry over the next time you log
in.

View File

@ -18,13 +18,19 @@ The Main Window contains all the tools and plugins that make OpenLP function
Media Manager
-------------
The Media Manager contains a number of tabs that plugins supply to OpenLP.
The Media Manager contains a number of tabs the plugins supply to OpenLP.
Each tab in the Media Manager is called a **Media Item**
.. image:: pics/mediamanager.png
From the Media Manager you can send Media Items to the Preview or Live screens.
Platform
--------
When the word platform is used, it is usually referring to your operating system,
Windows, Linux or MAC OS.
Preview
-------
@ -36,20 +42,20 @@ with them.
Service File
------------
A service file, is the file that is created when you save your work on OpenLP.
A service file is the file that is created when you save your service in OpenLP.
The service file consist of **Service Items**
Service Item
------------
A service item are the **media items** that are in the **service manager**
Service items are the **media items** that are in the **service manager**
Service Manger
--------------
The service manager contains the media items in your service file. This is the
area from which your media items go live, and you can also save, open, and edit
services files.
area where your media items go live. You can also save, open, and edit
services files from here.
.. image:: pics/servicemanager.png
@ -65,6 +71,6 @@ Theme Manager
-------------
The theme manager is where themes are created and edited. Themes are the text
styles backgrounds that you use to personalize your services.
styles and backgrounds that you use to personalize your services.
.. image:: pics/thememanager.png

View File

@ -14,6 +14,8 @@ Contents:
introduction
glossary
dualmonitors
configure
bibles
themes
mediamanager
songs
songs

View File

@ -3,8 +3,8 @@ Media Manager
=============
Once you get your system set up for OpenLP you will be ready to add content to
your setup. This will all happen through the **Media Manager**. The
`Media Manager` contains all the bibles, songs, presentations, media, and
your Service Manager. This will all happen through the **Media Manager**. The
`Media Manager` contains all the Bibles, Songs, Presentations, Media, and
everything else that you will project through OpenLP.
Enabling the Plugins
@ -16,11 +16,235 @@ this is what the `Media Manager` looks like with all the plugins enabled.
.. image:: pics/mediamanager.png
To enable the plugins navigate to :menuselection:`Settings --> Plugins` or
press `F7`. You will then want to click on the plugin to the left that you want
to enable and select **active** from the drop down box to the right.
press `F7`. You will want to click on the plugin to the left that you want to
enable and select **active** from the drop down box to the right.
.. image:: pics/plugins.png
Now you should be ready to add content to OpenLP check out the section of this
guide on the individual plugins.
You are now ready to add content for your service.
Adding Media Content
--------------------
This section will describe how to add the different types of media OpenLP is
capable of displaying.
Songs
^^^^^
Clicking on Songs in the Media Manager will display all of the songs you have
added by Title and Author/Authors.
Using the buttons you can:
`Add a song:` Brings up the dialog box to add a new song
`Edit the selected song:` Brings up the dialog box to make changes to the song
`Delete the selected song:` Removes the song from your song list
`Preview the selected song:` Lets you see what your song will look like
displayed live
`Send the selected song live:` This option will immediately display your song
live.
`Add the selected Song to the service:` This will enter your song in the Service
Manager. You may also drag your song over to the Service Manager.
`Maintain the list of authors, topics and books:` Brings up a dialog box to edit
Authors, Topics or Song Books.
Note: Right clicking on a song file will bring up some of the same options.
Bibles
^^^^^^
Clicking on Bibles in the Media Manager will display your options for searching
and adding chapters and verses to the Service Manager.
Using the buttons you can:
`Import a Bible:` This is discussed in detail on the Bible Importer page in the
manual.
`Preview the selected Bible:` Sends your selected verses to the Preview window
`Send the selected Bible live:` This option will immediately display your
selected verses live.
`Add the selected Bible to the service:` This will enter your verses into the
Service Manager. You may also click and drag your verses over to the Service
Manager.
**Quick tab**
`Version:` Once you have imported a Bible, it will be displayed in the Version
drop down box. Select the version of the Bible you want to use here.
**Second**
If you have “Display second Bible verses” selected in Configure OpenLP, Bibles
tab, this choice will be visible. This option is for displaying another version
of the Bible for comparison. Both versions will be displayed. If there is not
enough space on one slide, the Second version will be displayed on the next
slide.
Use the `Search` button to display your results in the box below.
**Find**
You will type your search query in this box for the following two searches.
`Search type:` You may search for a specific verse using this format below.
Book Chapter
Book Chapter-Chapter
Book Chapter:Verse-Verse
Book Chapter:Verse-Verse, Verse-Verse
Book Chapter:Verse-Verse,Chapter:Verse-Verse
Book Chapter: Verse-Chapter:Verse
`Text Search:`
You may also search by a keyword or words. The more words you use for the
search, the more you will narrow down your results.
**Results** `Clear and Keep.`
Each search you make will display your verses below. If you would like to
display verses that are out of sequence you may select `Keep` in the drop down
box and continue your search for the next verse or verses. All searches will be
shown and kept below.
If you select `Clear` from the drop down box, each new search clears the
previous search from the list below.
**Advanced tab**
This tab is convenient for selecting book, chapter and verse by name and number.
Version and Second are the same as in Quick tab above. Click on each box and
select the version you wish to display and Second version if you wish to display
an alternative version.
Use the `Search` button to display your results in the box below.
`Book:` Click on the drop down box and select the book you want to display.
`Chapter: Verse:` Select your chapter From and To and Verse From and To
Results will work the same as the Quick tab above.
Presentations
^^^^^^^^^^^^^
Using the buttons you can:
`Load a new presentation:` This brings up a dialog box to find your presentation
and list it in OpenLP.
`Delete the selected Presentation:` This removes your Presentation from the list.
Please note: this will not delete the presentation from your computer, only from
the OpenLP list.
`Preview the selected Presentation:` Sends your selected Presentation to the
Preview window
`Send the selected Presentation live:` This option will immediately display your
selected Presentation live.
`Add the selected Presentation to the service:` This will enter your
Presentation into the Service Manager. You may also click and drag your
Presentation over to the Service Manager.
Right clicking on a Presentation file will bring up some of the same options.
Images
^^^^^^
Using the buttons you can:
`Load a new Image:` This brings up a dialog box to find your Image and list it
in OpenLP.
`Delete the selected Image:` This removes your Image from the list. Please note:
this will not delete the Image from your computer, just the OpenLP list.
`Preview the selected Image:` Sends your selected Image to the Preview window
`Send the selected Image live:` This option will immediately display your
selected Image live.
`Add the selected Image to the service:` This will enter your Image into the
Service Manager. You may also click and drag your Image over to the Service
Manager.
`Replace Live Background:` With an Image selected, clicking this button will
immediately replace the live background being displayed with your selection.
The Image will replace the theme background until the theme changes or the
"Remove Background" button is pressed.
Right clicking on an Image file will bring up some of the same options.
Media
^^^^^
Media is an audio or video file. Generally if you can play or view your media
on your computer without OpenLP, you can also play it in OpenLP.
Using the buttons you can:
`Load a new Media:` This brings up a dialog box to find your Media and list it
in OpenLP.
`Delete the selected Media:` This removes your Media from the list. Please note:
this will not delete the Media from your computer, just the OpenLP list.
`Preview the selected Media:` Sends your selected Media to the Preview window
`Send the selected Media live:` This option will immediately display your
selected Media live.
`Add the selected Media to the service:` This will enter your Media into the
Service Manager. You may also click and drag your Media over to the Service
Manager.
`Replace Live Background:` With a Media file selected, clicking this button will
immediately replace the live background being displayed with your selection.
Right clicking on a Media file will bring up some of the same options.
Custom
^^^^^^
Custom gives you the option of creating your own slide. This could be useful for
displaying readings, liturgy or any text that may not be found in Songs or
Bibles.
`Add a new Custom:` Brings up the dialog box to add a new Custom display.
`Edit the selected Custom:` Brings up the dialog box to make changes to the
Custom display.
`Delete the selected Custom:` Remove the Custom from your list
`Preview the selected Custom:` Lets you see what your Custom will look like
displayed live
`Send the selected Custom live:` This option will immediately display your
Custom live
`Add the selected Custom to the service:` This will enter your Custom in the
Service Manager. You may also drag your Custom over to the Service Manager.
Right clicking on a Custom file will bring up some of the same options.
When you Add a new Custom slide a dialog box will appear.
`Title:` Name of your Custom slide.
`Add:` After clicking on Add you will enter your text you want to display in
this box. To create multiple slides, click the Split Slide button. When you have
finished adding your text, click on the Save button.
`Theme:` Select the theme you want to use for your Custom slide from this drop
down box.
`Credits:` Anything typed in this box will be displayed in the footer
information on the display. When you are finished, click the Save button.
To Edit your slide, click on the Edit button to edit part of it or the Edit All
if you need to make multiple changes. Use the Up and Down arrows to change the
arrangement of your Custom slide.

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -0,0 +1,11 @@
========================
OpenLP Quick Start Guide
========================
Thank you for choosing OpenLP. The developers of OpenLP have attempted to make
OpenLP intuitive and easy to use. This Quick Start Guide will help you to get
going quickly.
Bible Importer
==============

View File

@ -8,26 +8,26 @@ converters provided to get data from other formats into OpenLP.
Song Importer
=============
If you are using an earlier version of OpenLP or come from another software
If you are using an earlier version of OpenLP or, come from another software
package, you may be able to convert your existing database to work in OpenLP
2.0. To access the Song Importer :menuselection:`File --> Import --> Song`.
You will then see the Song Importer window, then click :guilabel:`Next`.
2.0. To access the Song Importer click :menuselection:`File --> Import --> Song`.
You will see the Song Importer window, then click :guilabel:`Next`.
.. image:: pics/songimporter.png
After choosing :guilabel:`Next` you can then select from the various types of
After choosing :guilabel:`Next` you can select from the various types of
software that OpenLP will convert songs from.
.. image:: pics/songimporterchoices.png
Then click on the file folder icon to choose the file of the song database you
Click on the file folder icon to choose the file of the song database you
want to import. See the following sections for information on the different
formats that OpenLP will import.
Importing from OpenLP Version 1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Converting from OpenLP Version 1 is a pretty simple process. You will first
Converting from OpenLP Version 1 is a simple process. First you will
need to locate your version 1 database file.
Windows XP::
@ -38,33 +38,34 @@ Windows Vista / Windows 7::
C:\ProgramData\openlp.org\Data\songs.olp
After clicking :guilabel:`Next` your conversion should be complete.
After clicking :guilabel:`Next` your conversion will be complete.
.. image:: pics/finishedimport.png
Then press :guilabel:`Finish` and you should now be ready to use your OpenLP
version one songs.
Press :guilabel:`Finish` and you will now be ready to use your OpenLP
version 1 songs.
Importing from OpenSong
^^^^^^^^^^^^^^^^^^^^^^^
Converting from OpenSong you will need to locate your songs database. In the
Converting from OpenSong, you will need to locate your songs database. In the
later versions of OpenSong you are asked to define the location of this. The
songs will be located in a folder named :guilabel:`Songs`. This folder should
contain files with all your songs in them without a file extension. (file.xxx).
When you have located this folder you will then need to select the songs from
songs will be located in a folder named :guilabel:`Songs`. This folder will
contain files with all your songs in them, without a file extension. (file.xxx).
When you have located this folder you will need to select the songs from
the folder.
.. image:: pics/selectsongs.png
On most operating systems to select all the songs, first select the first song
in the lest then press shift and select the last song in the list. After this
press :guilabel:`Next` and you should see that your import has been successful.
On most operating systems, to select all the songs, first select the first song
in the list, press the shift key, and select the last song in the list. After
this press :guilabel:`Next` and you will see that your import has been
successful.
.. image:: pics/finishedimport.png
Press :guilabel:`Finish` and you will now be ready to use your songs imported
from OpenSong.
Press :guilabel:`Finish` and OpenLP will be ready to use your songs that you
imported from OpenSong.
Importing from CCLI Song Select
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -79,22 +80,23 @@ Then search for your desired song. For this example we will be adding the song
.. image:: pics/songselectsongsearch.png
For the song you are searching for select `lyrics` This should take you to a
page displaying the lyrics and copyright info for your song.
For the song you are searching for, select `lyrics` This will take you to a
page displaying the lyrics and copyright information for your song.
.. image:: pics/songselectlyrics.png
Next, hover over the :guilabel:`Lyrics` menu from the upper right corner. Then
choose either the .txt or .usr file. You will then be asked to chose a download
Next, hover over the :guilabel:`Lyrics` menu from the upper right corner.
Choose either the .txt or .usr file. You will be asked to chose a download
location if your browser does not automatically select that for you. Select
this file from the OpenLP import window and then click :guilabel:`Next` You can
also select multiple songs for import at once on most operating systems by
selecting the first item in the list then holding shift select the last item in
the list. When finished you should see that your import has completed.
selecting the first item in the list then holding the shift key and select the
last item in the list. When finished, you will see that your import has
completed.
.. image:: pics/finishedimport.png
Press :guilabel:`Finish` and you will now be ready to use your songs imported
Press :guilabel:`Finish` and OpenLP will be ready to use your songs imported
from CCLI SongSelect.

View File

@ -0,0 +1,196 @@
======
Themes
======
The `Theme Manager` is where you can set backgrounds, fonts, and colors to the
style you desire. From the theme manager you can create a new theme, Edit a
theme, Delete a theme, Import a theme, and Export a theme.
.. image:: /pics/thememanager1.png
Creating New Themes
===================
Click the :guilabel:`Create Theme Icon` to Create a new theme
.. image:: /pics/createthemeicon.png
This will bring up the `Theme Wizard`
.. image:: /pics/themewizardwelcome.png
Click :guilabel:`Next`. You have 3 choices in the drop down menu for Background
type: Solid Color, Gradient, or Image.
.. image:: /pics/themewizard1.png
Solid color: select solid color and click on the black button next to Color.
You will have the option of choosing among the colors you see or entering your
own.
.. image:: /pics/themewizard2.png
Gradient: choose the two colors, First and Second, you want to fade together
and the Gradient drop down will let you determine the directions of the fade.
.. image:: /pics/themewizard3.png
Image: Click on the folder to find and select your image. OpenLP accepts a
variety of image types.
.. image:: /pics/themewizard4.png
**Note:** If possible, try to use the same size image as your projector is
displaying.
When finished with your selection for background, click the :guilabel:`Next`
button.
This is the area where you will select and define your font characteristics for
the Display text.
.. image:: /pics/themewizard5.png
**Font:** Choose the font you would like to use from the drop down.
**Color:** Choose the color of your font.
**Size:** The size of your font determines how many lines are shown per slide.
As you change the font size, the lines per slide will change.
**Line Spacing:** This setting determines how much space you want between
lines. This setting will also change the lines per slide.
**Outline:** If you desire an outline around your font, select the Outline box,
choose your color and size of the outline.
**Shadow:** If you desire a shadow around your font, select the Shadow box and
choose your color and size of the shadow.
**Bold Display:** select the box for Bold font
**Italic Display:** select the box for Italic font
When you are finished selecting your font details click the :guilabel:`Next`
button.
**Footer Area Font Details**
This page determines the Font, Font Color, and size of the font for the footer.
The footer is where the Title of the song, Author or Authors, Copyright and
CCLI License are displayed.
.. image:: /pics/themewizard6.png
When you are finished setting your footer font details, click :guilabel:`Next`.
**Text Formatting Details**
This page determines the alignment of the text on your slide and the transition
from one slide to the next.
.. image:: /pics/themewizard7.png
**Horizontal Align** the text to the Left, Right or Center of the screen.
**Vertical Align** the text to the Top, Middle or bottom of the screen.
**Transitions**
When this box is selected, switching slides will fade out from one and fade in
to the next. When the box is not selected, slide changing will be instant.
When you are finished setting your Text Formatting Details, click :guilabel:`Next`.
**Output Area Locations**
This page gives you the ability to position your Main area or Footer area to a
specific area of the screen using the x and y positions. ie: if you do not want
your footer on the bottom left, you can make the adjustment here.
You can resize the Width and the Height of the Main Area and the Footer Area.
ie: If you have a temporary or permanent obstacle in one part of the viewing
area, you can resize the Main or Footer area and use x and y positions to
display in a different position on the screen.
.. image:: /pics/themewizard8.png
You can also change the Width and the Height of the Main Area of the Footer Area.
When you are finished setting your Output Area Locations, click :guilabel:`Next`.
Save and Preview
.. image:: /pics/themewizard9.png
**Theme Name:** Enter your theme name here.
**Preview**
The Preview shows the choices you made when setting up the previous pages plus,
shows all the edit effects possible so you can see what the impact is on all
possible font colors and characteristics.
If you are satisfied with your selections, click :guilabel:`Finish`. If you
want to make a change, use the :guilabel:`Back` button.
Editing Themes
==============
Now that you created your theme, and you show it on the projector and there is
something you don't like, you can easily Edit your theme either by clicking the
Theme Edit Button:
.. image:: /pics/themeeditbutton.png
Or by right-clicking your theme and selecting the appropriate action.
Deleting Themes
===============
The Delete Button:
.. image:: /pics/songs17.png
will delete a selected theme or by right-clicking your theme and selecting
the appropriate action.
**Note:** deleting the currently selected global theme or the
default theme is not possible.
Exporting Themes
================
If you would like to transfer a theme from one computer to another, click on
the theme you want to Export, click the last button in the Theme Manager:
.. image:: /pics/themeimportexport.png
choose the folder you want to save your theme and click the OK button.
Importing Themes
================
The fourth button in the Theme Manager:
.. image:: /pics/themeimportexport.png
will allow you to Import an Exported theme. Click the Import button, select the
folder and the theme file, and click OK. Your imported theme will be in the
Theme Manager. Import Theme will also handle version 1 Exports. You will need to
check your imported theme since many of the values will have been defaulted.
Rename Theme
============
If you created a theme and want to change the name of it, right-click your
theme and click Rename theme and enter the new name.
Copy Theme
==========
Now that you created a theme with all the attributes you like, you can
right-click the theme, click on Copy theme, choose your new name and click OK.
You now have a duplicate of your first theme that you can edit the way you want.
Set as Global default
=====================
If you right-click your theme, you have the option to set the theme as Global
default. This option is covered in greater detail under “Configure OpenLP.

View File

@ -7,9 +7,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #
@ -24,7 +24,6 @@
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
###############################################################################
import os
import sys
import logging
@ -37,6 +36,8 @@ from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, check_directory_exists
from openlp.core.resources import qInitResources
from openlp.core.ui.mainwindow import MainWindow
from openlp.core.ui.firsttimelanguageform import FirstTimeLanguageForm
from openlp.core.ui.firsttimeform import FirstTimeForm
from openlp.core.ui.exceptionform import ExceptionForm
from openlp.core.ui import SplashScreen, ScreenList
from openlp.core.utils import AppLocation, LanguageManager, VersionThread
@ -70,12 +71,14 @@ class OpenLP(QtGui.QApplication):
The core application class. This class inherits from Qt's QApplication
class in order to provide the core of the application.
"""
log.info(u'OpenLP Application Loaded')
app_version = None
def _get_version(self):
def get_version(self):
"""
Load and store current Application Version
"""
if self.app_version:
return self.app_version
if u'--dev-version' in sys.argv or u'-d' in sys.argv:
# If we're running the dev version, let's use bzr to get the version
try:
@ -135,30 +138,25 @@ class OpenLP(QtGui.QApplication):
if fversion:
fversion.close()
bits = full_version.split(u'-')
app_version = {
self.app_version = {
u'full': full_version,
u'version': bits[0],
u'build': bits[1] if len(bits) > 1 else None
}
if app_version[u'build']:
if self.app_version[u'build']:
log.info(
u'Openlp version %s build %s',
app_version[u'version'],
app_version[u'build']
self.app_version[u'version'],
self.app_version[u'build']
)
else:
log.info(u'Openlp version %s' % app_version[u'version'])
return app_version
# def notify(self, obj, evt):
# #TODO needed for presentation exceptions
# return QtGui.QApplication.notify(self, obj, evt)
log.info(u'Openlp version %s' % self.app_version[u'version'])
return self.app_version
def run(self):
"""
Run the OpenLP application.
"""
app_version = self._get_version()
# provide a listener for widgets to reqest a screen update.
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'openlp_process_events'), self.processEvents)
@ -166,10 +164,15 @@ class OpenLP(QtGui.QApplication):
QtCore.SIGNAL(u'cursor_busy'), self.setBusyCursor)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'cursor_normal'), self.setNormalCursor)
self.setOrganizationName(u'OpenLP')
self.setOrganizationDomain(u'openlp.org')
self.setApplicationName(u'OpenLP')
self.setApplicationVersion(app_version[u'version'])
# Decide how many screens we have and their size
screens = ScreenList(self.desktop())
# First time checks in settings
has_run_wizard = QtCore.QSettings().value(
u'general/has run wizard', QtCore.QVariant(False)).toBool()
if not has_run_wizard:
if FirstTimeForm(screens).exec_() == QtGui.QDialog.Accepted:
QtCore.QSettings().setValue(u'general/has run wizard',
QtCore.QVariant(True))
if os.name == u'nt':
self.setStyleSheet(application_stylesheet)
show_splash = QtCore.QSettings().value(
@ -179,26 +182,21 @@ class OpenLP(QtGui.QApplication):
self.splash.show()
# make sure Qt really display the splash screen
self.processEvents()
screens = ScreenList()
# Decide how many screens we have and their size
for screen in xrange(0, self.desktop().numScreens()):
size = self.desktop().screenGeometry(screen)
screens.add_screen({u'number': screen,
u'size': size,
u'primary': (self.desktop().primaryScreen() == screen)})
log.info(u'Screen %d found with resolution %s', screen, size)
# start the main app window
self.appClipboard = self.clipboard()
self.mainWindow = MainWindow(screens, app_version, self.appClipboard)
self.mainWindow = MainWindow(screens, self.app_version,
self.clipboard())
self.mainWindow.show()
if show_splash:
# now kill the splashscreen
self.splash.finish(self.mainWindow)
self.mainWindow.repaint()
self.processEvents()
if not has_run_wizard:
self.mainWindow.firstTime()
update_check = QtCore.QSettings().value(
u'general/update check', QtCore.QVariant(True)).toBool()
if update_check:
VersionThread(self.mainWindow, app_version).start()
VersionThread(self.mainWindow, self.app_version).start()
return self.exec_()
def hookException(self, exctype, value, traceback):
@ -273,10 +271,20 @@ def main():
qInitResources()
# Now create and actually run the application.
app = OpenLP(qt_args)
if sys.platform == 'darwin':
app.setOrganizationName(u'OpenLP')
app.setOrganizationDomain(u'openlp.org')
app.setApplicationName(u'OpenLP')
app.setApplicationVersion(app.get_version()[u'version'])
# First time checks in settings
if not QtCore.QSettings().value(u'general/has run wizard',
QtCore.QVariant(False)).toBool():
if not FirstTimeLanguageForm().exec_():
# if cancel then stop processing
sys.exit()
if sys.platform == u'darwin':
OpenLP.addLibraryPath(QtGui.QApplication.applicationDirPath()
+ "/qt4_plugins")
#i18n Set Language
# i18n Set Language
language = LanguageManager.get_language()
appTranslator = LanguageManager.get_translator(language)
app.installTranslator(appTranslator)

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #
@ -248,9 +248,8 @@ def resize_image(image, width, height, background=QtCore.Qt.black):
``height``
The new image height.
``background``
``background``
The background colour defaults to black.
"""
log.debug(u'resize_image - start')
if isinstance(image, QtGui.QImage):

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #
@ -220,8 +220,6 @@ class MediaManagerItem(QtGui.QWidget):
if self.hasDeleteIcon:
toolbar_actions.append([StringContent.Delete,
u':/general/general_delete.png', self.onDeleteClick])
## Separator Line ##
self.addToolbarSeparator()
## Preview ##
toolbar_actions.append([StringContent.Preview,
u':/general/general_preview.png', self.onPreviewClick])
@ -232,6 +230,8 @@ class MediaManagerItem(QtGui.QWidget):
toolbar_actions.append([StringContent.Service,
u':/general/general_add.png', self.onAddClick])
for action in toolbar_actions:
if action[0] == StringContent.Preview:
self.addToolbarSeparator()
self.addToolbarButton(
self.plugin.getString(action[0])[u'title'],
self.plugin.getString(action[0])[u'tooltip'],
@ -349,11 +349,11 @@ class MediaManagerItem(QtGui.QWidget):
Validates whether an image still exists and, if it does, is the
thumbnail representation of the image up to date.
"""
if not os.path.exists(image):
if not os.path.exists(unicode(image)):
return False
if os.path.exists(thumb):
imageDate = os.stat(image).st_mtime
thumbDate = os.stat(thumb).st_mtime
imageDate = os.stat(unicode(image)).st_mtime
thumbDate = os.stat(unicode(thumb)).st_mtime
# If image has been updated rebuild icon
if imageDate > thumbDate:
self.iconFromFile(image, thumb)

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #
@ -114,8 +114,8 @@ class Plugin(QtCore.QObject):
"""
log.info(u'loaded')
def __init__(self, name, version=None, pluginHelpers=None,
mediaItemClass=None, settingsTabClass=None):
def __init__(self, name, pluginHelpers=None, mediaItemClass=None,
settingsTabClass=None, version=None):
"""
This is the constructor for the plugin object. This provides an easy
way for descendent plugins to populate common data. This method *must*
@ -123,7 +123,7 @@ class Plugin(QtCore.QObject):
class MyPlugin(Plugin):
def __init__(self):
Plugin.__init__(self, u'MyPlugin', u'0.1')
Plugin.__init__(self, u'MyPlugin', version=u'0.1')
``name``
Defaults to *None*. The name of the plugin.
@ -145,8 +145,7 @@ class Plugin(QtCore.QObject):
self.textStrings = {}
self.setPluginTextStrings()
self.nameStrings = self.textStrings[StringContent.Name]
if version:
self.version = version
self.version = version if version else u'1.9.5'
self.settingsSection = self.name.lower()
self.icon = None
self.mediaItemClass = mediaItemClass

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #
@ -49,16 +49,13 @@ class PluginManager(object):
``plugin_dir``
The directory to search for plugins.
"""
log.info(u'Plugin manager initing')
log.info(u'Plugin manager Initialising')
if not plugin_dir in sys.path:
log.debug(u'Inserting %s into sys.path', plugin_dir)
sys.path.insert(0, plugin_dir)
self.basepath = os.path.abspath(plugin_dir)
log.debug(u'Base path %s ', self.basepath)
self.plugin_helpers = []
self.plugins = []
# this has to happen after the UI is sorted
# self.find_plugins(plugin_dir)
log.info(u'Plugin manager Initialised')
def find_plugins(self, plugin_dir, plugin_helpers):
@ -73,7 +70,7 @@ class PluginManager(object):
A list of helper objects to pass to the plugins.
"""
self.plugin_helpers = plugin_helpers
log.info(u'Finding plugins')
startdepth = len(os.path.abspath(plugin_dir).split(os.sep))
log.debug(u'finding plugins in %s at depth %d',
unicode(plugin_dir), startdepth)
@ -102,11 +99,11 @@ class PluginManager(object):
plugin_objects = []
for p in plugin_classes:
try:
plugin = p(self.plugin_helpers)
log.debug(u'Loaded plugin %s with helpers', unicode(p))
plugin = p(plugin_helpers)
log.debug(u'Loaded plugin %s', unicode(p))
plugin_objects.append(plugin)
except TypeError:
log.exception(u'loaded plugin %s has no helpers', unicode(p))
log.exception(u'Failed to load plugin %s', unicode(p))
plugins_list = sorted(plugin_objects, self.order_by_weight)
for plugin in plugins_list:
if plugin.checkPreConditions():
@ -203,6 +200,7 @@ class PluginManager(object):
Loop through all the plugins and give them an opportunity to
initialise themselves.
"""
log.info(u'Initialise Plugins - Started')
for plugin in self.plugins:
log.info(u'initialising plugins %s in a %s state'
% (plugin.name, plugin.isActive()))
@ -211,6 +209,7 @@ class PluginManager(object):
log.info(u'Initialisation Complete for %s ' % plugin.name)
if not plugin.isActive():
plugin.removeToolboxItem()
log.info(u'Initialise Plugins - Finished')
def finalise_plugins(self):
"""

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #
@ -69,7 +69,6 @@ class RenderManager(object):
self.image_manager = ImageManager()
self.display = MainDisplay(self, screens, False)
self.display.imageManager = self.image_manager
self.display.setup()
self.theme_manager = theme_manager
self.renderer = Renderer()
self.calculate_default(self.screens.current[u'size'])

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #
@ -62,7 +62,7 @@ class ItemCapabilities(object):
AddIfNewItem = 9
ProvidesOwnDisplay = 10
AllowsDetailedTitleDisplay = 11
AllowsVarableStartTime = 12
AllowsVariableStartTime = 12
class ServiceItem(object):
@ -88,8 +88,8 @@ class ServiceItem(object):
self.audit = u''
self.items = []
self.iconic_representation = None
self.raw_footer = None
self.foot_text = None
self.raw_footer = []
self.foot_text = u''
self.theme = None
self.service_item_type = None
self._raw_frames = []
@ -162,9 +162,7 @@ class ServiceItem(object):
line_break = True
if self.is_capable(ItemCapabilities.NoLineBreaks):
line_break = False
theme = None
if self.theme:
theme = self.theme
theme = self.theme if self.theme else None
self.main, self.footer = \
self.render_manager.set_override_theme(theme, useOverride)
self.themedata = self.render_manager.renderer._theme
@ -185,13 +183,13 @@ class ServiceItem(object):
else:
log.error(u'Invalid value renderer :%s' % self.service_item_type)
self.title = clean_tags(self.title)
self.foot_text = None
if self.raw_footer:
for foot in self.raw_footer:
if not self.foot_text:
self.foot_text = foot
else:
self.foot_text = u'%s<br>%s' % (self.foot_text, foot)
# The footer should never be None, but to be compatible with a few
# nightly builds between 1.9.4 and 1.9.5, we have to correct this to
# avoid tracebacks.
if self.raw_footer is None:
self.raw_footer = []
self.foot_text = \
u'<br>'.join([footer for footer in self.raw_footer if footer])
def add_from_image(self, path, title):
"""
@ -204,8 +202,7 @@ class ServiceItem(object):
A title for the slide in the service item.
"""
self.service_item_type = ServiceItemType.Image
self._raw_frames.append(
{u'title': title, u'path': path})
self._raw_frames.append({u'title': title, u'path': path})
self.render_manager.image_manager.add_image(title, path)
self._new_item()
@ -452,3 +449,4 @@ class ServiceItem(object):
return end
else:
return u'%s : %s' % (start, end)

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #
@ -48,7 +48,7 @@ class OpenLPToolbar(QtGui.QToolBar):
self.icons = {}
self.setIconSize(QtCore.QSize(20, 20))
self.actions = {}
log.debug(u'Init done')
log.debug(u'Init done for %s' % parent.__class__.__name__)
def addToolbarButton(self, title, icon, tooltip=None, slot=None,
checkable=False, shortcut=0, alternate=0,

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #
@ -51,6 +51,8 @@ class HideMode(object):
Theme = 2
Screen = 3
from firsttimeform import FirstTimeForm
from firsttimelanguageform import FirstTimeLanguageForm
from themeform import ThemeForm
from filerenameform import FileRenameForm
from starttimeform import StartTimeForm
@ -74,4 +76,4 @@ from thememanager import ThemeManager
__all__ = ['SplashScreen', 'AboutForm', 'SettingsForm', 'MainDisplay',
'SlideController', 'ServiceManager', 'ThemeManager', 'MediaDockManager',
'ServiceItemEditForm']
'ServiceItemEditForm', u'FirstTimeForm']

View File

@ -6,9 +6,9 @@
# --------------------------------------------------------------------------- #
# Copyright (c) 2008-2011 Raoul Snyman #
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
# Gorven, Scott Guerrieri, Meinert Jordan, Armin Köhler, Andreas Preikschat, #
# Christian Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon #
# Tibble, Carsten Tinggaard, Frode Woldsund #
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
# --------------------------------------------------------------------------- #
# 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 #
@ -106,38 +106,86 @@ class Ui_AboutDialog(object):
))
self.aboutNotebook.setTabText(
self.aboutNotebook.indexOf(self.aboutTab), UiStrings.About)
self.creditsTextEdit.setPlainText(translate('OpenLP.AboutForm',
lead = u'Raoul "superfly" Snyman'
developers = [u'Tim "TRB143" Bentley', u'Jonathan "gushie" Corwin',
u'Michael "cocooncrash" Gorven',
u'Andreas "googol" Preikschat', u'Raoul "superfly" Snyman',
u'Martin "mijiti" Thompson', u'Jon "Meths" Tibble']
contributors = [u'Scott "sguerrieri" Guerrieri',
u'Matthias "matthub" Hub', u'Meinert "m2j" Jordan',
u'Armin "orangeshirt" K\xf6hler', u'Mattias "mahfiaz" P\xf5ldaru',
u'Christian "crichter" Richter', u'Philip "Phill" Ridout',
u'Jeffrey "whydoubt" Smith', u'Maikel Stuivenberg',
u'Frode "frodus" Woldsund']
testers = [u'Philip "Phill" Ridout', u'Wesley "wrst" Stout',
u'John "jseagull1" Cegalis (lead)']
packagers = ['Thomas "tabthorpe" Abthorpe (FreeBSD)',
u'Tim "TRB143" Bentley (Fedora)',
u'Matthias "matthub" Hub (Mac OS X)',
u'Stevan "StevanP" Pettit (Windows)',
u'Raoul "superfly" Snyman (Ubuntu)']
translators = {
u'af': [u'Johan "nuvolari" Mynhardt'],
u'de': [u'Patrick "madmuffin" Br\xfcckner',
u'Meinert "m2j" Jordan', u'Andreas "googol" Preikschat',
u'Christian "crichter" Richter'],
u'en_GB': [u'Tim "TRB143" Bentley', u'Jonathan "gushie" Corwin'],
u'en_ZA': [u'Raoul "superfly" Snyman'],
u'et': [u'Mattias "mahfiaz" P\xf5ldaru'],
u'fr': [u'Stephan\xe9 "stbrunner" Brunner'],
u'hu': [u'Gyuris Gell\xe9t'],
u'ja': [u'Kunio "Kunio" Nakamaru'],
u'nb': [u'Atle "pendlaren" Weibell', u'Frode "frodus" Woldsund'],
u'nl': [u'Arjen "typovar" van Voorst'],
u'pt_BR': [u'Rafael "rafaellerm" Lerm', u'Gustavo Bim'],
u'ru': [u'Sergey "ratz" Ratz']
}
documentors = [u'Wesley "wrst" Stout',
u'John "jseagull1" Cegalis (lead)']
self.creditsTextEdit.setPlainText(unicode(translate('OpenLP.AboutForm',
'Project Lead\n'
' Raoul "superfly" Snyman\n'
' %s\n'
'\n'
'Developers\n'
' Tim "TRB143" Bentley\n'
' Jonathan "gushie" Corwin\n'
' Michael "cocooncrash" Gorven\n'
' Scott "sguerrieri" Guerrieri\n'
' Raoul "superfly" Snyman\n'
' Martin "mijiti" Thompson\n'
' Jon "Meths" Tibble\n'
' %s\n'
'\n'
'Contributors\n'
' Meinert "m2j" Jordan\n'
' Andreas "googol" Preikschat\n'
' Christian "crichter" Richter\n'
' Philip "Phill" Ridout\n'
' Maikel Stuivenberg\n'
' Carsten "catini" Tingaard\n'
' Frode "frodus" Woldsund\n'
' %s\n'
'\n'
'Testers\n'
' Philip "Phill" Ridout\n'
' Wesley "wrst" Stout (lead)\n'
' %s\n'
'\n'
'Packagers\n'
' Thomas "tabthorpe" Abthorpe (FreeBSD)\n'
' Tim "TRB143" Bentley (Fedora)\n'
' Michael "cocooncrash" Gorven (Ubuntu)\n'
' Matthias "matthub" Hub (Mac OS X)\n'
' Raoul "superfly" Snyman (Windows, Ubuntu)\n'
' %s\n'
'\n'
'Translators\n'
' Afrikaans (af)\n'
' %s\n'
' German (de)\n'
' %s\n'
' English, United Kingdom (en_GB)\n'
' %s\n'
' English, South Africa (en_ZA)\n'
' %s\n'
' Estonian (et)\n'
' %s\n'
' French (fr)\n'
' %s\n'
' Hungarian (hu)\n'
' %s\n'
' Japanese (ja)\n'
' %s\n'
' Norwegian Bokm\xe5l (nb)\n'
' %s\n'
' Dutch (nl)\n'
' %s\n'
' Portuguese, Brazil (pt_BR)\n'
' %s\n'
' Russian (ru)\n'
' %s\n'
'\n'
'Documentation\n'
' %s\n'
'\n'
'Built With\n'
' Python: http://www.python.org/\n'
@ -155,31 +203,42 @@ class Ui_AboutDialog(object):
' God our Father, for sending His Son to die\n'
' on the cross, setting us free from sin. We\n'
' bring this software to you for free because\n'
' He has set us free.'
))
' He has set us free.')) % (lead, u'\n '.join(developers),
u'\n '.join(contributors), u'\n '.join(testers),
u'\n '.join(packagers), u'\n '.join(translators[u'af']),
u'\n '.join(translators[u'de']),
u'\n '.join(translators[u'en_GB']),
u'\n '.join(translators[u'en_ZA']),
u'\n '.join(translators[u'et']),
u'\n '.join(translators[u'fr']),
u'\n '.join(translators[u'hu']),
u'\n '.join(translators[u'ja']),
u'\n '.join(translators[u'nb']),
u'\n '.join(translators[u'nl']),
u'\n '.join(translators[u'pt_BR']),
u'\n '.join(translators[u'ru']),
u'\n '.join(documentors)))
self.aboutNotebook.setTabText(
self.aboutNotebook.indexOf(self.creditsTab),
translate('OpenLP.AboutForm', 'Credits'))
self.licenseTextEdit.setPlainText(translate('OpenLP.AboutForm',
copyright = translate('OpenLP.AboutForm',
'Copyright \xa9 2004-2011 Raoul Snyman\n'
'Portions copyright \xa9 2004-2011 '
'Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri,\n'
'Meinert Jordan, Andreas Preikschat, Christian Richter, Philip\n'
'Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carstenn'
'Tinggaard, Frode Woldsund\n'
'\n'
'Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten\n'
'Tinggaard, Frode Woldsund')
licence = translate('OpenLP.AboutForm',
'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.\n'
'\n'
'License.')
disclaimer = translate('OpenLP.AboutForm',
'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 below '
'for more details.\n'
'\n'
'\n'
'GNU GENERAL PUBLIC LICENSE\n'
'for more details.')
gpltext = ('GNU GENERAL PUBLIC LICENSE\n'
'Version 2, June 1991\n'
'\n'
'Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 '
@ -549,7 +608,9 @@ class Ui_AboutDialog(object):
'subroutine library, you may consider it more useful to permit '
'linking proprietary applications with the library. If this is '
'what you want to do, use the GNU Lesser General Public License '
'instead of this License.'))
'instead of this License.')
self.licenseTextEdit.setPlainText(u'%s\n\n%s\n\n%s\n\n\n%s' %
(copyright, licence, disclaimer, gpltext))
self.aboutNotebook.setTabText(
self.aboutNotebook.indexOf(self.licenseTab),
translate('OpenLP.AboutForm', 'License'))

Some files were not shown because too many files have changed in this diff Show More