This commit is contained in:
Andreas Preikschat 2011-05-06 07:06:28 +02:00
commit 7372db18a8
17 changed files with 120 additions and 27 deletions

View File

@ -6,20 +6,36 @@
Welcome to the OpenLP 2.0 User Manual Welcome to the OpenLP 2.0 User Manual
===================================== =====================================
Contents: Getting Started With OpenLP
---------------------------
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
introduction introduction
glossary installation
wizard
dualmonitors Reference Manual
configure ----------------
.. toctree::
:maxdepth: 2
alert
bibles bibles
themes configure
dualmonitors
wizard
glossary
mediamanager mediamanager
songs songs
alert themes
Questions and Troubleshooting
-----------------------------
.. toctree::
:maxdepth: 2
faq faq
troubleshooting troubleshooting

View 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -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}) u'end tag': u'{/u}', u'end html': u'</span>', u'protected': True})
def translate(context, text, comment=None, 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. 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 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 An identifying string for when the same text is used in different roles
within the same context. within the same context.
""" """
return QtCore.QCoreApplication.translate( return translate(context, text, comment, encoding, n)
context, text, comment, encoding, n)
def get_text_file_string(text_file): def get_text_file_string(text_file):
""" """

View File

@ -362,12 +362,11 @@ class GeneralTab(SettingsTab):
Receiver.send_message(u'slidecontroller_live_spin_delay', Receiver.send_message(u'slidecontroller_live_spin_delay',
self.timeoutSpinBox.value()) self.timeoutSpinBox.value())
# Reset screens after initial definition # Reset screens after initial definition
if self.overrideChanged: self.screens.override[u'size'] = QtCore.QRect(
self.screens.override[u'size'] = QtCore.QRect( self.customXValueEdit.value(),
self.customXValueEdit.value(), self.customYValueEdit.value(),
self.customYValueEdit.value(), self.customWidthValueEdit.value(),
self.customWidthValueEdit.value(), self.customHeightValueEdit.value())
self.customHeightValueEdit.value())
if self.overrideCheckBox.isChecked(): if self.overrideCheckBox.isChecked():
self.screens.set_override_display() self.screens.set_override_display()
else: else:
@ -394,4 +393,4 @@ class GeneralTab(SettingsTab):
""" """
Called when the width, height, x position or y position has changed. Called when the width, height, x position or y position has changed.
""" """
self.overrideChanged = True self.overrideChanged = True

View File

@ -676,17 +676,17 @@ class ServiceManager(QtGui.QWidget):
action = self.menu.exec_(self.serviceManagerList.mapToGlobal(point)) action = self.menu.exec_(self.serviceManagerList.mapToGlobal(point))
if action == self.editAction: if action == self.editAction:
self.remoteEdit() self.remoteEdit()
if action == self.maintainAction: elif action == self.maintainAction:
self.onServiceItemEditForm() self.onServiceItemEditForm()
if action == self.deleteAction: elif action == self.deleteAction:
self.onDeleteFromService() self.onDeleteFromService()
if action == self.notesAction: elif action == self.notesAction:
self.onServiceItemNoteForm() self.onServiceItemNoteForm()
if action == self.timeAction: elif action == self.timeAction:
self.onStartTimeForm() self.onStartTimeForm()
if action == self.previewAction: elif action == self.previewAction:
self.makePreview() self.makePreview()
if action == self.liveAction: elif action == self.liveAction:
self.makeLive() self.makeLive()
def onServiceItemNoteForm(self): def onServiceItemNoteForm(self):

View File

@ -127,8 +127,8 @@ class ThemeManager(QtGui.QWidget):
QtCore.QObject.connect(self.themeListWidget, QtCore.QObject.connect(self.themeListWidget,
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), QtCore.SIGNAL(u'doubleClicked(QModelIndex)'),
self.changeGlobalFromScreen) self.changeGlobalFromScreen)
QtCore.QObject.connect(self.themeListWidget, QtCore.QObject.connect(self.themeListWidget, QtCore.SIGNAL(
QtCore.SIGNAL(u'itemClicked(QListWidgetItem *)'), u'currentItemChanged(QListWidgetItem *, QListWidgetItem *)'),
self.checkListState) self.checkListState)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'theme_update_global'), self.changeGlobalFromTab) QtCore.SIGNAL(u'theme_update_global'), self.changeGlobalFromTab)
@ -170,6 +170,8 @@ class ThemeManager(QtGui.QWidget):
""" """
If Default theme selected remove delete button. If Default theme selected remove delete button.
""" """
if item is None:
return
realThemeName = unicode(item.data(QtCore.Qt.UserRole).toString()) realThemeName = unicode(item.data(QtCore.Qt.UserRole).toString())
themeName = unicode(item.text()) themeName = unicode(item.text())
# If default theme restrict actions # If default theme restrict actions
@ -748,7 +750,8 @@ class ThemeManager(QtGui.QWidget):
'Theme %s is used in the %s plugin.')) % \ 'Theme %s is used in the %s plugin.')) % \
(theme, plugin.name)) (theme, plugin.name))
return False return False
return True return True
return False
def _migrateVersion122(self, xml_data): def _migrateVersion122(self, xml_data):
""" """
@ -806,4 +809,5 @@ class ThemeManager(QtGui.QWidget):
vAlignCorrection = VerticalType.Bottom vAlignCorrection = VerticalType.Bottom
newtheme.display_horizontal_align = theme.HorizontalAlign newtheme.display_horizontal_align = theme.HorizontalAlign
newtheme.display_vertical_align = vAlignCorrection newtheme.display_vertical_align = vAlignCorrection
return newtheme.extract_xml() return newtheme.extract_xml()

View File

@ -243,6 +243,14 @@ def compile_translations():
code = lconvert.wait() code = lconvert.wait()
if code != 0: if code != 0:
raise Exception('Error running lconvert on %s' % source_path) 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(): def run_sphinx():
print u'Running Sphinx...' print u'Running Sphinx...'