diff --git a/copyright.txt b/copyright.txt index 0e405e6e9..0ef481f2b 100644 --- a/copyright.txt +++ b/copyright.txt @@ -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 # diff --git a/documentation/manual/make.bat b/documentation/manual/make.bat index 8d21b45ce..20bff1ee7 100644 --- a/documentation/manual/make.bat +++ b/documentation/manual/make.bat @@ -1,112 +1,112 @@ -@ECHO OFF - -REM Command file for Sphinx documentation - -set SPHINXBUILD=sphinx-build -set ALLSPHINXOPTS=-d build/doctrees %SPHINXOPTS% source -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. changes to make an overview over all changed/added/deprecated items - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (build\*) do rmdir /q /s %%i - del /q /s build\* - goto end -) - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% build/html - echo. - echo.Build finished. The HTML pages are in build/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% build/dirhtml - echo. - echo.Build finished. The HTML pages are in build/dirhtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% build/pickle - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% build/json - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% build/htmlhelp - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in build/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% build/qthelp - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in build/qthelp, like this: - echo.^> qcollectiongenerator build\qthelp\OpenLP.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile build\qthelp\OpenLP.ghc - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% build/latex - echo. - echo.Build finished; the LaTeX files are in build/latex. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% build/changes - echo. - echo.The overview file is in build/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% build/linkcheck - echo. - echo.Link check complete; look for any errors in the above output ^ -or in build/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% build/doctest - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in build/doctest/output.txt. - goto end -) - -:end +@ECHO OFF + +REM Command file for Sphinx documentation + +set SPHINXBUILD=sphinx-build +set ALLSPHINXOPTS=-d build/doctrees %SPHINXOPTS% source +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. changes to make an overview over all changed/added/deprecated items + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (build\*) do rmdir /q /s %%i + del /q /s build\* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% build/html + echo. + echo.Build finished. The HTML pages are in build/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% build/dirhtml + echo. + echo.Build finished. The HTML pages are in build/dirhtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% build/pickle + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% build/json + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% build/htmlhelp + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in build/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% build/qthelp + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in build/qthelp, like this: + echo.^> qcollectiongenerator build\qthelp\OpenLP.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile build\qthelp\OpenLP.ghc + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% build/latex + echo. + echo.Build finished; the LaTeX files are in build/latex. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% build/changes + echo. + echo.The overview file is in build/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% build/linkcheck + echo. + echo.Link check complete; look for any errors in the above output ^ +or in build/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% build/doctest + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in build/doctest/output.txt. + goto end +) + +:end diff --git a/documentation/manual/source/bibles.rst b/documentation/manual/source/bibles.rst new file mode 100644 index 000000000..41b3933aa --- /dev/null +++ b/documentation/manual/source/bibles.rst @@ -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 \ No newline at end of file diff --git a/documentation/manual/source/conf.py b/documentation/manual/source/conf.py index f0d918c11..2e9c0a88f 100644 --- a/documentation/manual/source/conf.py +++ b/documentation/manual/source/conf.py @@ -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'2004 - 2011, 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,15 +90,17 @@ 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' -html_theme = 'default' +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +if sys.argv[2] == 'qthelp' or sys.argv[2] == 'htmlhelp': + html_theme = 'openlp_qthelp' +else: + 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': +if sys.argv[2] == 'html': html_theme_options = { 'sidebarbgcolor': '#3a60a9', 'relbarbgcolor': '#203b6f', @@ -109,23 +111,23 @@ if html_theme == 'default': } # Add any paths that contain custom themes here, relative to this directory. -html_theme_path = [u'../themes'] +html_theme_path = [os.path.join(os.path.abspath('..'), 'themes')] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -html_title = u'OpenLP 2.0 User Manual' +html_title = u'OpenLP 2.0 Reference Manual' # 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, @@ -134,7 +136,7 @@ html_static_path = ['_static'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' +html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. @@ -148,7 +150,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 +161,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 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 = 'OpenLP' # -- Options for LaTeX output -------------------------------------------------- @@ -182,8 +190,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 Reference Manual', + u'Wesley Stout', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -194,6 +202,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 +215,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 Reference Manual', + [u'Wesley Stout'], 1) +] diff --git a/documentation/manual/source/configure.rst b/documentation/manual/source/configure.rst new file mode 100644 index 000000000..9b4cc6f8f --- /dev/null +++ b/documentation/manual/source/configure.rst @@ -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. + + + diff --git a/documentation/manual/source/dualmonitors.rst b/documentation/manual/source/dualmonitors.rst index 5c29e8650..3e1a8d210 100644 --- a/documentation/manual/source/dualmonitors.rst +++ b/documentation/manual/source/dualmonitors.rst @@ -180,3 +180,42 @@ on :guilabel:`Save to X Configuration File`. 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. + +Linux Systems With Intel Video +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Generally systems with Intel video cards work very well. They are well supported +by open source drivers. There are, however, a couple of issues that may require +some work arounds. + +**Resolution Issue** + +There is a limitation with certain cards which limits the total resolution to +2048x2048, so both monitors can not have a total resolution totaling more than +that. To work around this it may be necessary to position your monitor as a top +or bottom monitor as opposed to the typical side by side setup. This can easily +be accomplished through your desktop's control of monitors. Please see the +sections on dual monitors with KDE and GNOME above. + +**Primary Monitor Issues** + +With certain cards your system may get confused on what is the primary display. +For example many users will be using a laptop. You will want your laptop screen +to be the primary screen, and your projector to be the secondary monitor. +Certain Intel cards reverse this. To work around this you will need to know the +name of your monitor. If you are a KDE user this info is given to you in the +display settings. If you are not using KDE enter the following in a terminal +without your projector connected to your computer:: + + user@linux:~ $ xrandr -q + +This will give you a long string of output. Screen names will be something along +the lines of LVDM, VGA-0 or some convention similar to that. Without your +projector connected to your computer only one monitor will show as being +connected. That will be the monitor you will need to use as the primary. Now +connect your projector and enter:: + + user@linux:~ $ xrandr --output LVDM --primary + +**Note** it has been reported that when this issue is occurring you will not +want to connect your projector until your desktop is running. diff --git a/documentation/manual/source/glossary.rst b/documentation/manual/source/glossary.rst index ab6c7880e..fd00f4842 100644 --- a/documentation/manual/source/glossary.rst +++ b/documentation/manual/source/glossary.rst @@ -25,6 +25,12 @@ Each tab in the Media Manager is called a **Media Item** 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 ------- diff --git a/documentation/manual/source/index.rst b/documentation/manual/source/index.rst index 36bcf2cc1..6b3142384 100644 --- a/documentation/manual/source/index.rst +++ b/documentation/manual/source/index.rst @@ -14,5 +14,9 @@ Contents: introduction glossary dualmonitors + configure + bibles + themes mediamanager - songs \ No newline at end of file + songs + troubleshooting diff --git a/documentation/manual/source/introduction.rst b/documentation/manual/source/introduction.rst index 02ecf7dbd..05ddcb1e3 100644 --- a/documentation/manual/source/introduction.rst +++ b/documentation/manual/source/introduction.rst @@ -5,33 +5,31 @@ Introduction About ----- -OpenLP is an open source lyrics projection application developed specifically -for churches. It is licensed under the GNU Generic Public License, which means -that it is free to use and distribute, and it stays free. +OpenLP stands for "Open Source Lyrics Projection" and is presentation software +developed for churches to provide a single easy to use interface for the +projection needs of a typical worship service. First created in 2004, it has +steadily grown in features and maturity such that is it now a mainstay in +hundreds of churches around the world. -Lyrics Projection ------------------ +OpenLP has searchable databases of songs and Bible verses allowing them to be +projected instantly or saved in a pre-prepared order of service file. Themes +allow for a variety of presentation options and allow you to add attractive +visuals to enhance your presentations. PowerPoint and OpenOffice presentations, +videos and audio files can be run from within the program removing the need to +switch between different programs. Alert messages can be displayed so the +nursery or car park stewards can notify the congregation easily. Remote +capability allows the worship leader to change songs, or for alert messages to +be sent from anywhere on the network, even via a smart phone or tablet. -OpenLP's purpose is to project the lyrics of songs and Bible verses using a -computer and a data projector. OpenLP also has the ability to project videos, -images, and also play audio. OpenLP also is highly customizable providing users -with the ability to set up a wide variety of themes, including themes with -video backgrounds. +Being free, this software can be installed on as many PCs as required, +including the home PCs of worship leader(s) at no additional cost. Compared to +the expensive site licenses and restrictions of commercial software we believe +OpenLP is the perfect choice for quality and value. Still in active development +by a growing team of enthusiastic developers, features are being added all the +time resulting in continual improvement of the software. -Open Source ------------ - -OpenLP is open source software. This means that the source code (the -programming instructions the developers write) is open to anyone who wants to -look at it. This gives you, the end user, a few freedoms. - -From a developer's perspective, it gives you the freedom to inspect the code -and make sure that it is not malicious. Also, it gives you the freedom to -change the code and the freedom to "fork" the project and make it your own. - -For end users open source software gives you the freedom to use software as -you wish. You are not required to pay for the software and you are free to -make copies and distribute it to anyone you want. +OpenLP is licensed under the GNU Generic Public License, which means +that it is free to use, distribute, modify, and it stays free. GNU General Public License -------------------------- @@ -42,5 +40,5 @@ to charge for the software, and that you have to distribute the source code as well. You can find a copy of the GNU General Public License from the Help menu -selecting about OpenLP or on-line -at: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt +selecting about OpenLP or on-line at: +``_. diff --git a/documentation/manual/source/mediamanager.rst b/documentation/manual/source/mediamanager.rst index 2cf1d2c57..5ac6849b2 100644 --- a/documentation/manual/source/mediamanager.rst +++ b/documentation/manual/source/mediamanager.rst @@ -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 :kbd:`Alt+F7`. You will want to click on the plugin to the left that you +would like 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. diff --git a/documentation/manual/source/pics/addsong.png b/documentation/manual/source/pics/addsong.png new file mode 100644 index 000000000..3bcdfc088 Binary files /dev/null and b/documentation/manual/source/pics/addsong.png differ diff --git a/documentation/manual/source/pics/addsongservice1.png b/documentation/manual/source/pics/addsongservice1.png new file mode 100644 index 000000000..1a01edadb Binary files /dev/null and b/documentation/manual/source/pics/addsongservice1.png differ diff --git a/documentation/manual/source/pics/addsongservice2.png b/documentation/manual/source/pics/addsongservice2.png new file mode 100644 index 000000000..4be2728d0 Binary files /dev/null and b/documentation/manual/source/pics/addsongservice2.png differ diff --git a/documentation/manual/source/pics/authorstopicsbooks.png b/documentation/manual/source/pics/authorstopicsbooks.png new file mode 100644 index 000000000..dd7aa4862 Binary files /dev/null and b/documentation/manual/source/pics/authorstopicsbooks.png differ diff --git a/documentation/manual/source/pics/bibleimport01.png b/documentation/manual/source/pics/bibleimport01.png new file mode 100644 index 000000000..be8bdfbf3 Binary files /dev/null and b/documentation/manual/source/pics/bibleimport01.png differ diff --git a/documentation/manual/source/pics/bibleimport02.png b/documentation/manual/source/pics/bibleimport02.png new file mode 100644 index 000000000..23c4b7b2a Binary files /dev/null and b/documentation/manual/source/pics/bibleimport02.png differ diff --git a/documentation/manual/source/pics/bibleimportdetails1.png b/documentation/manual/source/pics/bibleimportdetails1.png new file mode 100644 index 000000000..519c36922 Binary files /dev/null and b/documentation/manual/source/pics/bibleimportdetails1.png differ diff --git a/documentation/manual/source/pics/bibleimportfinished1.png b/documentation/manual/source/pics/bibleimportfinished1.png new file mode 100644 index 000000000..15fbd7bae Binary files /dev/null and b/documentation/manual/source/pics/bibleimportfinished1.png differ diff --git a/documentation/manual/source/pics/biblewebcomplete.png b/documentation/manual/source/pics/biblewebcomplete.png new file mode 100644 index 000000000..a928f8021 Binary files /dev/null and b/documentation/manual/source/pics/biblewebcomplete.png differ diff --git a/documentation/manual/source/pics/configureadvanced.png b/documentation/manual/source/pics/configureadvanced.png new file mode 100644 index 000000000..f31812f93 Binary files /dev/null and b/documentation/manual/source/pics/configureadvanced.png differ diff --git a/documentation/manual/source/pics/configurealerts.png b/documentation/manual/source/pics/configurealerts.png new file mode 100644 index 000000000..ac46801dc Binary files /dev/null and b/documentation/manual/source/pics/configurealerts.png differ diff --git a/documentation/manual/source/pics/configurebibles.png b/documentation/manual/source/pics/configurebibles.png new file mode 100644 index 000000000..cd44ee4af Binary files /dev/null and b/documentation/manual/source/pics/configurebibles.png differ diff --git a/documentation/manual/source/pics/configurecustom.png b/documentation/manual/source/pics/configurecustom.png new file mode 100644 index 000000000..3db5c4989 Binary files /dev/null and b/documentation/manual/source/pics/configurecustom.png differ diff --git a/documentation/manual/source/pics/configuregeneral.png b/documentation/manual/source/pics/configuregeneral.png new file mode 100644 index 000000000..b1bae76e0 Binary files /dev/null and b/documentation/manual/source/pics/configuregeneral.png differ diff --git a/documentation/manual/source/pics/configuremedia.png b/documentation/manual/source/pics/configuremedia.png new file mode 100644 index 000000000..cc9e11a38 Binary files /dev/null and b/documentation/manual/source/pics/configuremedia.png differ diff --git a/documentation/manual/source/pics/configurepresentations.png b/documentation/manual/source/pics/configurepresentations.png new file mode 100644 index 000000000..4960aa8e5 Binary files /dev/null and b/documentation/manual/source/pics/configurepresentations.png differ diff --git a/documentation/manual/source/pics/configureremotes.png b/documentation/manual/source/pics/configureremotes.png new file mode 100644 index 000000000..9eb22131c Binary files /dev/null and b/documentation/manual/source/pics/configureremotes.png differ diff --git a/documentation/manual/source/pics/configuresongs.png b/documentation/manual/source/pics/configuresongs.png new file mode 100644 index 000000000..19796f3b5 Binary files /dev/null and b/documentation/manual/source/pics/configuresongs.png differ diff --git a/documentation/manual/source/pics/configurethemes.png b/documentation/manual/source/pics/configurethemes.png new file mode 100644 index 000000000..c8241ddaf Binary files /dev/null and b/documentation/manual/source/pics/configurethemes.png differ diff --git a/documentation/manual/source/pics/createthemeicon.png b/documentation/manual/source/pics/createthemeicon.png new file mode 100644 index 000000000..d1fefc0d2 Binary files /dev/null and b/documentation/manual/source/pics/createthemeicon.png differ diff --git a/documentation/manual/source/pics/csvimport1.png b/documentation/manual/source/pics/csvimport1.png new file mode 100644 index 000000000..9a4214aec Binary files /dev/null and b/documentation/manual/source/pics/csvimport1.png differ diff --git a/documentation/manual/source/pics/csvimport2.png b/documentation/manual/source/pics/csvimport2.png new file mode 100644 index 000000000..d0c8e569b Binary files /dev/null and b/documentation/manual/source/pics/csvimport2.png differ diff --git a/documentation/manual/source/pics/logo.png b/documentation/manual/source/pics/logo.png new file mode 100644 index 000000000..a232b59a9 Binary files /dev/null and b/documentation/manual/source/pics/logo.png differ diff --git a/documentation/manual/source/pics/mediamanager.png b/documentation/manual/source/pics/mediamanager.png index 245f2469b..183e0defb 100644 Binary files a/documentation/manual/source/pics/mediamanager.png and b/documentation/manual/source/pics/mediamanager.png differ diff --git a/documentation/manual/source/pics/openlp.ico b/documentation/manual/source/pics/openlp.ico new file mode 100644 index 000000000..e53fce8d7 Binary files /dev/null and b/documentation/manual/source/pics/openlp.ico differ diff --git a/documentation/manual/source/pics/phononcheckbox.png b/documentation/manual/source/pics/phononcheckbox.png new file mode 100644 index 000000000..2830bd8be Binary files /dev/null and b/documentation/manual/source/pics/phononcheckbox.png differ diff --git a/documentation/manual/source/pics/plugins.png b/documentation/manual/source/pics/plugins.png index b6810242b..647c1de7d 100644 Binary files a/documentation/manual/source/pics/plugins.png and b/documentation/manual/source/pics/plugins.png differ diff --git a/documentation/manual/source/pics/previewsong1.png b/documentation/manual/source/pics/previewsong1.png new file mode 100644 index 000000000..23a6b2a07 Binary files /dev/null and b/documentation/manual/source/pics/previewsong1.png differ diff --git a/documentation/manual/source/pics/previewsong2.png b/documentation/manual/source/pics/previewsong2.png new file mode 100644 index 000000000..6202e0d14 Binary files /dev/null and b/documentation/manual/source/pics/previewsong2.png differ diff --git a/documentation/manual/source/pics/sendsonglive1.png b/documentation/manual/source/pics/sendsonglive1.png new file mode 100644 index 000000000..abef56775 Binary files /dev/null and b/documentation/manual/source/pics/sendsonglive1.png differ diff --git a/documentation/manual/source/pics/sendsonglive2.png b/documentation/manual/source/pics/sendsonglive2.png new file mode 100644 index 000000000..5700495f3 Binary files /dev/null and b/documentation/manual/source/pics/sendsonglive2.png differ diff --git a/documentation/manual/source/pics/songeditor1.png b/documentation/manual/source/pics/songeditor1.png new file mode 100644 index 000000000..d34e10165 Binary files /dev/null and b/documentation/manual/source/pics/songeditor1.png differ diff --git a/documentation/manual/source/pics/songeditor11.png b/documentation/manual/source/pics/songeditor11.png new file mode 100644 index 000000000..0d25eb097 Binary files /dev/null and b/documentation/manual/source/pics/songeditor11.png differ diff --git a/documentation/manual/source/pics/songeditor2.png b/documentation/manual/source/pics/songeditor2.png new file mode 100644 index 000000000..e9f02fd16 Binary files /dev/null and b/documentation/manual/source/pics/songeditor2.png differ diff --git a/documentation/manual/source/pics/songeditor3.png b/documentation/manual/source/pics/songeditor3.png new file mode 100644 index 000000000..4c567ab29 Binary files /dev/null and b/documentation/manual/source/pics/songeditor3.png differ diff --git a/documentation/manual/source/pics/songeditor4.png b/documentation/manual/source/pics/songeditor4.png new file mode 100644 index 000000000..b8fe6be9c Binary files /dev/null and b/documentation/manual/source/pics/songeditor4.png differ diff --git a/documentation/manual/source/pics/songeditor5.png b/documentation/manual/source/pics/songeditor5.png new file mode 100644 index 000000000..bfc9aba75 Binary files /dev/null and b/documentation/manual/source/pics/songeditor5.png differ diff --git a/documentation/manual/source/pics/songeditor6.png b/documentation/manual/source/pics/songeditor6.png new file mode 100644 index 000000000..e727b3828 Binary files /dev/null and b/documentation/manual/source/pics/songeditor6.png differ diff --git a/documentation/manual/source/pics/songeditor7.png b/documentation/manual/source/pics/songeditor7.png new file mode 100644 index 000000000..eeb6f0ff1 Binary files /dev/null and b/documentation/manual/source/pics/songeditor7.png differ diff --git a/documentation/manual/source/pics/songeditor8.png b/documentation/manual/source/pics/songeditor8.png new file mode 100644 index 000000000..fd57d79b4 Binary files /dev/null and b/documentation/manual/source/pics/songeditor8.png differ diff --git a/documentation/manual/source/pics/songeditor9.png b/documentation/manual/source/pics/songeditor9.png new file mode 100644 index 000000000..cf067a7dc Binary files /dev/null and b/documentation/manual/source/pics/songeditor9.png differ diff --git a/documentation/manual/source/pics/songs12.png b/documentation/manual/source/pics/songs12.png new file mode 100644 index 000000000..d9637a4d0 Binary files /dev/null and b/documentation/manual/source/pics/songs12.png differ diff --git a/documentation/manual/source/pics/songs13.png b/documentation/manual/source/pics/songs13.png new file mode 100644 index 000000000..2d084954c Binary files /dev/null and b/documentation/manual/source/pics/songs13.png differ diff --git a/documentation/manual/source/pics/songs14.png b/documentation/manual/source/pics/songs14.png new file mode 100644 index 000000000..917bb6bf6 Binary files /dev/null and b/documentation/manual/source/pics/songs14.png differ diff --git a/documentation/manual/source/pics/songs15.png b/documentation/manual/source/pics/songs15.png new file mode 100644 index 000000000..74deea0ec Binary files /dev/null and b/documentation/manual/source/pics/songs15.png differ diff --git a/documentation/manual/source/pics/songs16.png b/documentation/manual/source/pics/songs16.png new file mode 100644 index 000000000..e72026839 Binary files /dev/null and b/documentation/manual/source/pics/songs16.png differ diff --git a/documentation/manual/source/pics/songs17.png b/documentation/manual/source/pics/songs17.png new file mode 100644 index 000000000..c5b56d1eb Binary files /dev/null and b/documentation/manual/source/pics/songs17.png differ diff --git a/documentation/manual/source/pics/themeeditbutton.png b/documentation/manual/source/pics/themeeditbutton.png new file mode 100644 index 000000000..b3e6a768b Binary files /dev/null and b/documentation/manual/source/pics/themeeditbutton.png differ diff --git a/documentation/manual/source/pics/themeimportexport.png b/documentation/manual/source/pics/themeimportexport.png new file mode 100644 index 000000000..189a2a435 Binary files /dev/null and b/documentation/manual/source/pics/themeimportexport.png differ diff --git a/documentation/manual/source/pics/thememanager1.png b/documentation/manual/source/pics/thememanager1.png new file mode 100644 index 000000000..24dd6bec0 Binary files /dev/null and b/documentation/manual/source/pics/thememanager1.png differ diff --git a/documentation/manual/source/pics/themewizard1.png b/documentation/manual/source/pics/themewizard1.png new file mode 100644 index 000000000..1e37687fb Binary files /dev/null and b/documentation/manual/source/pics/themewizard1.png differ diff --git a/documentation/manual/source/pics/themewizard2.png b/documentation/manual/source/pics/themewizard2.png new file mode 100644 index 000000000..ba1654daf Binary files /dev/null and b/documentation/manual/source/pics/themewizard2.png differ diff --git a/documentation/manual/source/pics/themewizard3.png b/documentation/manual/source/pics/themewizard3.png new file mode 100644 index 000000000..508e80c1c Binary files /dev/null and b/documentation/manual/source/pics/themewizard3.png differ diff --git a/documentation/manual/source/pics/themewizard4.png b/documentation/manual/source/pics/themewizard4.png new file mode 100644 index 000000000..9cd50ed67 Binary files /dev/null and b/documentation/manual/source/pics/themewizard4.png differ diff --git a/documentation/manual/source/pics/themewizard5.png b/documentation/manual/source/pics/themewizard5.png new file mode 100644 index 000000000..cb5c0813c Binary files /dev/null and b/documentation/manual/source/pics/themewizard5.png differ diff --git a/documentation/manual/source/pics/themewizard6.png b/documentation/manual/source/pics/themewizard6.png new file mode 100644 index 000000000..9958d43f0 Binary files /dev/null and b/documentation/manual/source/pics/themewizard6.png differ diff --git a/documentation/manual/source/pics/themewizard7.png b/documentation/manual/source/pics/themewizard7.png new file mode 100644 index 000000000..92d9e47ac Binary files /dev/null and b/documentation/manual/source/pics/themewizard7.png differ diff --git a/documentation/manual/source/pics/themewizard8.png b/documentation/manual/source/pics/themewizard8.png new file mode 100644 index 000000000..a25cf0d8c Binary files /dev/null and b/documentation/manual/source/pics/themewizard8.png differ diff --git a/documentation/manual/source/pics/themewizard9.png b/documentation/manual/source/pics/themewizard9.png new file mode 100644 index 000000000..2bde33ac7 Binary files /dev/null and b/documentation/manual/source/pics/themewizard9.png differ diff --git a/documentation/manual/source/pics/themewizardwelcome.png b/documentation/manual/source/pics/themewizardwelcome.png new file mode 100644 index 000000000..f58e7c8f3 Binary files /dev/null and b/documentation/manual/source/pics/themewizardwelcome.png differ diff --git a/documentation/manual/source/pics/webbible1.png b/documentation/manual/source/pics/webbible1.png new file mode 100644 index 000000000..6ff1b6560 Binary files /dev/null and b/documentation/manual/source/pics/webbible1.png differ diff --git a/documentation/manual/source/pics/webbibleproxy1.png b/documentation/manual/source/pics/webbibleproxy1.png new file mode 100644 index 000000000..23ba9ad24 Binary files /dev/null and b/documentation/manual/source/pics/webbibleproxy1.png differ diff --git a/documentation/manual/source/quickstart.rst b/documentation/manual/source/quickstart.rst new file mode 100644 index 000000000..81e262125 --- /dev/null +++ b/documentation/manual/source/quickstart.rst @@ -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 +============== + diff --git a/documentation/manual/source/themes.rst b/documentation/manual/source/themes.rst new file mode 100644 index 000000000..b689cb1a8 --- /dev/null +++ b/documentation/manual/source/themes.rst @@ -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. diff --git a/documentation/manual/source/troubleshooting.rst b/documentation/manual/source/troubleshooting.rst new file mode 100644 index 000000000..c01b7f629 --- /dev/null +++ b/documentation/manual/source/troubleshooting.rst @@ -0,0 +1,132 @@ +=============== +Troubleshooting +=============== + +I can not play videos or other media +==================================== + +If you can not play video or audio through openlp, there are several areas that +could be an issue. First thing is to make sure you can play the media file +through your default media player. OpenLP should be able to play any file that +you can play through your default media player. + +If you can play a file through your media player but not on OpenLP it may help +to enable Phonon for multimedia playback. Go to the OpenLP configuration +:menuselection:`Settings --> Configure OpenLP...` and select the Media tab. +Make sure the check box for `Use Phonon for video playback` is checked. + +.. image:: pics/phononcheckbox.png + +Codecs +------ + +You may need to install codecs for certain files to play. Most newer versions +of Windows and OS X will support most media types. Most Linux distributions +will require a little more help to get certain media types to play. + +Microsoft Windows +^^^^^^^^^^^^^^^^^ + +Later versions of Microsoft Windows (Vista, Windows 7) generally come with +everything you need to play most media formats. If for some reason you need +additional codecs we have seen success from the Combined Community Codec Pack +(CCCP): ``_. You might also wish to check out the +K-Lite Codec Pack. If you are having issues, results do seem to vary with the +different options. What works for some may not for others, so some trial and +error may be required. + +Mac +^^^ + +If you are using a Mac. You may wish to play Windows formats. flip4mac enables +you to use popular Windows formats such as .wmv on your Mac. You can get it +here ``_. + +Ubuntu Linux (and variants) +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you are using Ubuntu Linux, or one of its variants (Kubuntu, Edubuntu, etc...) +it is a fairly quick and easy process to get all the codecs you need to make +things work. You will need to install two meta-packages that contain all the +multimedia codecs that you will generally need. From the Software Center install +ubuntu-restricted-extras and Kubuntu-restricted-extras, or from the terminal:: + + user@linux:~ $ sudo apt-get install ubuntu-restricted-extras kubuntu-restricted-extras + +**Note** if you are running Kubuntu there is no need to install the +ubuntu-restricted-extras meta-package + +For more information on Ubuntu and multimedia issues please check out +``_. + +Arch Linux +^^^^^^^^^^ + +The following command provides the most complete solution for codecs on Arch +Linux:: + + root@linux:~ # pacman -S gstreamer0.10-{base,good,bad,ugly}-plugins gstreamer0.10-ffmpeg + +If you need more help with Arch Linux and multimedia please see the Arch Linux +documentation at ``_. + +Debian Linux +^^^^^^^^^^^^ + +You will need to add the Debian Multimedia Repository. So add the folowing to +/etc/apt/sources.list:: + + deb http://www.debian-multimedia.org testing main non-free + +Then update the repository info:: + + root@linux:~ # apt-get update + +Then install the following packages:: + + root@linux:~ # apt-get install gstreamer0.10-ffmpeg gstreamer0.10-lame gstreamer0.10-plugins-really-bad gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gstreamer0.10-plugins-good gstreamer0.10-x264 + +Fedora Linux +^^^^^^^^^^^^ +You will need to set up Fedora to play most media formats. This is relatively +simple using the rpmfusion repository. + +**Note** the following commands will enable a third party repository to your +system. Please check out ``_. for more information. + +To enable both the free and nonfree components for any Fedora official release +enter the following commands:: + + su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm' + +After enabling the rpmfusion repository you will want to refresh your package +list, perform any updates and search for gstreamer-good, bad, and ugly and +install. + +Here is a good tutorial video on the rpmfusion repository +``_. + +The Media Manager appears to be missing some features +===================================================== + +If you do not see all the features listed in the Media Manager, you may need +to enable them. + +To enable the plugins navigate to :menuselection:`Settings --> Plugins` or +press :kbd:`Alt+F7`. You will want to click on the plugin to the left that you +would like to enable and select **active** from the drop down box to the right. + +.. image:: pics/plugins.png + +By default all plugins should be enabled during the first run wizard except the +remotes plugin, unless you specify differently. + +I can not see the book, chapter, and verse when I display scripture +=================================================================== + +The book, chapter, and verse should be displayed when you display scripture. If +you can not see this your theme probably has the text size too small for the +info to be seen. See the section of the manual on themes if you need more info +on text sizes in themes. + + diff --git a/openlp.pyw b/openlp.pyw index af3908c30..3f2199038 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -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 # @@ -27,20 +27,26 @@ import os import sys import logging +# Import uuid now, to avoid the rare bug described in the support system: +# http://support.openlp.org/issues/102 +# If https://bugs.gentoo.org/show_bug.cgi?id=317557 is fixed, the import can be +# removed. +import uuid from optparse import OptionParser from traceback import format_exception -from subprocess import Popen, PIPE from PyQt4 import QtCore, QtGui from openlp.core.lib import Receiver, check_directory_exists +from openlp.core.lib.ui import UiStrings 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 +from openlp.core.utils import AppLocation, LanguageManager, VersionThread, \ + get_application_version log = logging.getLogger() @@ -71,91 +77,18 @@ 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') - def _get_version(self): + def exec_(self): """ - Load and store current Application Version + Override exec method to allow the shared memory to be released on exit """ - 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: - # If bzrlib is availble, use it - from bzrlib.branch import Branch - b = Branch.open_containing('.')[0] - b.lock_read() - try: - # Get the branch's latest revision number. - revno = b.revno() - # Convert said revision number into a bzr revision id. - revision_id = b.dotted_revno_to_revision_id((revno,)) - # Get a dict of tags, with the revision id as the key. - tags = b.tags.get_reverse_tag_dict() - # Check if the latest - if revision_id in tags: - full_version = u'%s' % tags[revision_id][0] - else: - full_version = '%s-bzr%s' % \ - (sorted(b.tags.get_tag_dict().keys())[-1], revno) - finally: - b.unlock() - except: - # Otherwise run the command line bzr client - bzr = Popen((u'bzr', u'tags', u'--sort', u'time'), stdout=PIPE) - output, error = bzr.communicate() - code = bzr.wait() - if code != 0: - raise Exception(u'Error running bzr tags') - lines = output.splitlines() - if len(lines) == 0: - tag = u'0.0.0' - revision = u'0' - else: - tag, revision = lines[-1].split() - bzr = Popen((u'bzr', u'log', u'--line', u'-r', u'-1'), - stdout=PIPE) - output, error = bzr.communicate() - code = bzr.wait() - if code != 0: - raise Exception(u'Error running bzr log') - latest = output.split(u':')[0] - full_version = latest == revision and tag or \ - u'%s-bzr%s' % (tag, latest) - else: - # We're not running the development version, let's use the file - filepath = AppLocation.get_directory(AppLocation.VersionDir) - filepath = os.path.join(filepath, u'.version') - fversion = None - try: - fversion = open(filepath, u'r') - full_version = unicode(fversion.read()).rstrip() - except IOError: - log.exception('Error in version file.') - full_version = u'0.0.0-bzr000' - finally: - if fversion: - fversion.close() - bits = full_version.split(u'-') - 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']: - log.info( - u'Openlp version %s build %s', - app_version[u'version'], - app_version[u'build'] - ) - else: - log.info(u'Openlp version %s' % app_version[u'version']) - return app_version + QtGui.QApplication.exec_() + self.sharedMemory.detach() 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) @@ -163,10 +96,6 @@ 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 @@ -186,7 +115,8 @@ class OpenLP(QtGui.QApplication): # make sure Qt really display the splash screen self.processEvents() # start the main app window - self.mainWindow = MainWindow(screens, app_version, self.clipboard()) + self.mainWindow = MainWindow(screens, self.clipboard(), + self.arguments()) self.mainWindow.show() if show_splash: # now kill the splashscreen @@ -198,9 +128,27 @@ class OpenLP(QtGui.QApplication): 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).start() return self.exec_() + def isAlreadyRunning(self): + """ + Look to see if OpenLP is already running and ask if a 2nd copy + is to be started. + """ + self.sharedMemory = QtCore.QSharedMemory('OpenLP') + if self.sharedMemory.attach(): + status = QtGui.QMessageBox.critical(None, + UiStrings.Error, UiStrings.OpenLPStart, + QtGui.QMessageBox.StandardButtons( + QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) + if status == QtGui.QMessageBox.No: + return True + return False + else: + self.sharedMemory.create(1) + return False + def hookException(self, exctype, value, traceback): if not hasattr(self, u'mainWindow'): log.exception(''.join(format_exception(exctype, value, traceback))) @@ -273,11 +221,15 @@ def main(): qInitResources() # Now create and actually run the application. app = OpenLP(qt_args) - # Define the settings environment - settings = QtCore.QSettings(u'OpenLP', u'OpenLP') + # Instance check + if app.isAlreadyRunning(): + sys.exit() + app.setOrganizationName(u'OpenLP') + app.setOrganizationDomain(u'openlp.org') + app.setApplicationName(u'OpenLP') + app.setApplicationVersion(get_application_version()[u'version']) # First time checks in settings - # Use explicit reference as not inside a QT environment yet - if not settings.value(u'general/has run wizard', + if not QtCore.QSettings().value(u'general/has run wizard', QtCore.QVariant(False)).toBool(): if not FirstTimeLanguageForm().exec_(): # if cancel then stop processing diff --git a/openlp/.version b/openlp/.version index ae8249b9a..998994b7f 100644 --- a/openlp/.version +++ b/openlp/.version @@ -1 +1 @@ -1.9.2-bzr987 \ No newline at end of file +1.9.5-bzr1421 \ No newline at end of file diff --git a/openlp/__init__.py b/openlp/__init__.py index 9c22aab8b..ac3dac24c 100644 --- a/openlp/__init__.py +++ b/openlp/__init__.py @@ -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 # diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index 00d8b78c0..1cef928bc 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -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 # diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py index 1fb842361..ddb1ae9b1 100644 --- a/openlp/core/lib/__init__.py +++ b/openlp/core/lib/__init__.py @@ -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 # @@ -316,8 +316,11 @@ def check_directory_exists(dir): Theme directory to make sure exists """ log.debug(u'check_directory_exists %s' % dir) - if not os.path.exists(dir): - os.makedirs(dir) + try: + if not os.path.exists(dir): + os.makedirs(dir) + except IOError: + pass from listwidgetwithdnd import ListWidgetWithDnD from displaytags import DisplayTags diff --git a/openlp/core/lib/db.py b/openlp/core/lib/db.py index c92f992c8..42dab1e42 100644 --- a/openlp/core/lib/db.py +++ b/openlp/core/lib/db.py @@ -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 # diff --git a/openlp/core/lib/displaytags.py b/openlp/core/lib/displaytags.py index fc36bc090..b584af023 100644 --- a/openlp/core/lib/displaytags.py +++ b/openlp/core/lib/displaytags.py @@ -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 # diff --git a/openlp/core/lib/dockwidget.py b/openlp/core/lib/dockwidget.py index efc0a3066..9b4661fee 100644 --- a/openlp/core/lib/dockwidget.py +++ b/openlp/core/lib/dockwidget.py @@ -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 # diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index 78b0c6324..bee195b0f 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -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 # @@ -101,6 +101,10 @@ class EventReceiver(QtCore.QObject): ``servicemanager_previous_item`` Display the previous item in the service + ``servicemanager_preview_live`` + Requests a Preview item from the Service Manager to update live and + add a new item to the preview panel + ``servicemanager_next_item`` Display the next item in the service diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py index 4faf47ddc..c4361a421 100644 --- a/openlp/core/lib/htmlbuilder.py +++ b/openlp/core/lib/htmlbuilder.py @@ -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 # @@ -85,7 +85,12 @@ body { } /* lyric css */ %s - +sup { + font-size:0.6em; + vertical-align:top; + position:relative; + top:-0.3em; +}