diff --git a/documentation/PluginDevelopersGuide.txt b/documentation/PluginDevelopersGuide.txt deleted file mode 100644 index 79e8ef1b2..000000000 --- a/documentation/PluginDevelopersGuide.txt +++ /dev/null @@ -1,8 +0,0 @@ -openlp.org 2.x Plugin Developer's Guide -======================================================================== - -Introduction ------------- -This document will show you how to write your own module for openlp.org. -openlp.org has been written in plugins so that you can add your own -functionality to openlp.org. diff --git a/documentation/api/Makefile b/documentation/api/Makefile deleted file mode 100644 index 70c821142..000000000 --- a/documentation/api/Makefile +++ /dev/null @@ -1,88 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source - -.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest - -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 of 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)" - -clean: - -rm -rf build/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) build/html - @echo - @echo "Build finished. The HTML pages are in build/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) build/dirhtml - @echo - @echo "Build finished. The HTML pages are in build/dirhtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) build/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) build/json - @echo - @echo "Build finished; now you can process the JSON files." - -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." - -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.qhc" - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex - @echo - @echo "Build finished; the LaTeX files are in build/latex." - @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ - "run these through (pdf)latex." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) build/changes - @echo - @echo "The overview file is in build/changes." - -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." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) build/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in build/doctest/output.txt." diff --git a/documentation/api/make.bat b/documentation/api/make.bat deleted file mode 100644 index 8d21b45ce..000000000 --- a/documentation/api/make.bat +++ /dev/null @@ -1,112 +0,0 @@ -@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/api/source/conf.py b/documentation/api/source/conf.py deleted file mode 100644 index 51ecfee0c..000000000 --- a/documentation/api/source/conf.py +++ /dev/null @@ -1,202 +0,0 @@ -# -*- coding: utf-8 -*- -# -# OpenLP documentation build configuration file, created by -# sphinx-quickstart on Fri Jul 10 17:20:40 2009. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import os -import sys - -# 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('..', '..', '..'))) - -# -- General configuration ----------------------------------------------------- - -# 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'] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -source_encoding = 'utf-8' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'OpenLP' -copyright = u'2004-2010, Raoul Snyman' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '2.0' -# The full version, including alpha/beta/rc tags. -release = '1.9.3' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# 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 = [] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -add_module_names = False - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- 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 = '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. -html_theme_options = { - 'sidebarbgcolor': '#3a60a9', - 'relbarbgcolor': '#203b6f', - 'footerbgcolor': '#26437c', - 'headtextcolor': '#203b6f', - 'linkcolor': '#26437c', - 'sidebarlinkcolor': '#ceceff' -} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -html_title = 'OpenLP 2.0 Developer API' - -# 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 - -# 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 - -# 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, -# so a file named "default.css" will overwrite the builtin "default.css". -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' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_use_modindex = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = 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 = '' - -# Output file base name for HTML help builder. -htmlhelp_basename = 'OpenLP-2.0-api' - - -# -- Options for LaTeX output -------------------------------------------------- - -# The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' - -# The font size ('10pt', '11pt' or '12pt'). -#latex_font_size = '10pt' - -# 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 Developer API', - u'Raoul Snyman', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# Additional stuff for the LaTeX preamble. -#latex_preamble = '' - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_use_modindex = True diff --git a/documentation/api/source/core/index.rst b/documentation/api/source/core/index.rst deleted file mode 100644 index 8555e1ebe..000000000 --- a/documentation/api/source/core/index.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. _core-index: - -:mod:`core` Module -================== - -.. automodule:: openlp.core - :members: - -.. toctree:: - :maxdepth: 2 - - lib - theme - ui - utils \ No newline at end of file diff --git a/documentation/api/source/core/lib.rst b/documentation/api/source/core/lib.rst deleted file mode 100644 index 6be95de5f..000000000 --- a/documentation/api/source/core/lib.rst +++ /dev/null @@ -1,67 +0,0 @@ -.. _core-lib: - -Object Library -============== - -.. automodule:: openlp.core.lib - :members: - -:mod:`EventReceiver` --------------------- - -.. autoclass:: openlp.core.lib.eventreceiver.EventReceiver - :members: - -:mod:`ListWidgetWithDnD` ------------------------- - -.. autoclass:: openlp.core.lib.listwidgetwithdnd.ListWidgetWithDnD - :members: - -:mod:`MediaManagerItem` ------------------------ - -.. autoclass:: openlp.core.lib.mediamanageritem.MediaManagerItem - :members: - -:mod:`Plugin` -------------- - -.. autoclass:: openlp.core.lib.plugin.Plugin - :members: - -:mod:`PluginManager` --------------------- - -.. autoclass:: openlp.core.lib.pluginmanager.PluginManager - :members: - -:mod:`Renderer` ---------------- - -.. autoclass:: openlp.core.lib.renderer.Renderer - :members: - -:mod:`RenderManager` --------------------- - -.. autoclass:: openlp.core.lib.rendermanager.RenderManager - :members: - -:mod:`ServiceItem` ------------------- - -.. autoclass:: openlp.core.lib.serviceitem.ServiceItem - :members: - -:mod:`SettingsTab` ------------------- - -.. autoclass:: openlp.core.lib.settingstab.SettingsTab - :members: - -:mod:`OpenLPToolbar` --------------------- - -.. autoclass:: openlp.core.lib.toolbar.OpenLPToolbar - :members: diff --git a/documentation/api/source/core/theme.rst b/documentation/api/source/core/theme.rst deleted file mode 100644 index 3621c6581..000000000 --- a/documentation/api/source/core/theme.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. _core-theme: - -Theme Function Library -====================== - -.. automodule:: openlp.core.theme - :members: - -.. autoclass:: openlp.core.theme.theme.Theme - :members: diff --git a/documentation/api/source/core/ui.rst b/documentation/api/source/core/ui.rst deleted file mode 100644 index 63db7478e..000000000 --- a/documentation/api/source/core/ui.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. _core-ui: - -User Interface -============== - -.. automodule:: openlp.core.ui - -Main Windows ------------- - -.. autoclass:: openlp.core.ui.mainwindow.MainWindow - :members: - -.. autoclass:: openlp.core.ui.maindisplay.MainDisplay - :members: - -Managers --------- - -.. autoclass:: openlp.core.ui.servicemanager.ServiceManager - :members: - -.. autoclass:: openlp.core.ui.mediadockmanager.MediaDockManager - :members: - -.. autoclass:: openlp.core.ui.thememanager.ThemeManager - :members: diff --git a/documentation/api/source/core/utils.rst b/documentation/api/source/core/utils.rst deleted file mode 100644 index d0c6a672b..000000000 --- a/documentation/api/source/core/utils.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. _core-utils: - -Utilities -========= - -.. automodule:: openlp.core.utils - :members: diff --git a/documentation/api/source/index.rst b/documentation/api/source/index.rst deleted file mode 100644 index e1aeebbab..000000000 --- a/documentation/api/source/index.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. OpenLP documentation master file, created by - sphinx-quickstart on Fri Jul 10 17:20:40 2009. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -Welcome -======= - -Welcome to the OpenLP 2.0 API Documentation! In here you will find all -information relating to OpenLP's core classes, core plugins, and anything else -deemed necessary or interesting by the developers. - -Contents: - -.. toctree:: - :maxdepth: 2 - - core/index - plugins/index - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` - diff --git a/documentation/api/source/plugins/alerts.rst b/documentation/api/source/plugins/alerts.rst deleted file mode 100644 index e7cf33d63..000000000 --- a/documentation/api/source/plugins/alerts.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. _plugins-alerts: - -Alerts Plugin -============= - -.. automodule:: openlp.plugins.alerts - :members: - -Plugin Class ------------- - -.. autoclass:: openlp.plugins.alerts.alertsplugin.AlertsPlugin - :members: - -Forms ------ - -.. automodule:: openlp.plugins.alerts.forms - :members: - -.. autoclass:: openlp.plugins.alerts.forms.alertform.AlertForm - :members: - -Helper Classes & Functions --------------------------- - -.. automodule:: openlp.plugins.alerts.lib - :members: - -.. automodule:: openlp.plugins.alerts.lib.db - :members: diff --git a/documentation/api/source/plugins/bibles.rst b/documentation/api/source/plugins/bibles.rst deleted file mode 100644 index c89f9c6ae..000000000 --- a/documentation/api/source/plugins/bibles.rst +++ /dev/null @@ -1,55 +0,0 @@ -.. _plugins-bibles: - -Bibles Plugin -============= - -.. automodule:: openlp.plugins.bibles - :members: - -Plugin Class ------------- - -.. autoclass:: openlp.plugins.bibles.bibleplugin.BiblePlugin - :members: - -Forms ------ - -.. automodule:: openlp.plugins.bibles.forms - :members: - -.. autoclass:: openlp.plugins.bibles.forms.bibleimportform.BibleImportForm - :members: - -Helper Classes & Functions --------------------------- - -.. automodule:: openlp.plugins.bibles.lib - :members: - -.. automodule:: openlp.plugins.bibles.lib.db - :members: - -.. automodule:: openlp.plugins.bibles.lib.biblestab - :members: - -.. automodule:: openlp.plugins.bibles.lib.manager - :members: - -.. automodule:: openlp.plugins.bibles.lib.mediaitem - :members: - -Bible Importers ---------------- - -.. automodule:: openlp.plugins.bibles.lib.csvbible - :members: - -.. automodule:: openlp.plugins.bibles.lib.http - :members: - -.. automodule:: openlp.plugins.bibles.lib.osis - :members: - -.. automodule:: openlp.plugins.bibles.lib.opensong - :members: diff --git a/documentation/api/source/plugins/custom.rst b/documentation/api/source/plugins/custom.rst deleted file mode 100644 index f50b86d41..000000000 --- a/documentation/api/source/plugins/custom.rst +++ /dev/null @@ -1,34 +0,0 @@ -.. _plugins-custom: - -Custom Slides Plugin -==================== - -.. automodule:: openlp.plugins.custom - :members: - -Plugin Class ------------- - -.. autoclass:: openlp.plugins.custom.customplugin.CustomPlugin - :members: - -Forms ------ - -.. automodule:: openlp.plugins.custom.forms - :members: - -.. autoclass:: openlp.plugins.custom.forms.editcustomform.EditCustomForm - :members: - -.. autoclass:: openlp.plugins.custom.forms.editcustomslideform.EditCustomSlideForm - :members: - -Helper Classes & Functions --------------------------- - -.. automodule:: openlp.plugins.custom.lib - :members: - -.. automodule:: openlp.plugins.custom.lib.mediaitem - :members: diff --git a/documentation/api/source/plugins/images.rst b/documentation/api/source/plugins/images.rst deleted file mode 100644 index 1007fc64c..000000000 --- a/documentation/api/source/plugins/images.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. _plugins-images: - -Images Plugin -============= - -.. automodule:: openlp.plugins.images - :members: - -Plugin Class ------------- - -.. autoclass:: openlp.plugins.images.imageplugin.ImagePlugin - :members: - -Helper Classes & Functions --------------------------- - -.. automodule:: openlp.plugins.images.lib - :members: - -.. automodule:: openlp.plugins.images.lib.mediaitem - :members: diff --git a/documentation/api/source/plugins/index.rst b/documentation/api/source/plugins/index.rst deleted file mode 100644 index 78126ff9e..000000000 --- a/documentation/api/source/plugins/index.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. _plugins-index: - -Plugins -======= - -.. automodule:: openlp.plugins - :members: - -.. toctree:: - :maxdepth: 2 - - songs - bibles - presentations - media - images - custom - remotes - songusage - alerts diff --git a/documentation/api/source/plugins/media.rst b/documentation/api/source/plugins/media.rst deleted file mode 100644 index a8486c9b4..000000000 --- a/documentation/api/source/plugins/media.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. _plugins-media: - -Media Plugin -============ - -.. automodule:: openlp.plugins.media - :members: - -Plugin Class ------------- - -.. autoclass:: openlp.plugins.media.mediaplugin.MediaPlugin - :members: - -Helper Classes & Functions --------------------------- - -.. automodule:: openlp.plugins.media.lib - :members: - -.. automodule:: openlp.plugins.media.lib.mediaitem - :members: diff --git a/documentation/api/source/plugins/presentations.rst b/documentation/api/source/plugins/presentations.rst deleted file mode 100644 index dd688ddf6..000000000 --- a/documentation/api/source/plugins/presentations.rst +++ /dev/null @@ -1,40 +0,0 @@ -.. _plugins-presentations: - -Presentations Plugin -==================== - -Plugin Class ------------- - -.. autoclass:: openlp.plugins.presentations.presentationplugin.PresentationPlugin - :members: - -Helper Classes & Functions --------------------------- - -.. automodule:: openlp.plugins.presentations.lib - :members: - -.. automodule:: openlp.plugins.presentations.lib.mediaitem - :members: - -.. automodule:: openlp.plugins.presentations.lib.presentationtab - :members: - -.. automodule:: openlp.plugins.presentations.lib.messagelistener - :members: - -.. automodule:: openlp.plugins.presentations.lib.presentationcontroller - :members: - -Presentation Application Controllers ------------------------------------- - -.. automodule:: openlp.plugins.presentations.lib.impresscontroller - :members: - -.. automodule:: openlp.plugins.presentations.lib.pptviewcontroller - :members: - -.. automodule:: openlp.plugins.presentations.lib.powerpointcontroller - :members: diff --git a/documentation/api/source/plugins/remotes.rst b/documentation/api/source/plugins/remotes.rst deleted file mode 100644 index 0bb05b8b9..000000000 --- a/documentation/api/source/plugins/remotes.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. _plugins-remotes: - -Remotes Plugin -============== - -.. automodule:: openlp.plugins.remotes - :members: - -Plugin Class ------------- - -.. autoclass:: openlp.plugins.remotes.remoteplugin.RemotesPlugin - :members: - -Helper Classes & Functions --------------------------- - -.. automodule:: openlp.plugins.remotes.lib - :members: - -.. autoclass:: openlp.plugins.remotes.lib.httpserver.HttpConnection - :members: - -.. autoclass:: openlp.plugins.remotes.lib.httpserver.HttpResponse - :members: diff --git a/documentation/api/source/plugins/songs.rst b/documentation/api/source/plugins/songs.rst deleted file mode 100644 index a9a3a8219..000000000 --- a/documentation/api/source/plugins/songs.rst +++ /dev/null @@ -1,97 +0,0 @@ -.. _plugins-songs: - -Songs Plugin -============ - -.. automodule:: openlp.plugins.songs - :members: - -Plugin Class ------------- - -.. autoclass:: openlp.plugins.songs.songsplugin.SongsPlugin - :members: - -Forms ------ - -.. automodule:: openlp.plugins.songs.forms - :members: - -.. autoclass:: openlp.plugins.songs.forms.authorsform.AuthorsForm - :members: - -.. autoclass:: openlp.plugins.songs.forms.editsongform.EditSongForm - :members: - -.. autoclass:: openlp.plugins.songs.forms.editverseform.EditVerseForm - :members: - -.. autoclass:: openlp.plugins.songs.forms.songbookform.SongBookForm - :members: - -.. autoclass:: openlp.plugins.songs.forms.songimportform.SongImportForm - :members: - -.. autoclass:: openlp.plugins.songs.forms.songmaintenanceform.SongMaintenanceForm - :members: - -.. autoclass:: openlp.plugins.songs.forms.topicsform.TopicsForm - :members: - -Helper Classes & Functions --------------------------- - -.. automodule:: openlp.plugins.songs.lib - :members: - -.. automodule:: openlp.plugins.songs.lib.db - :members: - -.. automodule:: openlp.plugins.songs.lib.importer - :members: - -.. automodule:: openlp.plugins.songs.lib.mediaitem - :members: - -.. automodule:: openlp.plugins.songs.lib.songimport - :members: - -.. automodule:: openlp.plugins.songs.lib.songstab - :members: - -.. automodule:: openlp.plugins.songs.lib.xml - :members: - -Song Importers --------------- - -.. automodule:: openlp.plugins.songs.lib.cclifileimport - :members: - -.. automodule:: openlp.plugins.songs.lib.ewimport - :members: - -.. autoclass:: openlp.plugins.songs.lib.ewimport.FieldDescEntry - :members: - -.. automodule:: openlp.plugins.songs.lib.olp1import - :members: - -.. automodule:: openlp.plugins.songs.lib.olpimport - :members: - -.. automodule:: openlp.plugins.songs.lib.oooimport - :members: - -.. automodule:: openlp.plugins.songs.lib.opensongimport - :members: - -.. automodule:: openlp.plugins.songs.lib.sofimport - :members: - -.. automodule:: openlp.plugins.songs.lib.songbeamerimport - :members: - -.. automodule:: openlp.plugins.songs.lib.wowimport - :members: diff --git a/documentation/api/source/plugins/songusage.rst b/documentation/api/source/plugins/songusage.rst deleted file mode 100644 index e4804ea34..000000000 --- a/documentation/api/source/plugins/songusage.rst +++ /dev/null @@ -1,34 +0,0 @@ -.. _plugins-songusage: - -Song Usage Plugin -================= - -.. automodule:: openlp.plugins.songusage - :members: - -Plugin Class ------------- - -.. autoclass:: openlp.plugins.songusage.songusageplugin.SongUsagePlugin - :members: - -Forms ------ - -.. automodule:: openlp.plugins.songusage.forms - :members: - -.. autoclass:: openlp.plugins.songusage.forms.songusagedeleteform.SongUsageDeleteForm - :members: - -.. autoclass:: openlp.plugins.songusage.forms.songusagedetailform.SongUsageDetailForm - :members: - -Helper Classes & Functions --------------------------- - -.. automodule:: openlp.plugins.songusage.lib - :members: - -.. automodule:: openlp.plugins.songusage.lib.db - :members: diff --git a/documentation/manual/Makefile b/documentation/manual/Makefile deleted file mode 100644 index 70c821142..000000000 --- a/documentation/manual/Makefile +++ /dev/null @@ -1,88 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source - -.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest - -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 of 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)" - -clean: - -rm -rf build/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) build/html - @echo - @echo "Build finished. The HTML pages are in build/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) build/dirhtml - @echo - @echo "Build finished. The HTML pages are in build/dirhtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) build/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) build/json - @echo - @echo "Build finished; now you can process the JSON files." - -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." - -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.qhc" - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex - @echo - @echo "Build finished; the LaTeX files are in build/latex." - @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ - "run these through (pdf)latex." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) build/changes - @echo - @echo "The overview file is in build/changes." - -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." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) build/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in build/doctest/output.txt." diff --git a/documentation/manual/make.bat b/documentation/manual/make.bat deleted file mode 100644 index 20bff1ee7..000000000 --- a/documentation/manual/make.bat +++ /dev/null @@ -1,112 +0,0 @@ -@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/alert.rst b/documentation/manual/source/alert.rst deleted file mode 100644 index 6877cef6f..000000000 --- a/documentation/manual/source/alert.rst +++ /dev/null @@ -1,57 +0,0 @@ -===== -Alert -===== - -From time to time it may be necessary to display a small unobtrusive message to -the congregation. In OpenLP this is known as an `Alert`. Examples could be a car -with the headlights left on, a parent needed in nursery, or anything else -somebody may need notified about. This is easily accomplished using the Alert, -which is accessible from the top Menu under :menuselection:`Tools --> Alert`. - -.. image:: pics/alert.png - -:guilabel:`Alert text:` Enter the message you want displayed in this box. - -:guilabel:`Parameter:` This box is used for words you want to insert into the -alert text. - -You will add the Parameter text into the alert text using “<>” (without -quotations). Anywhere in the Alert text that you add these two symbols, <> side -by side, will insert any text you have in the parameter box into the Alert -message. - -Examples of use ---------------- - -:guilabel:`Alert text:` The owner of the vehicle with license plate number <> -your lights are on. - -:guilabel:`Parameter:` HNN432 - -These two settings will display like this: - -The owner of the vehicle with the license plate number HNN432 your lights are on. - -You could also reverse this example: - -:guilabel:`Alert text:` HNN432 <> - -:guilabel:`Parameter:` left their lights on. - -`Will display like this:` HNN432 left their lights on. - -If you use the same alerts on a regular basis, Save your Alert and you will have -access to the alert with a click of the mouse. You may also click on `New` to -make a new alert or `Delete` an alert you do not need. - -When you are ready to Display your Alert you have two options. Clicking on -Display will display the Alert and the Alert Message window will remain open. -Clicking Display & Close will display the alert and close the Alert Message -window. - -All details of the display, font, color, size and position are adjusted from the -top Menu item :menuselection:`Settings --> Configure OpenLP`, Alert tab and the -instructions here. :doc:`configure` - -**Please note:** Alert Message is a Plugin that needs to be Active in the Plugin -List for use. \ No newline at end of file diff --git a/documentation/manual/source/bibles.rst b/documentation/manual/source/bibles.rst deleted file mode 100644 index 005ab72db..000000000 --- a/documentation/manual/source/bibles.rst +++ /dev/null @@ -1,158 +0,0 @@ -====== -Bibles -====== - -Managing Bibles in OpenLP is a relatively simple process. There are also -converters provided to get data from other formats into OpenLP. - -.. _bibleimporter: - -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. Click on the file folder icon to -choose the file(s) of the Bible database you want to import. See the sections -below for more information on the different formats that OpenLP will import. -Click :guilabel:`Next` to continue. - -.. image:: pics/bibleimport02.png - -After selecting your file(s), you'll be asked to fill in the details of the -Bible you are importing. Remember to check what information you need to display -for your Bible's translation, as some of them have strict rules around the -copyright notice. Click :guilabel:`Next` to continue. - -.. image:: pics/bibleimportdetails1.png - -After filling in the copyright details, OpenLP will start to import your Bible. -It may take some time to import your Bible so please be patient. - -.. image:: pics/bibleimportfinished1.png - -When the import has finished click :guilabel:`Finish` and you should be -ready to use your Bible in OpenLP. - -Importing from openlp.org 1.x -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Importing Bibles from openlp.org 1.x is a simple process. First you will need to -locate your version 1.x Bibles. Version 1.x Bibles have the `.bible` file -extension. - -Windows XP:: - - C:\Documents and Settings\All Users\Application Data\openlp.org\Data\Bibles\ - -Windows Vista / Windows 7:: - - C:\ProgramData\openlp.org\Data\Bibles\ - -After selecting all of the openlp.org 1.x Bibles you want to convert, click -:guilabel:`Next` to continue the import process. - -Importing OSIS Bibles -^^^^^^^^^^^^^^^^^^^^^ - -Importing OSIS files is very simple. Select OSIS as your import source, select -your OSIS Bible file and continue the import process. - -**About OSIS Formatted Bibles** - -The OSIS XML standard was designed to provide a common format for distribution -of electronic Bibles. More information can be found out at the `Bible Technologies website -`_. - -If you have any software installed that is part of the `Sword Project -`_ it can be easily converted. - -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 the command prompt in -Windows or a terminal in Linux or Mac OS X 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 import, follow the rest of the -import process. When the import has finished you should 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. - -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` to continue the import process. When your import is completed -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. - -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 continue with the import -process. Once it is complete you should be ready to use your imported CSV Bible. diff --git a/documentation/manual/source/conf.py b/documentation/manual/source/conf.py deleted file mode 100644 index 2e9c0a88f..000000000 --- a/documentation/manual/source/conf.py +++ /dev/null @@ -1,228 +0,0 @@ -# -*- coding: utf-8 -*- -# -# OpenLP documentation build configuration file, created by -# sphinx-quickstart on Thu Sep 30 21:24:54 2010. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -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('.')) - -# -- 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 = [] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'OpenLP' -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 -# built documents. -# -# The short X.Y version. -version = '2.0' -# The full version, including alpha/beta/rc tags. -release = '2.0' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# 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 - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- Options for HTML output --------------------------------------------------- - -# 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 sys.argv[2] == 'html': - html_theme_options = { - 'sidebarbgcolor': '#3a60a9', - 'relbarbgcolor': '#203b6f', - 'footerbgcolor': '#26437c', - 'headtextcolor': '#203b6f', - 'linkcolor': '#26437c', - 'sidebarlinkcolor': '#ceceff' - } - -# Add any paths that contain custom themes here, relative to this directory. -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 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 = '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 = '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, -# so a file named "default.css" will overwrite the builtin "default.css". -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' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# 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 = '' - -# 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' - - -# -- Options for LaTeX output -------------------------------------------------- - -# The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' - -# The font size ('10pt', '11pt' or '12pt'). -#latex_font_size = '10pt' - -# 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 Reference Manual', - u'Wesley Stout', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# 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 = '' - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- 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 deleted file mode 100644 index b12ada062..000000000 --- a/documentation/manual/source/configure.rst +++ /dev/null @@ -1,376 +0,0 @@ -================== -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:** - -The OpenLP logo is displayed while OpenLP loads when this checkbox is checked. -This is useful to give some indication that the program is loading. - -**Check for updates to OpenLP** - -OpenLP will check to see if there is a newer version available on a regular -basis when this checkbox is checked. Please note that this requires Internet -access. - -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. - -**Unblank display when adding new live item** - -When using the :guilabel:`blank to` button with this checkbox checked, on going -live with the next item, the screen will be automatically re-enabled. If this -checkbox is not checked you will need to click the :guilabel:`blank to` button -again to reverse the action. - - -**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 deleted file mode 100644 index 7e39edb45..000000000 --- a/documentation/manual/source/dualmonitors.rst +++ /dev/null @@ -1,231 +0,0 @@ -.. _dualmonitors: - -================== -Dual Monitor Setup -================== - -The first step in getting OpenLP working on your system is to setup your -computer properly for dual monitors. This is not very difficult, but the steps -will vary depending on operating system. - -Most modern computers have the ability for dual monitors. To be certain, -check your computer's documentation. A typical desktop computer capable of dual -monitors will have two of, or a combination of the two, connectors below. - -**VGA** - -.. image:: pics/vga.png - -**DVI** - -.. image:: pics/dvi.png - -A laptop computer setup only varies slightly. Generally you will need only one -of the outputs pictured above since your laptop screen serves as one of the -monitors. Sometimes with older laptops a key stroke generally involving the -:kbd:`Fn` key and another key is required to enable the second monitor on -laptops. - -Some computers also incorporate the use of :abbr:`S-Video (Separate Video)` or -:abbr:`HDMI (High-Definition Multimedia Interface)` connections. - -A typical OpenLP setup consist of your normal single monitor, with your -projector hooked up to your computer as the second monitor. With the option of -extending your desktop across the second monitor, or your operating system's -equivalent. - -**Special Note For Projectors Using USB Connections** - -Users have reported experiencing difficulties when using a projector with a USB -connection, as third party software is often required to properly configure -dual monitors. If possible, it is best to use a direct output (VGA, DVI, HDMI, -S-Video) from your machine's video card. If a USB connection is your only option -please consult the manufacturer's manual for instructions on a proper setup. - -Microsoft Windows ------------------ - -Dual monitor setup is similar among all the currently supported Windows -releases (XP, Vista, Windows 7), but does vary slightly from one release to the -next. - -Windows 7 -^^^^^^^^^ - -Windows 7 has using a projector in mind. Simply connect your projector and -press :kbd:`Windows+P`. - -The more traditional way is also fairly straight forward. Go to -:guilabel:`Control Panel` and click on :guilabel:`Display`. This will open up -the :guilabel:`Display` dialog. You may also bypass this step by a right click -on a blank area on your desktop and selecting :guilabel:`Resolution`. - -.. image:: pics/winsevendisplay.png - -Then click on the :guilabel:`Adjust resolution` link in the left pane. Enable -your projector and make sure that the selected value for :guilabel:`Multiple -displays` is :guilabel:`Extend these displays`. - -.. image:: pics/winsevenresolution.png - -Windows Vista -^^^^^^^^^^^^^ - -From :guilabel:`Control Panel` click on :guilabel:`Personalize`, or right click -a blank place on the desktop and click :guilabel:`Personalization`. - -.. image:: pics/vistapersonalize.png - -From the :guilabel:`Personalization` window click on :guilabel:`Display -Settings`. Click on the monitor that represents your projector and make sure -you have checked :guilabel:`Extend the desktop onto this monitor`. - -.. image:: pics/vistadisplaysettings.png - -Windows XP -^^^^^^^^^^ - -From :guilabel:`Control Panel` select :guilabel:`Display`, or right click on a -blank area of the desktop and select :guilabel:`Properties`. From the -:guilabel:`Display Properties` window click on the :guilabel:`Settings` tab. -Click on the monitor that represents your projector and make sure you have -checked :guilabel:`Extend my Windows desktop onto this monitor`. - -.. image:: pics/xpdisplaysettings.png - -Linux ------ - -Due to the vast varieties of hardware, distributions, desktops, and drivers -this is not an exhaustive guide to dual monitor setup on Linux. This guide -assumes you have properly set up any proprietary drivers if needed. You -should seek out your distributions documentation if this general guide does not -work. - -GNOME -^^^^^ - -This guide is for users of the GNOME desktop who do not use proprietary drivers. -From most distros go to :menuselection:`System --> Preferences --> Display -Settings (Monitors)`. Set up your projector with the correct resolution and make -sure that :guilabel:`Same image on all monitors` is **unchecked**. - -.. image:: pics/gnome.png - -KDE -^^^ - -This guide is for users of the KDE desktop who do not use proprietary drivers. -From most distros click the Kick Off menu and navigate to -:guilabel:`System Settings` - -.. image:: pics/kdesystemsettings.png - -Click on the display and monitor icon. - -.. image:: pics/kdedisplay.png - -From here you will need to set up your projector with the appropriate -resolution, and position. OpenLP works best projecting to the monitor on the -right. - -Linux Systems Using nVidia Drivers -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -This guide is for users of the proprietary nVidia driver on Linux Distributions. -It is assumed that you have properly setup your drivers according to your -distribution's documentation, and you have a working ``xorg.conf`` file in -place. - -If you wish to make the changes permanent in setting up your system for dual -monitors it will be necessary to modify your ``xorg.conf`` file. It is always a -good idea to make a backup of any critical file before making changes:: - - user@linux:~ $ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.old - -Or for those using systems that use the root user instead of sudo, change to -root and enter:: - - root@linux: # cp /etc/X11/xorg.conf /etc/X11/xorg.conf.old - -The exact location of the ``xorg.conf`` file can vary so check your -distribution's documentation. - -If you want to make your changes permanent run nVidia settings from the -terminal:: - - user@linux:~ $ sudo nvidia-settings - -Or, as root:: - - root@linux: # nividia-settings - -If you do not want to write the changes to your ``xorg.conf`` file simply run -the nVidia Settings program (:command:`nvidia-settings`) from your desktop's -menu, usually in an administration or system menu, or from the terminal as a -normal user run:: - - user@linux:~ $ nvidia-settings - -Once you have opened nVidia Settings, click on :guilabel:`X Server Display -Configuration`. Then select the monitor you are wanting to use as your second -monitor and click :guilabel:`Configure`. - -.. image:: pics/nvlinux1.png - -After clicking :guilabel:`Configure`, select :guilabel:`TwinView`. Then click -:guilabel:`OK`. - -.. image:: pics/twinview.png - -Click :guilabel:`Apply` and if you are happy with the way things look click -:guilabel:`Keep` to keep your new settings. Don't worry if all goes wrong the -settings will return back to the previous settings in 15 seconds without any -action. nVidia Settings should take care of selecting your optimum resolution -etc, but that can be changed as needed. When you are happy with everything click -on :guilabel:`Save to X Configuration File`. - -.. image:: pics/xorgwrite.png - -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/faq.rst b/documentation/manual/source/faq.rst deleted file mode 100644 index abba7a553..000000000 --- a/documentation/manual/source/faq.rst +++ /dev/null @@ -1,572 +0,0 @@ -========================== -Frequently Asked Questions -========================== - -General Questions -================= - -When is the release date for OpenLP 2.0? ----------------------------------------- - -*It will be ready when it's ready!* We do not have fixed dates, but we have -set some `targets for the releases `_. -If you take part in the `development `_, -start to `test OpenLP `_ and -`provide feedback `_ this will speed up -the progress. - -Can I help with OpenLP? ------------------------ - -OpenLP is possible because of the commitment of individuals. If you would like -to help there are several things that you can get involved with. Please see: -`Contributing `_ -for more information. - -I use and like OpenLP and would like to tell others online. Where can I do this? --------------------------------------------------------------------------------- - -A variety of places! - -* Are you on facebook? Then `become a fan `_ -* Are you on twitter? Then `follow openlp `_, and - retweet the announcements. -* Give us a thumbs up on the - `SourceForge project page `_ -* If you have a website or blog, then link to our site http://www.openlp.org - with a few words saying what the software is and why you like it. -* Add a placemark on our `Worldwide Usage map `_, - so others in your locality can see someone close by is using it. -* If you are a member of any Christian Forums or websites, and their rules allow - it, then perhaps review the software or ask others to review it. - -What operating systems will OpenLP 2.0 support? ------------------------------------------------ - -OpenLP 2.0 is designed to be cross platform. Currently it has been known to run -on Windows (XP, Vista, 7), Linux (Ubuntu/Kubuntu, Fedora), FreeBSD & Mac OSX. -`Please let us know `_ if you've -successfully run it on something else. - -Which programming language is 2.0 developed in? ------------------------------------------------ - -OpenLP 2.0 is written in `Python `_ and uses the -`Qt4 toolkit `_. Both are cross-platform which allows the -software to run on different types of machine and so allow more people access to -free worship software. Python is one of the easier programming languages to -learn, so this helps us develop and `find bugs `_ -quicker, and also allows more developers to contribute with the project. - -Which written languages does OpenLP support? --------------------------------------------- - -The beta now has support for a few languages which can be seen on the -:menuselection:`Settings -->Translate` menu. However some of these translations -are incomplete. If you would like to help complete or start to translate OpenLP -into your language then see the `Getting started page `_. - -What is a beta release? ------------------------ - -A beta release is a release which is almost feature complete and is fairly -stable. However there may still be a few `features `_ -to complete, and `bugs `_ we've not yet fixed. -It is used by several people without serious problems. However there is a small -possibility that it could still crash occasionally or do unexpected things. It -is intended for those who want the latest version, and are prepared to give the -program a good test before using it in a live situation to ensure they won't -encounter any unexpected problems. If you want to have a look at the latest beta -release then just `download it `_. - -Should I use this beta release at Church in my Sunday services? ---------------------------------------------------------------- - -As long as you have taken the time to run through your service a couple of times -on your target machine, the answer to this question is **yes**. The OpenLP -team believes that OpenLP 2.0 beta 1 is stable enough to be used in Sunday -services. As of beta 1, there are a good number of churches already using -version 2.0 successfully. The OpenLP team works hard to make sure each release -is solid, but cannot yet guarantee that everything works perfectly, or even -correctly. - -If however your congregation is made up of 85 year old women who snarl when you -suggest replacing the gas lamps with electric light bulbs and consider the pipe -organ too loud and modern, then we recommend sticking with version 1.2 for now. - -As of beta 1, version 1.2 of OpenLP is "put out to pasture" - no more -development or even bugfixes will be performed on that version. - -Upgrading -========= - -Does 2.0 replace 1.2, or can they be run side by side? ------------------------------------------------------- - -It is perfectly safe to install 2.0 on a system with 1.2. Both versions are -installed in separate places, so you can still go back to 1.2. You can even run -them at the same time! - -2.0 stores its data in a separate folder to 1.2, so your data is perfectly safe, -and whatever you do in 2.0 will not damage 1.2 - -Are 1.2 and 2.0 compatible? ---------------------------- - -No. However imports exist to transfer your data to the new version. - -I have a computer that is quite old, should I upgrade? ------------------------------------------------------- - -2.0 does require significantly more resources than v1.2. Therefore if your -computer does not have much memory you may find 2.0 will struggle, `especially` -when changing between slides. - -Why can I not see my 1.2 songs, bibles and themes in 2.0? ---------------------------------------------------------- - -This is an beta release, which means it is not finished and one of the things we -haven't completely finished yet is importing 1.2 data automatically. We plan to -do this `Version 1.9.6 (beta 2) `_. - -How do I transfer my 1.2 song database? ---------------------------------------- - -In OpenLP 2.0, go to the :menuselection:`File --> Import --> Song` menu. -In the Wizard that appears, click Next and choose "openlp.org v1.x" from the -Format list. Click the search button on the Filename prompt, and at the bottom -of the dialog, copy the following into the File name prompt:: - - %ALLUSERSPROFILE%\Application Data\openlp.org\Data\songs.olp - -*(This must be in the popup file chooser dialog. Don't enter it directly into -the wizard).* - -Click Open, then in the wizard just click Next and wait for the import to complete. - -How do I transfer my 1.2 Bibles? --------------------------------- - -In OpenLP 2.0, go to the :menuselection:`File --> Import --> Bible` menu. -In the Wizard that appears, click Next and choose "openlp.org v1.x" from the -Format list. -Click the search button on the Filename prompt, and at the bottom of the dialog, -copy the following into the File name prompt:: - - %ALLUSERSPROFILE%\Application Data\openlp.org\Data\Bibles - -*(This must be in the popup file chooser dialog. Don't enter it directly into -the wizard).* - -Choose the Bible, Click Open, then in the wizard just click Next, enter the -License details, and wait for the import to complete. - -How do I transfer my 1.2 Themes? --------------------------------- - -In openlp.org v1, export each theme by selecting it in the Theme Manager, and -then clicking the picture of a blue folder with red arrow on the Theme Managers -toolbox. This theme file can then be imported into V2 using the -:menuselection:`File --> Import --> Theme` menu. - -I can't get my 2.0 theme to look the same as 1.2 ------------------------------------------------- - -OpenLP 2.0 is a complete rewrite using a completely different programming -language so it would work on different types of system. There are differences in -how the old and new languages draw text on the screen, and therefore it is -unlikely you'll get an exact match. - -Using OpenLP -============ - -Is there a manual or any documentation for 2.0? ------------------------------------------------ - -Some folks are working on a brand new manual for OpenLP 2.0. You can find the -latest version of this manual at http://manual.openlp.org. If you need help, -use the live chat feature or ask in the forums. If you would like to help write -the manual, please let us know - we are always happy for new volunteers to join -the team and contribute to the project. - -I've started OpenLP, but I can't see the songs or bibles section in the Media Manager -------------------------------------------------------------------------------------- - -When you installed OpenLP, the first time wizard would have asked which plugins -you wanted, and songs and bibles should have been selected. If for some reason -they were not, then you will need to activate them yourself. See -`How do I activate / deactivate a plugin `_ -for instructions. - -How do I activate / deactivate a plugin? ----------------------------------------- - -Plugins can be turned on and off from the Plugin List Screen. Select the plugin -you wish to start/stop and change it's status. You should not need to restart -OpenLP. - -What are these plugins that I keep seeing mentioned? ----------------------------------------------------- - -The plugins allow OpenLP to be extend easily. A number have been written -(Songs, Bibles, Presentations) etc but it is possible for the application to be -extended with functionality only you require. If this is the case then go for -it but lets us know as we can help and it may be something someone else wants. - -How do I enable PowerPoint/Impress/PowerPoint Viewer? ------------------------------------------------------ - -First of all ensure that the presentation plugin is enabled (see above). -Then to enable a presentation application, go to the `Settings` dialog, switch -to the `Presentations` tab and check one of the enabled checkboxes. OpenLP will -automatically detect which of the three you have installed, and enable the -appropriate checkbox(es). Check the applications you require, and then restart -OpenLP for the change to be detected. -Note, PowerPoint Viewer 2010 is not yet supported, use 2003 or 2007. - -See also `I'm on Windows and PowerPoint is installed, but it doesn't appear as an option `_ -and `Why is there no presentations plugin available on OS X? `_ - -Why is there no presentations plugin available on OS X? -------------------------------------------------------- - -Currently the presentations plugin is not bundled with OpenLP on OS X. The -reason for that is that the OpenOffice.org version on Mac OS X does not contain -the (more exact: does only contain a broken) interoperability component (the so -called pyuno bridge) which could be used by OpenLP. As soon as the -interoperability component works on OS X we can re-enable the plugin and bundle -it. We are really sorry for that. - -Is it possible to get Bible x? How? ------------------------------------ - -The Bible plugin has a much improved `Import Wizard` which can import Bibles -from a variety of sources. The following sources are supported: - -CSV - The same format as documented for `openlp.org 1.x `_. - -OSIS - An XML format for Bible. You can export Bibles from the `Sword Project `_ - into OSIS using the ``mod2osis`` tool. After using the Sword software Media - Manager (or other Sword frontend, like BibleTime or Xiphos) to download the - required Bible, run the following command from the command line (works on - Windows and Linux):: - - mod2osis > .osis - - The ```` parameter is the name of your Bible, as you see it in Sword. - Note that the ```` is case sensitive on all environments. Once you - have exported your Bible to OSIS, the Bible import wizard will the read - ``.osis`` file and import your Bible. - -OpenSong - OpenSong have a good selection of Bibles on their - `download page `_. - -Web Download - OpenLP can download Bibles on demand from the following 3 sites: - - * `Crosswalk `_ - * `BibleGateway `_ - * `BibleServer `_ - -Why do my Bible verses take a long time to load? ------------------------------------------------- - -In order to better conform to copyright law, the Web Download Bibles are not -downloaded when you import them, but on the fly as you search for them. As a -result, the search takes a little longer if you need to download those -particular verses. Having said that, the Web Download Bibles cache downloaded -verses so that you don't need to download them again. - -My Bible is on the Web Download sites, but my Church isn't on the internet. What options do I have? ---------------------------------------------------------------------------------------------------- - -When you create and save a service, all the items in the service are saved with -it. That means any images, presentations, songs and media items are saved. This -is also true for bibles. What this means is you can create the service on your -home computer, insert a Bible passage from the web, save it and then open the -service using your church computer and voila, the Bible passage should be there! -Note this can also be done with songs, etc! - -(Advanced) Where do I find the configuration file? -================================================== - -Linux, FreeBSD & PC-BSD ------------------------ - -If your distribution supports the XDG standard, you'll find OpenLP's -configuration file in:: - - /home//.config/OpenLP/OpenLP.conf - -If that file and/or directory does not exist, look for:: - - /home//.openlp/openlp.conf - -```` is your username. - -OS X ----- - -You'll find your configuration file here:: - - /Users//Library/Preferences/org.openlp.OpenLP.plist - -```` is your username. - -Windows -------- - -On Windows, OpenLP does not use a configuration file, it uses the Windows -registry. You can find the settings here:: - - HKEY_CURRENT_USER\Software\OpenLP\OpenLP - -Troubleshooting -=============== - -Something has gone wrong, what should I do to help get it fixed? ----------------------------------------------------------------- - -If you have found an error in the program (what we call a bug) you should report -this to us so that OpenLP can be improved. Before reporting any bugs please -first make sure that there isn't already a bug report about your problem: - -#. Check the `Launchpad bug list `_ -#. `OpenLP support System `_ -#. Check the `bug reports `_ forum - -If there **is already a bug report**, you may be able to help by providing -further information. However, **if no one else has reported** it yet, then -please post a new bug report. - -#. The **preferred place** for reporting bugs is the - `bugs list `_ on Launchpad. -#. Alternatively, if you don't have a Launchpad account and don't want to sign - up for one, you can post in the - `bug reports forum `_. -#. If none of these ways suits you, you can send an email to - ``bugs (at) openlp.org``. - -What information should I include in a bug report? --------------------------------------------------- - -Since OpenLP 1.9.4, there is a bug report dialog which automatically opens when -OpenLP hits a serious bug. However, this doesn't appear all the time, and in -some behavioural bugs, you'll have to file a bug report yourself. The following -items are information the developers need in order to reproduce the bug. - -Operating System - Include information such as the version of your operating system, the - distribution (e.g. Ubuntu, Fedora, etc.) if you're using Linux, or the - edition (e.g. Home, Basic, Business, etc.) if you're using Windows. - -Version of OpenLP - You can find out the version of OpenLP by going to :menuselection:`Help --> About` - -Steps to Reproduce - The exact steps the developers need to follow in order to reproduce the bug. - -Version of MS Office or OpenOffice - If you're using the song imports or the presentation plugin, you'll need to - supply the version of Office, OpenOffice.org or LibreOffice. - -Bible Translation and Source - If the bug occurred while you were working with Bibles, specify the - translation of the Bible, and the source format if you imported it yourself. - -**Any** Other Information - Often bugs are caused by something that might not seem to be directly - related to the bug itself. If you have any other information with regards to - actions you performed or other activities when the bug occurred, it would be - welcomed by the developers. - -The more information you give us, the better we can help you. - -I've been asked to email a debug log, where do I find this? ------------------------------------------------------------ - -We may need a debug log to help pin-point the issue. A new log file is created -each time you start OpenLP so copy the file before you run the software a second -time. On Windows a Debug option is available in the start menu. On other systems, -you will need to run OpenLP from the command line, with the following -option: ```-l debug```. Please note, that is a lowercase **L**. - -If you haven't been given a specific email address to send it to, then please do -not paste the log contents straight into a forum post. Instead, open the log -file in a text editor (such as notepad on Windows) and copy and paste the -contents into somewhere like `pastebin.com `_. Then give us -the link to the page that is created. - -Windows -^^^^^^^ - -Find the OpenLP 2.0 folder in your Start menu. Choose the "OpenLP (Debug)" option. - -OpenLP will start up. Go to the :menuselection:`Tools --> Open Data Folder` menu -option, and an Explorer window will appear containing folders such as alerts, -bibles, custom etc. Keep this Explorer window open. - -Now repeat the steps you need to take in OpenLP to reproduce the problem you had, -and then close down OpenLP. - -In the Explorer window you left open, navigate up one level into the openlp -folder. You will see the ``openlp.log`` file. This is the file to e-mail. - -Linux/FreeBSD -^^^^^^^^^^^^^ - -If you installed OpenLP from a package:: - - @:~$ openlp -l debug - -Alternately, if you're running OpenLP from source:: - - @:~$ ./openlp.pyw -l debug - -If your Linux distribution supports the XDG standard, you'll find the log in:: - - ~/.cache/openlp/openlp.log - -Otherwise, you'll find the log file in:: - - ~/.openlp/openlp.log - -Mac OS X -^^^^^^^^ - -Open Terminal.app and navigate to where you installed OpenLP, usually -``/Applications``:: - - @:~$ cd /Applications - -Then go into the OpenLP.app directory, down to the OpenLP executable:: - - @:~$ cd OpenLP.app/Contents/MacOS - -And then run OpenLP in debug mode:: - - @:~$ ./openlp -l debug - -Once you've done that, you need to get the log file. In your home directory, -open the Library directory, and the Application Support directory within that. -Then open the openlp directory, and you should find the openlp.log file in that -directory:: - - /Users//Library/Application Support/openlp/openlp.log - -```` is your username. - -I'm on Windows and PowerPoint is installed, but it doesn't appear as an option ------------------------------------------------------------------------------- - -Try installing the `Visual C++ Runtime Redistributable `_. - -The command line shows many error messages ------------------------------------------- - -When running OpenLP from the command line, you might get something like this:: - - WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded - WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded - WARNING: Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName ) to VideoDisplay ( no objectName ). - WARNING: Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName ) to Phonon::AudioOutput ( no objectName ). - WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded - -These error messages indicate that you need to install an appropriate backend -for Phonon. - -Linux/FreeBSD -^^^^^^^^^^^^^ - -If you're using Gnome, you need to install the GStreamer backend for Phonon. On -Ubuntu you would install the ```phonon-backend-gstreamer``` package:: - - @:~$ sudo aptitude install phonon-backend-gstreamer - -If you're using KDE, you need to install the Xine backend for Phonon. On Kubuntu -you would install the ```phonon-backend-xine``` package:: - - @:~$ sudo aptitude install phonon-backend-xine - -If you know which audiovisual system you're using, then install the appropriate -backend. - -phonon-backend-vlc may also be worth trying on some systems. - -Windows & Mac OS X -^^^^^^^^^^^^^^^^^^ - -Phonon should already be set up properly. If you're still having issues, let the -developers know. - -I've upgraded from 1.9.2 to a newer version, and now OpenLP crashes on load ---------------------------------------------------------------------------- - -You need to upgrade your song database. See this `blog post `_ -for information on how to do this. - -I've upgraded to 1.9.5, and now OpenLP has duplicates of many songs in the Media Manager ----------------------------------------------------------------------------------------- - -You need to run :menuselection:`Tools --> Re-index Songs`. - -There are no menu icons in OpenLP ---------------------------------- - -This may affect (only) Linux users with XFCE or Gnome. To solve the problem, -follow the instructions on `this bug report `_. - -JPEG images don't work ----------------------- - -This is a known issue on some Mac OS X 10.5 systems, and has also been seen on -Windows XP too. The solution is to convert the image into another format such as -PNG. - -MP3's and other audio formats don't work ----------------------------------------- - -This is a known issue on some systems, including some XP machines, and we have -no solution at the moment. - -Videos can be slow or pixelated. Background Videos are very slow ----------------------------------------------------------------- - -If you are just playing videos from the Media plugin, try selecting the -:guilabel:`Use Phonon for Video playback` option in the Media configuration, -accessible by going to :menuselection:`Settings --> Configure OpenLP --> Media`. -As for text over video, we have no solution for speeding this up. Reducing the -monitor resolution and avoiding shadows and outline text will help. We are -hoping a future release of the toolkit we are using (QtWebKit) will help improve -this, but there is no timeframe at present. - -Features -======== - -What new features will I find in 2.0? -------------------------------------- - -Since 2.0 was a rewrite from the ground up, you won't find a great deal of new -features since initially we want to ensure all the 1.2 features are included. -However the developers have managed to sneak a few in. Take a look at the -`complete list `_. - -Why hasn't popular feature request X been implemented? ------------------------------------------------------- - -We made a decision to first implement 1.2 features, before going wild on new -features. There are only a handful of developers working in their spare time. If -we were to try and include everything we wanted to implement, then 2.0 would not -likely ever get released. - -I have a great idea for a new feature, where should I suggest it? ------------------------------------------------------------------ - -First of all check it isn't on the `Feature Requests `_ -page. If it is, then you need to say no more, it's already been suggested! If it -isn't on the list, then head to the -`feature request forum `_ -and post the idea there. diff --git a/documentation/manual/source/glossary.rst b/documentation/manual/source/glossary.rst deleted file mode 100644 index fd00f4842..000000000 --- a/documentation/manual/source/glossary.rst +++ /dev/null @@ -1,76 +0,0 @@ -======== -Glossary -======== - -The developers of OpenLP have strived to make it a straightforward and easy to -use application. However, it is good to be familiar with a few terms that will -be used throughout this documentation, and when seeking support. - -Main Window ------------ - -The Main Window is what you will see when you first open OpenLP - -.. image:: pics/mainwindow.png - -The Main Window contains all the tools and plugins that make OpenLP function - -Media Manager -------------- - -The Media Manager contains a number of tabs the plugins supply to OpenLP. -Each tab in the Media Manager is called a **Media Item** - -.. image:: pics/mediamanager.png - -From the Media Manager you can send Media Items to the Preview or Live screens. - -Platform --------- - -When the word platform is used, it is usually referring to your operating system, -Windows, Linux or MAC OS. - -Preview -------- - -The preview pane is a section to preview your media items before you go live -with them. - -.. image:: pics/preview.png - -Service File ------------- - -A service file is the file that is created when you save your service in OpenLP. -The service file consist of **Service Items** - -Service Item ------------- - -Service items are the **media items** that are in the **service manager** - -Service Manger --------------- - -The service manager contains the media items in your service file. This is the -area where your media items go live. You can also save, open, and edit -services files from here. - -.. image:: pics/servicemanager.png - -Slide Controller ----------------- - -The Slide Controller controls which slide from a **Service Item** is currently -being displayed, and moving between the various slides. - -.. image:: pics/slidecontroller.png - -Theme Manager -------------- - -The theme manager is where themes are created and edited. Themes are the text -styles and backgrounds that you use to personalize your services. - -.. image:: pics/thememanager.png diff --git a/documentation/manual/source/index.rst b/documentation/manual/source/index.rst deleted file mode 100644 index d5436f935..000000000 --- a/documentation/manual/source/index.rst +++ /dev/null @@ -1,41 +0,0 @@ -.. OpenLP documentation master file, created by - sphinx-quickstart on Thu Sep 30 21:24:54 2010. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -Welcome to the OpenLP 2.0 User Manual -===================================== - -Getting Started With OpenLP ---------------------------- - -.. toctree:: - :maxdepth: 2 - - introduction - installation - -Reference Manual ----------------- - -.. toctree:: - :maxdepth: 2 - - alert - bibles - configure - dualmonitors - wizard - glossary - mediamanager - songs - themes - -Questions and Troubleshooting ------------------------------ - -.. toctree:: - :maxdepth: 2 - - faq - troubleshooting diff --git a/documentation/manual/source/installation.rst b/documentation/manual/source/installation.rst deleted file mode 100644 index 21fcfeced..000000000 --- a/documentation/manual/source/installation.rst +++ /dev/null @@ -1,66 +0,0 @@ -Installing OpenLP -================= - -Microsoft Windows ------------------ - -Installing OpenLP is identical over all supported versions of Windows. After -downloading the file from the `download page `_ -open the file by double clicking when the download is complete. After opening -the downloaded file agree to open the unverified file if you are prompted. - -Next select your language and click :guilabel:`OK` - -.. image:: pics/selectlanguage.png - -After reading the welcome message click :guilabel:`Next` to continue the -installation. - -.. image:: pics/welcome.png - -Agree to the license agreement. Click :guilabel:`Next` to continue. - -.. image:: pics/license.png - -Select the install location for OpenLP. Choosing the default location is -generally the best choice. Click :guilabel:`Next` to continue. - -.. image:: pics/installlocation.png - -Select a start menu folder for OpenLP to be visible in. The default location -here is generally the best choice. Click :guilabel:`Next` to continue. - -.. image:: pics/startmenufolder.png - -Select if you want to create a desktop or Quick Launch icon. Click :guilabel:`Next` -to continue. - -.. image:: pics/additionaltask.png - -Review your previous choices. If you need to make any changes click the -:guilabel:`Back button` to get to the previous choices, or click :guilabel:`Install` - -.. image:: pics/readytoinstall.png - -The progress bar will update you on how far along the installation has gone. - -.. image:: pics/progress.png - -When the install is complete you will have the option to launch OpenLP. After -making your selection click :guilabel:`Finish` - -Mac OS X --------- - -Installing OpenLP on OS X is very simple. After downloading the correct file -from the OpenLP `download page `_ -double click on the .dmg file. Drag the OpenLP icon over to the Applications -folder and you will be ready to use OpenLP. OpenLP will be available in your -Applications folder. - -.. image:: pics/osxinstall.png - -Linux ------ - -Installation process on Linux distributions vary by distribution. See the OpenLP `download page `_ for distribution specific instructions. diff --git a/documentation/manual/source/introduction.rst b/documentation/manual/source/introduction.rst deleted file mode 100644 index b14ef3944..000000000 --- a/documentation/manual/source/introduction.rst +++ /dev/null @@ -1,43 +0,0 @@ -============= -Introduction -============= - -About ------ - -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 it is now a mainstay in -hundreds of churches around the world. - -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. - -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. - -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 --------------------------- - -The GNU General Public License was specifically chosen because it ensures the -above mentioned freedoms. It specifically states that you are not allowed -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 `view the license on-line `_. diff --git a/documentation/manual/source/mediamanager.rst b/documentation/manual/source/mediamanager.rst deleted file mode 100644 index a3cd6bbe3..000000000 --- a/documentation/manual/source/mediamanager.rst +++ /dev/null @@ -1,251 +0,0 @@ -============= -Media Manager -============= - -Once you get your system set up for OpenLP you will be ready to add content to -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 --------------------- - -You may need to enable the plugins that came with OpenLP. As you can see below -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 :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 - - -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-End (this will display verses to the end of the chapter) -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/001-first-time-language.png b/documentation/manual/source/pics/001-first-time-language.png deleted file mode 100644 index 52e12e1b1..000000000 Binary files a/documentation/manual/source/pics/001-first-time-language.png and /dev/null differ diff --git a/documentation/manual/source/pics/002-first-time-wizard-welcome.png b/documentation/manual/source/pics/002-first-time-wizard-welcome.png deleted file mode 100644 index 9faad00a0..000000000 Binary files a/documentation/manual/source/pics/002-first-time-wizard-welcome.png and /dev/null differ diff --git a/documentation/manual/source/pics/003-first-time-wizard-plugins.png b/documentation/manual/source/pics/003-first-time-wizard-plugins.png deleted file mode 100644 index bf0dc9ec3..000000000 Binary files a/documentation/manual/source/pics/003-first-time-wizard-plugins.png and /dev/null differ diff --git a/documentation/manual/source/pics/004-first-time-wizard-songs.png b/documentation/manual/source/pics/004-first-time-wizard-songs.png deleted file mode 100644 index 7a6822fa5..000000000 Binary files a/documentation/manual/source/pics/004-first-time-wizard-songs.png and /dev/null differ diff --git a/documentation/manual/source/pics/005-first-time-wizard-bibles.png b/documentation/manual/source/pics/005-first-time-wizard-bibles.png deleted file mode 100644 index 235d24f4e..000000000 Binary files a/documentation/manual/source/pics/005-first-time-wizard-bibles.png and /dev/null differ diff --git a/documentation/manual/source/pics/006-first-time-wizard-themes.png b/documentation/manual/source/pics/006-first-time-wizard-themes.png deleted file mode 100644 index ea6debdd2..000000000 Binary files a/documentation/manual/source/pics/006-first-time-wizard-themes.png and /dev/null differ diff --git a/documentation/manual/source/pics/007-first-time-wizard-settings.png b/documentation/manual/source/pics/007-first-time-wizard-settings.png deleted file mode 100644 index afaeefe0e..000000000 Binary files a/documentation/manual/source/pics/007-first-time-wizard-settings.png and /dev/null differ diff --git a/documentation/manual/source/pics/009-first-time-wizard-progress.png b/documentation/manual/source/pics/009-first-time-wizard-progress.png deleted file mode 100644 index 7ffd64982..000000000 Binary files a/documentation/manual/source/pics/009-first-time-wizard-progress.png and /dev/null differ diff --git a/documentation/manual/source/pics/010-first-time-wizard-finished.png b/documentation/manual/source/pics/010-first-time-wizard-finished.png deleted file mode 100644 index ff6014a2e..000000000 Binary files a/documentation/manual/source/pics/010-first-time-wizard-finished.png and /dev/null differ diff --git a/documentation/manual/source/pics/011-first-time-wizard-song-import.png b/documentation/manual/source/pics/011-first-time-wizard-song-import.png deleted file mode 100644 index 30d29b2e5..000000000 Binary files a/documentation/manual/source/pics/011-first-time-wizard-song-import.png and /dev/null differ diff --git a/documentation/manual/source/pics/012-openlp-main-window.png b/documentation/manual/source/pics/012-openlp-main-window.png deleted file mode 100644 index 7e7fb9fa6..000000000 Binary files a/documentation/manual/source/pics/012-openlp-main-window.png and /dev/null differ diff --git a/documentation/manual/source/pics/additionaltask.png b/documentation/manual/source/pics/additionaltask.png deleted file mode 100755 index 02d278001..000000000 Binary files a/documentation/manual/source/pics/additionaltask.png and /dev/null differ diff --git a/documentation/manual/source/pics/addsong.png b/documentation/manual/source/pics/addsong.png deleted file mode 100644 index 3bcdfc088..000000000 Binary files a/documentation/manual/source/pics/addsong.png and /dev/null differ diff --git a/documentation/manual/source/pics/addsongservice1.png b/documentation/manual/source/pics/addsongservice1.png deleted file mode 100644 index 1a01edadb..000000000 Binary files a/documentation/manual/source/pics/addsongservice1.png and /dev/null differ diff --git a/documentation/manual/source/pics/addsongservice2.png b/documentation/manual/source/pics/addsongservice2.png deleted file mode 100644 index 4be2728d0..000000000 Binary files a/documentation/manual/source/pics/addsongservice2.png and /dev/null differ diff --git a/documentation/manual/source/pics/alert.png b/documentation/manual/source/pics/alert.png deleted file mode 100644 index 9df135d4f..000000000 Binary files a/documentation/manual/source/pics/alert.png and /dev/null differ diff --git a/documentation/manual/source/pics/authorstopicsbooks.png b/documentation/manual/source/pics/authorstopicsbooks.png deleted file mode 100644 index dd7aa4862..000000000 Binary files a/documentation/manual/source/pics/authorstopicsbooks.png and /dev/null differ diff --git a/documentation/manual/source/pics/bibleimport01.png b/documentation/manual/source/pics/bibleimport01.png deleted file mode 100644 index be8bdfbf3..000000000 Binary files a/documentation/manual/source/pics/bibleimport01.png and /dev/null differ diff --git a/documentation/manual/source/pics/bibleimport02.png b/documentation/manual/source/pics/bibleimport02.png deleted file mode 100644 index 23c4b7b2a..000000000 Binary files a/documentation/manual/source/pics/bibleimport02.png and /dev/null differ diff --git a/documentation/manual/source/pics/bibleimportdetails1.png b/documentation/manual/source/pics/bibleimportdetails1.png deleted file mode 100644 index 519c36922..000000000 Binary files a/documentation/manual/source/pics/bibleimportdetails1.png and /dev/null differ diff --git a/documentation/manual/source/pics/bibleimportfinished1.png b/documentation/manual/source/pics/bibleimportfinished1.png deleted file mode 100644 index 15fbd7bae..000000000 Binary files a/documentation/manual/source/pics/bibleimportfinished1.png and /dev/null differ diff --git a/documentation/manual/source/pics/biblewebcomplete.png b/documentation/manual/source/pics/biblewebcomplete.png deleted file mode 100644 index a928f8021..000000000 Binary files a/documentation/manual/source/pics/biblewebcomplete.png and /dev/null differ diff --git a/documentation/manual/source/pics/configureadvanced.png b/documentation/manual/source/pics/configureadvanced.png deleted file mode 100644 index 44908e828..000000000 Binary files a/documentation/manual/source/pics/configureadvanced.png and /dev/null differ diff --git a/documentation/manual/source/pics/configurealerts.png b/documentation/manual/source/pics/configurealerts.png deleted file mode 100644 index a15de9e5d..000000000 Binary files a/documentation/manual/source/pics/configurealerts.png and /dev/null differ diff --git a/documentation/manual/source/pics/configurebibles.png b/documentation/manual/source/pics/configurebibles.png deleted file mode 100644 index ab8bc1930..000000000 Binary files a/documentation/manual/source/pics/configurebibles.png and /dev/null differ diff --git a/documentation/manual/source/pics/configurecustom.png b/documentation/manual/source/pics/configurecustom.png deleted file mode 100644 index 33514de18..000000000 Binary files a/documentation/manual/source/pics/configurecustom.png and /dev/null differ diff --git a/documentation/manual/source/pics/configuregeneral.png b/documentation/manual/source/pics/configuregeneral.png deleted file mode 100644 index 18a89474e..000000000 Binary files a/documentation/manual/source/pics/configuregeneral.png and /dev/null differ diff --git a/documentation/manual/source/pics/configuremedia.png b/documentation/manual/source/pics/configuremedia.png deleted file mode 100644 index 9179873ea..000000000 Binary files a/documentation/manual/source/pics/configuremedia.png and /dev/null differ diff --git a/documentation/manual/source/pics/configurepresentations.png b/documentation/manual/source/pics/configurepresentations.png deleted file mode 100644 index 4f8a98bc7..000000000 Binary files a/documentation/manual/source/pics/configurepresentations.png and /dev/null differ diff --git a/documentation/manual/source/pics/configureremotes.png b/documentation/manual/source/pics/configureremotes.png deleted file mode 100644 index d8801aa78..000000000 Binary files a/documentation/manual/source/pics/configureremotes.png and /dev/null differ diff --git a/documentation/manual/source/pics/configuresongs.png b/documentation/manual/source/pics/configuresongs.png deleted file mode 100644 index 9da70deb2..000000000 Binary files a/documentation/manual/source/pics/configuresongs.png and /dev/null differ diff --git a/documentation/manual/source/pics/configurethemes.png b/documentation/manual/source/pics/configurethemes.png deleted file mode 100644 index 1a9dd0d40..000000000 Binary files a/documentation/manual/source/pics/configurethemes.png and /dev/null differ diff --git a/documentation/manual/source/pics/createthemeicon.png b/documentation/manual/source/pics/createthemeicon.png deleted file mode 100644 index d1fefc0d2..000000000 Binary files a/documentation/manual/source/pics/createthemeicon.png and /dev/null differ diff --git a/documentation/manual/source/pics/csvimport1.png b/documentation/manual/source/pics/csvimport1.png deleted file mode 100644 index 9a4214aec..000000000 Binary files a/documentation/manual/source/pics/csvimport1.png and /dev/null differ diff --git a/documentation/manual/source/pics/csvimport2.png b/documentation/manual/source/pics/csvimport2.png deleted file mode 100644 index d0c8e569b..000000000 Binary files a/documentation/manual/source/pics/csvimport2.png and /dev/null differ diff --git a/documentation/manual/source/pics/dvi.png b/documentation/manual/source/pics/dvi.png deleted file mode 100644 index bc9e345b3..000000000 Binary files a/documentation/manual/source/pics/dvi.png and /dev/null differ diff --git a/documentation/manual/source/pics/finishedimport.png b/documentation/manual/source/pics/finishedimport.png deleted file mode 100644 index d49876ec9..000000000 Binary files a/documentation/manual/source/pics/finishedimport.png and /dev/null differ diff --git a/documentation/manual/source/pics/gnome.png b/documentation/manual/source/pics/gnome.png deleted file mode 100644 index 1ea060b7a..000000000 Binary files a/documentation/manual/source/pics/gnome.png and /dev/null differ diff --git a/documentation/manual/source/pics/installcomplete.png b/documentation/manual/source/pics/installcomplete.png deleted file mode 100755 index 3cb25aaa9..000000000 Binary files a/documentation/manual/source/pics/installcomplete.png and /dev/null differ diff --git a/documentation/manual/source/pics/installlocation.png b/documentation/manual/source/pics/installlocation.png deleted file mode 100755 index 509bfbeea..000000000 Binary files a/documentation/manual/source/pics/installlocation.png and /dev/null differ diff --git a/documentation/manual/source/pics/kdedisplay.png b/documentation/manual/source/pics/kdedisplay.png deleted file mode 100644 index ddbbae028..000000000 Binary files a/documentation/manual/source/pics/kdedisplay.png and /dev/null differ diff --git a/documentation/manual/source/pics/kdesystemsettings.png b/documentation/manual/source/pics/kdesystemsettings.png deleted file mode 100644 index 7d7ac1f76..000000000 Binary files a/documentation/manual/source/pics/kdesystemsettings.png and /dev/null differ diff --git a/documentation/manual/source/pics/license.png b/documentation/manual/source/pics/license.png deleted file mode 100755 index 0f6d041d3..000000000 Binary files a/documentation/manual/source/pics/license.png and /dev/null differ diff --git a/documentation/manual/source/pics/logo.png b/documentation/manual/source/pics/logo.png deleted file mode 100644 index a232b59a9..000000000 Binary files a/documentation/manual/source/pics/logo.png and /dev/null differ diff --git a/documentation/manual/source/pics/mainwindow.png b/documentation/manual/source/pics/mainwindow.png deleted file mode 100644 index 217751062..000000000 Binary files a/documentation/manual/source/pics/mainwindow.png and /dev/null differ diff --git a/documentation/manual/source/pics/mediamanager.png b/documentation/manual/source/pics/mediamanager.png deleted file mode 100644 index 183e0defb..000000000 Binary files a/documentation/manual/source/pics/mediamanager.png and /dev/null differ diff --git a/documentation/manual/source/pics/nvlinux1.png b/documentation/manual/source/pics/nvlinux1.png deleted file mode 100644 index 6c585bae4..000000000 Binary files a/documentation/manual/source/pics/nvlinux1.png and /dev/null differ diff --git a/documentation/manual/source/pics/openlp.ico b/documentation/manual/source/pics/openlp.ico deleted file mode 100644 index e53fce8d7..000000000 Binary files a/documentation/manual/source/pics/openlp.ico and /dev/null differ diff --git a/documentation/manual/source/pics/osxinstall.png b/documentation/manual/source/pics/osxinstall.png deleted file mode 100644 index cf4688735..000000000 Binary files a/documentation/manual/source/pics/osxinstall.png and /dev/null differ diff --git a/documentation/manual/source/pics/phononcheckbox.png b/documentation/manual/source/pics/phononcheckbox.png deleted file mode 100644 index 2830bd8be..000000000 Binary files a/documentation/manual/source/pics/phononcheckbox.png and /dev/null differ diff --git a/documentation/manual/source/pics/plugins.png b/documentation/manual/source/pics/plugins.png deleted file mode 100644 index 647c1de7d..000000000 Binary files a/documentation/manual/source/pics/plugins.png and /dev/null differ diff --git a/documentation/manual/source/pics/preview.png b/documentation/manual/source/pics/preview.png deleted file mode 100644 index f3041726b..000000000 Binary files a/documentation/manual/source/pics/preview.png and /dev/null differ diff --git a/documentation/manual/source/pics/previewsong1.png b/documentation/manual/source/pics/previewsong1.png deleted file mode 100644 index 23a6b2a07..000000000 Binary files a/documentation/manual/source/pics/previewsong1.png and /dev/null differ diff --git a/documentation/manual/source/pics/previewsong2.png b/documentation/manual/source/pics/previewsong2.png deleted file mode 100644 index 6202e0d14..000000000 Binary files a/documentation/manual/source/pics/previewsong2.png and /dev/null differ diff --git a/documentation/manual/source/pics/progress.png b/documentation/manual/source/pics/progress.png deleted file mode 100755 index 60360f84a..000000000 Binary files a/documentation/manual/source/pics/progress.png and /dev/null differ diff --git a/documentation/manual/source/pics/readytoinstall.png b/documentation/manual/source/pics/readytoinstall.png deleted file mode 100755 index a3f930930..000000000 Binary files a/documentation/manual/source/pics/readytoinstall.png and /dev/null differ diff --git a/documentation/manual/source/pics/selectlanguage.png b/documentation/manual/source/pics/selectlanguage.png deleted file mode 100755 index 58afbf0bd..000000000 Binary files a/documentation/manual/source/pics/selectlanguage.png and /dev/null differ diff --git a/documentation/manual/source/pics/selectsongs.png b/documentation/manual/source/pics/selectsongs.png deleted file mode 100644 index 20df3ba2a..000000000 Binary files a/documentation/manual/source/pics/selectsongs.png and /dev/null differ diff --git a/documentation/manual/source/pics/sendsonglive1.png b/documentation/manual/source/pics/sendsonglive1.png deleted file mode 100644 index abef56775..000000000 Binary files a/documentation/manual/source/pics/sendsonglive1.png and /dev/null differ diff --git a/documentation/manual/source/pics/sendsonglive2.png b/documentation/manual/source/pics/sendsonglive2.png deleted file mode 100644 index 5700495f3..000000000 Binary files a/documentation/manual/source/pics/sendsonglive2.png and /dev/null differ diff --git a/documentation/manual/source/pics/servicemanager.png b/documentation/manual/source/pics/servicemanager.png deleted file mode 100644 index 8e2842eb5..000000000 Binary files a/documentation/manual/source/pics/servicemanager.png and /dev/null differ diff --git a/documentation/manual/source/pics/slidecontroller.png b/documentation/manual/source/pics/slidecontroller.png deleted file mode 100644 index 01e5c86d0..000000000 Binary files a/documentation/manual/source/pics/slidecontroller.png and /dev/null differ diff --git a/documentation/manual/source/pics/song_edit_author_maintenance.png b/documentation/manual/source/pics/song_edit_author_maintenance.png deleted file mode 100644 index 56b5550d2..000000000 Binary files a/documentation/manual/source/pics/song_edit_author_maintenance.png and /dev/null differ diff --git a/documentation/manual/source/pics/song_edit_authors.png b/documentation/manual/source/pics/song_edit_authors.png deleted file mode 100644 index 4a4a3a773..000000000 Binary files a/documentation/manual/source/pics/song_edit_authors.png and /dev/null differ diff --git a/documentation/manual/source/pics/song_edit_lyrics.png b/documentation/manual/source/pics/song_edit_lyrics.png deleted file mode 100644 index 10727376c..000000000 Binary files a/documentation/manual/source/pics/song_edit_lyrics.png and /dev/null differ diff --git a/documentation/manual/source/pics/song_edit_maintenance.png b/documentation/manual/source/pics/song_edit_maintenance.png deleted file mode 100644 index 23bcb62df..000000000 Binary files a/documentation/manual/source/pics/song_edit_maintenance.png and /dev/null differ diff --git a/documentation/manual/source/pics/song_edit_songbook_maintenance.png b/documentation/manual/source/pics/song_edit_songbook_maintenance.png deleted file mode 100644 index d8634ba31..000000000 Binary files a/documentation/manual/source/pics/song_edit_songbook_maintenance.png and /dev/null differ diff --git a/documentation/manual/source/pics/song_edit_theme_copyright.png b/documentation/manual/source/pics/song_edit_theme_copyright.png deleted file mode 100644 index 5234ccc13..000000000 Binary files a/documentation/manual/source/pics/song_edit_theme_copyright.png and /dev/null differ diff --git a/documentation/manual/source/pics/song_edit_topic_maintenance.png b/documentation/manual/source/pics/song_edit_topic_maintenance.png deleted file mode 100644 index 70446b819..000000000 Binary files a/documentation/manual/source/pics/song_edit_topic_maintenance.png and /dev/null differ diff --git a/documentation/manual/source/pics/song_edit_verse_error.png b/documentation/manual/source/pics/song_edit_verse_error.png deleted file mode 100644 index 4fa10fec3..000000000 Binary files a/documentation/manual/source/pics/song_edit_verse_error.png and /dev/null differ diff --git a/documentation/manual/source/pics/song_edit_verse_type.png b/documentation/manual/source/pics/song_edit_verse_type.png deleted file mode 100644 index e4cdfa1a6..000000000 Binary files a/documentation/manual/source/pics/song_edit_verse_type.png and /dev/null differ diff --git a/documentation/manual/source/pics/songeditor1.png b/documentation/manual/source/pics/songeditor1.png deleted file mode 100644 index d34e10165..000000000 Binary files a/documentation/manual/source/pics/songeditor1.png and /dev/null differ diff --git a/documentation/manual/source/pics/songeditor11.png b/documentation/manual/source/pics/songeditor11.png deleted file mode 100644 index 0d25eb097..000000000 Binary files a/documentation/manual/source/pics/songeditor11.png and /dev/null differ diff --git a/documentation/manual/source/pics/songeditor2.png b/documentation/manual/source/pics/songeditor2.png deleted file mode 100644 index e9f02fd16..000000000 Binary files a/documentation/manual/source/pics/songeditor2.png and /dev/null differ diff --git a/documentation/manual/source/pics/songeditor3.png b/documentation/manual/source/pics/songeditor3.png deleted file mode 100644 index 4c567ab29..000000000 Binary files a/documentation/manual/source/pics/songeditor3.png and /dev/null differ diff --git a/documentation/manual/source/pics/songeditor4.png b/documentation/manual/source/pics/songeditor4.png deleted file mode 100644 index b8fe6be9c..000000000 Binary files a/documentation/manual/source/pics/songeditor4.png and /dev/null differ diff --git a/documentation/manual/source/pics/songeditor5.png b/documentation/manual/source/pics/songeditor5.png deleted file mode 100644 index bfc9aba75..000000000 Binary files a/documentation/manual/source/pics/songeditor5.png and /dev/null differ diff --git a/documentation/manual/source/pics/songeditor6.png b/documentation/manual/source/pics/songeditor6.png deleted file mode 100644 index e727b3828..000000000 Binary files a/documentation/manual/source/pics/songeditor6.png and /dev/null differ diff --git a/documentation/manual/source/pics/songeditor7.png b/documentation/manual/source/pics/songeditor7.png deleted file mode 100644 index eeb6f0ff1..000000000 Binary files a/documentation/manual/source/pics/songeditor7.png and /dev/null differ diff --git a/documentation/manual/source/pics/songeditor8.png b/documentation/manual/source/pics/songeditor8.png deleted file mode 100644 index fd57d79b4..000000000 Binary files a/documentation/manual/source/pics/songeditor8.png and /dev/null differ diff --git a/documentation/manual/source/pics/songeditor9.png b/documentation/manual/source/pics/songeditor9.png deleted file mode 100644 index cf067a7dc..000000000 Binary files a/documentation/manual/source/pics/songeditor9.png and /dev/null differ diff --git a/documentation/manual/source/pics/songimporter.png b/documentation/manual/source/pics/songimporter.png deleted file mode 100644 index 96c39ea38..000000000 Binary files a/documentation/manual/source/pics/songimporter.png and /dev/null differ diff --git a/documentation/manual/source/pics/songimporterchoices.png b/documentation/manual/source/pics/songimporterchoices.png deleted file mode 100644 index 5c458838e..000000000 Binary files a/documentation/manual/source/pics/songimporterchoices.png and /dev/null differ diff --git a/documentation/manual/source/pics/songs12.png b/documentation/manual/source/pics/songs12.png deleted file mode 100644 index d9637a4d0..000000000 Binary files a/documentation/manual/source/pics/songs12.png and /dev/null differ diff --git a/documentation/manual/source/pics/songs13.png b/documentation/manual/source/pics/songs13.png deleted file mode 100644 index 2d084954c..000000000 Binary files a/documentation/manual/source/pics/songs13.png and /dev/null differ diff --git a/documentation/manual/source/pics/songs14.png b/documentation/manual/source/pics/songs14.png deleted file mode 100644 index 917bb6bf6..000000000 Binary files a/documentation/manual/source/pics/songs14.png and /dev/null differ diff --git a/documentation/manual/source/pics/songs15.png b/documentation/manual/source/pics/songs15.png deleted file mode 100644 index 74deea0ec..000000000 Binary files a/documentation/manual/source/pics/songs15.png and /dev/null differ diff --git a/documentation/manual/source/pics/songs16.png b/documentation/manual/source/pics/songs16.png deleted file mode 100644 index e72026839..000000000 Binary files a/documentation/manual/source/pics/songs16.png and /dev/null differ diff --git a/documentation/manual/source/pics/songs17.png b/documentation/manual/source/pics/songs17.png deleted file mode 100644 index c5b56d1eb..000000000 Binary files a/documentation/manual/source/pics/songs17.png and /dev/null differ diff --git a/documentation/manual/source/pics/songselectlyrics.png b/documentation/manual/source/pics/songselectlyrics.png deleted file mode 100644 index 2e3d92f0d..000000000 Binary files a/documentation/manual/source/pics/songselectlyrics.png and /dev/null differ diff --git a/documentation/manual/source/pics/songselectsongsearch.png b/documentation/manual/source/pics/songselectsongsearch.png deleted file mode 100644 index de0ea12ca..000000000 Binary files a/documentation/manual/source/pics/songselectsongsearch.png and /dev/null differ diff --git a/documentation/manual/source/pics/songusage.png b/documentation/manual/source/pics/songusage.png deleted file mode 100644 index 10f29f2a9..000000000 Binary files a/documentation/manual/source/pics/songusage.png and /dev/null differ diff --git a/documentation/manual/source/pics/songusagedelete.png b/documentation/manual/source/pics/songusagedelete.png deleted file mode 100644 index fec1b5e5d..000000000 Binary files a/documentation/manual/source/pics/songusagedelete.png and /dev/null differ diff --git a/documentation/manual/source/pics/songusagereport.png b/documentation/manual/source/pics/songusagereport.png deleted file mode 100644 index c0d9df3dd..000000000 Binary files a/documentation/manual/source/pics/songusagereport.png and /dev/null differ diff --git a/documentation/manual/source/pics/startmenufolder.png b/documentation/manual/source/pics/startmenufolder.png deleted file mode 100755 index 81a6586f8..000000000 Binary files a/documentation/manual/source/pics/startmenufolder.png and /dev/null differ diff --git a/documentation/manual/source/pics/themeeditbutton.png b/documentation/manual/source/pics/themeeditbutton.png deleted file mode 100644 index b3e6a768b..000000000 Binary files a/documentation/manual/source/pics/themeeditbutton.png and /dev/null differ diff --git a/documentation/manual/source/pics/themeimportexport.png b/documentation/manual/source/pics/themeimportexport.png deleted file mode 100644 index 189a2a435..000000000 Binary files a/documentation/manual/source/pics/themeimportexport.png and /dev/null differ diff --git a/documentation/manual/source/pics/thememanager.png b/documentation/manual/source/pics/thememanager.png deleted file mode 100644 index be35cadc1..000000000 Binary files a/documentation/manual/source/pics/thememanager.png and /dev/null differ diff --git a/documentation/manual/source/pics/thememanager1.png b/documentation/manual/source/pics/thememanager1.png deleted file mode 100644 index 24dd6bec0..000000000 Binary files a/documentation/manual/source/pics/thememanager1.png and /dev/null differ diff --git a/documentation/manual/source/pics/themewizard1.png b/documentation/manual/source/pics/themewizard1.png deleted file mode 100644 index 1e37687fb..000000000 Binary files a/documentation/manual/source/pics/themewizard1.png and /dev/null differ diff --git a/documentation/manual/source/pics/themewizard2.png b/documentation/manual/source/pics/themewizard2.png deleted file mode 100644 index ba1654daf..000000000 Binary files a/documentation/manual/source/pics/themewizard2.png and /dev/null differ diff --git a/documentation/manual/source/pics/themewizard3.png b/documentation/manual/source/pics/themewizard3.png deleted file mode 100644 index 508e80c1c..000000000 Binary files a/documentation/manual/source/pics/themewizard3.png and /dev/null differ diff --git a/documentation/manual/source/pics/themewizard4.png b/documentation/manual/source/pics/themewizard4.png deleted file mode 100644 index 9cd50ed67..000000000 Binary files a/documentation/manual/source/pics/themewizard4.png and /dev/null differ diff --git a/documentation/manual/source/pics/themewizard5.png b/documentation/manual/source/pics/themewizard5.png deleted file mode 100644 index cb5c0813c..000000000 Binary files a/documentation/manual/source/pics/themewizard5.png and /dev/null differ diff --git a/documentation/manual/source/pics/themewizard6.png b/documentation/manual/source/pics/themewizard6.png deleted file mode 100644 index 9958d43f0..000000000 Binary files a/documentation/manual/source/pics/themewizard6.png and /dev/null differ diff --git a/documentation/manual/source/pics/themewizard7.png b/documentation/manual/source/pics/themewizard7.png deleted file mode 100644 index 92d9e47ac..000000000 Binary files a/documentation/manual/source/pics/themewizard7.png and /dev/null differ diff --git a/documentation/manual/source/pics/themewizard8.png b/documentation/manual/source/pics/themewizard8.png deleted file mode 100644 index a25cf0d8c..000000000 Binary files a/documentation/manual/source/pics/themewizard8.png and /dev/null differ diff --git a/documentation/manual/source/pics/themewizard9.png b/documentation/manual/source/pics/themewizard9.png deleted file mode 100644 index 2bde33ac7..000000000 Binary files a/documentation/manual/source/pics/themewizard9.png and /dev/null differ diff --git a/documentation/manual/source/pics/themewizardwelcome.png b/documentation/manual/source/pics/themewizardwelcome.png deleted file mode 100644 index f58e7c8f3..000000000 Binary files a/documentation/manual/source/pics/themewizardwelcome.png and /dev/null differ diff --git a/documentation/manual/source/pics/twinview.png b/documentation/manual/source/pics/twinview.png deleted file mode 100644 index d8a659f53..000000000 Binary files a/documentation/manual/source/pics/twinview.png and /dev/null differ diff --git a/documentation/manual/source/pics/vga.png b/documentation/manual/source/pics/vga.png deleted file mode 100644 index 3e02726a8..000000000 Binary files a/documentation/manual/source/pics/vga.png and /dev/null differ diff --git a/documentation/manual/source/pics/vistadisplaysettings.png b/documentation/manual/source/pics/vistadisplaysettings.png deleted file mode 100644 index 1fd2c8b16..000000000 Binary files a/documentation/manual/source/pics/vistadisplaysettings.png and /dev/null differ diff --git a/documentation/manual/source/pics/vistapersonalize.png b/documentation/manual/source/pics/vistapersonalize.png deleted file mode 100644 index c24cc15dd..000000000 Binary files a/documentation/manual/source/pics/vistapersonalize.png and /dev/null differ diff --git a/documentation/manual/source/pics/webbible1.png b/documentation/manual/source/pics/webbible1.png deleted file mode 100644 index 6ff1b6560..000000000 Binary files a/documentation/manual/source/pics/webbible1.png and /dev/null differ diff --git a/documentation/manual/source/pics/webbibleproxy1.png b/documentation/manual/source/pics/webbibleproxy1.png deleted file mode 100644 index 23ba9ad24..000000000 Binary files a/documentation/manual/source/pics/webbibleproxy1.png and /dev/null differ diff --git a/documentation/manual/source/pics/welcome.png b/documentation/manual/source/pics/welcome.png deleted file mode 100755 index e331eef3d..000000000 Binary files a/documentation/manual/source/pics/welcome.png and /dev/null differ diff --git a/documentation/manual/source/pics/winsevendisplay.png b/documentation/manual/source/pics/winsevendisplay.png deleted file mode 100644 index deea325b5..000000000 Binary files a/documentation/manual/source/pics/winsevendisplay.png and /dev/null differ diff --git a/documentation/manual/source/pics/winsevenresolution.png b/documentation/manual/source/pics/winsevenresolution.png deleted file mode 100644 index c60bf4c0c..000000000 Binary files a/documentation/manual/source/pics/winsevenresolution.png and /dev/null differ diff --git a/documentation/manual/source/pics/xorgwrite.png b/documentation/manual/source/pics/xorgwrite.png deleted file mode 100644 index 812b9e0ae..000000000 Binary files a/documentation/manual/source/pics/xorgwrite.png and /dev/null differ diff --git a/documentation/manual/source/pics/xpdisplaysettings.png b/documentation/manual/source/pics/xpdisplaysettings.png deleted file mode 100644 index e1ec66c6f..000000000 Binary files a/documentation/manual/source/pics/xpdisplaysettings.png and /dev/null differ diff --git a/documentation/manual/source/quickstart.rst b/documentation/manual/source/quickstart.rst deleted file mode 100644 index 81e262125..000000000 --- a/documentation/manual/source/quickstart.rst +++ /dev/null @@ -1,11 +0,0 @@ -======================== -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/songs.rst b/documentation/manual/source/songs.rst deleted file mode 100644 index 44cda2f80..000000000 --- a/documentation/manual/source/songs.rst +++ /dev/null @@ -1,232 +0,0 @@ -===== -Songs -===== - -Managing your songs in OpenLP is a relatively simple process. There are also -converters provided to get data from other formats into OpenLP. - -Song Importer -============= - -If you are using an earlier version of OpenLP or, come from another software -package, you may be able to convert your existing database to work in OpenLP -2.0. To access the Song Importer click :menuselection:`File --> Import --> Song`. -You will see the Song Importer window, then click :guilabel:`Next`. - -.. image:: pics/songimporter.png - -After choosing :guilabel:`Next` you can select from the various types of -software that OpenLP will convert songs from. - -.. image:: pics/songimporterchoices.png - -Click on the file folder icon to choose the file of the song database you -want to import. See the following sections for information on the different -formats that OpenLP will import. - -Importing from OpenLP Version 1 -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Converting from OpenLP Version 1 is a simple process. First you will -need to locate your version 1 database file. - -Windows XP:: - - C:\Documents and Settings\All Users\Application Data\openlp.org\Data\songs.olp - -Windows Vista / Windows 7:: - - C:\ProgramData\openlp.org\Data\songs.olp - -After clicking :guilabel:`Next` your conversion will be complete. - -.. image:: pics/finishedimport.png - -Press :guilabel:`Finish` and you will now be ready to use your OpenLP -version 1 songs. - -Importing from OpenSong -^^^^^^^^^^^^^^^^^^^^^^^ - -Converting from OpenSong, you will need to locate your songs database. In the -later versions of OpenSong you are asked to define the location of this. The -songs will be located in a folder named :guilabel:`Songs`. This folder will -contain files with all your songs in them, without a file extension. (file.xxx). -When you have located this folder you will need to select the songs from -the folder. - -.. image:: pics/selectsongs.png - -On most operating systems, to select all the songs, first select the first song -in the list, press the shift key, and select the last song in the list. After -this press :guilabel:`Next` and you will see that your import has been -successful. - -.. image:: pics/finishedimport.png - -Press :guilabel:`Finish` and OpenLP will be ready to use your songs that you -imported from OpenSong. - -Importing from CCLI Song Select -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -To import from CCLI Song Select you must be a CCLI Subscriber and also a -subscriber of the Song Select service. For more info check out the `CCLI website. -`_ - -The first step for importing from CCLI Song Select is to log into your account. -Then search for your desired song. For this example we will be adding the song -"Amazing Grace". - -.. image:: pics/songselectsongsearch.png - -For the song you are searching for, select `lyrics` This will take you to a -page displaying the lyrics and copyright information for your song. - -.. image:: pics/songselectlyrics.png - -Next, hover over the :guilabel:`Lyrics` menu from the upper right corner. -Choose either the .txt or .usr file. You will be asked to chose a download -location if your browser does not automatically select that for you. Select -this file from the OpenLP import window and then click :guilabel:`Next` You can -also select multiple songs for import at once on most operating systems by -selecting the first item in the list then holding the shift key and select the -last item in the list. When finished, you will see that your import has -completed. - -.. image:: pics/finishedimport.png - -Press :guilabel:`Finish` and OpenLP will be ready to use your songs imported -from CCLI SongSelect. - -Creating or editing a song slide -================================ - -If you want to create a new song slide or, once you have a song imported, you -want to edit and rearrange the Title & Lyrics, Author, Topics & Song Book, -assign a Theme, or edit Copyright Info & Comments, you will do this through the -`Song Editor`. - -**Edit:** To edit an existing song you can either click on a song in the -`Media Manager` and then click the button to :guilabel:`Edit the selected song` -or right click a song from either the `Media Manager` or additionally from the -`Service Manager` and click :guilabel:`Edit item`. If you are adding a new song -click :guilabel:`Add a new Song` in the `Media Manager`. - -.. image:: pics/song_edit_lyrics.png - -**Title:** This is where you would name your song or edit a song name. - -**Alternate title:**Alternate Title was for songs with two names -"Lord the Light" - "Shine Jesus Shine". You can also add a name in this box that -will bring up the song in Titles search. **Example:** You could use an alternate -title of "hymn" on all your hymn song titles for grouping. When you search "hymn" -it will show all the hymns that have "hymn" for the Alternate title. - -**Lyrics:** The *Lyrics* window shows all lyrics imported or added. On the left -side of the lyrics you will see a capital letter followed by a number. A V1 -would represent verse 1, C1 would be Chorus 1. You will use these letters and -numbers for the order to display the lyrics. - -**Verse Order:** After you entered or edited your song, you will want OpenLP to -display the verses in the correct order you want them displayed. On the left side -of your lyrics you will see C1, V1, V2 etc. the way they were imported or added. -To put your lyrics in the correct order is as simple as typing in the -:guilabel:`Verse order box` at the bottom, the correct order you want them -displayed, with only a blank space in between each entry. The correct format will -look like this: V1 C1 V2 C1 V3 C1. If you forget to put a space in between the -order, or if you do not have the corresponding verse number, OpenLP will politely -tell you with a pop-up error message what is wrong so you can correct your -mistake and save it. Verse order is optional and if left blank the verses will -display in the order seen in *Lyrics*. - -.. image:: pics/song_edit_verse_error.png - -Adding or editing the lyrics -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -**Add:** To Add a new verse, click on :guilabel:`Add`. The main window is where -you will type your lyrics. OpenLP is packaged with a spell checker for most -languages. If you misspell a word it will be underlined. Right click the -underlined word and left click *Spelling Suggestions* or you can ignore it and -continue typing. You also have the ability to format the font using *Formatting -Tags*. Highlight the word/words you want to format and right click the highlight. -Left click *Formatting Tags* and choose the format you want to apply to the font -and the format tags will be entered with your lyrics. These tags are not visible -when displayed. To remove the format, delete the tag on each end of the word or -sentence. - -**Edit:** To edit an existing verse, click on the verse you wish to *Edit* then click on -:guilabel:`Edit`, make your changes and click :guilabel:`Save`. - -**Edit All:** To edit the whole song at once, click on :guilabel:`Edit All`. - -**Delete:** To delete a verse, click on the verse you want to delete and it will -highlight, click on the :guilabel:`Delete` button and it will be deleted. -**Warning:**, once you click the :guilabel:`Delete` button, you will not be -asked again, it will be deleted immediately. - -.. image:: pics/song_edit_verse_type.png - -**Verse type:** gives you 7 ways to classify your lyrics. Verse, Chorus, Bridge, -Pre-Chorus, Intro, Ending, Other. - -If you have more than one verse, you would number them Verse 1, 2, 3 as needed. -If you find the verse has too many lines for your screen, you can edit and -shorten the verse and :guilabel:`Add` another slide. - -Authors, Topics & Song Book -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Once your *Title & Lyrics* are added or edited the way you want them you must -add or enter the author or authors of the song. OpenLP requires all songs to -have an author entered. You can add a blank space for the author name. - -.. image:: pics/song_edit_authors.png - -**Authors:** Click the drop down arrow to view all authors or start typing a name -in the box and a list will appear. If the authors name has not been added, type -the authors name in the box and click :guilabel:`Add to Song`. The authors name -will appear below and will also be added to your database. If you accidently add -the wrong author you can click on the authors name and click :guilabel:`Remove`. - -:guilabel:`Manage Authors, Topics, Song Books`: Clicking this button will bring -up your complete list of authors. - -.. image:: pics/song_edit_maintenance.png - -**Add:** Clicking the :guilabel:`Add` button will bring up a box where you will -add the Authors First name, Last name and Display name. Click :guilabel:`Save` -when you are finished. - -.. image:: pics/song_edit_author_maintenance.png - -**Edit:** The :guilabel:`Edit` button will bring up window where you can edit -the info that is already there. - -**Delete:** The :guilabel:`Delete` button will remove the author you have -highlighted. Note: You cannot delete an author that is assigned to a song. -Authors names are displayed in the footer. - -Theme, Copyright info & Comments -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -On this tab you can assign a *Theme* to a song, enter the *Copyright information* -and add the *CCLI number*. If you imported a song from SongSelect this -information will usually be entered. - -.. image:: pics/song_edit_theme_copyright.png - -**Theme:** Click the drop down arrow to display your list of themes or start -typing a theme name in the box and the list will appear. You can also create a -new theme by clicking the :guilabel:`New Theme` button. - -**Copyright information:** Add or edit the copyright information in this box. If -you would like to use the © symbol click "guilabel:`©` button. This information -is displayed in the footer. - -**CCLI number:** Enter the CCLI number in this box. Note: this is the CCLI number -of the song, not your contract number. This number is not displayed in the footer - -**Comments:** You can add comments in this box. This information is not -dispayed in the footer. diff --git a/documentation/manual/source/themes.rst b/documentation/manual/source/themes.rst deleted file mode 100644 index 7e041cea2..000000000 --- a/documentation/manual/source/themes.rst +++ /dev/null @@ -1,198 +0,0 @@ -.. _themes: - -====== -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 deleted file mode 100644 index 6f5f21a74..000000000 --- a/documentation/manual/source/troubleshooting.rst +++ /dev/null @@ -1,197 +0,0 @@ -=============== -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 -`from 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 the -`community documentation `_. - -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 `_. - -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 `the RPM Fusion site `_ 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. - -Follow the tutorial `using the rpmfusion repository `_ -to enable extra audio and video formats on Fedora - -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 :ref:`themes` if you need more info -on text sizes in themes. - -I am running Mac OS X and I do not have a presentations plugin --------------------------------------------------------------- - -Due to software limitations with Keynote and OpenOffice Impress, the -presentations plugin on OS X is not currently available. - -I am using PowerPoint 2010 or PowerPoint Viewer 2010 and presentations do not work ----------------------------------------------------------------------------------- - -Currently OpenLP does not support PowerPoint Viewer 2010. PowerPoint 2010 should -work correctly, although some users have reported problems. If you have issues -with PowerPoint 2010 or PowerPoint Viewer 2010 try the PowerPoint 2003 or 2007 -Viewers. `Download the PowerPoint 2007 viewer for free -`_. - -I have PowerPoint installed but it does not show as a presentation option -------------------------------------------------------------------------- - -Installing the `Visual C++ Runtime Redistributable. `_ -has fixed this problem according to some of our users. - -I have JPG images and they will not work on my system ------------------------------------------------------ - -This is a known issue on some Mac OS X 10.5 systems and on a few Windows XP -systems. Currently the only solution is to convert your images into another -format. We would suggest using PNG images when possible with OpenLP. - -I am running a Linux Distro and can not see the menus ------------------------------------------------------ - -This seems to be a problem with XFCE and some versions of Gnome too. To correct -this problem, open a terminal and type in the following commands:: - - gconftool-2 --type boolean --set /desktop/gnome/interface/buttons_have_icons true - - gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true - -I chose to use a web Bible but it did not download the entire Bible -------------------------------------------------------------------- - -Due to copyright restrictions OpenLP cannot download an entire Bible. It can -only download the section you search for. If you do not have an internet -connection where you intend to use OpenLP you will need another scripture -source. For more information about acquiring Bibles please see :ref:`bibleimporter`. - -OpenLP is using a large amount of RAM when showing a presentation ------------------------------------------------------------------ - -OpenLP uses a large amount of RAM when showing a presentation due to the way it -handles presentations. OpenLP itself is unable to show those presentations or -load the presentation files, so it interacts with the presentation through -either Microsoft PowerPoint or LibreOffice Impress. In order to show the slides -in the slide controller, OpenLP requests that the presentation application -export the slides to images, and then uses those images as slides. This results -in a large amount of RAM being used, especially in presentations with more than -about 20 slides. - -OpenLP is not displaying correctly, or is not on the correct screen -------------------------------------------------------------------- - -Please read the documentation on :ref:`dualmonitors`. It is very important to -have dual monitors setup properly for OpenLP to function as expected. - - - diff --git a/documentation/manual/source/wizard.rst b/documentation/manual/source/wizard.rst deleted file mode 100644 index fb658b266..000000000 --- a/documentation/manual/source/wizard.rst +++ /dev/null @@ -1,102 +0,0 @@ -================ -First Run Wizard -================ - -When using OpenLP for the first time, the **First Run Wizard** will help you -with setting up your installation. This wizard is not intended to be a -comprehensive setup but will help you with the basics. - -Select Translation ------------------- - -.. image:: pics/001-first-time-language.png - -You can choose the translation you want to use or let OpenLP -automatically select it based on your operating system locale. Click -:guilabel:`OK` to continue. - -The "Welcome to the First Time Wizard" dialog box will appear next. Click -:guilabel:`Next`. - -.. image:: pics/002-first-time-wizard-welcome.png - -Activate required Plugins -------------------------- - -.. image:: pics/003-first-time-wizard-plugins.png - -OpenLP has several plugins to choose from. By default, all plugins are enabled, -except the *Remote Access* plugin. For more information on these plugins, please -read the :doc:`mediamanager` section in the manual. If you are not sure of which -plugins to enable or disable, leave the selection as is. You can easily activate -or deactivate plugins later, when OpenLP is running, by going to -:menuselection:`Settings --> Plugin List`. Click :guilabel:`Next` to continue. - -Sample Songs ------------- - -.. image:: pics/004-first-time-wizard-songs.png - -OpenLP provides some sample songs in a few languages for downloading and -importing into your new song database. This is convenient for new users who do -not have any songs yet. If you already have songs in your database, OpenLP will -simply add these sample songs to your database, leaving your existing songs -intact. Once you are happy with which songs you'd like, click :guilabel:`Next`. - -Sample Bibles -------------- - -.. image:: pics/005-first-time-wizard-bibles.png - -There are also a number of free Bibles that you can download and install. Using -the check box next to each Bible, select each Bible that you would like -installed. If you do not wish to install any Bibles, simply leave them all -unchecked. Once you are happy with your selection, click :guilabel:`Next` to -continue. - -Sample Themes -------------- - -.. image:: pics/006-first-time-wizard-themes.png - -Some sample themes are also available for download and installation into OpenLP. -As with the Bibles, simply check the check box next to each theme to select it. -If you are a new user, these themes can help you understand how themes work. If -you are happy with your selected themes, click :guilabel:`Next` to continue. - -Default Settings ----------------- - -.. image:: pics/007-first-time-wizard-settings.png - -Default Display Monitor -^^^^^^^^^^^^^^^^^^^^^^^ - -Screen 2. If you are installing OpenLP but are not connected to a second output -at the time, you can set this up later by going to -:menuselection:`Settings --> Configure OpenLP`. - -Default Theme -^^^^^^^^^^^^^ - -If you have selected one or more themes on the themes page of the wizard, you -can select which theme you'd like to be the default theme. - -If you are happy with the selections you have made, click :guilabel:`Next` to -continue to the next page. - -.. image:: pics/009-first-time-wizard-progress.png - -Making progress. - -.. image:: pics/010-first-time-wizard-finished.png - -On the last page of the wizard, OpenLP will download the sample songs, Bibles -and themes, and set up OpenLP for you. Click :guilabel:`Finish` and OpenLP will -start. - -.. image:: pics/011-first-time-wizard-song-import.png - -The main window. - -.. image:: pics/012-openlp-main-window.png diff --git a/documentation/manual/themes/openlp_qthelp/layout.html b/documentation/manual/themes/openlp_qthelp/layout.html deleted file mode 100644 index d16116773..000000000 --- a/documentation/manual/themes/openlp_qthelp/layout.html +++ /dev/null @@ -1,68 +0,0 @@ -{# - openlp_qthelp/layout.html - ~~~~~~~~~~~~~~~~~ - - Sphinx layout template for the openlp_qthelp theme. - - :copyright: Copyright 2004-2010 Raoul Snyman. - :license: GPL -#} -{% extends "basic/layout.html" %} -{% set script_files = script_files + ['_static/theme_extras.js'] %} -{% set css_files = css_files + ['_static/print.css'] %} - -{# do not display relbars #} -{% block relbar1 %}{% endblock %} -{% block relbar2 %}{% endblock %} - -{% macro nav() %} -

