diff --git a/documentation/manual/source/alert.rst b/documentation/manual/source/alert.rst new file mode 100644 index 000000000..6877cef6f --- /dev/null +++ b/documentation/manual/source/alert.rst @@ -0,0 +1,57 @@ +===== +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/faq.rst b/documentation/manual/source/faq.rst new file mode 100644 index 000000000..39c21aece --- /dev/null +++ b/documentation/manual/source/faq.rst @@ -0,0 +1,598 @@ +========================== +Frequently Asked Questions +========================== + +General Questions +================= + +What is OpenLP? +--------------- + + +OpenLP stands for "Open source Lyric Projection" and is presentation software +developed for Churches to provide a single easy to use interface for the +projection needs of a typical act of Worship. First created in 2004, it has +steadily grown in features and maturity such that is it now a mainstay in +hundreds of churches around the world. + +It can hold a searchable database of song lyrics and Bible verses allowing them +to be projected instantly or saved in a pre-prepared order of service file. +Themes allow song backgrounds to be changed instantly. PowerPoint 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 phone. + +Being free, this software can be installed on as many computers as required, +even on the home computers of worship leaders without additional cost. Compared +to the expensive site licenses or restrictions of commercial software we believe +OpenLP cannot be beaten for value. Still in active development by a growing team +of enthusiastic developers, features are being added all the time, meaning the +software just improves all the time. + +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. \ No newline at end of file diff --git a/documentation/manual/source/index.rst b/documentation/manual/source/index.rst index 6b3142384..6ed9c7258 100644 --- a/documentation/manual/source/index.rst +++ b/documentation/manual/source/index.rst @@ -13,10 +13,13 @@ Contents: introduction glossary + wizard dualmonitors configure bibles themes mediamanager songs + alert + faq troubleshooting diff --git a/documentation/manual/source/mediamanager.rst b/documentation/manual/source/mediamanager.rst index 5ac6849b2..a3cd6bbe3 100644 --- a/documentation/manual/source/mediamanager.rst +++ b/documentation/manual/source/mediamanager.rst @@ -99,9 +99,10 @@ You will type your search query in this box for the following two searches. 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 +Book Chapter:Verse-Chapter:Verse `Text Search:` diff --git a/documentation/manual/source/pics/001-first-time-language.png b/documentation/manual/source/pics/001-first-time-language.png new file mode 100644 index 000000000..52e12e1b1 Binary files /dev/null and b/documentation/manual/source/pics/001-first-time-language.png 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 new file mode 100644 index 000000000..9faad00a0 Binary files /dev/null and b/documentation/manual/source/pics/002-first-time-wizard-welcome.png 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 new file mode 100644 index 000000000..bf0dc9ec3 Binary files /dev/null and b/documentation/manual/source/pics/003-first-time-wizard-plugins.png 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 new file mode 100644 index 000000000..7a6822fa5 Binary files /dev/null and b/documentation/manual/source/pics/004-first-time-wizard-songs.png 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 new file mode 100644 index 000000000..235d24f4e Binary files /dev/null and b/documentation/manual/source/pics/005-first-time-wizard-bibles.png 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 new file mode 100644 index 000000000..ea6debdd2 Binary files /dev/null and b/documentation/manual/source/pics/006-first-time-wizard-themes.png 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 new file mode 100644 index 000000000..afaeefe0e Binary files /dev/null and b/documentation/manual/source/pics/007-first-time-wizard-settings.png 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 new file mode 100644 index 000000000..7ffd64982 Binary files /dev/null and b/documentation/manual/source/pics/009-first-time-wizard-progress.png 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 new file mode 100644 index 000000000..ff6014a2e Binary files /dev/null and b/documentation/manual/source/pics/010-first-time-wizard-finished.png 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 new file mode 100644 index 000000000..30d29b2e5 Binary files /dev/null and b/documentation/manual/source/pics/011-first-time-wizard-song-import.png differ diff --git a/documentation/manual/source/pics/012-openlp-main-window.png b/documentation/manual/source/pics/012-openlp-main-window.png new file mode 100644 index 000000000..7e7fb9fa6 Binary files /dev/null and b/documentation/manual/source/pics/012-openlp-main-window.png differ diff --git a/documentation/manual/source/pics/alert.png b/documentation/manual/source/pics/alert.png new file mode 100644 index 000000000..9df135d4f Binary files /dev/null and b/documentation/manual/source/pics/alert.png differ diff --git a/documentation/manual/source/troubleshooting.rst b/documentation/manual/source/troubleshooting.rst index 398496f81..10cb4708d 100644 --- a/documentation/manual/source/troubleshooting.rst +++ b/documentation/manual/source/troubleshooting.rst @@ -103,7 +103,7 @@ 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 `_ +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 @@ -160,8 +160,8 @@ format. We would suggest using PNG images when possible with OpenLP. I am running a Linux Distro and can not see the menus ----------------------------------------------------- -This only seems to be a problem with only XFCE the following commands have been -known to resolve the problem:: +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 @@ -172,6 +172,5 @@ 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 to have another source -for scripture. For more information and options on acquiring bibles please see -:ref:`bibleimporter`. +connection where you intend to use OpenLP you will need another scripture +source. For more information about acquiring bibles please see :ref:`bibleimporter`. diff --git a/documentation/manual/source/wizard.rst b/documentation/manual/source/wizard.rst new file mode 100644 index 000000000..fb658b266 --- /dev/null +++ b/documentation/manual/source/wizard.rst @@ -0,0 +1,102 @@ +================ +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/openlp.pyw b/openlp.pyw index 3f2199038..57dbcb698 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -121,6 +121,7 @@ class OpenLP(QtGui.QApplication): if show_splash: # now kill the splashscreen self.splash.finish(self.mainWindow) + log.debug(u'Splashscreen closed') self.mainWindow.repaint() self.processEvents() if not has_run_wizard: diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py index ddb1ae9b1..e62cb3e44 100644 --- a/openlp/core/lib/__init__.py +++ b/openlp/core/lib/__init__.py @@ -166,7 +166,7 @@ def build_icon(icon): QtGui.QIcon.Normal, QtGui.QIcon.Off) return button_icon -def context_menu_action(base, icon, text, slot): +def context_menu_action(base, icon, text, slot, shortcuts=None): """ Utility method to help build context menus for plugins @@ -186,6 +186,8 @@ def context_menu_action(base, icon, text, slot): if icon: action.setIcon(build_icon(icon)) QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered()'), slot) + if shortcuts: + action.setShortcuts(shortcuts) return action def context_menu(base, icon, text): diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 087c2a1d3..63132b141 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -101,6 +101,7 @@ class MediaManagerItem(QtGui.QWidget): self.toolbar = None self.remoteTriggered = None self.singleServiceItem = True + self.quickPreviewAllowed = False self.pageLayout = QtGui.QVBoxLayout(self) self.pageLayout.setSpacing(0) self.pageLayout.setMargin(0) @@ -266,23 +267,25 @@ class MediaManagerItem(QtGui.QWidget): context_menu_action( self.listView, u':/general/general_delete.png', self.plugin.getString(StringContent.Delete)[u'title'], - self.onDeleteClick)) + self.onDeleteClick, [QtCore.Qt.Key_Delete])) self.listView.addAction(context_menu_separator(self.listView)) self.listView.addAction( context_menu_action( self.listView, u':/general/general_preview.png', self.plugin.getString(StringContent.Preview)[u'title'], - self.onPreviewClick)) + self.onPreviewClick, [QtCore.Qt.Key_Enter])) self.listView.addAction( context_menu_action( self.listView, u':/general/general_live.png', self.plugin.getString(StringContent.Live)[u'title'], - self.onLiveClick)) + self.onLiveClick, [QtCore.Qt.ShiftModifier + \ + QtCore.Qt.Key_Enter, QtCore.Qt.ShiftModifier + \ + QtCore.Qt.Key_Return])) self.listView.addAction( context_menu_action( self.listView, u':/general/general_add.png', self.plugin.getString(StringContent.Service)[u'title'], - self.onAddClick)) + self.onAddClick, [QtCore.Qt.Key_Plus, QtCore.Qt.Key_Equal])) if self.addToServiceItem: self.listView.addAction( context_menu_action( @@ -293,6 +296,9 @@ class MediaManagerItem(QtGui.QWidget): QtCore.QObject.connect(self.listView, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onClickPressed) + QtCore.QObject.connect(self.listView, + QtCore.SIGNAL(u'itemSelectionChanged()'), + self.onSelectionChange) def initialise(self): """ @@ -411,7 +417,16 @@ class MediaManagerItem(QtGui.QWidget): else: self.onPreviewClick() - def onPreviewClick(self): + def onSelectionChange(self): + """ + Allows the change of current item in the list to be actioned + """ + if QtCore.QSettings().value(u'advanced/single click preview', + QtCore.QVariant(False)).toBool() and self.quickPreviewAllowed \ + and self.listView.selectedIndexes(): + self.onPreviewClick(True) + + def onPreviewClick(self, keepFocus=False): """ Preview an item by building a service item then adding that service item to the preview slide controller. @@ -426,6 +441,8 @@ class MediaManagerItem(QtGui.QWidget): if serviceItem: serviceItem.from_plugin = True self.parent.previewController.addServiceItem(serviceItem) + if keepFocus: + self.listView.setFocus() def onLiveClick(self): """ diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index e9ab159ea..07eff396e 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -67,6 +67,10 @@ class AdvancedTab(SettingsTab): self.doubleClickLiveCheckBox = QtGui.QCheckBox(self.uiGroupBox) self.doubleClickLiveCheckBox.setObjectName(u'doubleClickLiveCheckBox') self.uiLayout.addRow(self.doubleClickLiveCheckBox) + self.singleClickPreviewCheckBox = QtGui.QCheckBox(self.uiGroupBox) + self.singleClickPreviewCheckBox.setObjectName( + u'singleClickPreviewCheckBox') + self.uiLayout.addRow(self.singleClickPreviewCheckBox) self.expandServiceItemCheckBox = QtGui.QCheckBox(self.uiGroupBox) self.expandServiceItemCheckBox.setObjectName( u'expandServiceItemCheckBox') @@ -130,6 +134,8 @@ class AdvancedTab(SettingsTab): 'Remember active media manager tab on startup')) self.doubleClickLiveCheckBox.setText(translate('OpenLP.AdvancedTab', 'Double-click to send items straight to live')) + self.singleClickPreviewCheckBox.setText(translate('OpenLP.AdvancedTab', + 'Preview items when clicked in Media Manager')) self.expandServiceItemCheckBox.setText(translate('OpenLP.AdvancedTab', 'Expand new service items on creation')) self.enableAutoCloseCheckBox.setText(translate('OpenLP.AdvancedTab', @@ -164,6 +170,9 @@ class AdvancedTab(SettingsTab): self.doubleClickLiveCheckBox.setChecked( settings.value(u'double click live', QtCore.QVariant(False)).toBool()) + self.singleClickPreviewCheckBox.setChecked( + settings.value(u'single click preview', + QtCore.QVariant(False)).toBool()) self.expandServiceItemCheckBox.setChecked( settings.value(u'expand service item', QtCore.QVariant(False)).toBool()) @@ -193,6 +202,8 @@ class AdvancedTab(SettingsTab): QtCore.QVariant(self.mediaPluginCheckBox.isChecked())) settings.setValue(u'double click live', QtCore.QVariant(self.doubleClickLiveCheckBox.isChecked())) + settings.setValue(u'single click preview', + QtCore.QVariant(self.singleClickPreviewCheckBox.isChecked())) settings.setValue(u'expand service item', QtCore.QVariant(self.expandServiceItemCheckBox.isChecked())) settings.setValue(u'enable exit confirmation', diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 45c7761e9..9c1c63917 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1125,6 +1125,9 @@ class ServiceManager(QtGui.QWidget): -1 is passed if the value is not set """ item, child = self.findServiceItem() + # No items in service + if item == -1: + return if row != -1: child = row if self.serviceItems[item][u'service_item'].is_valid: diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 69265ed75..b045c58a4 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -46,6 +46,7 @@ class CustomMediaItem(MediaManagerItem): self.IconPath = u'custom/custom' MediaManagerItem.__init__(self, parent, self, icon) self.singleServiceItem = False + self.quickPreviewAllowed = True # Holds information about whether the edit is remotly triggered and # which Custom is required. self.remoteCustom = -1 diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index d9b139d68..c29adc3b1 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -46,6 +46,7 @@ class ImageMediaItem(MediaManagerItem): def __init__(self, parent, plugin, icon): self.IconPath = u'images/image' MediaManagerItem.__init__(self, parent, self, icon) + self.quickPreviewAllowed = True QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'live_theme_changed'), self.liveThemeChanged) diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 723b6c5d5..f4803d653 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -73,6 +73,7 @@ class SongMediaItem(MediaManagerItem): self.remoteSong = -1 self.editItem = None self.whitespace = re.compile(r'\W+', re.UNICODE) + self.quickPreviewAllowed = True def addEndHeaderBar(self): self.addToolbarSeparator() diff --git a/resources/windows/OpenLP-2.0.iss b/resources/windows/OpenLP-2.0.iss index 7332aab6d..caea2e278 100644 --- a/resources/windows/OpenLP-2.0.iss +++ b/resources/windows/OpenLP-2.0.iss @@ -69,6 +69,7 @@ Source: ..\..\dist\OpenLP\*; DestDir: {app}; Flags: ignoreversion recursesubdirs [Icons] Name: {group}\{#AppName}; Filename: {app}\{#AppExeName} Name: {group}\{#AppName} (Debug); Filename: {app}\{#AppExeName}; Parameters: -l debug +Name: {group}\{#AppName} Help; Filename: {app}\{#AppName}.chm Name: {group}\{cm:ProgramOnTheWeb,{#AppName}}; Filename: {#AppURL} Name: {group}\{cm:UninstallProgram,{#AppName}}; Filename: {uninstallexe} Name: {commondesktop}\{#AppName}; Filename: {app}\{#AppExeName}; Tasks: desktopicon diff --git a/scripts/windows-builder.py b/scripts/windows-builder.py index 0bfd0862c..83154c5ac 100644 --- a/scripts/windows-builder.py +++ b/scripts/windows-builder.py @@ -94,6 +94,10 @@ from subprocess import Popen, PIPE python_exe = sys.executable innosetup_exe = os.path.join(os.getenv(u'PROGRAMFILES'), 'Inno Setup 5', u'ISCC.exe') +sphinx_exe = os.path.join(os.path.split(python_exe)[0], u'Scripts', + u'sphinx-build.exe') +hhc_exe = os.path.join(os.getenv(u'PROGRAMFILES'), 'HTML Help Workshop', + u'hhc.exe') # Base paths script_path = os.path.split(os.path.abspath(__file__))[0] @@ -109,6 +113,7 @@ i18n_utils = os.path.join(script_path, u'translation_utils.py') # Paths source_path = os.path.join(branch_path, u'openlp') +manual_path = os.path.join(branch_path, u'documentation', u'manual') i18n_path = os.path.join(branch_path, u'resources', u'i18n') winres_path = os.path.join(branch_path, u'resources', u'windows') build_path = os.path.join(branch_path, u'build', u'pyi.win32', u'OpenLP') @@ -132,21 +137,6 @@ def update_code(): print output raise Exception(u'Error updating the code') -def clean_build_directories(): - dist_dir = os.path.join(build_path, u'dist') - build_dir = os.path.join(build_path, u'build') - if os.path.exists(dist_dir): - for root, dirs, files in os.walk(dist_dir, topdown=False): - print root - for file in files: - os.remove(os.path.join(root, file)) - os.removedirs(dist_dir) - if os.path.exists(build_dir): - for root, dirs, files in os.walk(build_dir, topdown=False): - for file in files: - os.remove(os.path.join(root, file)) - os.removedirs(build_dir) - def run_pyinstaller(): print u'Running PyInstaller...' os.chdir(branch_path) @@ -240,6 +230,31 @@ def compile_translations(): if code != 0: raise Exception('Error running lconvert on %s' % source_path) +def run_sphinx(): + print u'Running Sphinx...' + os.chdir(manual_path) + sphinx = Popen((sphinx_exe, u'-b', u'htmlhelp', u'-d', u'build/doctrees', + u'source', u'build/htmlhelp'), stdout=PIPE) + output, error = sphinx.communicate() + code = sphinx.wait() + if code != 0: + print output + raise Exception(u'Error running Sphinx') + +def run_htmlhelp(): + print u'Running HTML Help Workshop...' + os.chdir(os.path.join(manual_path, u'build', u'htmlhelp')) + hhc = Popen((hhc_exe, u'OpenLP.chm'), stdout=PIPE) + output, error = hhc.communicate() + code = hhc.wait() + if code != 1: + print u'Exit code:', code + print output + raise Exception(u'Error running HTML Help Workshop') + else: + copy(os.path.join(manual_path, u'build', 'htmlhelp', u'OpenLP.chm'), + os.path.join(dist_path, u'OpenLP.chm')) + def run_innosetup(): print u'Running Inno Setup...' os.chdir(winres_path) @@ -260,7 +275,6 @@ def main(): print "Inno Setup path:", innosetup_path print "Windows resources:", winres_path update_code() - #clean_build_directories() run_pyinstaller() write_version_file() copy_enchant() @@ -268,6 +282,8 @@ def main(): copy_windows_files() update_translations() compile_translations() + run_sphinx() + run_htmlhelp() run_innosetup() print "Done."