r1519
@ -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
|
||||
|
66
documentation/manual/source/installation.rst
Normal file
@ -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 <http://www.openlp.org/en/download.html>`_
|
||||
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 <http://www.openlp.org/en/download.html>`_
|
||||
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 <http://www.openlp.org/en/download.html>`_ for distribution specific instructions.
|
BIN
documentation/manual/source/pics/additionaltask.png
Executable file
After Width: | Height: | Size: 20 KiB |
BIN
documentation/manual/source/pics/installcomplete.png
Executable file
After Width: | Height: | Size: 156 KiB |
BIN
documentation/manual/source/pics/installlocation.png
Executable file
After Width: | Height: | Size: 22 KiB |
BIN
documentation/manual/source/pics/license.png
Executable file
After Width: | Height: | Size: 24 KiB |
BIN
documentation/manual/source/pics/osxinstall.png
Normal file
After Width: | Height: | Size: 153 KiB |
BIN
documentation/manual/source/pics/progress.png
Executable file
After Width: | Height: | Size: 18 KiB |
BIN
documentation/manual/source/pics/readytoinstall.png
Executable file
After Width: | Height: | Size: 22 KiB |
BIN
documentation/manual/source/pics/selectlanguage.png
Executable file
After Width: | Height: | Size: 9.5 KiB |
BIN
documentation/manual/source/pics/startmenufolder.png
Executable file
After Width: | Height: | Size: 22 KiB |
BIN
documentation/manual/source/pics/welcome.png
Executable file
After Width: | Height: | Size: 134 KiB |
@ -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'</span>', 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):
|
||||
"""
|
||||
|
@ -362,7 +362,6 @@ 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(),
|
||||
|
@ -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):
|
||||
|
@ -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
|
||||
@ -749,6 +751,7 @@ class ThemeManager(QtGui.QWidget):
|
||||
(theme, plugin.name))
|
||||
return False
|
||||
return True
|
||||
return False
|
||||
|
||||
def _migrateVersion122(self, xml_data):
|
||||
"""
|
||||
@ -807,3 +810,4 @@ class ThemeManager(QtGui.QWidget):
|
||||
newtheme.display_horizontal_align = theme.HorizontalAlign
|
||||
newtheme.display_vertical_align = vAlignCorrection
|
||||
return newtheme.extract_xml()
|
||||
|
||||
|
@ -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...'
|
||||
|