- {%- block openlp_qthelprel1 %} - {%- endblock %} - {%- if prev %} - «  {{ prev.title }} -   ::   - {%- endif %} - {{ _('Contents') }} - {%- if next %} -   ::   - {{ next.title }}  » - {%- endif %} - {%- block openlp_qthelprel2 %} - {%- endblock %} -

-{% endmacro %} - -{% block content %} - -
- {{ nav() }} -
-
- {#{%- if display_toc %} -
-

Table Of Contents

- {{ toc }} -
- {%- endif %}#} - {% block body %}{% endblock %} -
-
- {{ nav() }} -
-{% endblock %} diff --git a/documentation/manual/themes/openlp_qthelp/static/alert_info_32.png b/documentation/manual/themes/openlp_qthelp/static/alert_info_32.png deleted file mode 100644 index 05b4fe898..000000000 Binary files a/documentation/manual/themes/openlp_qthelp/static/alert_info_32.png and /dev/null differ diff --git a/documentation/manual/themes/openlp_qthelp/static/alert_warning_32.png b/documentation/manual/themes/openlp_qthelp/static/alert_warning_32.png deleted file mode 100644 index f13611cde..000000000 Binary files a/documentation/manual/themes/openlp_qthelp/static/alert_warning_32.png and /dev/null differ diff --git a/documentation/manual/themes/openlp_qthelp/static/bg-page.png b/documentation/manual/themes/openlp_qthelp/static/bg-page.png deleted file mode 100644 index c6f3bc477..000000000 Binary files a/documentation/manual/themes/openlp_qthelp/static/bg-page.png and /dev/null differ diff --git a/documentation/manual/themes/openlp_qthelp/static/bullet_orange.png b/documentation/manual/themes/openlp_qthelp/static/bullet_orange.png deleted file mode 100644 index ad5d02f34..000000000 Binary files a/documentation/manual/themes/openlp_qthelp/static/bullet_orange.png and /dev/null differ diff --git a/documentation/manual/themes/openlp_qthelp/static/openlp_qthelp.css_t b/documentation/manual/themes/openlp_qthelp/static/openlp_qthelp.css_t deleted file mode 100644 index 918ed661b..000000000 --- a/documentation/manual/themes/openlp_qthelp/static/openlp_qthelp.css_t +++ /dev/null @@ -1,372 +0,0 @@ -/* - * openlp_qthelp.css_t - * ~~~~~~~~~~~ - * - * Sphinx stylesheet -- openlp_qthelp theme. - * - * Adapted from http://openlp_qthelp-os.org/docs/Haiku-doc.css. - * Original copyright message: - * - * Copyright 2008-2009, Haiku. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Authors: - * Francois Revol - * Stephan Assmus - * Braden Ewing - * Humdinger - * - * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -@import url("basic.css"); - -html { - margin: 0px; - padding: 0px; - background-color: #fff; - background-image: none; -} - -body { - line-height: 1.5; - margin: auto; - padding: 0px; - font-family: "DejaVu Sans", Arial, Helvetica, sans-serif; - min-width: 59em; - max-width: 70em; - color: {{ theme_textcolor }}; -} - -div.footer { - padding: 8px; - font-size: 11px; - text-align: center; - letter-spacing: 0.5px; -} - -/* link colors and text decoration */ - -a:link { - font-weight: bold; - text-decoration: none; - color: {{ theme_linkcolor }}; -} - -a:visited { - font-weight: bold; - text-decoration: none; - color: {{ theme_visitedlinkcolor }}; -} - -a:hover, a:active { - text-decoration: underline; - color: {{ theme_hoverlinkcolor }}; -} - -/* Some headers act as anchors, don't give them a hover effect */ - -h1 a:hover, a:active { - text-decoration: none; - color: {{ theme_headingcolor }}; -} - -h2 a:hover, a:active { - text-decoration: none; - color: {{ theme_headingcolor }}; -} - -h3 a:hover, a:active { - text-decoration: none; - color: {{ theme_headingcolor }}; -} - -h4 a:hover, a:active { - text-decoration: none; - color: {{ theme_headingcolor }}; -} - -a.headerlink { - color: #a7ce38; - padding-left: 5px; -} - -a.headerlink:hover { - color: #a7ce38; -} - -/* basic text elements */ - -div.content { - margin-top: 20px; - margin-left: 40px; - margin-right: 40px; - margin-bottom: 50px; - font-size: 0.9em; -} - -/* heading and navigation */ - -div.header { - position: relative; - left: 0px; - top: 0px; - height: 85px; - /* background: #eeeeee; */ - padding: 0 40px; -} -div.header h1 { - font-size: 1.6em; - font-weight: normal; - letter-spacing: 1px; - color: {{ theme_headingcolor }}; - border: 0; - margin: 0; - padding-top: 15px; -} -div.header h1 a { - font-weight: normal; - color: {{ theme_headingcolor }}; -} -div.header h2 { - font-size: 1.3em; - font-weight: normal; - letter-spacing: 1px; - text-transform: uppercase; - color: #aaa; - border: 0; - margin-top: -3px; - padding: 0; -} - -div.header img.rightlogo { - float: right; -} - - -div.title { - font-size: 1.3em; - font-weight: bold; - color: {{ theme_headingcolor }}; - border-bottom: dotted thin #e0e0e0; - margin-bottom: 25px; -} -div.topnav { - /* background: #e0e0e0; */ -} -div.topnav p { - margin-top: 0; - margin-left: 40px; - margin-right: 40px; - margin-bottom: 0px; - text-align: right; - font-size: 0.8em; -} -div.bottomnav { - background: #eeeeee; -} -div.bottomnav p { - margin-right: 40px; - text-align: right; - font-size: 0.8em; -} - -a.uplink { - font-weight: normal; -} - - -/* contents box */ - -table.index { - margin: 0px 0px 30px 30px; - padding: 1px; - border-width: 1px; - border-style: dotted; - border-color: #e0e0e0; -} -table.index tr.heading { - background-color: #e0e0e0; - text-align: center; - font-weight: bold; - font-size: 1.1em; -} -table.index tr.index { - background-color: #eeeeee; -} -table.index td { - padding: 5px 20px; -} - -table.index a:link, table.index a:visited { - font-weight: normal; - text-decoration: none; - color: {{ theme_linkcolor }}; -} -table.index a:hover, table.index a:active { - text-decoration: underline; - color: {{ theme_hoverlinkcolor }}; -} - - -/* Haiku User Guide styles and layout */ - -/* Rounded corner boxes */ -/* Common declarations */ -div.admonition { - -webkit-border-radius: 10px; - -khtml-border-radius: 10px; - -moz-border-radius: 10px; - border-radius: 10px; - border-style: dotted; - border-width: thin; - border-color: #dcdcdc; - padding: 10px 15px 10px 15px; - margin-bottom: 15px; - margin-top: 15px; -} -div.note { - padding: 10px 15px 10px 80px; - background: #e4ffde url(alert_info_32.png) 15px 15px no-repeat; - min-height: 42px; -} -div.warning { - padding: 10px 15px 10px 80px; - background: #fffbc6 url(alert_warning_32.png) 15px 15px no-repeat; - min-height: 42px; -} -div.seealso { - background: #e4ffde; -} - -/* More layout and styles */ -h1 { - font-size: 1.3em; - font-weight: bold; - color: {{ theme_headingcolor }}; - border-bottom: dotted thin #e0e0e0; - margin-top: 30px; -} - -h2 { - font-size: 1.2em; - font-weight: normal; - color: {{ theme_headingcolor }}; - border-bottom: dotted thin #e0e0e0; - margin-top: 30px; -} - -h3 { - font-size: 1.1em; - font-weight: normal; - color: {{ theme_headingcolor }}; - margin-top: 30px; -} - -h4 { - font-size: 1.0em; - font-weight: normal; - color: {{ theme_headingcolor }}; - margin-top: 30px; -} - -p { - text-align: justify; -} - -p.last { - margin-bottom: 0; -} - -ol { - padding-left: 20px; -} - -ul { - padding-left: 5px; - margin-top: 3px; -} - -li { - line-height: 1.3; -} - -div.content ul > li { - -moz-background-clip:border; - -moz-background-inline-policy:continuous; - -moz-background-origin:padding; - background: transparent url(bullet_orange.png) no-repeat scroll left 0.45em; - list-style-image: none; - list-style-type: none; - padding: 0 0 0 1.666em; - margin-bottom: 3px; -} - -td { - vertical-align: top; -} - -tt { - background-color: #e2e2e2; - font-size: 1.0em; - font-family: monospace; -} - -pre { - border-color: #0c3762; - border-style: dotted; - border-width: thin; - margin: 0 0 12px 0; - padding: 0.8em; - background-color: #f0f0f0; -} - -hr { - border-top: 1px solid #ccc; - border-bottom: 0; - border-right: 0; - border-left: 0; - margin-bottom: 10px; - margin-top: 20px; -} - -/* printer only pretty stuff */ -@media print { - .noprint { - display: none; - } - /* for acronyms we want their definitions inlined at print time */ - acronym[title]:after { - font-size: small; - content: " (" attr(title) ")"; - font-style: italic; - } - /* and not have mozilla dotted underline */ - acronym { - border: none; - } - div.topnav, div.bottomnav, div.header, table.index { - display: none; - } - div.content { - margin: 0px; - padding: 0px; - } - html { - background: #FFF; - } -} - -.viewcode-back { - font-family: "DejaVu Sans", Arial, Helvetica, sans-serif; -} - -div.viewcode-block:target { - background-color: #f4debf; - border-top: 1px solid #ac9; - border-bottom: 1px solid #ac9; - margin: -1px -12px; - padding: 0 12px; -} diff --git a/documentation/manual/themes/openlp_qthelp/theme.conf b/documentation/manual/themes/openlp_qthelp/theme.conf deleted file mode 100644 index 0d44b0faa..000000000 --- a/documentation/manual/themes/openlp_qthelp/theme.conf +++ /dev/null @@ -1,12 +0,0 @@ -[theme] -inherit = basic -stylesheet = openlp_qthelp.css -pygments_style = autumn - -[options] -full_logo = false -textcolor = #333333 -headingcolor = #203b6f -linkcolor = #26437c -visitedlinkcolor = #26437c -hoverlinkcolor = #26437c diff --git a/documentation/plugin.txt b/documentation/plugin.txt deleted file mode 100644 index dff6de06a..000000000 --- a/documentation/plugin.txt +++ /dev/null @@ -1,97 +0,0 @@ -A plugin architecture for openlp 2.0 ------------------------------------- - -Why? ----- -To allow easy development of new "things to display". Examples: -* Bible passages -* Video -* Powerpoint/Openoffice Impress -* Lyrics :) (with chords, rich text, etc...) -* Musical score -* Midi files (hmmm, that's not a thing to display, but feels like it should be - there...) -* Audio files, CDs (hmmm again) -* Collections of pictures -* Alerts to members of the congregation -... etc. - -The scope of these plugins is "things for display purposes", so each needs to -be able to: -* Render their display (on the projection screen and in a "shrunken form" - for preview purposes) - -These plugins need to be part of a service. This means they need to -* Be able to tell the service manager code what to put in the service for their - "bit" -* Have a "tab" in the media manager, which they can render on request - to allow bits to be added to the service (or indeed shown live) - -In addition, some plugins need to be able to show -* How their multiple screens of data are split (eg verses) -* be told which screen to display - -Some plugins will also have things to configure, so will need -* to tell the core app that they need a preferences page -* and be able to render it and handle those prefs - -Some plugins may need to define -* Hot keys for their display actions. The core will have to pass these on... - -Other basic things all plugins will need: -* A name -* A version number -* Helpfile? - -Funnily enough, the core lyrics engine fits those requirements, so could -actually form a plugin... - -Each service entry may be made up of multiple plugins (to do text on video), so -each plugin that contributes to a service item will need a "layering" -priority. - -Plugin management ------------------ - -Plugins will be packages within the plugins/ directory. The plugin manager -will scan this directory when openlp loads for any class which is based on the -base Plugin class (or should we call it the DisplayPlugin class to allow for -other sorts??) - -These plugins are then queried for their capabilities/requirements and -spaces made in the prefs UI as required, and in the media manager. - -The service manager can find out what plugins it has available (we need to -report missing plugins when a service is loaded). - -The display manager will get a ref to a/some plugin(s) from the service -manager when each service item is made live, and can then call on each to -render their display. - -Each plugin will have basic attributes for -* name -* version number -* capabilities/requirements - (eg: - needs a prefs page, - needs key presses forwarding - has multiple screensful? - ) - -and a set of API functions for -* media manager rendering and handling -* creating service data -* being told service data -* set paint context -* render -* selecting a screen to display -* handling preferences -* shortcut key handling... - - -Other things to add: -Multiple monitors -Openoffice like plugins - external rendering. -update hook for rendering? -Event hook from app -Event hook to app (MIDI events....) diff --git a/openlp.pyw b/openlp.pyw index c287072f5..76d334bae 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -115,8 +115,7 @@ class OpenLP(QtGui.QApplication): # make sure Qt really display the splash screen self.processEvents() # start the main app window - self.mainWindow = MainWindow(screens, self.clipboard(), - self.arguments()) + self.mainWindow = MainWindow(self.clipboard(), self.arguments()) self.mainWindow.show() if show_splash: # now kill the splashscreen diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py index 7a1d1a679..1b001dfa7 100644 --- a/openlp/core/lib/__init__.py +++ b/openlp/core/lib/__init__.py @@ -299,7 +299,6 @@ from listwidgetwithdnd import ListWidgetWithDnD from displaytags import DisplayTags from eventreceiver import Receiver from spelltextedit import SpellTextEdit -from imagemanager import ImageManager from settingsmanager import SettingsManager from plugin import PluginStatus, StringContent, Plugin from pluginmanager import PluginManager @@ -311,6 +310,7 @@ from htmlbuilder import build_html, build_lyrics_format_css, \ build_lyrics_outline_css from toolbar import OpenLPToolbar from dockwidget import OpenLPDockWidget +from imagemanager import ImageManager from renderer import Renderer from mediamanageritem import MediaManagerItem from openlp.core.utils.actions import ActionList diff --git a/openlp/core/lib/dockwidget.py b/openlp/core/lib/dockwidget.py index 9b4661fee..ace364ed0 100644 --- a/openlp/core/lib/dockwidget.py +++ b/openlp/core/lib/dockwidget.py @@ -32,6 +32,7 @@ import logging from PyQt4 import QtGui from openlp.core.lib import build_icon +from openlp.core.ui import ScreenList log = logging.getLogger(__name__) @@ -50,3 +51,11 @@ class OpenLPDockWidget(QtGui.QDockWidget): self.setObjectName(name) if icon: self.setWindowIcon(build_icon(icon)) + # Sort out the minimum width. + screens = ScreenList.get_instance() + screen_width = screens.current[u'size'].width() + mainwindow_docbars = screen_width / 5 + if mainwindow_docbars > 300: + self.setMinimumWidth(300) + else: + self.setMinimumWidth(mainwindow_docbars) diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py index 1f2d2498d..e2d6b8520 100644 --- a/openlp/core/lib/htmlbuilder.py +++ b/openlp/core/lib/htmlbuilder.py @@ -324,17 +324,22 @@ def build_html(item, screen, alert, islive, background, image=None): """ Build the full web paged structure for display - `item` + ``item`` Service Item to be displayed - `screen` + + ``screen`` Current display information - `alert` + + ``alert`` Alert display display information - `islive` + + ``islive`` Item is going live, rather than preview/theme building - `background` + + ``background`` Theme background image - bytes - `image` + + ``image`` Image media item - bytes """ width = screen[u'size'].width() @@ -379,7 +384,7 @@ def build_background_css(item, width, height): """ Build the background css - `item` + ``item`` Service Item containing theme and location information """ @@ -432,10 +437,10 @@ def build_lyrics_css(item, webkitvers): """ Build the lyrics display css - `item` + ``item`` Service Item containing theme and location information - `webkitvers` + ``webkitvers`` The version of qtwebkit we're using """ @@ -509,10 +514,10 @@ def build_lyrics_outline_css(theme, is_shadow=False): Build the css which controls the theme outline Also used by renderer for splitting verses - `theme` + ``theme`` Object containing theme information - `is_shadow` + ``is_shadow`` If true, use the shadow colors instead """ if theme.font_main_outline: @@ -533,13 +538,13 @@ def build_lyrics_format_css(theme, width, height): Build the css which controls the theme format Also used by renderer for splitting verses - `theme` + ``theme`` Object containing theme information - `width` + ``width`` Width of the lyrics block - `height` + ``height`` Height of the lyrics block """ @@ -569,10 +574,10 @@ def build_lyrics_html(item, webkitvers): """ Build the HTML required to show the lyrics - `item` + ``item`` Service Item containing theme and location information - `webkitvers` + ``webkitvers`` The version of qtwebkit we're using """ # Bugs in some versions of QtWebKit mean we sometimes need additional @@ -598,7 +603,7 @@ def build_footer_css(item, height): """ Build the display of the item footer - `item` + ``item`` Service Item to be processed. """ style = """ @@ -624,7 +629,7 @@ def build_alert_css(alertTab, width): """ Build the display of the footer - `alertTab` + ``alertTab`` Details from the Alert tab for fonts etc """ style = """ diff --git a/openlp/core/lib/imagemanager.py b/openlp/core/lib/imagemanager.py index 4873f4975..f06dc2767 100644 --- a/openlp/core/lib/imagemanager.py +++ b/openlp/core/lib/imagemanager.py @@ -35,6 +35,7 @@ import time from PyQt4 import QtCore from openlp.core.lib import resize_image, image_to_byte +from openlp.core.ui import ScreenList log = logging.getLogger(__name__) @@ -70,18 +71,22 @@ class ImageManager(QtCore.QObject): def __init__(self): QtCore.QObject.__init__(self) + current_screen = ScreenList.get_instance().current + self.width = current_screen[u'size'].width() + self.height = current_screen[u'size'].height() self._cache = {} self._thread_running = False self._cache_dirty = False self.image_thread = ImageThread(self) - def update_display(self, width, height): + def update_display(self): """ Screen has changed size so rebuild the cache to new size """ log.debug(u'update_display') - self.width = width - self.height = height + current_screen = ScreenList.get_instance().current + self.width = current_screen[u'size'].width() + self.height = current_screen[u'size'].height() # mark the images as dirty for a rebuild for key in self._cache.keys(): image = self._cache[key] diff --git a/openlp/core/lib/listwidgetwithdnd.py b/openlp/core/lib/listwidgetwithdnd.py index c45b4cc9d..2419d1a35 100644 --- a/openlp/core/lib/listwidgetwithdnd.py +++ b/openlp/core/lib/listwidgetwithdnd.py @@ -49,6 +49,9 @@ class ListWidgetWithDnD(QtGui.QListWidget): if event.buttons() != QtCore.Qt.LeftButton: event.ignore() return + if not self.selectedItems(): + event.ignore() + return drag = QtGui.QDrag(self) mimeData = QtCore.QMimeData() drag.setMimeData(mimeData) diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index bba85d176..ee80d90bc 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -28,11 +28,11 @@ import logging from PyQt4 import QtCore, QtWebKit -from openlp.core.lib import ServiceItem, ImageManager, expand_tags, \ +from openlp.core.lib import ServiceItem, expand_tags, \ build_lyrics_format_css, build_lyrics_outline_css, Receiver, \ ItemCapabilities from openlp.core.lib.theme import ThemeLevel -from openlp.core.ui import MainDisplay +from openlp.core.ui import MainDisplay, ScreenList log = logging.getLogger(__name__) @@ -52,33 +52,32 @@ class Renderer(object): Class to pull all Renderer interactions into one place. The plugins will call helper methods to do the rendering but this class will provide display defense code. - - ``theme_manager`` - The ThemeManager instance, used to get the current theme details. - - ``screens`` - Contains information about the Screens. - - ``screen_number`` - Defaults to *0*. The index of the output/display screen. """ log.info(u'Renderer Loaded') - def __init__(self, theme_manager, screens): + def __init__(self, image_manager, theme_manager): """ Initialise the render manager. + + ``image_manager`` + A ImageManager instance which takes care of e. g. caching and resizing + images. + + ``theme_manager`` + The ThemeManager instance, used to get the current theme details. """ log.debug(u'Initilisation started') - self.screens = screens - self.image_manager = ImageManager() - self.display = MainDisplay(self, screens, False) - self.display.imageManager = self.image_manager self.theme_manager = theme_manager + self.image_manager = image_manager + self.screens = ScreenList.get_instance() self.service_theme = u'' self.theme_level = u'' self.override_background = None self.theme_data = None + self.bg_frame = None self.force_page = False + self.display = MainDisplay(self, self.image_manager, False) + self.display.setup() def update_display(self): """ @@ -86,12 +85,10 @@ class Renderer(object): """ log.debug(u'Update Display') self._calculate_default(self.screens.current[u'size']) - self.display = MainDisplay(self, self.screens, False) - self.display.imageManager = self.image_manager + self.display = MainDisplay(self, self.image_manager, False) self.display.setup() self.bg_frame = None self.theme_data = None - self.image_manager.update_display(self.width, self.height) def set_global_theme(self, global_theme, theme_level=ThemeLevel.Global): """ diff --git a/openlp/core/lib/searchedit.py b/openlp/core/lib/searchedit.py index b524855ba..fc007227e 100644 --- a/openlp/core/lib/searchedit.py +++ b/openlp/core/lib/searchedit.py @@ -62,6 +62,7 @@ class SearchEdit(QtGui.QLineEdit): self._onSearchEditTextChanged ) self._updateStyleSheet() + self.setAcceptDrops(False) def _updateStyleSheet(self): """ diff --git a/openlp/core/lib/settingsmanager.py b/openlp/core/lib/settingsmanager.py index bb83371e6..472c66e23 100644 --- a/openlp/core/lib/settingsmanager.py +++ b/openlp/core/lib/settingsmanager.py @@ -37,26 +37,9 @@ from openlp.core.utils import AppLocation class SettingsManager(object): """ - Class to control the initial settings for the UI and provide helper - functions for the loading and saving of application settings. + Class to provide helper functions for the loading and saving of application + settings. """ - def __init__(self, screen): - self.screen = screen.current - self.width = self.screen[u'size'].width() - self.height = self.screen[u'size'].height() - self.mainwindow_height = self.height * 0.8 - mainwindow_docbars = self.width / 5 - self.mainwindow_left = 0 - self.mainwindow_right = 0 - if mainwindow_docbars > 300: - self.mainwindow_left = 300 - self.mainwindow_right = 300 - else: - self.mainwindow_left = mainwindow_docbars - self.mainwindow_right = mainwindow_docbars - self.slidecontroller = (self.width - ( - self.mainwindow_left + self.mainwindow_right) - 100) / 2 - self.slidecontroller_image = self.slidecontroller - 50 @staticmethod def get_last_dir(section, num=None): diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index a2985c0b8..fced32a0d 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -56,10 +56,10 @@ from firsttimelanguageform import FirstTimeLanguageForm from themeform import ThemeForm from filerenameform import FileRenameForm from starttimeform import StartTimeForm +from screen import ScreenList from maindisplay import MainDisplay from servicenoteform import ServiceNoteForm from serviceitemeditform import ServiceItemEditForm -from screen import ScreenList from slidecontroller import SlideController from splashscreen import SplashScreen from generaltab import GeneralTab diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 6931c3e7f..bd6a8e373 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -29,6 +29,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import SettingsTab, Receiver, translate from openlp.core.lib.ui import UiStrings +from openlp.core.ui import ScreenList log = logging.getLogger(__name__) @@ -36,33 +37,15 @@ class GeneralTab(SettingsTab): """ GeneralTab is the general settings tab in the settings dialog. """ - def __init__(self, parent, screens): + def __init__(self, parent): """ Initialise the general settings tab """ - self.screens = screens - self.monitorNumber = 0 - # Set to True to allow PostSetup to work on application start up - self.overrideChanged = True + self.screens = ScreenList.get_instance() self.icon_path = u':/icon/openlp-logo-16x16.png' generalTranslated = translate('GeneralTab', 'General') SettingsTab.__init__(self, parent, u'General', generalTranslated) - def preLoad(self): - """ - Set up the display screen and set correct screen values. - If not set before default to last screen. - """ - settings = QtCore.QSettings() - settings.beginGroup(self.settingsSection) - self.monitorNumber = settings.value(u'monitor', - QtCore.QVariant(self.screens.display_count - 1)).toInt()[0] - self.screens.set_current_display(self.monitorNumber) - self.screens.monitor_number = self.monitorNumber - self.screens.display = settings.value( - u'display on monitor', QtCore.QVariant(True)).toBool() - settings.endGroup() - def setupUi(self): """ Create the user interface for the general settings tab @@ -158,14 +141,14 @@ class GeneralTab(SettingsTab): self.displayLayout.addWidget(self.customXLabel, 3, 0) self.customXValueEdit = QtGui.QSpinBox(self.displayGroupBox) self.customXValueEdit.setObjectName(u'customXValueEdit') - self.customXValueEdit.setMaximum(9999) + self.customXValueEdit.setRange(-9999, 9999) self.displayLayout.addWidget(self.customXValueEdit, 4, 0) self.customYLabel = QtGui.QLabel(self.displayGroupBox) self.customYLabel.setObjectName(u'customYLabel') self.displayLayout.addWidget(self.customYLabel, 3, 1) self.customYValueEdit = QtGui.QSpinBox(self.displayGroupBox) self.customYValueEdit.setObjectName(u'customYValueEdit') - self.customYValueEdit.setMaximum(9999) + self.customYValueEdit.setRange(-9999, 9999) self.displayLayout.addWidget(self.customYValueEdit, 4, 1) self.customWidthLabel = QtGui.QLabel(self.displayGroupBox) self.customWidthLabel.setObjectName(u'customWidthLabel') @@ -187,13 +170,15 @@ class GeneralTab(SettingsTab): QtCore.QObject.connect(self.overrideCheckBox, QtCore.SIGNAL(u'toggled(bool)'), self.onOverrideCheckBoxToggled) QtCore.QObject.connect(self.customHeightValueEdit, - QtCore.SIGNAL(u'valueChanged(int)'), self.onDisplayPositionChanged) + QtCore.SIGNAL(u'valueChanged(int)'), self.onDisplayChanged) QtCore.QObject.connect(self.customWidthValueEdit, - QtCore.SIGNAL(u'valueChanged(int)'), self.onDisplayPositionChanged) + QtCore.SIGNAL(u'valueChanged(int)'), self.onDisplayChanged) QtCore.QObject.connect(self.customYValueEdit, - QtCore.SIGNAL(u'valueChanged(int)'), self.onDisplayPositionChanged) + QtCore.SIGNAL(u'valueChanged(int)'), self.onDisplayChanged) QtCore.QObject.connect(self.customXValueEdit, - QtCore.SIGNAL(u'valueChanged(int)'), self.onDisplayPositionChanged) + QtCore.SIGNAL(u'valueChanged(int)'), self.onDisplayChanged) + QtCore.QObject.connect(self.monitorComboBox, + QtCore.SIGNAL(u'currentIndexChanged(int)'), self.onDisplayChanged) # Reload the tab, as the screen resolution/count may have changed. QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'config_screen_changed'), self.load) @@ -203,7 +188,6 @@ class GeneralTab(SettingsTab): self.passwordLabel.setVisible(False) self.passwordEdit.setVisible(False) - def retranslateUi(self): """ Translate the general settings tab to the currently selected language @@ -261,6 +245,9 @@ class GeneralTab(SettingsTab): settings.beginGroup(self.settingsSection) self.monitorComboBox.clear() self.monitorComboBox.addItems(self.screens.get_screen_list()) + monitorNumber = settings.value(u'monitor', + QtCore.QVariant(self.screens.display_count - 1)).toInt()[0] + self.monitorComboBox.setCurrentIndex(monitorNumber) self.numberEdit.setText(unicode(settings.value( u'ccli number', QtCore.QVariant(u'')).toString())) self.usernameEdit.setText(unicode(settings.value( @@ -271,7 +258,6 @@ class GeneralTab(SettingsTab): QtCore.QVariant(False)).toBool()) self.autoUnblankCheckBox.setChecked(settings.value(u'auto unblank', QtCore.QVariant(False)).toBool()) - self.monitorComboBox.setCurrentIndex(self.monitorNumber) self.displayOnMonitorCheck.setChecked(self.screens.display) self.warningCheckBox.setChecked(settings.value(u'blank warning', QtCore.QVariant(False)).toBool()) @@ -300,15 +286,16 @@ class GeneralTab(SettingsTab): self.customYValueEdit.setEnabled(self.overrideCheckBox.isChecked()) self.customHeightValueEdit.setEnabled(self.overrideCheckBox.isChecked()) self.customWidthValueEdit.setEnabled(self.overrideCheckBox.isChecked()) + self.display_changed = False def save(self): """ Save the settings from the form """ - self.monitorNumber = self.monitorComboBox.currentIndex() settings = QtCore.QSettings() settings.beginGroup(self.settingsSection) - settings.setValue(u'monitor', QtCore.QVariant(self.monitorNumber)) + settings.setValue(u'monitor', + QtCore.QVariant(self.monitorComboBox.currentIndex())) settings.setValue(u'display on monitor', QtCore.QVariant(self.displayOnMonitorCheck.isChecked())) settings.setValue(u'blank warning', @@ -344,15 +331,8 @@ class GeneralTab(SettingsTab): settings.setValue(u'override position', QtCore.QVariant(self.overrideCheckBox.isChecked())) settings.endGroup() - self.screens.display = self.displayOnMonitorCheck.isChecked() - # Monitor Number has changed. - postUpdate = False - if self.screens.monitor_number != self.monitorNumber: - self.screens.monitor_number = self.monitorNumber - self.screens.set_current_display(self.monitorNumber) - postUpdate = True # On save update the screens as well - self.postSetUp(postUpdate) + self.postSetUp(True) def postSetUp(self, postUpdate=False): """ @@ -361,7 +341,11 @@ class GeneralTab(SettingsTab): """ Receiver.send_message(u'slidecontroller_live_spin_delay', self.timeoutSpinBox.value()) - # Reset screens after initial definition + # Do not continue on start up. + if not postUpdate: + return + self.screens.set_current_display(self.monitorComboBox.currentIndex()) + self.screens.display = self.displayOnMonitorCheck.isChecked() self.screens.override[u'size'] = QtCore.QRect( self.customXValueEdit.value(), self.customYValueEdit.value(), @@ -371,10 +355,9 @@ class GeneralTab(SettingsTab): self.screens.set_override_display() else: self.screens.reset_current_display() - # Order is important so be careful if you change - if self.overrideChanged or postUpdate: + if self.display_changed: Receiver.send_message(u'config_screen_changed') - self.overrideChanged = False + self.display_changed = False def onOverrideCheckBoxToggled(self, checked): """ @@ -387,10 +370,10 @@ class GeneralTab(SettingsTab): self.customYValueEdit.setEnabled(checked) self.customHeightValueEdit.setEnabled(checked) self.customWidthValueEdit.setEnabled(checked) - self.overrideChanged = True + self.display_changed = True - def onDisplayPositionChanged(self): + def onDisplayChanged(self): """ Called when the width, height, x position or y position has changed. """ - self.overrideChanged = True + self.display_changed = True diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 5fd066a12..8af061f2b 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -36,35 +36,23 @@ from PyQt4.phonon import Phonon from openlp.core.lib import Receiver, build_html, ServiceItem, image_to_byte, \ translate -from openlp.core.ui import HideMode +from openlp.core.ui import HideMode, ScreenList log = logging.getLogger(__name__) #http://www.steveheffernan.com/html5-video-player/demo-video-player.html #http://html5demos.com/two-videos -class DisplayWidget(QtGui.QGraphicsView): - """ - Customised version of QTableWidget which can respond to keyboard - events. - """ - log.info(u'Display Widget loaded') - - def __init__(self, live, parent=None): - QtGui.QGraphicsView.__init__(self) - self.parent = parent - self.live = live - - -class MainDisplay(DisplayWidget): +class MainDisplay(QtGui.QGraphicsView): """ This is the display screen. """ - def __init__(self, parent, screens, live): - DisplayWidget.__init__(self, live, parent=None) + def __init__(self, parent, image_manager, live): + QtGui.QGraphicsView.__init__(self) self.parent = parent - self.screens = screens self.isLive = live + self.image_manager = image_manager + self.screens = ScreenList.get_instance() self.alertTab = None self.hideMode = None self.videoHide = False @@ -94,8 +82,7 @@ class MainDisplay(DisplayWidget): """ Set up and build the output screen """ - log.debug(u'Start setup for monitor %s (live = %s)' % - (self.screens.monitor_number, self.isLive)) + log.debug(u'Start MainDisplay setup (live = %s)' % self.isLive) self.usePhonon = QtCore.QSettings().value( u'media/use phonon', QtCore.QVariant(True)).toBool() self.phononActive = False @@ -106,11 +93,10 @@ class MainDisplay(DisplayWidget): self.videoWidget.setVisible(False) self.videoWidget.setGeometry(QtCore.QRect(0, 0, self.screen[u'size'].width(), self.screen[u'size'].height())) - log.debug(u'Setup Phonon for monitor %s' % self.screens.monitor_number) if self.isLive: if not self.firstTime: self.createMediaObject() - log.debug(u'Setup webView for monitor %s' % self.screens.monitor_number) + log.debug(u'Setup webView') self.webView = QtWebKit.QWebView(self) self.webView.setGeometry(0, 0, self.screen[u'size'].width(), self.screen[u'size'].height()) @@ -127,8 +113,8 @@ class MainDisplay(DisplayWidget): if self.isLive: # Build the initial frame. self.black = QtGui.QImage( - self.screens.current[u'size'].width(), - self.screens.current[u'size'].height(), + self.screen[u'size'].width(), + self.screen[u'size'].height(), QtGui.QImage.Format_ARGB32_Premultiplied) painter_image = QtGui.QPainter() painter_image.begin(self.black) @@ -145,17 +131,16 @@ class MainDisplay(DisplayWidget): background_color = QtCore.Qt.white splash_image = QtGui.QImage(image_file) self.initialFrame = QtGui.QImage( - self.screens.current[u'size'].width(), - self.screens.current[u'size'].height(), + self.screen[u'size'].width(), + self.screen[u'size'].height(), QtGui.QImage.Format_ARGB32_Premultiplied) painter_image = QtGui.QPainter() painter_image.begin(self.initialFrame) painter_image.fillRect(self.initialFrame.rect(), background_color) painter_image.drawImage( - (self.screens.current[u'size'].width() - - splash_image.width()) / 2, - (self.screens.current[u'size'].height() - - splash_image.height()) / 2, splash_image) + (self.screen[u'size'].width() - splash_image.width()) / 2, + (self.screen[u'size'].height() - splash_image.height()) / 2, + splash_image) serviceItem = ServiceItem() serviceItem.bg_image_bytes = image_to_byte(self.initialFrame) self.webView.setHtml(build_html(serviceItem, self.screen, @@ -167,8 +152,7 @@ class MainDisplay(DisplayWidget): self.primary = False else: self.primary = True - log.debug( - u'Finished setup for monitor %s' % self.screens.monitor_number) + log.debug(u'Finished MainDisplay setup') def createMediaObject(self): self.firstTime = False @@ -212,8 +196,8 @@ class MainDisplay(DisplayWidget): The slide text to be displayed """ log.debug(u'alert to display') - if self.height() != self.screen[u'size'].height() \ - or not self.isVisible() or self.videoWidget.isVisible(): + if self.height() != self.screen[u'size'].height() or not \ + self.isVisible() or self.videoWidget.isVisible(): shrink = True else: shrink = False @@ -244,7 +228,7 @@ class MainDisplay(DisplayWidget): """ API for replacement backgrounds so Images are added directly to cache """ - self.imageManager.add_image(name, path) + self.image_manager.add_image(name, path) self.image(name) if hasattr(self, u'serviceItem'): self.override[u'image'] = name @@ -259,7 +243,7 @@ class MainDisplay(DisplayWidget): The name of the image to be displayed """ log.debug(u'image to display') - image = self.imageManager.get_image_bytes(name) + image = self.image_manager.get_image_bytes(name) self.resetVideo() self.displayImage(image) return self.preview() @@ -451,7 +435,7 @@ class MainDisplay(DisplayWidget): self.hideDisplay(self.hideMode) else: # Single screen active - if self.screens.monitor_number == 0: + if self.screens.display_count == 1: # Only make visible if setting enabled if QtCore.QSettings().value(u'general/display on monitor', QtCore.QVariant(True)).toBool(): @@ -489,13 +473,13 @@ class MainDisplay(DisplayWidget): self.override = {} else: # replace the background - background = self.imageManager. \ + background = self.image_manager. \ get_image_bytes(self.override[u'image']) if self.serviceItem.themedata.background_filename: - self.serviceItem.bg_image_bytes = self.imageManager. \ + self.serviceItem.bg_image_bytes = self.image_manager. \ get_image_bytes(self.serviceItem.themedata.theme_name) if image: - image_bytes = self.imageManager.get_image_bytes(image) + image_bytes = self.image_manager.get_image_bytes(image) else: image_bytes = None html = build_html(self.serviceItem, self.screen, self.alertTab, diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index a115d8905..11727f4ae 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -31,7 +31,7 @@ from tempfile import gettempdir from PyQt4 import QtCore, QtGui from openlp.core.lib import Renderer, build_icon, OpenLPDockWidget, \ - SettingsManager, PluginManager, Receiver, translate + PluginManager, Receiver, translate, ImageManager from openlp.core.lib.ui import UiStrings, base_action, checkable_action, \ icon_action, shortcut_action from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \ @@ -69,8 +69,6 @@ class Ui_MainWindow(object): Set up the user interface """ mainWindow.setObjectName(u'MainWindow') - mainWindow.resize(self.settingsmanager.width, - self.settingsmanager.height) mainWindow.setWindowIcon(build_icon(u':/icon/openlp-logo-64x64.png')) mainWindow.setDockNestingEnabled(True) # Set up the main container, which contains all the other form widgets. @@ -86,10 +84,8 @@ class Ui_MainWindow(object): self.controlSplitter.setObjectName(u'controlSplitter') self.mainContentLayout.addWidget(self.controlSplitter) # Create slide controllers - self.previewController = SlideController(self, self.settingsmanager, - self.screens) - self.liveController = SlideController(self, self.settingsmanager, - self.screens, True) + self.previewController = SlideController(self) + self.liveController = SlideController(self, True) previewVisible = QtCore.QSettings().value( u'user interface/preview panel', QtCore.QVariant(True)).toBool() self.previewController.panel.setVisible(previewVisible) @@ -137,8 +133,6 @@ class Ui_MainWindow(object): self.mediaManagerDock = OpenLPDockWidget(mainWindow, u'mediaManagerDock', u':/system/system_mediamanager.png') self.mediaManagerDock.setStyleSheet(MEDIA_MANAGER_STYLE) - self.mediaManagerDock.setMinimumWidth( - self.settingsmanager.mainwindow_left) # Create the media toolbox self.MediaToolBox = QtGui.QToolBox(self.mediaManagerDock) self.MediaToolBox.setObjectName(u'MediaToolBox') @@ -148,8 +142,6 @@ class Ui_MainWindow(object): # Create the service manager self.serviceManagerDock = OpenLPDockWidget(mainWindow, u'serviceManagerDock', u':/system/system_servicemanager.png') - self.serviceManagerDock.setMinimumWidth( - self.settingsmanager.mainwindow_right) self.ServiceManagerContents = ServiceManager(mainWindow, self.serviceManagerDock) self.serviceManagerDock.setWidget(self.ServiceManagerContents) @@ -158,8 +150,6 @@ class Ui_MainWindow(object): # Create the theme manager self.themeManagerDock = OpenLPDockWidget(mainWindow, u'themeManagerDock', u':/system/system_thememanager.png') - self.themeManagerDock.setMinimumWidth( - self.settingsmanager.mainwindow_right) self.themeManagerContents = ThemeManager(mainWindow, self.themeManagerDock) self.themeManagerContents.setObjectName(u'themeManagerContents') @@ -461,13 +451,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): """ log.info(u'MainWindow loaded') - def __init__(self, screens, clipboard, arguments): + def __init__(self, clipboard, arguments): """ This constructor sets up the interface, the various managers, and the plugins. """ QtGui.QMainWindow.__init__(self) - self.screens = screens self.clipboard = clipboard self.arguments = arguments # Set up settings sections for the main application @@ -477,9 +466,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.serviceSettingsSection = u'servicemanager' self.songsSettingsSection = u'songs' self.serviceNotSaved = False - self.settingsmanager = SettingsManager(screens) self.aboutForm = AboutForm(self) - self.settingsForm = SettingsForm(self.screens, self, self) + self.settingsForm = SettingsForm(self, self) self.displayTagForm = DisplayTagForm(self) self.shortcutForm = ShortcutListForm(self) self.recentFiles = QtCore.QStringList() @@ -487,6 +475,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): pluginpath = AppLocation.get_directory(AppLocation.PluginsDir) self.pluginManager = PluginManager(pluginpath) self.pluginHelpers = {} + self.image_manager = ImageManager() # Set up the interface self.setupUi(self) # Load settings after setupUi so default UI sizes are overwritten @@ -552,8 +541,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): # warning cyclic dependency # renderer needs to call ThemeManager and # ThemeManager needs to call Renderer - self.renderer = Renderer( - self.themeManagerContents, self.screens) + self.renderer = Renderer(self.image_manager, self.themeManagerContents) # Define the media Dock Manager self.mediaDockManager = MediaDockManager(self.MediaToolBox) log.info(u'Load Plugins') @@ -585,6 +573,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): # Call the initialise method to setup plugins. log.info(u'initialise plugins') self.pluginManager.initialise_plugins() + # Create the displays as all necessary components are loaded. + self.previewController.screenSizeChanged() + self.liveController.screenSizeChanged() log.info(u'Load data from Settings') if QtCore.QSettings().value(u'advanced/save current plugin', QtCore.QVariant(False)).toBool(): @@ -788,7 +779,10 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): their locations """ log.debug(u'screenChanged') + self.image_manager.update_display() self.renderer.update_display() + self.liveController.screenSizeChanged() + self.previewController.screenSizeChanged() self.setFocus() self.activateWindow() diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index 15dbd9883..2186a221e 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -38,9 +38,16 @@ log = logging.getLogger(__name__) class ScreenList(object): """ - Wrapper to handle the parameters of the display screen + Wrapper to handle the parameters of the display screen. + + To get access to the screen list call ``ScreenList.get_instance()``. """ log.info(u'Screen loaded') + instance = None + + @staticmethod + def get_instance(): + return ScreenList.instance def __init__(self, desktop): """ @@ -49,17 +56,15 @@ class ScreenList(object): ``desktop`` A ``QDesktopWidget`` object. """ + ScreenList.instance = self self.desktop = desktop self.preview = None self.current = None self.override = None self.screen_list = [] self.display_count = 0 - # actual display number - self.current_display = 0 - # save config display number - self.monitor_number = 0 self.screen_count_changed() + self._load_screen_settings() QtCore.QObject.connect(desktop, QtCore.SIGNAL(u'resized(int)'), self.screen_resolution_changed) QtCore.QObject.connect(desktop, @@ -150,6 +155,7 @@ class ScreenList(object): screen[u'number'], screen[u'size']) if screen[u'primary']: self.current = screen + self.override = copy.deepcopy(self.current) self.screen_list.append(screen) self.display_count += 1 @@ -189,13 +195,10 @@ class ScreenList(object): log.debug(u'set_current_display %s', number) if number + 1 > self.display_count: self.current = self.screen_list[0] - self.override = copy.deepcopy(self.current) - self.current_display = 0 else: self.current = self.screen_list[number] - self.override = copy.deepcopy(self.current) self.preview = copy.deepcopy(self.current) - self.current_display = number + self.override = copy.deepcopy(self.current) if self.display_count == 1: self.preview = self.screen_list[0] @@ -214,4 +217,31 @@ class ScreenList(object): use the correct screen attributes. """ log.debug(u'reset_current_display') - self.set_current_display(self.current_display) + self.set_current_display(self.current[u'number']) + + def _load_screen_settings(self): + """ + Loads the screen size and the monitor number from the settings. + """ + settings = QtCore.QSettings() + settings.beginGroup(u'general') + self.set_current_display(settings.value(u'monitor', + QtCore.QVariant(self.display_count - 1)).toInt()[0]) + self.display = settings.value( + u'display on monitor', QtCore.QVariant(True)).toBool() + override_display = settings.value( + u'override position', QtCore.QVariant(False)).toBool() + x = settings.value(u'x position', + QtCore.QVariant(self.current[u'size'].x())).toInt()[0] + y = settings.value(u'y position', + QtCore.QVariant(self.current[u'size'].y())).toInt()[0] + width = settings.value(u'width', + QtCore.QVariant(self.current[u'size'].width())).toInt()[0] + height = settings.value(u'height', + QtCore.QVariant(self.current[u'size'].height())).toInt()[0] + self.override[u'size'] = QtCore.QRect(x, y, width, height) + settings.endGroup() + if override_display: + self.set_override_display() + else: + self.reset_current_display() diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index b5e8bbc54..9031a0b1a 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -73,6 +73,9 @@ class ServiceManagerList(QtGui.QTreeWidget): if event.buttons() != QtCore.Qt.LeftButton: event.ignore() return + if not self.selectedItems(): + event.ignore() + return drag = QtGui.QDrag(self) mimeData = QtCore.QMimeData() drag.setMimeData(mimeData) diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 1967412f5..265a03f48 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -40,14 +40,14 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): """ Provide the form to manipulate the settings for OpenLP """ - def __init__(self, screens, mainWindow, parent=None): + def __init__(self, mainWindow, parent=None): """ Initialise the settings form """ QtGui.QDialog.__init__(self, parent) self.setupUi(self) # General tab - self.generalTab = GeneralTab(self, screens) + self.generalTab = GeneralTab(self) # Themes tab self.themesTab = ThemesTab(self, mainWindow) # Advanced tab diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index fdbf184b5..c14380d4d 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -33,7 +33,7 @@ from PyQt4.phonon import Phonon from openlp.core.lib import OpenLPToolbar, Receiver, resize_image, \ ItemCapabilities, translate from openlp.core.lib.ui import UiStrings, shortcut_action -from openlp.core.ui import HideMode, MainDisplay +from openlp.core.ui import HideMode, MainDisplay, ScreenList from openlp.core.utils.actions import ActionList, CategoryOrder log = logging.getLogger(__name__) @@ -53,18 +53,17 @@ class SlideController(QtGui.QWidget): SlideController is the slide controller widget. This widget is what the user uses to control the displaying of verses/slides/etc on the screen. """ - def __init__(self, parent, settingsmanager, screens, isLive=False): + def __init__(self, parent, isLive=False): """ Set up the Slide Controller. """ QtGui.QWidget.__init__(self, parent) - self.settingsmanager = settingsmanager self.isLive = isLive self.parent = parent - self.screens = screens + self.screens = ScreenList.get_instance() self.ratio = float(self.screens.current[u'size'].width()) / \ float(self.screens.current[u'size'].height()) - self.display = MainDisplay(self, screens, isLive) + self.image_manager = self.parent.image_manager self.loopList = [ u'Start Loop', u'Loop Separator', @@ -296,9 +295,6 @@ class SlideController(QtGui.QWidget): sizePolicy.setHeightForWidth( self.slidePreview.sizePolicy().hasHeightForWidth()) self.slidePreview.setSizePolicy(sizePolicy) - self.slidePreview.setFixedSize( - QtCore.QSize(self.settingsmanager.slidecontroller_image, - self.settingsmanager.slidecontroller_image / self.ratio)) self.slidePreview.setFrameShape(QtGui.QFrame.Box) self.slidePreview.setFrameShadow(QtGui.QFrame.Plain) self.slidePreview.setLineWidth(1) @@ -328,7 +324,6 @@ class SlideController(QtGui.QWidget): if self.isLive: self.setLiveHotkeys(self) self.__addActionsToWidget(self.previewListWidget) - self.__addActionsToWidget(self.display) else: self.setPreviewHotkeys() self.previewListWidget.addActions( @@ -371,8 +366,6 @@ class SlideController(QtGui.QWidget): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_%s_text_request' % self.typePrefix), self.onTextRequest) - QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'config_screen_changed'), self.screenSizeChanged) def setPreviewHotkeys(self, parent=None): self.previousItem.setObjectName(u'previousItemPreview') @@ -424,8 +417,7 @@ class SlideController(QtGui.QWidget): screen previews. """ # rebuild display as screen size changed - self.display = MainDisplay(self, self.screens, self.isLive) - self.display.imageManager = self.parent.renderer.image_manager + self.display = MainDisplay(self, self.image_manager, self.isLive) self.display.alertTab = self.alertTab self.display.setup() if self.isLive: @@ -639,10 +631,8 @@ class SlideController(QtGui.QWidget): # If current slide set background to image if framenumber == slideno: self.serviceItem.bg_image_bytes = \ - self.parent.renderer.image_manager. \ - get_image_bytes(frame[u'title']) - image = self.parent.renderer.image_manager. \ - get_image(frame[u'title']) + self.image_manager.get_image_bytes(frame[u'title']) + image = self.image_manager.get_image(frame[u'title']) label.setPixmap(QtGui.QPixmap.fromImage(image)) self.previewListWidget.setCellWidget(framenumber, 0, label) slideHeight = width * self.parent.renderer.screen_ratio diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 0cfa9c60a..979ebb01d 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -118,4 +118,5 @@ class AlertsPlugin(Plugin): ## Name for MediaDockManager, SettingsManager ## self.textStrings[StringContent.VisibleName] = { u'title': translate('AlertsPlugin', 'Alerts', 'container title') - } \ No newline at end of file + } + diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 2ec2be24b..8c8778f9f 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -191,4 +191,5 @@ class AlertsTab(SettingsTab): font.setPointSize(self.font_size) self.FontPreview.setFont(font) self.FontPreview.setStyleSheet(u'background-color: %s; color: %s' % - (self.bg_color, self.font_color)) \ No newline at end of file + (self.bg_color, self.font_color)) + diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 461828d9e..b6085ea1e 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -55,6 +55,8 @@ class BibleMediaItem(MediaManagerItem): def __init__(self, parent, plugin, icon): self.IconPath = u'songs/song' + self.lockIcon = QtGui.QIcon(u':/bibles/bibles_search_lock.png') + self.unlockIcon = QtGui.QIcon(u':/bibles/bibles_search_unlock.png') MediaManagerItem.__init__(self, parent, plugin, icon) # Place to store the search results for both bibles. self.settings = self.parent.settings_tab @@ -74,6 +76,16 @@ class BibleMediaItem(MediaManagerItem): self.addToServiceItem = False def addSearchTab(self, prefix, name): + self.searchTabBar.addTab(name) + tab = QtGui.QWidget() + tab.setObjectName(prefix + u'Tab') + tab.setSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) + layout = QtGui.QGridLayout(tab) + layout.setObjectName(prefix + u'Layout') + setattr(self, prefix + u'Tab', tab) + setattr(self, prefix + u'Layout', layout) + + def addSearchFields(self, prefix, name): """ Creates and adds generic search tab. @@ -83,121 +95,113 @@ class BibleMediaItem(MediaManagerItem): ``name`` The translated string to display. """ - tab = QtGui.QWidget() - tab.setObjectName(prefix + u'Tab') - layout = QtGui.QGridLayout(tab) - layout.setObjectName(prefix + u'Layout') + if prefix == u'quick': + idx = 2 + else: + idx = 5 + tab = getattr(self, prefix + u'Tab') + layout = getattr(self, prefix + u'Layout') versionLabel = QtGui.QLabel(tab) versionLabel.setObjectName(prefix + u'VersionLabel') - layout.addWidget(versionLabel, 0, 0, QtCore.Qt.AlignRight) - versionComboBox = media_item_combo_box(tab, prefix + u'VersionComboBox') + layout.addWidget(versionLabel, idx, 0, QtCore.Qt.AlignRight) + versionComboBox = media_item_combo_box(tab, + prefix + u'VersionComboBox') versionLabel.setBuddy(versionComboBox) - layout.addWidget(versionComboBox, 0, 1, 1, 2) + layout.addWidget(versionComboBox, idx, 1, 1, 2) secondLabel = QtGui.QLabel(tab) secondLabel.setObjectName(prefix + u'SecondLabel') - layout.addWidget(secondLabel, 1, 0, QtCore.Qt.AlignRight) + layout.addWidget(secondLabel, idx + 1, 0, QtCore.Qt.AlignRight) secondComboBox = media_item_combo_box(tab, prefix + u'SecondComboBox') versionLabel.setBuddy(secondComboBox) - layout.addWidget(secondComboBox, 1, 1, 1, 2) + layout.addWidget(secondComboBox, idx + 1, 1, 1, 2) searchButtonLayout = QtGui.QHBoxLayout() searchButtonLayout.setObjectName(prefix + u'SearchButtonLayout') searchButtonLayout.addStretch() + lockButton = QtGui.QToolButton(tab) + lockButton.setIcon(self.unlockIcon) + lockButton.setCheckable(True) + lockButton.setObjectName(prefix + u'LockButton') + searchButtonLayout.addWidget(lockButton) searchButton = QtGui.QPushButton(tab) searchButton.setObjectName(prefix + u'SearchButton') searchButtonLayout.addWidget(searchButton) - self.searchTabWidget.addTab(tab, name) - setattr(self, prefix + u'Tab', tab) - setattr(self, prefix + u'Layout', layout) + layout.addLayout(searchButtonLayout, idx + 2, 1, 1, 2) + self.pageLayout.addWidget(tab) + tab.setVisible(False) + QtCore.QObject.connect(lockButton, QtCore.SIGNAL(u'toggled(bool)'), + self.onLockButtonToggled) setattr(self, prefix + u'VersionLabel', versionLabel) setattr(self, prefix + u'VersionComboBox', versionComboBox) setattr(self, prefix + u'SecondLabel', secondLabel) setattr(self, prefix + u'SecondComboBox', secondComboBox) + setattr(self, prefix + u'LockButton', lockButton) setattr(self, prefix + u'SearchButtonLayout', searchButtonLayout) setattr(self, prefix + u'SearchButton', searchButton) def addEndHeaderBar(self): - self.searchTabWidget = QtGui.QTabWidget(self) - self.searchTabWidget.setSizePolicy( - QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum) - self.searchTabWidget.setObjectName(u'searchTabWidget') + self.searchTabBar = QtGui.QTabBar(self) + self.searchTabBar.setExpanding(False) + self.searchTabBar.setObjectName(u'searchTabBar') + self.pageLayout.addWidget(self.searchTabBar) # Add the Quick Search tab. self.addSearchTab( u'quick', translate('BiblesPlugin.MediaItem', 'Quick')) self.quickSearchLabel = QtGui.QLabel(self.quickTab) self.quickSearchLabel.setObjectName(u'quickSearchLabel') self.quickLayout.addWidget( - self.quickSearchLabel, 2, 0, QtCore.Qt.AlignRight) + self.quickSearchLabel, 0, 0, QtCore.Qt.AlignRight) self.quickSearchEdit = SearchEdit(self.quickTab) self.quickSearchEdit.setObjectName(u'quickSearchEdit') self.quickSearchLabel.setBuddy(self.quickSearchEdit) - self.quickLayout.addWidget(self.quickSearchEdit, 2, 1, 1, 2) + self.quickLayout.addWidget(self.quickSearchEdit, 0, 1, 1, 2) self.quickLayoutLabel = QtGui.QLabel(self.quickTab) self.quickLayoutLabel.setObjectName(u'quickClearLabel') self.quickLayout.addWidget( - self.quickLayoutLabel, 3, 0, QtCore.Qt.AlignRight) + self.quickLayoutLabel, 1, 0, QtCore.Qt.AlignRight) self.quickLayoutComboBox = media_item_combo_box(self.quickTab, u'quickLayoutComboBox') self.quickLayoutComboBox.addItems([u'', u'', u'']) - self.quickLayout.addWidget(self.quickLayoutComboBox, 3, 1, 1, 2) - self.quickClearLabel = QtGui.QLabel(self.quickTab) - self.quickClearLabel.setObjectName(u'quickClearLabel') - self.quickLayout.addWidget( - self.quickClearLabel, 4, 0, QtCore.Qt.AlignRight) - self.quickClearComboBox = media_item_combo_box(self.quickTab, - u'quickClearComboBox') - self.quickLayout.addWidget(self.quickClearComboBox, 4, 1, 1, 2) - self.quickLayout.addLayout(self.quickSearchButtonLayout, 6, 1, 1, 2) - # Add a QWidget, so that the quick tab has as many rows as the advanced - # tab. - self.quickLayout.addWidget(QtGui.QWidget(), 7, 0) + self.quickLayout.addWidget(self.quickLayoutComboBox, 1, 1, 1, 2) + self.addSearchFields( + u'quick', translate('BiblesPlugin.MediaItem', 'Quick')) + self.quickTab.setVisible(True) # Add the Advanced Search tab. self.addSearchTab(u'advanced', UiStrings().Advanced) self.advancedBookLabel = QtGui.QLabel(self.advancedTab) self.advancedBookLabel.setObjectName(u'advancedBookLabel') - self.advancedLayout.addWidget(self.advancedBookLabel, 2, 0, + self.advancedLayout.addWidget(self.advancedBookLabel, 0, 0, QtCore.Qt.AlignRight) self.advancedBookComboBox = media_item_combo_box(self.advancedTab, u'advancedBookComboBox') self.advancedBookLabel.setBuddy(self.advancedBookComboBox) - self.advancedLayout.addWidget(self.advancedBookComboBox, 2, 1, 1, 2) + self.advancedLayout.addWidget(self.advancedBookComboBox, 0, 1, 1, 2) self.advancedChapterLabel = QtGui.QLabel(self.advancedTab) self.advancedChapterLabel.setObjectName(u'advancedChapterLabel') - self.advancedLayout.addWidget(self.advancedChapterLabel, 3, 1, 1, 2) + self.advancedLayout.addWidget(self.advancedChapterLabel, 1, 1, 1, 2) self.advancedVerseLabel = QtGui.QLabel(self.advancedTab) self.advancedVerseLabel.setObjectName(u'advancedVerseLabel') - self.advancedLayout.addWidget(self.advancedVerseLabel, 3, 2) + self.advancedLayout.addWidget(self.advancedVerseLabel, 1, 2) self.advancedFromLabel = QtGui.QLabel(self.advancedTab) self.advancedFromLabel.setObjectName(u'advancedFromLabel') - self.advancedLayout.addWidget(self.advancedFromLabel, 4, 0, + self.advancedLayout.addWidget(self.advancedFromLabel, 3, 0, QtCore.Qt.AlignRight) self.advancedFromChapter = QtGui.QComboBox(self.advancedTab) self.advancedFromChapter.setObjectName(u'advancedFromChapter') - self.advancedLayout.addWidget(self.advancedFromChapter, 4, 1) + self.advancedLayout.addWidget(self.advancedFromChapter, 3, 1) self.advancedFromVerse = QtGui.QComboBox(self.advancedTab) self.advancedFromVerse.setObjectName(u'advancedFromVerse') - self.advancedLayout.addWidget(self.advancedFromVerse, 4, 2) + self.advancedLayout.addWidget(self.advancedFromVerse, 3, 2) self.advancedToLabel = QtGui.QLabel(self.advancedTab) self.advancedToLabel.setObjectName(u'advancedToLabel') - self.advancedLayout.addWidget(self.advancedToLabel, 5, 0, + self.advancedLayout.addWidget(self.advancedToLabel, 4, 0, QtCore.Qt.AlignRight) self.advancedToChapter = QtGui.QComboBox(self.advancedTab) self.advancedToChapter.setObjectName(u'advancedToChapter') - self.advancedLayout.addWidget(self.advancedToChapter, 5, 1) + self.advancedLayout.addWidget(self.advancedToChapter, 4, 1) self.advancedToVerse = QtGui.QComboBox(self.advancedTab) self.advancedToVerse.setObjectName(u'advancedToVerse') - self.advancedLayout.addWidget(self.advancedToVerse, 5, 2) - self.advancedClearLabel = QtGui.QLabel(self.quickTab) - self.advancedClearLabel.setObjectName(u'advancedClearLabel') - self.advancedLayout.addWidget(self.advancedClearLabel, 6, 0, - QtCore.Qt.AlignRight) - self.advancedClearComboBox = media_item_combo_box(self.quickTab, - u'advancedClearComboBox') - self.advancedClearLabel.setBuddy(self.advancedClearComboBox) - self.advancedLayout.addWidget(self.advancedClearComboBox, 6, 1, 1, 2) - self.advancedLayout.addLayout( - self.advancedSearchButtonLayout, 7, 0, 1, 3) - # Add the search tab widget to the page layout. - self.pageLayout.addWidget(self.searchTabWidget) + self.advancedLayout.addWidget(self.advancedToVerse, 4, 2) + self.addSearchFields(u'advanced', UiStrings().Advanced) # Combo Boxes QtCore.QObject.connect(self.advancedVersionComboBox, QtCore.SIGNAL(u'activated(int)'), self.onAdvancedVersionComboBox) @@ -226,6 +230,9 @@ class BibleMediaItem(MediaManagerItem): # Other stuff QtCore.QObject.connect(self.quickSearchEdit, QtCore.SIGNAL(u'returnPressed()'), self.onQuickSearchButton) + QtCore.QObject.connect(self.searchTabBar, + QtCore.SIGNAL(u'currentChanged(int)'), + self.onSearchTabBarCurrentChanged) def configUpdated(self): log.debug(u'configUpdated') @@ -250,8 +257,8 @@ class BibleMediaItem(MediaManagerItem): self.quickSearchLabel.setText( translate('BiblesPlugin.MediaItem', 'Find:')) self.quickSearchButton.setText(UiStrings().Search) - self.quickClearLabel.setText( - translate('BiblesPlugin.MediaItem', 'Results:')) + self.quickLockButton.setToolTip(translate('BiblesPlugin.MediaItem', + 'Toggle to keep or clear the previous results')) self.advancedVersionLabel.setText(u'%s:' % UiStrings().Version) self.advancedSecondLabel.setText( translate('BiblesPlugin.MediaItem', 'Second:')) @@ -265,17 +272,9 @@ class BibleMediaItem(MediaManagerItem): translate('BiblesPlugin.MediaItem', 'From:')) self.advancedToLabel.setText( translate('BiblesPlugin.MediaItem', 'To:')) - self.advancedClearLabel.setText( - translate('BiblesPlugin.MediaItem', 'Results:')) self.advancedSearchButton.setText(UiStrings().Search) - self.quickClearComboBox.addItem( - translate('BiblesPlugin.MediaItem', 'Clear')) - self.quickClearComboBox.addItem( - translate('BiblesPlugin.MediaItem', 'Keep')) - self.advancedClearComboBox.addItem( - translate('BiblesPlugin.MediaItem', 'Clear')) - self.advancedClearComboBox.addItem( - translate('BiblesPlugin.MediaItem', 'Keep')) + self.advancedLockButton.setToolTip(translate('BiblesPlugin.MediaItem', + 'Toggle to keep or clear the previous results.')) self.quickLayoutLabel.setText(UiStrings().LayoutStyle) self.quickLayoutComboBox.setItemText(LayoutStyle.VersePerSlide, UiStrings().VersePerSlide) @@ -312,6 +311,20 @@ class BibleMediaItem(MediaManagerItem): if self.import_wizard.exec_(): self.reloadBibles() + def onSearchTabBarCurrentChanged(self, index): + if index == 0: + self.advancedTab.setVisible(False) + self.quickTab.setVisible(True) + else: + self.quickTab.setVisible(False) + self.advancedTab.setVisible(True) + + def onLockButtonToggled(self, checked): + if checked: + self.sender().setIcon(self.lockIcon) + else: + self.sender().setIcon(self.unlockIcon) + def loadBibles(self): log.debug(u'Loading Bibles') self.quickVersionComboBox.clear() @@ -517,7 +530,7 @@ class BibleMediaItem(MediaManagerItem): if second_bible: self.second_search_results = self.parent.manager.get_verses( second_bible, versetext) - if self.advancedClearComboBox.currentIndex() == 0: + if not self.advancedLockButton.isChecked(): self.listView.clear() if self.listView.count() != 0: self.__checkSecondBible(bible, second_bible) @@ -558,7 +571,7 @@ class BibleMediaItem(MediaManagerItem): verse.verse)) self.second_search_results = \ bibles[second_bible].get_verses(text) - if self.quickClearComboBox.currentIndex() == 0: + if not self.quickLockButton.isChecked(): self.listView.clear() if self.listView.count() != 0 and self.search_results: self.__checkSecondBible(bible, second_bible) diff --git a/openlp/plugins/remotes/html/openlp.js b/openlp/plugins/remotes/html/openlp.js index 811ce0cac..74463ffbc 100644 --- a/openlp/plugins/remotes/html/openlp.js +++ b/openlp/plugins/remotes/html/openlp.js @@ -63,8 +63,10 @@ window.OpenLP = { var ul = $("#slide-controller > div[data-role=content] > ul[data-role=listview]"); ul.html(""); for (idx in data.results.slides) { + var text = data.results.slides[idx]["text"]; + text = text.replace(/\n/g, '
'); var li = $("
  • ").append( - $("").attr("value", parseInt(idx, 10)).html(data.results.slides[idx]["text"])); + $("").attr("value", parseInt(idx, 10)).html(text)); if (data.results.slides[idx]["selected"]) { li.attr("data-theme", "e"); } diff --git a/openlp/plugins/remotes/html/stage.js b/openlp/plugins/remotes/html/stage.js index 8b8a83f6a..96e4c5a14 100644 --- a/openlp/plugins/remotes/html/stage.js +++ b/openlp/plugins/remotes/html/stage.js @@ -65,10 +65,15 @@ window.OpenLP = { updateSlide: function() { $("#verseorder span").removeClass("currenttag"); $("#tag" + OpenLP.currentSlide).addClass("currenttag"); - $("#currentslide").html(OpenLP.currentSlides[OpenLP.currentSlide]["text"]); - if (OpenLP.currentSlide < OpenLP.currentSlides.length - 1) - $("#nextslide").html(OpenLP.currentSlides[OpenLP.currentSlide + 1]["text"]); - else + var text = OpenLP.currentSlides[OpenLP.currentSlide]["text"]; + text = text.replace(/\n/g, '
    '); + $("#currentslide").html(text); + if (OpenLP.currentSlide < OpenLP.currentSlides.length - 1) { + text = OpenLP.currentSlides[OpenLP.currentSlide + 1]["text"]; + text = text.replace(/\n/g, '
    '); + $("#nextslide").html(text); + } + else $("#nextslide").html("Next: " + OpenLP.nextSong); }, updateClock: function() { diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index 70f02ff36..790175965 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -115,6 +115,7 @@ import os import urlparse import re from pprint import pformat +from lxml import html try: import json @@ -402,10 +403,13 @@ class HttpConnection(object): item = {} if current_item.is_text(): item[u'tag'] = unicode(frame[u'verseTag']) - item[u'text'] = unicode(frame[u'html']) + text = unicode(frame[u'html'].replace('
    ', '\n')) + item[u'text'] = html.fromstring(text).text_content() + item[u'html'] = unicode(frame[u'html']) else: item[u'tag'] = unicode(index) item[u'text'] = u'' + item[u'html'] = u'' item[u'selected'] = (self.parent.current_slide == index) data.append(item) json_data = {u'results': {u'slides': data}} diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index bfb05d486..07f24dbee 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -93,24 +93,23 @@ class RemoteTab(SettingsTab): 'Stage view URL:')) def setUrls(self): - ipAddress = None + ipAddress = u'localhost' if self.addressEdit.text() == ZERO_URL: - for ip in QtNetwork.QNetworkInterface.allAddresses(): - if ip.protocol() == 0 and ip != QtNetwork.QHostAddress.LocalHost: - ipAddress = ip.toString() - break + ifaces = QtNetwork.QNetworkInterface.allInterfaces() + for iface in ifaces: + if not iface.isValid(): + continue + if not (iface.flags() & (QtNetwork.QNetworkInterface.IsUp | + QtNetwork.QNetworkInterface.IsRunning)): + continue + for addr in iface.addressEntries(): + ip = addr.ip() + if ip.protocol() == 0 and \ + ip != QtNetwork.QHostAddress.LocalHost: + ipAddress = ip.toString() + break else: ipAddress = self.addressEdit.text() - if not ipAddress: - self.remoteUrlLabel.setVisible(False) - self.remoteUrl.setVisible(False) - self.stageUrlLabel.setVisible(False) - self.stageUrl.setVisible(False) - return - self.remoteUrlLabel.setVisible(True) - self.remoteUrl.setVisible(True) - self.stageUrlLabel.setVisible(True) - self.stageUrl.setVisible(True) url = u'http://%s:%s/' % (ipAddress, self.portSpinBox.value()) self.remoteUrl.setText(u'
    %s' % (url, url)) url = url + u'stage' diff --git a/openlp/plugins/songs/lib/foilpresenterimport.py b/openlp/plugins/songs/lib/foilpresenterimport.py index 0c7152bfd..c5dfd5d96 100644 --- a/openlp/plugins/songs/lib/foilpresenterimport.py +++ b/openlp/plugins/songs/lib/foilpresenterimport.py @@ -431,7 +431,7 @@ class FoilPresenter(object): verse_sortnr = self._child(strophe.sortnr) sortnr = True # In older Version there is no sortnr, but we need one - if sortnr == False: + if not sortnr: verse_sortnr = unicode(temp_sortnr_backup) temp_sortnr_backup += 1 # Foilpresenter allows e. g. "Ref" or "1", but we need "C1" or "V1". @@ -467,7 +467,7 @@ class FoilPresenter(object): # test if foilpresenter have the same versenumber two times with # different parts raise the verse number for value in temp_verse_order_backup: - if value == (u''.join((verse_type, verse_number))): + if value == u''.join((verse_type, verse_number)): verse_number = unicode(int(verse_number) + 1) verse_type_index = VerseType.from_tag(verse_type[0]) verse_type = VerseType.Names[verse_type_index] diff --git a/openlp/plugins/songs/lib/songbeamerimport.py b/openlp/plugins/songs/lib/songbeamerimport.py index 5a8ee9ca8..861ec2e99 100644 --- a/openlp/plugins/songs/lib/songbeamerimport.py +++ b/openlp/plugins/songs/lib/songbeamerimport.py @@ -92,7 +92,7 @@ class SongBeamerImport(SongImport): file_name = os.path.split(file)[1] if os.path.isfile(file): detect_file = open(file, u'r') - details = chardet.detect(detect_file.read(2048)) + details = chardet.detect(detect_file.read()) detect_file.close() infile = codecs.open(file, u'r', details['encoding']) songData = infile.readlines() diff --git a/openlp/plugins/songs/lib/songshowplusimport.py b/openlp/plugins/songs/lib/songshowplusimport.py index a3401a8b9..ac06d7840 100644 --- a/openlp/plugins/songs/lib/songshowplusimport.py +++ b/openlp/plugins/songs/lib/songshowplusimport.py @@ -47,6 +47,7 @@ VERSE_ORDER = 31 SONG_BOOK = 35 SONG_NUMBER = 36 CUSTOM_VERSE = 37 +BRIDGE = 24 log = logging.getLogger(__name__) @@ -100,6 +101,7 @@ class SongShowPlusImport(SongImport): if not isinstance(self.import_source, list): return self.import_wizard.progressBar.setMaximum(len(self.import_source)) + for file in self.import_source: self.sspVerseOrderList = [] otherCount = 0 @@ -108,13 +110,15 @@ class SongShowPlusImport(SongImport): self.import_wizard.incrementProgressBar( WizardStrings.ImportingType % file_name, 0) songData = open(file, 'rb') + while True: blockKey, = struct.unpack("I", songData.read(4)) # The file ends with 4 NUL's if blockKey == 0: break nextBlockStarts, = struct.unpack("I", songData.read(4)) - if blockKey == VERSE or blockKey == CHORUS: + nextBlockStarts += songData.tell() + if blockKey in (VERSE, CHORUS, BRIDGE): null, verseNo, = struct.unpack("BB", songData.read(2)) elif blockKey == CUSTOM_VERSE: null, verseNameLength, = struct.unpack("BB", @@ -146,10 +150,13 @@ class SongShowPlusImport(SongImport): self.ccli_number = int(data) elif blockKey == VERSE: self.add_verse(unicode(data, u'cp1252'), - "V%s" % verseNo) + "%s%s" % (VerseType.Tags[VerseType.Verse], verseNo)) elif blockKey == CHORUS: self.add_verse(unicode(data, u'cp1252'), - "C%s" % verseNo) + "%s%s" % (VerseType.Tags[VerseType.Chorus], verseNo)) + elif blockKey == BRIDGE: + self.add_verse(unicode(data, u'cp1252'), + "%s%s" % (VerseType.Tags[VerseType.Bridge], verseNo)) elif blockKey == TOPIC: self.topics.append(unicode(data, u'cp1252')) elif blockKey == COMMENTS: @@ -169,6 +176,7 @@ class SongShowPlusImport(SongImport): else: log.debug("Unrecognised blockKey: %s, data: %s" % (blockKey, data)) + songData.seek(nextBlockStarts) self.verse_order_list = self.sspVerseOrderList songData.close() if not self.finish(): diff --git a/resources/images/bibles_search_lock.png b/resources/images/bibles_search_lock.png new file mode 100644 index 000000000..ac2fd6f90 Binary files /dev/null and b/resources/images/bibles_search_lock.png differ diff --git a/resources/images/bibles_search_unlock.png b/resources/images/bibles_search_unlock.png new file mode 100644 index 000000000..d03a1f415 Binary files /dev/null and b/resources/images/bibles_search_unlock.png differ diff --git a/resources/images/openlp-2.qrc b/resources/images/openlp-2.qrc index 364a75810..a32d15940 100644 --- a/resources/images/openlp-2.qrc +++ b/resources/images/openlp-2.qrc @@ -24,6 +24,8 @@ bibles_search_text.png bibles_search_reference.png + bibles_search_unlock.png + bibles_search_lock.png plugin_alerts.png diff --git a/resources/windows/OpenLP-2.0.iss b/resources/windows/OpenLP-2.0.iss index caea2e278..8cc8a4aa7 100644 --- a/resources/windows/OpenLP-2.0.iss +++ b/resources/windows/OpenLP-2.0.iss @@ -60,7 +60,7 @@ Name: spanish; MessagesFile: compiler:Languages\Spanish.isl [Tasks] Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons} -Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons} +Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; OnlyBelowVersion: 0, 6.1 [Files] Source: ..\..\dist\OpenLP\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs