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/lib/__init__.py b/openlp/core/lib/__init__.py index cc2a2d9ae..ef2520dac 100644 --- a/openlp/core/lib/__init__.py +++ b/openlp/core/lib/__init__.py @@ -85,7 +85,8 @@ base_html_expands.append({u'desc': u'Underline', u'start tag': u'{u}', u'end tag': u'{/u}', u'end html': u'', u'protected': True}) def translate(context, text, comment=None, - encoding=QtCore.QCoreApplication.CodecForTr, n=-1): + encoding=QtCore.QCoreApplication.CodecForTr, n=-1, + translate=QtCore.QCoreApplication.translate): """ A special shortcut method to wrap around the Qt4 translation functions. This abstracts the translation procedure so that we can change it if at a @@ -102,8 +103,7 @@ def translate(context, text, comment=None, An identifying string for when the same text is used in different roles within the same context. """ - return QtCore.QCoreApplication.translate( - context, text, comment, encoding, n) + return translate(context, text, comment, encoding, n) def get_text_file_string(text_file): """ 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/servicemanager.py b/openlp/core/ui/servicemanager.py index 8b3e63e4f..45e2412aa 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -676,17 +676,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/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 741576938..e30c9dea3 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -127,8 +127,8 @@ class ThemeManager(QtGui.QWidget): QtCore.QObject.connect(self.themeListWidget, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.changeGlobalFromScreen) - QtCore.QObject.connect(self.themeListWidget, - QtCore.SIGNAL(u'itemClicked(QListWidgetItem *)'), + QtCore.QObject.connect(self.themeListWidget, QtCore.SIGNAL( + u'currentItemChanged(QListWidgetItem *, QListWidgetItem *)'), self.checkListState) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'theme_update_global'), self.changeGlobalFromTab) @@ -170,6 +170,8 @@ class ThemeManager(QtGui.QWidget): """ If Default theme selected remove delete button. """ + if item is None: + return realThemeName = unicode(item.data(QtCore.Qt.UserRole).toString()) themeName = unicode(item.text()) # If default theme restrict actions @@ -748,7 +750,8 @@ class ThemeManager(QtGui.QWidget): 'Theme %s is used in the %s plugin.')) % \ (theme, plugin.name)) return False - return True + return True + return False def _migrateVersion122(self, xml_data): """ @@ -806,4 +809,5 @@ class ThemeManager(QtGui.QWidget): vAlignCorrection = VerticalType.Bottom newtheme.display_horizontal_align = theme.HorizontalAlign newtheme.display_vertical_align = vAlignCorrection - return newtheme.extract_xml() \ No newline at end of file + return newtheme.extract_xml() + 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...'