diff --git a/documentation/manual/source/index.rst b/documentation/manual/source/index.rst index 6ed9c7258..d5436f935 100644 --- a/documentation/manual/source/index.rst +++ b/documentation/manual/source/index.rst @@ -6,20 +6,36 @@ Welcome to the OpenLP 2.0 User Manual ===================================== -Contents: +Getting Started With OpenLP +--------------------------- .. toctree:: :maxdepth: 2 introduction - glossary - wizard - dualmonitors - configure + installation + +Reference Manual +---------------- + +.. toctree:: + :maxdepth: 2 + + alert bibles - themes + configure + dualmonitors + wizard + glossary mediamanager songs - alert + themes + +Questions and Troubleshooting +----------------------------- + +.. toctree:: + :maxdepth: 2 + faq troubleshooting diff --git a/documentation/manual/source/installation.rst b/documentation/manual/source/installation.rst new file mode 100644 index 000000000..21fcfeced --- /dev/null +++ b/documentation/manual/source/installation.rst @@ -0,0 +1,66 @@ +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/pics/additionaltask.png b/documentation/manual/source/pics/additionaltask.png new file mode 100755 index 000000000..02d278001 Binary files /dev/null and b/documentation/manual/source/pics/additionaltask.png differ diff --git a/documentation/manual/source/pics/installcomplete.png b/documentation/manual/source/pics/installcomplete.png new file mode 100755 index 000000000..3cb25aaa9 Binary files /dev/null and b/documentation/manual/source/pics/installcomplete.png differ diff --git a/documentation/manual/source/pics/installlocation.png b/documentation/manual/source/pics/installlocation.png new file mode 100755 index 000000000..509bfbeea Binary files /dev/null and b/documentation/manual/source/pics/installlocation.png differ diff --git a/documentation/manual/source/pics/license.png b/documentation/manual/source/pics/license.png new file mode 100755 index 000000000..0f6d041d3 Binary files /dev/null and b/documentation/manual/source/pics/license.png differ diff --git a/documentation/manual/source/pics/osxinstall.png b/documentation/manual/source/pics/osxinstall.png new file mode 100644 index 000000000..cf4688735 Binary files /dev/null and b/documentation/manual/source/pics/osxinstall.png differ diff --git a/documentation/manual/source/pics/progress.png b/documentation/manual/source/pics/progress.png new file mode 100755 index 000000000..60360f84a Binary files /dev/null and b/documentation/manual/source/pics/progress.png differ diff --git a/documentation/manual/source/pics/readytoinstall.png b/documentation/manual/source/pics/readytoinstall.png new file mode 100755 index 000000000..a3f930930 Binary files /dev/null and b/documentation/manual/source/pics/readytoinstall.png differ diff --git a/documentation/manual/source/pics/selectlanguage.png b/documentation/manual/source/pics/selectlanguage.png new file mode 100755 index 000000000..58afbf0bd Binary files /dev/null and b/documentation/manual/source/pics/selectlanguage.png differ diff --git a/documentation/manual/source/pics/startmenufolder.png b/documentation/manual/source/pics/startmenufolder.png new file mode 100755 index 000000000..81a6586f8 Binary files /dev/null and b/documentation/manual/source/pics/startmenufolder.png differ diff --git a/documentation/manual/source/pics/welcome.png b/documentation/manual/source/pics/welcome.png new file mode 100755 index 000000000..e331eef3d Binary files /dev/null and b/documentation/manual/source/pics/welcome.png differ diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 7dac2fe9d..6931c3e7f 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -362,12 +362,11 @@ class GeneralTab(SettingsTab): Receiver.send_message(u'slidecontroller_live_spin_delay', self.timeoutSpinBox.value()) # Reset screens after initial definition - if self.overrideChanged: - self.screens.override[u'size'] = QtCore.QRect( - self.customXValueEdit.value(), - self.customYValueEdit.value(), - self.customWidthValueEdit.value(), - self.customHeightValueEdit.value()) + self.screens.override[u'size'] = QtCore.QRect( + self.customXValueEdit.value(), + self.customYValueEdit.value(), + self.customWidthValueEdit.value(), + self.customHeightValueEdit.value()) if self.overrideCheckBox.isChecked(): self.screens.set_override_display() else: @@ -394,4 +393,4 @@ class GeneralTab(SettingsTab): """ Called when the width, height, x position or y position has changed. """ - self.overrideChanged = True \ No newline at end of file + self.overrideChanged = True diff --git a/openlp/core/ui/printservicedialog.py b/openlp/core/ui/printservicedialog.py index 889bc4f7d..f9d1163d0 100644 --- a/openlp/core/ui/printservicedialog.py +++ b/openlp/core/ui/printservicedialog.py @@ -152,7 +152,7 @@ class Ui_PrintServiceDialog(object): self.slideTextCheckBox.setText(translate('OpenLP.PrintServiceForm', 'Include slide text if available')) self.pageBreakAfterText.setText(translate('OpenLP.PrintServiceForm', - 'Add page break before each text item.')) + 'Add page break before each text item')) self.notesCheckBox.setText(translate('OpenLP.PrintServiceForm', 'Include service item notes')) self.metaDataCheckBox.setText(translate('OpenLP.PrintServiceForm', @@ -164,4 +164,5 @@ class Ui_PrintServiceDialog(object): self.zoomComboBox.addItem(ZoomSize.Sizes[ZoomSize.OneHundred]) self.zoomComboBox.addItem(ZoomSize.Sizes[ZoomSize.SeventyFive]) self.zoomComboBox.addItem(ZoomSize.Sizes[ZoomSize.Fifty]) - self.zoomComboBox.addItem(ZoomSize.Sizes[ZoomSize.TwentyFive]) \ No newline at end of file + self.zoomComboBox.addItem(ZoomSize.Sizes[ZoomSize.TwentyFive]) + diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 40195ad0c..b5e8bbc54 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -115,11 +115,11 @@ class ServiceManager(QtGui.QWidget): UiStrings().CreateService, self.onNewServiceClicked) self.toolbar.addToolbarButton( UiStrings().OpenService, u':/general/general_open.png', - translate('OpenLP.ServiceManager', 'Load an existing service'), + translate('OpenLP.ServiceManager', 'Load an existing service.'), self.onLoadServiceClicked) self.toolbar.addToolbarButton( UiStrings().SaveService, u':/general/general_save.png', - translate('OpenLP.ServiceManager', 'Save this service'), + translate('OpenLP.ServiceManager', 'Save this service.'), self.saveFile) self.toolbar.addSeparator() self.themeLabel = QtGui.QLabel(u'%s:' % UiStrings().Theme, self) @@ -128,7 +128,7 @@ class ServiceManager(QtGui.QWidget): self.toolbar.addToolbarWidget(u'ThemeLabel', self.themeLabel) self.themeComboBox = QtGui.QComboBox(self.toolbar) self.themeComboBox.setToolTip(translate('OpenLP.ServiceManager', - 'Select a theme for the service')) + 'Select a theme for the service.')) self.themeComboBox.setSizeAdjustPolicy( QtGui.QComboBox.AdjustToMinimumContentsLength) self.themeComboBox.setSizePolicy( @@ -674,17 +674,17 @@ class ServiceManager(QtGui.QWidget): action = self.menu.exec_(self.serviceManagerList.mapToGlobal(point)) if action == self.editAction: self.remoteEdit() - if action == self.maintainAction: + elif action == self.maintainAction: self.onServiceItemEditForm() - if action == self.deleteAction: + elif action == self.deleteAction: self.onDeleteFromService() - if action == self.notesAction: + elif action == self.notesAction: self.onServiceItemNoteForm() - if action == self.timeAction: + elif action == self.timeAction: self.onStartTimeForm() - if action == self.previewAction: + elif action == self.previewAction: self.makePreview() - if action == self.liveAction: + elif action == self.liveAction: self.makeLive() def onServiceItemNoteForm(self): diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 5a631bf00..de7ce144e 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -137,13 +137,15 @@ class BiblePlugin(Plugin): # Middle Header Bar tooltips = { u'load': u'', - u'import': translate('BiblesPlugin', 'Import a Bible'), - u'new': translate('BiblesPlugin', 'Add a new Bible'), - u'edit': translate('BiblesPlugin', 'Edit the selected Bible'), - u'delete': translate('BiblesPlugin', 'Delete the selected Bible'), - u'preview': translate('BiblesPlugin', 'Preview the selected Bible'), - u'live': translate('BiblesPlugin', 'Send the selected Bible live'), + u'import': translate('BiblesPlugin', 'Import a Bible.'), + u'new': translate('BiblesPlugin', 'Add a new Bible.'), + u'edit': translate('BiblesPlugin', 'Edit the selected Bible.'), + u'delete': translate('BiblesPlugin', 'Delete the selected Bible.'), + u'preview': translate('BiblesPlugin', + 'Preview the selected Bible.'), + u'live': translate('BiblesPlugin', 'Send the selected Bible live.'), u'service': translate('BiblesPlugin', - 'Add the selected Bible to the service') + 'Add the selected Bible to the service.') } - self.setPluginUiTextStrings(tooltips) \ No newline at end of file + self.setPluginUiTextStrings(tooltips) + diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py index 0e88202ca..8b8a7e6ae 100644 --- a/openlp/plugins/custom/customplugin.py +++ b/openlp/plugins/custom/customplugin.py @@ -106,17 +106,18 @@ class CustomPlugin(Plugin): } # Middle Header Bar tooltips = { - u'load': translate('CustomsPlugin', 'Load a new Custom'), - u'import': translate('CustomsPlugin', 'Import a Custom'), - u'new': translate('CustomsPlugin', 'Add a new Custom'), - u'edit': translate('CustomsPlugin', 'Edit the selected Custom'), - u'delete': translate('CustomsPlugin', 'Delete the selected Custom'), + u'load': translate('CustomsPlugin', 'Load a new Custom.'), + u'import': translate('CustomsPlugin', 'Import a Custom.'), + u'new': translate('CustomsPlugin', 'Add a new Custom.'), + u'edit': translate('CustomsPlugin', 'Edit the selected Custom.'), + u'delete': translate('CustomsPlugin', + 'Delete the selected Custom.'), u'preview': translate('CustomsPlugin', - 'Preview the selected Custom'), + 'Preview the selected Custom.'), u'live': translate('CustomsPlugin', - 'Send the selected Custom live'), + 'Send the selected Custom live.'), u'service': translate('CustomsPlugin', - 'Add the selected Custom to the service') + 'Add the selected Custom to the service.') } self.setPluginUiTextStrings(tooltips) diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py index 5d009ad65..8d98e809b 100644 --- a/openlp/plugins/images/imageplugin.py +++ b/openlp/plugins/images/imageplugin.py @@ -69,14 +69,14 @@ class ImagePlugin(Plugin): } # Middle Header Bar tooltips = { - u'load': translate('ImagePlugin', 'Load a new Image'), + u'load': translate('ImagePlugin', 'Load a new Image.'), u'import': u'', - u'new': translate('ImagePlugin', 'Add a new Image'), - u'edit': translate('ImagePlugin', 'Edit the selected Image'), - u'delete': translate('ImagePlugin', 'Delete the selected Image'), - u'preview': translate('ImagePlugin', 'Preview the selected Image'), - u'live': translate('ImagePlugin', 'Send the selected Image live'), + u'new': translate('ImagePlugin', 'Add a new Image.'), + u'edit': translate('ImagePlugin', 'Edit the selected Image.'), + u'delete': translate('ImagePlugin', 'Delete the selected Image.'), + u'preview': translate('ImagePlugin', 'Preview the selected Image.'), + u'live': translate('ImagePlugin', 'Send the selected Image live.'), u'service': translate('ImagePlugin', - 'Add the selected Image to the service') + 'Add the selected Image to the service.') } self.setPluginUiTextStrings(tooltips) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index e01e6846d..82d87455a 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -111,14 +111,14 @@ class MediaPlugin(Plugin): } # Middle Header Bar tooltips = { - u'load': translate('MediaPlugin', 'Load a new Media'), + u'load': translate('MediaPlugin', 'Load a new Media.'), u'import': u'', - u'new': translate('MediaPlugin', 'Add a new Media'), - u'edit': translate('MediaPlugin', 'Edit the selected Media'), - u'delete': translate('MediaPlugin', 'Delete the selected Media'), - u'preview': translate('MediaPlugin', 'Preview the selected Media'), - u'live': translate('MediaPlugin', 'Send the selected Media live'), + u'new': translate('MediaPlugin', 'Add a new Media.'), + u'edit': translate('MediaPlugin', 'Edit the selected Media.'), + u'delete': translate('MediaPlugin', 'Delete the selected Media.'), + u'preview': translate('MediaPlugin', 'Preview the selected Media.'), + u'live': translate('MediaPlugin', 'Send the selected Media live.'), u'service': translate('MediaPlugin', - 'Add the selected Media to the service') + 'Add the selected Media to the service.') } self.setPluginUiTextStrings(tooltips) diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index f217e6023..ec3aff440 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -167,17 +167,18 @@ class PresentationPlugin(Plugin): } # Middle Header Bar tooltips = { - u'load': translate('PresentationPlugin', 'Load a new Presentation'), + u'load': translate('PresentationPlugin', + 'Load a new Presentation.'), u'import': u'', u'new': u'', u'edit': u'', u'delete': translate('PresentationPlugin', - 'Delete the selected Presentation'), + 'Delete the selected Presentation.'), u'preview': translate('PresentationPlugin', - 'Preview the selected Presentation'), + 'Preview the selected Presentation.'), u'live': translate('PresentationPlugin', - 'Send the selected Presentation live'), + 'Send the selected Presentation live.'), u'service': translate('PresentationPlugin', - 'Add the selected Presentation to the service') + 'Add the selected Presentation to the service.') } self.setPluginUiTextStrings(tooltips) diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 15fa774ad..a3015d422 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -141,7 +141,7 @@ class SongMediaItem(MediaManagerItem): self.searchTextButton.setText(UiStrings().Search) self.maintenanceAction.setText(SongStrings.SongMaintenance) self.maintenanceAction.setToolTip(translate('SongsPlugin.MediaItem', - 'Maintain the lists of authors, topics and books')) + 'Maintain the lists of authors, topics and books.')) def initialise(self): self.searchTextEdit.setSearchTypes([ diff --git a/openlp/plugins/songs/lib/songshowplusimport.py b/openlp/plugins/songs/lib/songshowplusimport.py index 9fdc5804a..a3401a8b9 100644 --- a/openlp/plugins/songs/lib/songshowplusimport.py +++ b/openlp/plugins/songs/lib/songshowplusimport.py @@ -97,7 +97,7 @@ class SongShowPlusImport(SongImport): """ Receive a single file or a list of files to import. """ - if isinstance(self.import_source, list): + if not isinstance(self.import_source, list): return self.import_wizard.progressBar.setMaximum(len(self.import_source)) for file in self.import_source: diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 85294dee2..853caef0e 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -214,13 +214,13 @@ class SongsPlugin(Plugin): tooltips = { u'load': u'', u'import': u'', - u'new': translate('SongsPlugin', 'Add a new Song'), - u'edit': translate('SongsPlugin', 'Edit the selected Song'), - u'delete': translate('SongsPlugin', 'Delete the selected Song'), - u'preview': translate('SongsPlugin', 'Preview the selected Song'), - u'live': translate('SongsPlugin', 'Send the selected Song live'), + u'new': translate('SongsPlugin', 'Add a new Song.'), + u'edit': translate('SongsPlugin', 'Edit the selected Song.'), + u'delete': translate('SongsPlugin', 'Delete the selected Song.'), + u'preview': translate('SongsPlugin', 'Preview the selected Song.'), + u'live': translate('SongsPlugin', 'Send the selected Song live.'), u'service': translate('SongsPlugin', - 'Add the selected Song to the service') + 'Add the selected Song to the service.') } self.setPluginUiTextStrings(tooltips) diff --git a/scripts/windows-builder.py b/scripts/windows-builder.py index ef5528cd7..0271f80b8 100644 --- a/scripts/windows-builder.py +++ b/scripts/windows-builder.py @@ -243,6 +243,14 @@ def compile_translations(): code = lconvert.wait() if code != 0: raise Exception('Error running lconvert on %s' % source_path) + print u'Copying qm files...' + source = os.path.join(site_packages, u'PyQt4', u'translations') + files = os.listdir(source) + for filename in files: + if filename.startswith(u'qt_') and filename.endswith(u'.qm') and \ + len(filename) == 8: + copy(os.path.join(source, filename), + os.path.join(dist_path, u'i18n', filename)) def run_sphinx(): print u'Running Sphinx...'