forked from openlp/openlp
Head
This commit is contained in:
commit
ab1580a567
@ -8,12 +8,7 @@ page on the web site::
|
||||
http://openlp.org/en/download.html
|
||||
|
||||
If you're looking for how to contribute to OpenLP, then please look at the
|
||||
contribution page on the web site::
|
||||
|
||||
http://openlp.org/en/documentation/introduction/contributing.html
|
||||
|
||||
If you've looked at that page, and are wanting to help develop, test or
|
||||
translate OpenLP, have a look at the OpenLP wiki::
|
||||
OpenLP wiki::
|
||||
|
||||
http://wiki.openlp.org/
|
||||
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
12
openlp.pyw
12
openlp.pyw
@ -9,7 +9,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -85,10 +86,13 @@ class OpenLP(QtGui.QApplication):
|
||||
QtGui.QApplication.exec_()
|
||||
self.sharedMemory.detach()
|
||||
|
||||
def run(self):
|
||||
def run(self, args):
|
||||
"""
|
||||
Run the OpenLP application.
|
||||
"""
|
||||
# On Windows, the args passed into the constructor are
|
||||
# ignored. Not very handy, so set the ones we want to use.
|
||||
self.args = args
|
||||
# provide a listener for widgets to reqest a screen update.
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'openlp_process_events'), self.processEvents)
|
||||
@ -115,7 +119,7 @@ class OpenLP(QtGui.QApplication):
|
||||
# make sure Qt really display the splash screen
|
||||
self.processEvents()
|
||||
# start the main app window
|
||||
self.mainWindow = MainWindow(self.clipboard(), self.arguments())
|
||||
self.mainWindow = MainWindow(self.clipboard(), self.args)
|
||||
self.mainWindow.show()
|
||||
if show_splash:
|
||||
# now kill the splashscreen
|
||||
@ -250,7 +254,7 @@ def main():
|
||||
log.debug(u'Could not find default_translator.')
|
||||
if not options.no_error_form:
|
||||
sys.excepthook = app.hookException
|
||||
sys.exit(app.run())
|
||||
sys.exit(app.run(qt_args))
|
||||
|
||||
if __name__ == u'__main__':
|
||||
"""
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -83,6 +84,9 @@ base_html_expands.append({u'desc': u'Italics', u'start tag': u'{it}',
|
||||
base_html_expands.append({u'desc': u'Underline', u'start tag': u'{u}',
|
||||
u'start html': u'<span style="text-decoration: underline;">',
|
||||
u'end tag': u'{/u}', u'end html': u'</span>', u'protected': True})
|
||||
base_html_expands.append({u'desc': u'Break', u'start tag': u'{br}',
|
||||
u'start html': u'<br>', u'end tag': u'', u'end html': u'',
|
||||
u'protected': True})
|
||||
|
||||
def translate(context, text, comment=None,
|
||||
encoding=QtCore.QCoreApplication.CodecForTr, n=-1,
|
||||
@ -244,6 +248,7 @@ def clean_tags(text):
|
||||
Remove Tags from text for display
|
||||
"""
|
||||
text = text.replace(u'<br>', u'\n')
|
||||
text = text.replace(u'{br}', u'\n')
|
||||
text = text.replace(u' ', u' ')
|
||||
for tag in DisplayTags.get_html_tags():
|
||||
text = text.replace(tag[u'start tag'], u'')
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -28,6 +29,7 @@ Provides the generic functions for interfacing plugins with the Media Manager.
|
||||
"""
|
||||
import logging
|
||||
import os
|
||||
import re
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
@ -90,6 +92,7 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
"""
|
||||
QtGui.QWidget.__init__(self)
|
||||
self.parent = parent
|
||||
self.whitespace = re.compile(r'\W+', re.UNICODE)
|
||||
#TODO: plugin should not be the parent in future
|
||||
self.plugin = parent # plugin
|
||||
visible_title = self.plugin.getString(StringContent.VisibleName)
|
||||
@ -109,9 +112,13 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
self.requiredIcons()
|
||||
self.setupUi()
|
||||
self.retranslateUi()
|
||||
self.autoSelectItem = None
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'%s_service_load' % self.parent.name.lower()),
|
||||
self.serviceLoad)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'%s_set_autoselect_item' % self.parent.name.lower()),
|
||||
self.setAutoSelectItem)
|
||||
|
||||
def requiredIcons(self):
|
||||
"""
|
||||
@ -424,6 +431,13 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
raise NotImplementedError(u'MediaManagerItem.onDeleteClick needs to '
|
||||
u'be defined by the plugin')
|
||||
|
||||
def onFocus(self):
|
||||
"""
|
||||
Run when a tab in the media manager gains focus. This gives the media
|
||||
item a chance to focus any elements it wants to.
|
||||
"""
|
||||
pass
|
||||
|
||||
def generateSlideData(self, serviceItem, item=None, xmlVersion=False):
|
||||
raise NotImplementedError(u'MediaManagerItem.generateSlideData needs '
|
||||
u'to be defined by the plugin')
|
||||
@ -465,6 +479,9 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
if keepFocus:
|
||||
self.listView.setFocus()
|
||||
|
||||
def setAutoSelectItem(self, itemToSelect=None):
|
||||
self.autoSelectItem = itemToSelect
|
||||
|
||||
def onLiveClick(self):
|
||||
"""
|
||||
Send an item live by building a service item then adding that service
|
||||
@ -500,24 +517,24 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
if not self.listView.selectedIndexes() and not self.remoteTriggered:
|
||||
QtGui.QMessageBox.information(self, UiStrings().NISp,
|
||||
translate('OpenLP.MediaManagerItem',
|
||||
'You must select one or more items.'))
|
||||
'You must select one or more items to add.'))
|
||||
else:
|
||||
# Is it posssible to process multiple list items to generate
|
||||
# multiple service items?
|
||||
if self.singleServiceItem or self.remoteTriggered:
|
||||
log.debug(u'%s Add requested', self.plugin.name)
|
||||
serviceItem = self.buildServiceItem(None, True)
|
||||
if serviceItem:
|
||||
serviceItem.from_plugin = False
|
||||
self.parent.serviceManager.addServiceItem(serviceItem,
|
||||
replace=self.remoteTriggered)
|
||||
self.addToService(replace=self.remoteTriggered)
|
||||
else:
|
||||
items = self.listView.selectedIndexes()
|
||||
for item in items:
|
||||
serviceItem = self.buildServiceItem(item, True)
|
||||
if serviceItem:
|
||||
serviceItem.from_plugin = False
|
||||
self.parent.serviceManager.addServiceItem(serviceItem)
|
||||
self.addToService(item)
|
||||
|
||||
def addToService(self, item=None, replace=None):
|
||||
serviceItem = self.buildServiceItem(item, True)
|
||||
if serviceItem:
|
||||
serviceItem.from_plugin = False
|
||||
self.parent.serviceManager.addServiceItem(serviceItem,
|
||||
replace=replace)
|
||||
|
||||
def onAddEditClick(self):
|
||||
"""
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -300,7 +301,7 @@ class Renderer(object):
|
||||
# Adjust width and height to account for shadow. outline done in css
|
||||
self.page_shell = u'<html><head><style>' \
|
||||
u'*{margin: 0; padding: 0; border: 0;} '\
|
||||
u'#main {position:absolute; top:0px; %s %s}</style><body>' \
|
||||
u'#main {position:absolute; top:0px; %s %s}</style></head><body>' \
|
||||
u'<div id="main">' % \
|
||||
(build_lyrics_format_css(self.theme_data, self.page_width,
|
||||
self.page_height), build_lyrics_outline_css(self.theme_data))
|
||||
@ -335,7 +336,7 @@ class Renderer(object):
|
||||
styled_text += styled_line
|
||||
html = self.page_shell + styled_text + HTML_END
|
||||
self.web.setHtml(html)
|
||||
# Text too long so go to next page
|
||||
# Text too long so go to next page.
|
||||
if self.web_frame.contentsSize().height() > self.page_height:
|
||||
if force_page and line_count > 0:
|
||||
Receiver.send_message(u'theme_line_count', line_count)
|
||||
@ -366,7 +367,7 @@ class Renderer(object):
|
||||
|
||||
"""
|
||||
log.debug(u'_paginate_slide_words - Start')
|
||||
line_end = u''
|
||||
line_end = u' '
|
||||
if line_break:
|
||||
line_end = u'<br>'
|
||||
formatted = []
|
||||
@ -374,10 +375,11 @@ class Renderer(object):
|
||||
previous_raw = u''
|
||||
lines = text.split(u'\n')
|
||||
for line in lines:
|
||||
line = line.strip()
|
||||
styled_line = expand_tags(line)
|
||||
html = self.page_shell + previous_html + styled_line + HTML_END
|
||||
self.web.setHtml(html)
|
||||
# Text too long so go to next page
|
||||
# Text too long so go to next page.
|
||||
if self.web_frame.contentsSize().height() > self.page_height:
|
||||
# Check if there was a verse before the current one and append
|
||||
# it, when it fits on the page.
|
||||
@ -401,24 +403,56 @@ class Renderer(object):
|
||||
previous_html = styled_line + line_end
|
||||
previous_raw = line + line_end
|
||||
continue
|
||||
words = self._words_split(line)
|
||||
for word in words:
|
||||
styled_word = expand_tags(word)
|
||||
html = self.page_shell + previous_html + styled_word + \
|
||||
HTML_END
|
||||
# Figure out how many words of the line will fit on screen by
|
||||
# using the algorithm known as "binary chop".
|
||||
raw_words = self._words_split(line)
|
||||
html_words = [expand_tags(word) for word in raw_words]
|
||||
smallest_index = 0
|
||||
highest_index = len(html_words) - 1
|
||||
index = int(highest_index / 2)
|
||||
while True:
|
||||
html = self.page_shell + previous_html + \
|
||||
u''.join(html_words[:index + 1]).strip() + HTML_END
|
||||
self.web.setHtml(html)
|
||||
# Text too long so go to next page
|
||||
if self.web_frame.contentsSize().height() > \
|
||||
self.page_height:
|
||||
while previous_raw.endswith(u'<br>'):
|
||||
previous_raw = previous_raw[:-4]
|
||||
formatted.append(previous_raw)
|
||||
# We know that it does not fit, so change/calculate the
|
||||
# new index and highest_index accordingly.
|
||||
highest_index = index
|
||||
index = int(index - (index - smallest_index) / 2)
|
||||
else:
|
||||
smallest_index = index
|
||||
index = int(index + (highest_index - index) / 2)
|
||||
# We found the number of words which will fit.
|
||||
if smallest_index == index or highest_index == index:
|
||||
index = smallest_index
|
||||
formatted.append(previous_raw.rstrip(u'<br>') +
|
||||
u''.join(raw_words[:index + 1]))
|
||||
previous_html = u''
|
||||
previous_raw = u''
|
||||
previous_html += styled_word
|
||||
previous_raw += word
|
||||
previous_html += line_end
|
||||
previous_raw += line_end
|
||||
else:
|
||||
continue
|
||||
# Check if the rest of the line fits on the slide. If it
|
||||
# does we do not have to do the much more intensive "word by
|
||||
# word" checking.
|
||||
html = self.page_shell + \
|
||||
u''.join(html_words[index + 1:]).strip() + HTML_END
|
||||
self.web.setHtml(html)
|
||||
if self.web_frame.contentsSize().height() <= \
|
||||
self.page_height:
|
||||
previous_html = \
|
||||
u''.join(html_words[index + 1:]).strip() + line_end
|
||||
previous_raw = \
|
||||
u''.join(raw_words[index + 1:]).strip() + line_end
|
||||
break
|
||||
else:
|
||||
# The other words do not fit, thus reset the indexes,
|
||||
# create a new list and continue with "word by word".
|
||||
raw_words = raw_words[index + 1:]
|
||||
html_words = html_words[index + 1:]
|
||||
smallest_index = 0
|
||||
highest_index = len(html_words) - 1
|
||||
index = int(highest_index / 2)
|
||||
else:
|
||||
previous_html += styled_line + line_end
|
||||
previous_raw += line + line_end
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -28,6 +29,7 @@ The :mod:`serviceitem` provides the service item functionality including the
|
||||
type and capability of an item.
|
||||
"""
|
||||
|
||||
import cgi
|
||||
import datetime
|
||||
import logging
|
||||
import os
|
||||
@ -174,17 +176,18 @@ class ServiceItem(object):
|
||||
formatted = self.renderer \
|
||||
.format_slide(slide[u'raw_slide'], line_break, self)
|
||||
for page in formatted:
|
||||
page = page.replace(u'<br>', u'{br}')
|
||||
self._display_frames.append({
|
||||
u'title': clean_tags(page),
|
||||
u'text': clean_tags(page.rstrip()),
|
||||
u'html': expand_tags(page.rstrip()),
|
||||
u'html': expand_tags(cgi.escape(page.rstrip())),
|
||||
u'verseTag': slide[u'verseTag']
|
||||
})
|
||||
elif self.service_item_type == ServiceItemType.Image or \
|
||||
self.service_item_type == ServiceItemType.Command:
|
||||
pass
|
||||
else:
|
||||
log.error(u'Invalid value renderer :%s' % self.service_item_type)
|
||||
log.error(u'Invalid value renderer: %s' % self.service_item_type)
|
||||
self.title = clean_tags(self.title)
|
||||
# The footer should never be None, but to be compatible with a few
|
||||
# nightly builds between 1.9.4 and 1.9.5, we have to correct this to
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -207,6 +208,8 @@ class ThemeXML(object):
|
||||
"""
|
||||
A class to encapsulate the Theme XML.
|
||||
"""
|
||||
FIRST_CAMEL_REGEX = re.compile(u'(.)([A-Z][a-z]+)')
|
||||
SECOND_CAMEL_REGEX = re.compile(u'([a-z0-9])([A-Z])')
|
||||
def __init__(self):
|
||||
"""
|
||||
Initialise the theme object.
|
||||
@ -581,8 +584,8 @@ class ThemeXML(object):
|
||||
"""
|
||||
Change Camel Case string to python string
|
||||
"""
|
||||
sub_name = re.sub(u'(.)([A-Z][a-z]+)', r'\1_\2', name)
|
||||
return re.sub(u'([a-z0-9])([A-Z])', r'\1_\2', sub_name).lower()
|
||||
sub_name = ThemeXML.FIRST_CAMEL_REGEX.sub(r'\1_\2', name)
|
||||
return ThemeXML.SECOND_CAMEL_REGEX.sub(r'\1_\2', sub_name).lower()
|
||||
|
||||
def _build_xml_from_attrs(self):
|
||||
"""
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -95,7 +96,7 @@ class Ui_AboutDialog(object):
|
||||
'OpenLP is free church presentation software, or lyrics '
|
||||
'projection software, used to display slides of songs, Bible '
|
||||
'verses, videos, images, and even presentations (if '
|
||||
'OpenOffice.org, PowerPoint or PowerPoint Viewer is installed) '
|
||||
'Impress, PowerPoint or PowerPoint Viewer is installed) '
|
||||
'for church worship using a computer and a data projector.\n'
|
||||
'\n'
|
||||
'Find out more about OpenLP: http://openlp.org/\n'
|
||||
@ -137,7 +138,8 @@ class Ui_AboutDialog(object):
|
||||
u'ja': [u'Kunio "Kunio" Nakamaru'],
|
||||
u'nb': [u'Atle "pendlaren" Weibell', u'Frode "frodus" Woldsund'],
|
||||
u'nl': [u'Arjen "typovar" van Voorst'],
|
||||
u'pt_BR': [u'Rafael "rafaellerm" Lerm', u'Gustavo Bim'],
|
||||
u'pt_BR': [u'Rafael "rafaellerm" Lerm', u'Gustavo Bim',
|
||||
u'Simon "samscudder" Scudder'],
|
||||
u'ru': [u'Sergey "ratz" Ratz']
|
||||
}
|
||||
documentors = [u'Wesley "wrst" Stout',
|
||||
@ -221,13 +223,14 @@ class Ui_AboutDialog(object):
|
||||
self.aboutNotebook.setTabText(
|
||||
self.aboutNotebook.indexOf(self.creditsTab),
|
||||
translate('OpenLP.AboutForm', 'Credits'))
|
||||
copyright = translate('OpenLP.AboutForm',
|
||||
'Copyright \xa9 2004-2011 Raoul Snyman\n'
|
||||
'Portions copyright \xa9 2004-2011 '
|
||||
'Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri,\n'
|
||||
'Meinert Jordan, Andreas Preikschat, Christian Richter, Philip\n'
|
||||
'Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten\n'
|
||||
'Tinggaard, Frode Woldsund')
|
||||
copyright = unicode(translate('OpenLP.AboutForm',
|
||||
'Copyright \xa9 2004-2011 %s\n'
|
||||
'Portions copyright \xa9 2004-2011 %s')) % (u'Raoul Snyman',
|
||||
u'Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, '
|
||||
u'Matthias Hub, Meinert Jordan, Armin K\xf6hler, Andreas '
|
||||
u'Preikschat, Mattias P\xf5ldaru, Christian Richter, Philip '
|
||||
u'Ridout, Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon '
|
||||
u'Tibble, Frode Woldsund')
|
||||
licence = translate('OpenLP.AboutForm',
|
||||
'This program is free software; you can redistribute it and/or '
|
||||
'modify it under the terms of the GNU General Public License as '
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -201,8 +202,7 @@ class Ui_FirstTimeWizard(object):
|
||||
'Welcome to the First Time Wizard'))
|
||||
self.informationLabel.setText(translate('OpenLP.FirstTimeWizard',
|
||||
'This wizard will help you to configure OpenLP for initial use.'
|
||||
' Click the next button below to start the process of selection '
|
||||
'your initial options. '))
|
||||
' Click the next button below to start.'))
|
||||
self.pluginPage.setTitle(translate('OpenLP.FirstTimeWizard',
|
||||
'Activate required Plugins'))
|
||||
self.pluginPage.setSubTitle(translate('OpenLP.FirstTimeWizard',
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -72,14 +73,14 @@ class Ui_MainWindow(object):
|
||||
mainWindow.setWindowIcon(build_icon(u':/icon/openlp-logo-64x64.png'))
|
||||
mainWindow.setDockNestingEnabled(True)
|
||||
# Set up the main container, which contains all the other form widgets.
|
||||
self.MainContent = QtGui.QWidget(mainWindow)
|
||||
self.MainContent.setObjectName(u'MainContent')
|
||||
self.mainContentLayout = QtGui.QHBoxLayout(self.MainContent)
|
||||
self.mainContent = QtGui.QWidget(mainWindow)
|
||||
self.mainContent.setObjectName(u'mainContent')
|
||||
self.mainContentLayout = QtGui.QHBoxLayout(self.mainContent)
|
||||
self.mainContentLayout.setSpacing(0)
|
||||
self.mainContentLayout.setMargin(0)
|
||||
self.mainContentLayout.setObjectName(u'mainContentLayout')
|
||||
mainWindow.setCentralWidget(self.MainContent)
|
||||
self.controlSplitter = QtGui.QSplitter(self.MainContent)
|
||||
mainWindow.setCentralWidget(self.mainContent)
|
||||
self.controlSplitter = QtGui.QSplitter(self.mainContent)
|
||||
self.controlSplitter.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.controlSplitter.setObjectName(u'controlSplitter')
|
||||
self.mainContentLayout.addWidget(self.controlSplitter)
|
||||
@ -93,31 +94,31 @@ class Ui_MainWindow(object):
|
||||
QtCore.QVariant(True)).toBool()
|
||||
self.liveController.panel.setVisible(liveVisible)
|
||||
# Create menu
|
||||
self.MenuBar = QtGui.QMenuBar(mainWindow)
|
||||
self.MenuBar.setObjectName(u'MenuBar')
|
||||
self.FileMenu = QtGui.QMenu(self.MenuBar)
|
||||
self.FileMenu.setObjectName(u'FileMenu')
|
||||
self.FileImportMenu = QtGui.QMenu(self.FileMenu)
|
||||
self.FileImportMenu.setObjectName(u'FileImportMenu')
|
||||
self.FileExportMenu = QtGui.QMenu(self.FileMenu)
|
||||
self.FileExportMenu.setObjectName(u'FileExportMenu')
|
||||
self.menuBar = QtGui.QMenuBar(mainWindow)
|
||||
self.menuBar.setObjectName(u'menuBar')
|
||||
self.fileMenu = QtGui.QMenu(self.menuBar)
|
||||
self.fileMenu.setObjectName(u'fileMenu')
|
||||
self.fileImportMenu = QtGui.QMenu(self.fileMenu)
|
||||
self.fileImportMenu.setObjectName(u'fileImportMenu')
|
||||
self.fileExportMenu = QtGui.QMenu(self.fileMenu)
|
||||
self.fileExportMenu.setObjectName(u'fileExportMenu')
|
||||
# View Menu
|
||||
self.viewMenu = QtGui.QMenu(self.MenuBar)
|
||||
self.viewMenu = QtGui.QMenu(self.menuBar)
|
||||
self.viewMenu.setObjectName(u'viewMenu')
|
||||
self.ViewModeMenu = QtGui.QMenu(self.viewMenu)
|
||||
self.ViewModeMenu.setObjectName(u'ViewModeMenu')
|
||||
self.viewModeMenu = QtGui.QMenu(self.viewMenu)
|
||||
self.viewModeMenu.setObjectName(u'viewModeMenu')
|
||||
# Tools Menu
|
||||
self.ToolsMenu = QtGui.QMenu(self.MenuBar)
|
||||
self.ToolsMenu.setObjectName(u'ToolsMenu')
|
||||
self.toolsMenu = QtGui.QMenu(self.menuBar)
|
||||
self.toolsMenu.setObjectName(u'toolsMenu')
|
||||
# Settings Menu
|
||||
self.SettingsMenu = QtGui.QMenu(self.MenuBar)
|
||||
self.SettingsMenu.setObjectName(u'SettingsMenu')
|
||||
self.SettingsLanguageMenu = QtGui.QMenu(self.SettingsMenu)
|
||||
self.SettingsLanguageMenu.setObjectName(u'SettingsLanguageMenu')
|
||||
self.settingsMenu = QtGui.QMenu(self.menuBar)
|
||||
self.settingsMenu.setObjectName(u'settingsMenu')
|
||||
self.settingsLanguageMenu = QtGui.QMenu(self.settingsMenu)
|
||||
self.settingsLanguageMenu.setObjectName(u'settingsLanguageMenu')
|
||||
# Help Menu
|
||||
self.HelpMenu = QtGui.QMenu(self.MenuBar)
|
||||
self.HelpMenu.setObjectName(u'HelpMenu')
|
||||
mainWindow.setMenuBar(self.MenuBar)
|
||||
self.helpMenu = QtGui.QMenu(self.menuBar)
|
||||
self.helpMenu.setObjectName(u'helpMenu')
|
||||
mainWindow.setMenuBar(self.menuBar)
|
||||
self.statusBar = QtGui.QStatusBar(mainWindow)
|
||||
self.statusBar.setObjectName(u'statusBar')
|
||||
mainWindow.setStatusBar(self.statusBar)
|
||||
@ -134,17 +135,17 @@ class Ui_MainWindow(object):
|
||||
u'mediaManagerDock', u':/system/system_mediamanager.png')
|
||||
self.mediaManagerDock.setStyleSheet(MEDIA_MANAGER_STYLE)
|
||||
# Create the media toolbox
|
||||
self.MediaToolBox = QtGui.QToolBox(self.mediaManagerDock)
|
||||
self.MediaToolBox.setObjectName(u'MediaToolBox')
|
||||
self.mediaManagerDock.setWidget(self.MediaToolBox)
|
||||
self.mediaToolBox = QtGui.QToolBox(self.mediaManagerDock)
|
||||
self.mediaToolBox.setObjectName(u'mediaToolBox')
|
||||
self.mediaManagerDock.setWidget(self.mediaToolBox)
|
||||
mainWindow.addDockWidget(QtCore.Qt.LeftDockWidgetArea,
|
||||
self.mediaManagerDock)
|
||||
# Create the service manager
|
||||
self.serviceManagerDock = OpenLPDockWidget(mainWindow,
|
||||
u'serviceManagerDock', u':/system/system_servicemanager.png')
|
||||
self.ServiceManagerContents = ServiceManager(mainWindow,
|
||||
self.serviceManagerContents = ServiceManager(mainWindow,
|
||||
self.serviceManagerDock)
|
||||
self.serviceManagerDock.setWidget(self.ServiceManagerContents)
|
||||
self.serviceManagerDock.setWidget(self.serviceManagerContents)
|
||||
mainWindow.addDockWidget(QtCore.Qt.RightDockWidgetArea,
|
||||
self.serviceManagerDock)
|
||||
# Create the theme manager
|
||||
@ -159,157 +160,162 @@ class Ui_MainWindow(object):
|
||||
# Create the menu items
|
||||
action_list = ActionList.get_instance()
|
||||
action_list.add_category(UiStrings().File, CategoryOrder.standardMenu)
|
||||
self.FileNewItem = shortcut_action(mainWindow, u'FileNewItem',
|
||||
self.fileNewItem = shortcut_action(mainWindow, u'fileNewItem',
|
||||
[QtGui.QKeySequence(u'Ctrl+N')],
|
||||
self.ServiceManagerContents.onNewServiceClicked,
|
||||
self.serviceManagerContents.onNewServiceClicked,
|
||||
u':/general/general_new.png', category=UiStrings().File)
|
||||
self.FileOpenItem = shortcut_action(mainWindow, u'FileOpenItem',
|
||||
self.fileOpenItem = shortcut_action(mainWindow, u'fileOpenItem',
|
||||
[QtGui.QKeySequence(u'Ctrl+O')],
|
||||
self.ServiceManagerContents.onLoadServiceClicked,
|
||||
self.serviceManagerContents.onLoadServiceClicked,
|
||||
u':/general/general_open.png', category=UiStrings().File)
|
||||
self.FileSaveItem = shortcut_action(mainWindow, u'FileSaveItem',
|
||||
self.fileSaveItem = shortcut_action(mainWindow, u'fileSaveItem',
|
||||
[QtGui.QKeySequence(u'Ctrl+S')],
|
||||
self.ServiceManagerContents.saveFile,
|
||||
self.serviceManagerContents.saveFile,
|
||||
u':/general/general_save.png', category=UiStrings().File)
|
||||
self.FileSaveAsItem = shortcut_action(mainWindow, u'FileSaveAsItem',
|
||||
self.fileSaveAsItem = shortcut_action(mainWindow, u'fileSaveAsItem',
|
||||
[QtGui.QKeySequence(u'Ctrl+Shift+S')],
|
||||
self.ServiceManagerContents.saveFileAs, category=UiStrings().File)
|
||||
self.serviceManagerContents.saveFileAs, category=UiStrings().File)
|
||||
self.printServiceOrderItem = shortcut_action(mainWindow,
|
||||
u'printServiceItem', [QtGui.QKeySequence(u'Ctrl+P')],
|
||||
self.ServiceManagerContents.printServiceOrder,
|
||||
self.serviceManagerContents.printServiceOrder,
|
||||
category=UiStrings().File)
|
||||
self.FileExitItem = shortcut_action(mainWindow, u'FileExitItem',
|
||||
self.fileExitItem = shortcut_action(mainWindow, u'FileExitItem',
|
||||
[QtGui.QKeySequence(u'Alt+F4')], mainWindow.close,
|
||||
u':/system/system_exit.png', category=UiStrings().File)
|
||||
action_list.add_category(UiStrings().Import, CategoryOrder.standardMenu)
|
||||
self.ImportThemeItem = base_action(
|
||||
mainWindow, u'ImportThemeItem', UiStrings().Import)
|
||||
self.ImportLanguageItem = base_action(
|
||||
mainWindow, u'ImportLanguageItem')#, UiStrings().Import)
|
||||
self.importThemeItem = base_action(
|
||||
mainWindow, u'importThemeItem', UiStrings().Import)
|
||||
self.importLanguageItem = base_action(
|
||||
mainWindow, u'importLanguageItem')#, UiStrings().Import)
|
||||
action_list.add_category(UiStrings().Export, CategoryOrder.standardMenu)
|
||||
self.ExportThemeItem = base_action(
|
||||
mainWindow, u'ExportThemeItem', UiStrings().Export)
|
||||
self.ExportLanguageItem = base_action(
|
||||
mainWindow, u'ExportLanguageItem')#, UiStrings().Export)
|
||||
self.exportThemeItem = base_action(
|
||||
mainWindow, u'exportThemeItem', UiStrings().Export)
|
||||
self.exportLanguageItem = base_action(
|
||||
mainWindow, u'exportLanguageItem')#, UiStrings().Export)
|
||||
action_list.add_category(UiStrings().View, CategoryOrder.standardMenu)
|
||||
self.ViewMediaManagerItem = shortcut_action(mainWindow,
|
||||
u'ViewMediaManagerItem', [QtGui.QKeySequence(u'F8')],
|
||||
self.viewMediaManagerItem = shortcut_action(mainWindow,
|
||||
u'viewMediaManagerItem', [QtGui.QKeySequence(u'F8')],
|
||||
self.toggleMediaManager, u':/system/system_mediamanager.png',
|
||||
self.mediaManagerDock.isVisible(), UiStrings().View)
|
||||
self.ViewThemeManagerItem = shortcut_action(mainWindow,
|
||||
u'ViewThemeManagerItem', [QtGui.QKeySequence(u'F10')],
|
||||
self.viewThemeManagerItem = shortcut_action(mainWindow,
|
||||
u'viewThemeManagerItem', [QtGui.QKeySequence(u'F10')],
|
||||
self.toggleThemeManager, u':/system/system_thememanager.png',
|
||||
self.themeManagerDock.isVisible(), UiStrings().View)
|
||||
self.ViewServiceManagerItem = shortcut_action(mainWindow,
|
||||
u'ViewServiceManagerItem', [QtGui.QKeySequence(u'F9')],
|
||||
self.viewServiceManagerItem = shortcut_action(mainWindow,
|
||||
u'viewServiceManagerItem', [QtGui.QKeySequence(u'F9')],
|
||||
self.toggleServiceManager, u':/system/system_servicemanager.png',
|
||||
self.serviceManagerDock.isVisible(), UiStrings().View)
|
||||
self.ViewPreviewPanel = shortcut_action(mainWindow,
|
||||
u'ViewPreviewPanel', [QtGui.QKeySequence(u'F11')],
|
||||
self.viewPreviewPanel = shortcut_action(mainWindow,
|
||||
u'viewPreviewPanel', [QtGui.QKeySequence(u'F11')],
|
||||
self.setPreviewPanelVisibility, checked=previewVisible,
|
||||
category=UiStrings().View)
|
||||
self.ViewLivePanel = shortcut_action(mainWindow, u'ViewLivePanel',
|
||||
self.viewLivePanel = shortcut_action(mainWindow, u'viewLivePanel',
|
||||
[QtGui.QKeySequence(u'F12')], self.setLivePanelVisibility,
|
||||
checked=liveVisible, category=UiStrings().View)
|
||||
action_list.add_category(UiStrings().ViewMode, CategoryOrder.standardMenu)
|
||||
self.ModeDefaultItem = checkable_action(
|
||||
mainWindow, u'ModeDefaultItem', category=UiStrings().ViewMode)
|
||||
self.ModeSetupItem = checkable_action(
|
||||
mainWindow, u'ModeLiveItem', category=UiStrings().ViewMode)
|
||||
self.ModeLiveItem = checkable_action(
|
||||
mainWindow, u'ModeLiveItem', True, UiStrings().ViewMode)
|
||||
self.ModeGroup = QtGui.QActionGroup(mainWindow)
|
||||
self.ModeGroup.addAction(self.ModeDefaultItem)
|
||||
self.ModeGroup.addAction(self.ModeSetupItem)
|
||||
self.ModeGroup.addAction(self.ModeLiveItem)
|
||||
self.ModeDefaultItem.setChecked(True)
|
||||
self.modeDefaultItem = checkable_action(
|
||||
mainWindow, u'modeDefaultItem', category=UiStrings().ViewMode)
|
||||
self.modeSetupItem = checkable_action(
|
||||
mainWindow, u'modeLiveItem', category=UiStrings().ViewMode)
|
||||
self.modeLiveItem = checkable_action(
|
||||
mainWindow, u'modeLiveItem', True, UiStrings().ViewMode)
|
||||
self.modeGroup = QtGui.QActionGroup(mainWindow)
|
||||
self.modeGroup.addAction(self.modeDefaultItem)
|
||||
self.modeGroup.addAction(self.modeSetupItem)
|
||||
self.modeGroup.addAction(self.modeLiveItem)
|
||||
self.modeDefaultItem.setChecked(True)
|
||||
action_list.add_category(UiStrings().Tools, CategoryOrder.standardMenu)
|
||||
self.ToolsAddToolItem = icon_action(mainWindow, u'ToolsAddToolItem',
|
||||
self.toolsAddToolItem = icon_action(mainWindow, u'toolsAddToolItem',
|
||||
u':/tools/tools_add.png', category=UiStrings().Tools)
|
||||
self.ToolsOpenDataFolder = icon_action(mainWindow,
|
||||
u'ToolsOpenDataFolder', u':/general/general_open.png',
|
||||
self.toolsOpenDataFolder = icon_action(mainWindow,
|
||||
u'toolsOpenDataFolder', u':/general/general_open.png',
|
||||
category=UiStrings().Tools)
|
||||
self.updateThemeImages = base_action(mainWindow,
|
||||
u'updateThemeImages', category=UiStrings().Tools)
|
||||
action_list.add_category(UiStrings().Settings, CategoryOrder.standardMenu)
|
||||
self.settingsPluginListItem = shortcut_action(mainWindow,
|
||||
u'settingsPluginListItem', [QtGui.QKeySequence(u'Alt+F7')],
|
||||
self.onPluginItemClicked, u':/system/settings_plugin_list.png',
|
||||
category=UiStrings().Settings)
|
||||
# i18n Language Items
|
||||
self.AutoLanguageItem = checkable_action(mainWindow,
|
||||
u'AutoLanguageItem', LanguageManager.auto_language)
|
||||
self.LanguageGroup = QtGui.QActionGroup(mainWindow)
|
||||
self.LanguageGroup.setExclusive(True)
|
||||
self.LanguageGroup.setObjectName(u'LanguageGroup')
|
||||
add_actions(self.LanguageGroup, [self.AutoLanguageItem])
|
||||
self.autoLanguageItem = checkable_action(mainWindow,
|
||||
u'autoLanguageItem', LanguageManager.auto_language)
|
||||
self.languageGroup = QtGui.QActionGroup(mainWindow)
|
||||
self.languageGroup.setExclusive(True)
|
||||
self.languageGroup.setObjectName(u'languageGroup')
|
||||
add_actions(self.languageGroup, [self.autoLanguageItem])
|
||||
qmList = LanguageManager.get_qm_list()
|
||||
savedLanguage = LanguageManager.get_language()
|
||||
for key in sorted(qmList.keys()):
|
||||
languageItem = checkable_action(
|
||||
mainWindow, key, qmList[key] == savedLanguage)
|
||||
add_actions(self.LanguageGroup, [languageItem])
|
||||
self.SettingsShortcutsItem = icon_action(mainWindow,
|
||||
u'SettingsShortcutsItem',
|
||||
add_actions(self.languageGroup, [languageItem])
|
||||
self.settingsShortcutsItem = icon_action(mainWindow,
|
||||
u'settingsShortcutsItem',
|
||||
u':/system/system_configure_shortcuts.png',
|
||||
category=UiStrings().Settings)
|
||||
self.DisplayTagItem = icon_action(mainWindow,
|
||||
u'DisplayTagItem', u':/system/tag_editor.png',
|
||||
self.displayTagItem = icon_action(mainWindow,
|
||||
u'displayTagItem', u':/system/tag_editor.png',
|
||||
category=UiStrings().Settings)
|
||||
self.SettingsConfigureItem = icon_action(mainWindow,
|
||||
u'SettingsConfigureItem', u':/system/system_settings.png',
|
||||
self.settingsConfigureItem = icon_action(mainWindow,
|
||||
u'settingsConfigureItem', u':/system/system_settings.png',
|
||||
category=UiStrings().Settings)
|
||||
action_list.add_category(UiStrings().Help, CategoryOrder.standardMenu)
|
||||
self.HelpDocumentationItem = icon_action(mainWindow,
|
||||
u'HelpDocumentationItem', u':/system/system_help_contents.png',
|
||||
self.helpDocumentationItem = icon_action(mainWindow,
|
||||
u'helpDocumentationItem', u':/system/system_help_contents.png',
|
||||
category=None)#UiStrings().Help)
|
||||
self.HelpDocumentationItem.setEnabled(False)
|
||||
self.HelpAboutItem = shortcut_action(mainWindow, u'HelpAboutItem',
|
||||
self.helpDocumentationItem.setEnabled(False)
|
||||
self.helpAboutItem = shortcut_action(mainWindow, u'helpAboutItem',
|
||||
[QtGui.QKeySequence(u'Ctrl+F1')], self.onHelpAboutItemClicked,
|
||||
u':/system/system_about.png', category=UiStrings().Help)
|
||||
self.HelpOnlineHelpItem = base_action(
|
||||
mainWindow, u'HelpOnlineHelpItem', category=UiStrings().Help)
|
||||
self.helpOnlineHelpItem = shortcut_action(
|
||||
mainWindow, u'helpOnlineHelpItem', [QtGui.QKeySequence(u'F1')],
|
||||
self.onHelpOnlineHelpClicked, u':/system/system_online_help.png',
|
||||
category=UiStrings().Help)
|
||||
self.helpWebSiteItem = base_action(
|
||||
mainWindow, u'helpWebSiteItem', category=UiStrings().Help)
|
||||
add_actions(self.FileImportMenu,
|
||||
(self.ImportThemeItem, self.ImportLanguageItem))
|
||||
add_actions(self.FileExportMenu,
|
||||
(self.ExportThemeItem, self.ExportLanguageItem))
|
||||
self.FileMenuActions = (self.FileNewItem, self.FileOpenItem,
|
||||
self.FileSaveItem, self.FileSaveAsItem, None,
|
||||
self.printServiceOrderItem, None, self.FileImportMenu.menuAction(),
|
||||
self.FileExportMenu.menuAction(), self.FileExitItem)
|
||||
add_actions(self.ViewModeMenu, (self.ModeDefaultItem,
|
||||
self.ModeSetupItem, self.ModeLiveItem))
|
||||
add_actions(self.viewMenu, (self.ViewModeMenu.menuAction(),
|
||||
None, self.ViewMediaManagerItem, self.ViewServiceManagerItem,
|
||||
self.ViewThemeManagerItem, None, self.ViewPreviewPanel,
|
||||
self.ViewLivePanel))
|
||||
add_actions(self.fileImportMenu,
|
||||
(self.importThemeItem, self.importLanguageItem))
|
||||
add_actions(self.fileExportMenu,
|
||||
(self.exportThemeItem, self.exportLanguageItem))
|
||||
self.fileMenuActions = (self.fileNewItem, self.fileOpenItem,
|
||||
self.fileSaveItem, self.fileSaveAsItem, None,
|
||||
self.printServiceOrderItem, None, self.fileImportMenu.menuAction(),
|
||||
self.fileExportMenu.menuAction(), self.fileExitItem)
|
||||
add_actions(self.viewModeMenu, (self.modeDefaultItem,
|
||||
self.modeSetupItem, self.modeLiveItem))
|
||||
add_actions(self.viewMenu, (self.viewModeMenu.menuAction(),
|
||||
None, self.viewMediaManagerItem, self.viewServiceManagerItem,
|
||||
self.viewThemeManagerItem, None, self.viewPreviewPanel,
|
||||
self.viewLivePanel))
|
||||
# i18n add Language Actions
|
||||
add_actions(self.SettingsLanguageMenu, (self.AutoLanguageItem, None))
|
||||
add_actions(self.SettingsLanguageMenu, self.LanguageGroup.actions())
|
||||
add_actions(self.SettingsMenu, (self.settingsPluginListItem,
|
||||
self.SettingsLanguageMenu.menuAction(), None,
|
||||
self.DisplayTagItem, self.SettingsShortcutsItem,
|
||||
self.SettingsConfigureItem))
|
||||
add_actions(self.ToolsMenu, (self.ToolsAddToolItem, None))
|
||||
add_actions(self.ToolsMenu, (self.ToolsOpenDataFolder, None))
|
||||
add_actions(self.HelpMenu, (self.HelpDocumentationItem,
|
||||
self.HelpOnlineHelpItem, None, self.helpWebSiteItem,
|
||||
self.HelpAboutItem))
|
||||
add_actions(self.MenuBar, (self.FileMenu.menuAction(),
|
||||
self.viewMenu.menuAction(), self.ToolsMenu.menuAction(),
|
||||
self.SettingsMenu.menuAction(), self.HelpMenu.menuAction()))
|
||||
add_actions(self.settingsLanguageMenu, (self.autoLanguageItem, None))
|
||||
add_actions(self.settingsLanguageMenu, self.languageGroup.actions())
|
||||
add_actions(self.settingsMenu, (self.settingsPluginListItem,
|
||||
self.settingsLanguageMenu.menuAction(), None,
|
||||
self.displayTagItem, self.settingsShortcutsItem,
|
||||
self.settingsConfigureItem))
|
||||
add_actions(self.toolsMenu, (self.toolsAddToolItem, None))
|
||||
add_actions(self.toolsMenu, (self.toolsOpenDataFolder, None))
|
||||
add_actions(self.toolsMenu, [self.updateThemeImages])
|
||||
add_actions(self.helpMenu, (self.helpDocumentationItem,
|
||||
self.helpOnlineHelpItem, None, self.helpWebSiteItem,
|
||||
self.helpAboutItem))
|
||||
add_actions(self.menuBar, (self.fileMenu.menuAction(),
|
||||
self.viewMenu.menuAction(), self.toolsMenu.menuAction(),
|
||||
self.settingsMenu.menuAction(), self.helpMenu.menuAction()))
|
||||
# Initialise the translation
|
||||
self.retranslateUi(mainWindow)
|
||||
self.MediaToolBox.setCurrentIndex(0)
|
||||
self.mediaToolBox.setCurrentIndex(0)
|
||||
# Connect up some signals and slots
|
||||
QtCore.QObject.connect(self.FileMenu,
|
||||
QtCore.QObject.connect(self.fileMenu,
|
||||
QtCore.SIGNAL(u'aboutToShow()'), self.updateFileMenu)
|
||||
QtCore.QMetaObject.connectSlotsByName(mainWindow)
|
||||
# Hide the entry, as it does not have any functionality yet.
|
||||
self.ToolsAddToolItem.setVisible(False)
|
||||
self.ImportLanguageItem.setVisible(False)
|
||||
self.ExportLanguageItem.setVisible(False)
|
||||
self.HelpDocumentationItem.setVisible(False)
|
||||
self.toolsAddToolItem.setVisible(False)
|
||||
self.importLanguageItem.setVisible(False)
|
||||
self.exportLanguageItem.setVisible(False)
|
||||
self.helpDocumentationItem.setVisible(False)
|
||||
|
||||
def retranslateUi(self, mainWindow):
|
||||
"""
|
||||
@ -317,131 +323,133 @@ class Ui_MainWindow(object):
|
||||
"""
|
||||
mainWindow.mainTitle = UiStrings().OLPV2
|
||||
mainWindow.setWindowTitle(mainWindow.mainTitle)
|
||||
self.FileMenu.setTitle(translate('OpenLP.MainWindow', '&File'))
|
||||
self.FileImportMenu.setTitle(translate('OpenLP.MainWindow', '&Import'))
|
||||
self.FileExportMenu.setTitle(translate('OpenLP.MainWindow', '&Export'))
|
||||
self.fileMenu.setTitle(translate('OpenLP.MainWindow', '&File'))
|
||||
self.fileImportMenu.setTitle(translate('OpenLP.MainWindow', '&Import'))
|
||||
self.fileExportMenu.setTitle(translate('OpenLP.MainWindow', '&Export'))
|
||||
self.viewMenu.setTitle(translate('OpenLP.MainWindow', '&View'))
|
||||
self.ViewModeMenu.setTitle(translate('OpenLP.MainWindow', 'M&ode'))
|
||||
self.ToolsMenu.setTitle(translate('OpenLP.MainWindow', '&Tools'))
|
||||
self.SettingsMenu.setTitle(translate('OpenLP.MainWindow', '&Settings'))
|
||||
self.SettingsLanguageMenu.setTitle(translate('OpenLP.MainWindow',
|
||||
self.viewModeMenu.setTitle(translate('OpenLP.MainWindow', 'M&ode'))
|
||||
self.toolsMenu.setTitle(translate('OpenLP.MainWindow', '&Tools'))
|
||||
self.settingsMenu.setTitle(translate('OpenLP.MainWindow', '&Settings'))
|
||||
self.settingsLanguageMenu.setTitle(translate('OpenLP.MainWindow',
|
||||
'&Language'))
|
||||
self.HelpMenu.setTitle(translate('OpenLP.MainWindow', '&Help'))
|
||||
self.helpMenu.setTitle(translate('OpenLP.MainWindow', '&Help'))
|
||||
self.mediaManagerDock.setWindowTitle(
|
||||
translate('OpenLP.MainWindow', 'Media Manager'))
|
||||
self.serviceManagerDock.setWindowTitle(
|
||||
translate('OpenLP.MainWindow', 'Service Manager'))
|
||||
self.themeManagerDock.setWindowTitle(
|
||||
translate('OpenLP.MainWindow', 'Theme Manager'))
|
||||
self.FileNewItem.setText(translate('OpenLP.MainWindow', '&New'))
|
||||
self.FileNewItem.setToolTip(UiStrings().NewService)
|
||||
self.FileNewItem.setStatusTip(UiStrings().CreateService)
|
||||
self.FileOpenItem.setText(translate('OpenLP.MainWindow', '&Open'))
|
||||
self.FileOpenItem.setToolTip(UiStrings().OpenService)
|
||||
self.FileOpenItem.setStatusTip(
|
||||
self.fileNewItem.setText(translate('OpenLP.MainWindow', '&New'))
|
||||
self.fileNewItem.setToolTip(UiStrings().NewService)
|
||||
self.fileNewItem.setStatusTip(UiStrings().CreateService)
|
||||
self.fileOpenItem.setText(translate('OpenLP.MainWindow', '&Open'))
|
||||
self.fileOpenItem.setToolTip(UiStrings().OpenService)
|
||||
self.fileOpenItem.setStatusTip(
|
||||
translate('OpenLP.MainWindow', 'Open an existing service.'))
|
||||
self.FileSaveItem.setText(translate('OpenLP.MainWindow', '&Save'))
|
||||
self.FileSaveItem.setToolTip(UiStrings().SaveService)
|
||||
self.FileSaveItem.setStatusTip(
|
||||
self.fileSaveItem.setText(translate('OpenLP.MainWindow', '&Save'))
|
||||
self.fileSaveItem.setToolTip(UiStrings().SaveService)
|
||||
self.fileSaveItem.setStatusTip(
|
||||
translate('OpenLP.MainWindow', 'Save the current service to disk.'))
|
||||
self.FileSaveAsItem.setText(
|
||||
self.fileSaveAsItem.setText(
|
||||
translate('OpenLP.MainWindow', 'Save &As...'))
|
||||
self.FileSaveAsItem.setToolTip(
|
||||
self.fileSaveAsItem.setToolTip(
|
||||
translate('OpenLP.MainWindow', 'Save Service As'))
|
||||
self.FileSaveAsItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
self.fileSaveAsItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Save the current service under a new name.'))
|
||||
self.printServiceOrderItem.setText(UiStrings().PrintServiceOrder)
|
||||
self.printServiceOrderItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Print the current Service Order.'))
|
||||
self.FileExitItem.setText(
|
||||
self.fileExitItem.setText(
|
||||
translate('OpenLP.MainWindow', 'E&xit'))
|
||||
self.FileExitItem.setStatusTip(
|
||||
self.fileExitItem.setStatusTip(
|
||||
translate('OpenLP.MainWindow', 'Quit OpenLP'))
|
||||
self.ImportThemeItem.setText(
|
||||
self.importThemeItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Theme'))
|
||||
self.ImportLanguageItem.setText(
|
||||
self.importLanguageItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Language'))
|
||||
self.ExportThemeItem.setText(
|
||||
self.exportThemeItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Theme'))
|
||||
self.ExportLanguageItem.setText(
|
||||
self.exportLanguageItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Language'))
|
||||
self.SettingsShortcutsItem.setText(
|
||||
self.settingsShortcutsItem.setText(
|
||||
translate('OpenLP.MainWindow', 'Configure &Shortcuts...'))
|
||||
self.DisplayTagItem.setText(
|
||||
self.displayTagItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Configure Display Tags'))
|
||||
self.SettingsConfigureItem.setText(
|
||||
self.settingsConfigureItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Configure OpenLP...'))
|
||||
self.ViewMediaManagerItem.setText(
|
||||
self.viewMediaManagerItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Media Manager'))
|
||||
self.ViewMediaManagerItem.setToolTip(
|
||||
self.viewMediaManagerItem.setToolTip(
|
||||
translate('OpenLP.MainWindow', 'Toggle Media Manager'))
|
||||
self.ViewMediaManagerItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
self.viewMediaManagerItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Toggle the visibility of the media manager.'))
|
||||
self.ViewThemeManagerItem.setText(
|
||||
self.viewThemeManagerItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Theme Manager'))
|
||||
self.ViewThemeManagerItem.setToolTip(
|
||||
self.viewThemeManagerItem.setToolTip(
|
||||
translate('OpenLP.MainWindow', 'Toggle Theme Manager'))
|
||||
self.ViewThemeManagerItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
self.viewThemeManagerItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Toggle the visibility of the theme manager.'))
|
||||
self.ViewServiceManagerItem.setText(
|
||||
self.viewServiceManagerItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Service Manager'))
|
||||
self.ViewServiceManagerItem.setToolTip(
|
||||
self.viewServiceManagerItem.setToolTip(
|
||||
translate('OpenLP.MainWindow', 'Toggle Service Manager'))
|
||||
self.ViewServiceManagerItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
self.viewServiceManagerItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Toggle the visibility of the service manager.'))
|
||||
self.ViewPreviewPanel.setText(
|
||||
self.viewPreviewPanel.setText(
|
||||
translate('OpenLP.MainWindow', '&Preview Panel'))
|
||||
self.ViewPreviewPanel.setToolTip(
|
||||
self.viewPreviewPanel.setToolTip(
|
||||
translate('OpenLP.MainWindow', 'Toggle Preview Panel'))
|
||||
self.ViewPreviewPanel.setStatusTip(translate('OpenLP.MainWindow',
|
||||
self.viewPreviewPanel.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Toggle the visibility of the preview panel.'))
|
||||
self.ViewLivePanel.setText(
|
||||
self.viewLivePanel.setText(
|
||||
translate('OpenLP.MainWindow', '&Live Panel'))
|
||||
self.ViewLivePanel.setToolTip(
|
||||
self.viewLivePanel.setToolTip(
|
||||
translate('OpenLP.MainWindow', 'Toggle Live Panel'))
|
||||
self.ViewLivePanel.setStatusTip(translate('OpenLP.MainWindow',
|
||||
self.viewLivePanel.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Toggle the visibility of the live panel.'))
|
||||
self.settingsPluginListItem.setText(translate('OpenLP.MainWindow',
|
||||
'&Plugin List'))
|
||||
self.settingsPluginListItem.setStatusTip(
|
||||
translate('OpenLP.MainWindow', 'List the Plugins'))
|
||||
self.HelpDocumentationItem.setText(
|
||||
self.helpDocumentationItem.setText(
|
||||
translate('OpenLP.MainWindow', '&User Guide'))
|
||||
self.HelpAboutItem.setText(translate('OpenLP.MainWindow', '&About'))
|
||||
self.HelpAboutItem.setStatusTip(
|
||||
self.helpAboutItem.setText(translate('OpenLP.MainWindow', '&About'))
|
||||
self.helpAboutItem.setStatusTip(
|
||||
translate('OpenLP.MainWindow', 'More information about OpenLP'))
|
||||
self.HelpOnlineHelpItem.setText(
|
||||
self.helpOnlineHelpItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Online Help'))
|
||||
# Uncomment after 1.9.5 beta string freeze
|
||||
#self.HelpOnlineHelpItem.setShortcut(
|
||||
# translate('OpenLP.MainWindow', 'F1'))
|
||||
self.helpWebSiteItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Web Site'))
|
||||
for item in self.LanguageGroup.actions():
|
||||
for item in self.languageGroup.actions():
|
||||
item.setText(item.objectName())
|
||||
item.setStatusTip(unicode(translate('OpenLP.MainWindow',
|
||||
'Set the interface language to %s')) % item.objectName())
|
||||
self.AutoLanguageItem.setText(
|
||||
self.autoLanguageItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Autodetect'))
|
||||
self.AutoLanguageItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
self.autoLanguageItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Use the system language, if available.'))
|
||||
self.ToolsAddToolItem.setText(
|
||||
self.toolsAddToolItem.setText(
|
||||
translate('OpenLP.MainWindow', 'Add &Tool...'))
|
||||
self.ToolsAddToolItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
self.toolsAddToolItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Add an application to the list of tools.'))
|
||||
self.ToolsOpenDataFolder.setText(
|
||||
self.toolsOpenDataFolder.setText(
|
||||
translate('OpenLP.MainWindow', 'Open &Data Folder...'))
|
||||
self.ToolsOpenDataFolder.setStatusTip(translate('OpenLP.MainWindow',
|
||||
self.toolsOpenDataFolder.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Open the folder where songs, bibles and other data resides.'))
|
||||
self.ModeDefaultItem.setText(
|
||||
self.updateThemeImages.setText(
|
||||
translate('OpenLP.MainWindow', 'Update Theme Images'))
|
||||
self.updateThemeImages.setStatusTip(
|
||||
translate('OpenLP.MainWindow', 'Update the preview images for all '
|
||||
'themes.'))
|
||||
self.modeDefaultItem.setText(
|
||||
translate('OpenLP.MainWindow', '&Default'))
|
||||
self.ModeDefaultItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
self.modeDefaultItem.setStatusTip(translate('OpenLP.MainWindow',
|
||||
'Set the view mode back to the default.'))
|
||||
self.ModeSetupItem.setText(translate('OpenLP.MainWindow', '&Setup'))
|
||||
self.ModeSetupItem.setStatusTip(
|
||||
self.modeSetupItem.setText(translate('OpenLP.MainWindow', '&Setup'))
|
||||
self.modeSetupItem.setStatusTip(
|
||||
translate('OpenLP.MainWindow', 'Set the view mode to Setup.'))
|
||||
self.ModeLiveItem.setText(translate('OpenLP.MainWindow', '&Live'))
|
||||
self.ModeLiveItem.setStatusTip(
|
||||
self.modeLiveItem.setText(translate('OpenLP.MainWindow', '&Live'))
|
||||
self.modeLiveItem.setStatusTip(
|
||||
translate('OpenLP.MainWindow', 'Set the view mode to Live.'))
|
||||
|
||||
|
||||
@ -484,40 +492,40 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
self.updateFileMenu()
|
||||
self.pluginForm = PluginForm(self)
|
||||
# Set up signals and slots
|
||||
QtCore.QObject.connect(self.ImportThemeItem,
|
||||
QtCore.QObject.connect(self.importThemeItem,
|
||||
QtCore.SIGNAL(u'triggered()'),
|
||||
self.themeManagerContents.onImportTheme)
|
||||
QtCore.QObject.connect(self.ExportThemeItem,
|
||||
QtCore.QObject.connect(self.exportThemeItem,
|
||||
QtCore.SIGNAL(u'triggered()'),
|
||||
self.themeManagerContents.onExportTheme)
|
||||
QtCore.QObject.connect(self.mediaManagerDock,
|
||||
QtCore.SIGNAL(u'visibilityChanged(bool)'),
|
||||
self.ViewMediaManagerItem.setChecked)
|
||||
self.viewMediaManagerItem.setChecked)
|
||||
QtCore.QObject.connect(self.serviceManagerDock,
|
||||
QtCore.SIGNAL(u'visibilityChanged(bool)'),
|
||||
self.ViewServiceManagerItem.setChecked)
|
||||
self.viewServiceManagerItem.setChecked)
|
||||
QtCore.QObject.connect(self.themeManagerDock,
|
||||
QtCore.SIGNAL(u'visibilityChanged(bool)'),
|
||||
self.ViewThemeManagerItem.setChecked)
|
||||
self.viewThemeManagerItem.setChecked)
|
||||
QtCore.QObject.connect(self.helpWebSiteItem,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onHelpWebSiteClicked)
|
||||
QtCore.QObject.connect(self.HelpOnlineHelpItem,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onHelpOnLineHelpClicked)
|
||||
QtCore.QObject.connect(self.ToolsOpenDataFolder,
|
||||
QtCore.QObject.connect(self.toolsOpenDataFolder,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onToolsOpenDataFolderClicked)
|
||||
QtCore.QObject.connect(self.DisplayTagItem,
|
||||
QtCore.QObject.connect(self.updateThemeImages,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onUpdateThemeImages)
|
||||
QtCore.QObject.connect(self.displayTagItem,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onDisplayTagItemClicked)
|
||||
QtCore.QObject.connect(self.SettingsConfigureItem,
|
||||
QtCore.QObject.connect(self.settingsConfigureItem,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onSettingsConfigureItemClicked)
|
||||
QtCore.QObject.connect(self.SettingsShortcutsItem,
|
||||
QtCore.QObject.connect(self.settingsShortcutsItem,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onSettingsShortcutsItemClicked)
|
||||
# i18n set signals for languages
|
||||
self.LanguageGroup.triggered.connect(LanguageManager.set_language)
|
||||
QtCore.QObject.connect(self.ModeDefaultItem,
|
||||
self.languageGroup.triggered.connect(LanguageManager.set_language)
|
||||
QtCore.QObject.connect(self.modeDefaultItem,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onModeDefaultItemClicked)
|
||||
QtCore.QObject.connect(self.ModeSetupItem,
|
||||
QtCore.QObject.connect(self.modeSetupItem,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onModeSetupItemClicked)
|
||||
QtCore.QObject.connect(self.ModeLiveItem,
|
||||
QtCore.QObject.connect(self.modeLiveItem,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onModeLiveItemClicked)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'theme_update_global'), self.defaultThemeChanged)
|
||||
@ -529,6 +537,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
QtCore.SIGNAL(u'config_screen_changed'), self.screenChanged)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'maindisplay_status_text'), self.showStatusMessage)
|
||||
# Media Manager
|
||||
QtCore.QObject.connect(self.mediaToolBox,
|
||||
QtCore.SIGNAL(u'currentChanged(int)'), self.onMediaToolBoxChanged)
|
||||
Receiver.send_message(u'cursor_busy')
|
||||
# Simple message boxes
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
@ -543,13 +554,13 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
# ThemeManager needs to call Renderer
|
||||
self.renderer = Renderer(self.image_manager, self.themeManagerContents)
|
||||
# Define the media Dock Manager
|
||||
self.mediaDockManager = MediaDockManager(self.MediaToolBox)
|
||||
self.mediaDockManager = MediaDockManager(self.mediaToolBox)
|
||||
log.info(u'Load Plugins')
|
||||
# make the controllers available to the plugins
|
||||
self.pluginHelpers[u'preview'] = self.previewController
|
||||
self.pluginHelpers[u'live'] = self.liveController
|
||||
self.pluginHelpers[u'renderer'] = self.renderer
|
||||
self.pluginHelpers[u'service'] = self.ServiceManagerContents
|
||||
self.pluginHelpers[u'service'] = self.serviceManagerContents
|
||||
self.pluginHelpers[u'settings form'] = self.settingsForm
|
||||
self.pluginHelpers[u'toolbox'] = self.mediaDockManager
|
||||
self.pluginHelpers[u'pluginmanager'] = self.pluginManager
|
||||
@ -565,11 +576,11 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
self.pluginManager.hook_media_manager(self.mediaDockManager)
|
||||
# Call the hook method to pull in import menus.
|
||||
log.info(u'hook menus')
|
||||
self.pluginManager.hook_import_menu(self.FileImportMenu)
|
||||
self.pluginManager.hook_import_menu(self.fileImportMenu)
|
||||
# Call the hook method to pull in export menus.
|
||||
self.pluginManager.hook_export_menu(self.FileExportMenu)
|
||||
self.pluginManager.hook_export_menu(self.fileExportMenu)
|
||||
# Call the hook method to pull in tools menus.
|
||||
self.pluginManager.hook_tools_menu(self.ToolsMenu)
|
||||
self.pluginManager.hook_tools_menu(self.toolsMenu)
|
||||
# Call the initialise method to setup plugins.
|
||||
log.info(u'initialise plugins')
|
||||
self.pluginManager.initialise_plugins()
|
||||
@ -582,7 +593,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
savedPlugin = QtCore.QSettings().value(
|
||||
u'advanced/current media plugin', QtCore.QVariant()).toInt()[0]
|
||||
if savedPlugin != -1:
|
||||
self.MediaToolBox.setCurrentIndex(savedPlugin)
|
||||
self.mediaToolBox.setCurrentIndex(savedPlugin)
|
||||
self.settingsForm.postSetUp()
|
||||
# Once all components are initialised load the Themes
|
||||
log.info(u'Load Themes')
|
||||
@ -590,9 +601,14 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
Receiver.send_message(u'cursor_normal')
|
||||
|
||||
def setAutoLanguage(self, value):
|
||||
self.LanguageGroup.setDisabled(value)
|
||||
self.languageGroup.setDisabled(value)
|
||||
LanguageManager.auto_language = value
|
||||
LanguageManager.set_language(self.LanguageGroup.checkedAction())
|
||||
LanguageManager.set_language(self.languageGroup.checkedAction())
|
||||
|
||||
def onMediaToolBoxChanged(self, index):
|
||||
widget = self.mediaToolBox.widget(index)
|
||||
if widget:
|
||||
widget.onFocus()
|
||||
|
||||
def versionNotice(self, version):
|
||||
"""
|
||||
@ -615,29 +631,25 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
if self.liveController.display.isVisible():
|
||||
self.liveController.display.setFocus()
|
||||
self.activateWindow()
|
||||
# On Windows, arguments contains the entire commandline
|
||||
# So args[0]=='python' args[1]=='openlp.pyw'
|
||||
# Therefore this approach is not going to work
|
||||
# Bypass for now.
|
||||
if len(self.arguments) and os.name != u'nt':
|
||||
if len(self.arguments):
|
||||
args = []
|
||||
for a in self.arguments:
|
||||
args.extend([a])
|
||||
self.ServiceManagerContents.loadFile(unicode(args[0]))
|
||||
self.serviceManagerContents.loadFile(unicode(args[0]))
|
||||
elif QtCore.QSettings().value(
|
||||
self.generalSettingsSection + u'/auto open',
|
||||
QtCore.QVariant(False)).toBool():
|
||||
self.ServiceManagerContents.loadLastFile()
|
||||
self.serviceManagerContents.loadLastFile()
|
||||
view_mode = QtCore.QSettings().value(u'%s/view mode' % \
|
||||
self.generalSettingsSection, u'default')
|
||||
if view_mode == u'default':
|
||||
self.ModeDefaultItem.setChecked(True)
|
||||
self.modeDefaultItem.setChecked(True)
|
||||
elif view_mode == u'setup':
|
||||
self.setViewMode(True, True, False, True, False)
|
||||
self.ModeSetupItem.setChecked(True)
|
||||
self.modeSetupItem.setChecked(True)
|
||||
elif view_mode == u'live':
|
||||
self.setViewMode(False, True, False, False, True)
|
||||
self.ModeLiveItem.setChecked(True)
|
||||
self.modeLiveItem.setChecked(True)
|
||||
|
||||
def firstTime(self):
|
||||
# Import themes if first time
|
||||
@ -690,7 +702,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
import webbrowser
|
||||
webbrowser.open_new(u'http://openlp.org/')
|
||||
|
||||
def onHelpOnLineHelpClicked(self):
|
||||
def onHelpOnlineHelpClicked(self):
|
||||
"""
|
||||
Load the online OpenLP manual
|
||||
"""
|
||||
@ -717,6 +729,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
path = AppLocation.get_data_path()
|
||||
QtGui.QDesktopServices.openUrl(QtCore.QUrl("file:///" + path))
|
||||
|
||||
def onUpdateThemeImages(self):
|
||||
"""
|
||||
Updates the new theme preview images.
|
||||
"""
|
||||
self.themeManagerContents.updatePreviewImages()
|
||||
|
||||
def onDisplayTagItemClicked(self):
|
||||
"""
|
||||
Show the Settings dialog
|
||||
@ -778,25 +796,27 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
|
||||
def screenChanged(self):
|
||||
"""
|
||||
The screen has changed to so tell the displays to update_display
|
||||
their locations
|
||||
The screen has changed so we have to update components such as the
|
||||
renderer.
|
||||
"""
|
||||
log.debug(u'screenChanged')
|
||||
Receiver.send_message(u'cursor_busy')
|
||||
self.image_manager.update_display()
|
||||
self.renderer.update_display()
|
||||
self.liveController.screenSizeChanged()
|
||||
self.previewController.screenSizeChanged()
|
||||
self.liveController.screenSizeChanged()
|
||||
self.setFocus()
|
||||
self.activateWindow()
|
||||
Receiver.send_message(u'cursor_normal')
|
||||
|
||||
def closeEvent(self, event):
|
||||
"""
|
||||
Hook to close the main window and display windows on exit
|
||||
"""
|
||||
if self.ServiceManagerContents.isModified():
|
||||
ret = self.ServiceManagerContents.saveModifiedService()
|
||||
if self.serviceManagerContents.isModified():
|
||||
ret = self.serviceManagerContents.saveModifiedService()
|
||||
if ret == QtGui.QMessageBox.Save:
|
||||
if self.ServiceManagerContents.saveFile():
|
||||
if self.serviceManagerContents.saveFile():
|
||||
self.cleanUp()
|
||||
event.accept()
|
||||
else:
|
||||
@ -831,11 +851,11 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
Runs all the cleanup code before OpenLP shuts down
|
||||
"""
|
||||
# Clean temporary files used by services
|
||||
self.ServiceManagerContents.cleanUp()
|
||||
self.serviceManagerContents.cleanUp()
|
||||
if QtCore.QSettings().value(u'advanced/save current plugin',
|
||||
QtCore.QVariant(False)).toBool():
|
||||
QtCore.QSettings().setValue(u'advanced/current media plugin',
|
||||
QtCore.QVariant(self.MediaToolBox.currentIndex()))
|
||||
QtCore.QVariant(self.mediaToolBox.currentIndex()))
|
||||
# Call the cleanup method to shutdown plugins.
|
||||
log.info(u'cleanup plugins')
|
||||
self.pluginManager.finalise_plugins()
|
||||
@ -913,7 +933,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
self.previewController.panel.setVisible(visible)
|
||||
QtCore.QSettings().setValue(u'user interface/preview panel',
|
||||
QtCore.QVariant(visible))
|
||||
self.ViewPreviewPanel.setChecked(visible)
|
||||
self.viewPreviewPanel.setChecked(visible)
|
||||
|
||||
def setLivePanelVisibility(self, visible):
|
||||
"""
|
||||
@ -928,7 +948,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
self.liveController.panel.setVisible(visible)
|
||||
QtCore.QSettings().setValue(u'user interface/live panel',
|
||||
QtCore.QVariant(visible))
|
||||
self.ViewLivePanel.setChecked(visible)
|
||||
self.viewLivePanel.setChecked(visible)
|
||||
|
||||
def loadSettings(self):
|
||||
"""
|
||||
@ -973,13 +993,13 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
"""
|
||||
recentFileCount = QtCore.QSettings().value(
|
||||
u'advanced/recent file count', QtCore.QVariant(4)).toInt()[0]
|
||||
self.FileMenu.clear()
|
||||
add_actions(self.FileMenu, self.FileMenuActions[:-1])
|
||||
self.fileMenu.clear()
|
||||
add_actions(self.fileMenu, self.fileMenuActions[:-1])
|
||||
existingRecentFiles = [recentFile for recentFile in self.recentFiles
|
||||
if QtCore.QFile.exists(recentFile)]
|
||||
recentFilesToDisplay = existingRecentFiles[0:recentFileCount]
|
||||
if recentFilesToDisplay:
|
||||
self.FileMenu.addSeparator()
|
||||
self.fileMenu.addSeparator()
|
||||
for fileId, filename in enumerate(recentFilesToDisplay):
|
||||
log.debug('Recent file name: %s', filename)
|
||||
action = base_action(self, u'')
|
||||
@ -987,10 +1007,10 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
||||
(fileId + 1, QtCore.QFileInfo(filename).fileName()))
|
||||
action.setData(QtCore.QVariant(filename))
|
||||
self.connect(action, QtCore.SIGNAL(u'triggered()'),
|
||||
self.ServiceManagerContents.onRecentServiceClicked)
|
||||
self.FileMenu.addAction(action)
|
||||
self.FileMenu.addSeparator()
|
||||
self.FileMenu.addAction(self.FileMenuActions[-1])
|
||||
self.serviceManagerContents.onRecentServiceClicked)
|
||||
self.fileMenu.addAction(action)
|
||||
self.fileMenu.addSeparator()
|
||||
self.fileMenu.addAction(self.fileMenuActions[-1])
|
||||
|
||||
def addRecentFile(self, filename):
|
||||
"""
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -757,7 +758,7 @@ class ServiceManager(QtGui.QWidget):
|
||||
"""
|
||||
Called by a signal to select a specific item.
|
||||
"""
|
||||
self.setItem(int(message[0]))
|
||||
self.setItem(int(message))
|
||||
|
||||
def setItem(self, index):
|
||||
"""
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -184,6 +185,7 @@ class SlideController(QtGui.QWidget):
|
||||
u'Start Loop', u':/media/media_time.png',
|
||||
translate('OpenLP.SlideController', 'Start continuous loop'),
|
||||
self.onStartLoop)
|
||||
startLoop.setObjectName(u'startLoop')
|
||||
action_list = ActionList.get_instance()
|
||||
action_list.add_action(startLoop, UiStrings().LiveToolbar)
|
||||
stopLoop = self.toolbar.addToolbarButton(
|
||||
@ -191,6 +193,7 @@ class SlideController(QtGui.QWidget):
|
||||
u'Stop Loop', u':/media/media_stop.png',
|
||||
translate('OpenLP.SlideController', 'Stop continuous loop'),
|
||||
self.onStopLoop)
|
||||
stopLoop.setObjectName(u'stopLoop')
|
||||
action_list.add_action(stopLoop, UiStrings().LiveToolbar)
|
||||
self.toogleLoop = shortcut_action(self, u'toogleLoop',
|
||||
[QtGui.QKeySequence(u'L')], self.onToggleLoop,
|
||||
@ -210,6 +213,11 @@ class SlideController(QtGui.QWidget):
|
||||
u'Go Live', u':/general/general_live.png',
|
||||
translate('OpenLP.SlideController', 'Move to live'),
|
||||
self.onGoLive)
|
||||
self.toolbar.addToolbarButton(
|
||||
# Does not need translating - control string.
|
||||
u'Add to Service', u':/general/general_add.png',
|
||||
translate('OpenLP.SlideController', 'Add to Service'),
|
||||
self.onPreviewAddToService)
|
||||
self.toolbar.addToolbarSeparator(u'Close Separator')
|
||||
self.toolbar.addToolbarButton(
|
||||
# Does not need translating - control string.
|
||||
@ -1044,12 +1052,26 @@ class SlideController(QtGui.QWidget):
|
||||
Receiver.send_message(u'%s_edit' % self.serviceItem.name.lower(),
|
||||
u'P:%s' % self.serviceItem.edit_id)
|
||||
|
||||
def onPreviewAddToService(self):
|
||||
"""
|
||||
From the preview display request the Item to be added to service
|
||||
"""
|
||||
self.parent.serviceManagerContents.addServiceItem(self.serviceItem)
|
||||
|
||||
def onGoLiveClick(self):
|
||||
"""
|
||||
triggered by clicking the Preview slide items
|
||||
"""
|
||||
if QtCore.QSettings().value(u'advanced/double click live',
|
||||
QtCore.QVariant(False)).toBool():
|
||||
# Live and Preview have issues if we have video or presentations
|
||||
# playing in both at the same time.
|
||||
if self.serviceItem.is_command():
|
||||
Receiver.send_message(u'%s_stop' %
|
||||
self.serviceItem.name.lower(),
|
||||
[self.serviceItem, self.isLive])
|
||||
if self.serviceItem.is_media():
|
||||
self.onMediaClose()
|
||||
self.onGoLive()
|
||||
|
||||
def onGoLive(self):
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -28,6 +29,7 @@ import os
|
||||
import zipfile
|
||||
import shutil
|
||||
import logging
|
||||
import locale
|
||||
|
||||
from xml.etree.ElementTree import ElementTree, XML
|
||||
from PyQt4 import QtCore, QtGui
|
||||
@ -56,7 +58,7 @@ class ThemeManager(QtGui.QWidget):
|
||||
self.themeForm = ThemeForm(self)
|
||||
self.fileRenameForm = FileRenameForm(self)
|
||||
self.serviceComboBox = \
|
||||
self.mainwindow.ServiceManagerContents.themeComboBox
|
||||
self.mainwindow.serviceManagerContents.themeComboBox
|
||||
# start with the layout
|
||||
self.layout = QtGui.QVBoxLayout(self)
|
||||
self.layout.setSpacing(0)
|
||||
@ -461,7 +463,10 @@ class ThemeManager(QtGui.QWidget):
|
||||
QtCore.QVariant(theme.theme_name))
|
||||
self.configUpdated()
|
||||
files = SettingsManager.get_files(self.settingsSection, u'.png')
|
||||
files.sort()
|
||||
# Sort the themes by its name considering language specific characters.
|
||||
# lower() is needed for windows!
|
||||
files.sort(key=lambda filename: unicode(filename).lower(),
|
||||
cmp=locale.strcoll)
|
||||
# now process the file list of png files
|
||||
for name in files:
|
||||
# check to see file is in theme root directory
|
||||
@ -660,6 +665,18 @@ class ThemeManager(QtGui.QWidget):
|
||||
pixmap.save(thumb, u'png')
|
||||
log.debug(u'Theme image written to %s', samplepathname)
|
||||
|
||||
def updatePreviewImages(self):
|
||||
"""
|
||||
Called to update the themes' preview images.
|
||||
"""
|
||||
self.mainwindow.displayProgressBar(len(self.themelist))
|
||||
for theme in self.themelist:
|
||||
self.mainwindow.incrementProgressBar()
|
||||
self.generateAndSaveImage(
|
||||
self.path, theme, self.getThemeData(theme))
|
||||
self.mainwindow.finishedProgressBar()
|
||||
self.loadThemes()
|
||||
|
||||
def generateImage(self, themeData, forcePage=False):
|
||||
"""
|
||||
Call the renderer to build a Sample Image
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -342,7 +343,7 @@ def add_actions(target, actions):
|
||||
The menu or toolbar to add actions to.
|
||||
|
||||
``actions``
|
||||
The actions to be added. An action consisting of the keyword 'None'
|
||||
The actions to be added. An action consisting of the keyword ``None``
|
||||
will result in a separator being inserted into the target.
|
||||
"""
|
||||
for action in actions:
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -202,7 +203,8 @@ class ActionList(object):
|
||||
Add an action to the list of actions.
|
||||
|
||||
``action``
|
||||
The action to add (QAction).
|
||||
The action to add (QAction). **Note**, the action must not have an
|
||||
empty ``objectName``.
|
||||
|
||||
``category``
|
||||
The category this action belongs to. The category can be a QString
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -122,7 +123,7 @@ class LanguageManager(object):
|
||||
language = u'en'
|
||||
if action:
|
||||
action_name = unicode(action.objectName())
|
||||
if action_name == u'AutoLanguageItem':
|
||||
if action_name == u'autoLanguageItem':
|
||||
LanguageManager.auto_language = True
|
||||
else:
|
||||
LanguageManager.auto_language = False
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -67,7 +68,7 @@ class AlertsPlugin(Plugin):
|
||||
self.toolsAlertItem.setStatusTip(
|
||||
translate('AlertsPlugin', 'Show an alert message.'))
|
||||
self.toolsAlertItem.setShortcut(u'F7')
|
||||
self.serviceManager.mainwindow.ToolsMenu.addAction(self.toolsAlertItem)
|
||||
self.serviceManager.mainwindow.toolsMenu.addAction(self.toolsAlertItem)
|
||||
QtCore.QObject.connect(self.toolsAlertItem,
|
||||
QtCore.SIGNAL(u'triggered()'), self.onAlertsTrigger)
|
||||
self.toolsAlertItem.setVisible(False)
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -93,7 +94,7 @@ class BiblePlugin(Plugin):
|
||||
|
||||
def about(self):
|
||||
about_text = translate('BiblesPlugin', '<strong>Bible Plugin</strong>'
|
||||
'<br />The Bible plugin provides the ability to display bible '
|
||||
'<br />The Bible plugin provides the ability to display Bible '
|
||||
'verses from different sources during the service.')
|
||||
return about_text
|
||||
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -30,6 +31,7 @@ import csv
|
||||
import logging
|
||||
import os
|
||||
import os.path
|
||||
import locale
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
@ -531,7 +533,7 @@ class BibleImportForm(OpenLPWizard):
|
||||
"""
|
||||
self.webTranslationComboBox.clear()
|
||||
bibles = self.web_bible_list[index].keys()
|
||||
bibles.sort()
|
||||
bibles.sort(cmp=locale.strcoll)
|
||||
self.webTranslationComboBox.addItems(bibles)
|
||||
|
||||
def onOsisBrowseButtonClicked(self):
|
||||
@ -694,7 +696,7 @@ class BibleImportForm(OpenLPWizard):
|
||||
if bible_type == BibleFormat.WebDownload:
|
||||
self.progressLabel.setText(translate(
|
||||
'BiblesPlugin.ImportWizardForm',
|
||||
'Starting Registering bible...'))
|
||||
'Registering Bible...'))
|
||||
else:
|
||||
self.progressLabel.setText(WizardStrings.StartingImport)
|
||||
Receiver.send_message(u'openlp_process_events')
|
||||
@ -757,7 +759,7 @@ class BibleImportForm(OpenLPWizard):
|
||||
if bible_type == BibleFormat.WebDownload:
|
||||
self.progressLabel.setText(
|
||||
translate('BiblesPlugin.ImportWizardForm', 'Registered '
|
||||
'bible. Please note, that verses will be downloaded on\n'
|
||||
'Bible. Please note, that verses will be downloaded on\n'
|
||||
'demand and thus an internet connection is required.'))
|
||||
else:
|
||||
self.progressLabel.setText(WizardStrings.FinishedImport)
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -402,7 +403,7 @@ class BibleDB(QtCore.QObject, Manager):
|
||||
"""
|
||||
log.debug(u'BibleDB.get_chapter_count("%s")', book)
|
||||
count = self.session.query(Verse.chapter).join(Book)\
|
||||
.filter(Book.name==book)\
|
||||
.filter(Book.name == book)\
|
||||
.distinct().count()
|
||||
if not count:
|
||||
return 0
|
||||
@ -421,8 +422,8 @@ class BibleDB(QtCore.QObject, Manager):
|
||||
"""
|
||||
log.debug(u'BibleDB.get_verse_count("%s", %s)', book, chapter)
|
||||
count = self.session.query(Verse).join(Book)\
|
||||
.filter(Book.name==book)\
|
||||
.filter(Verse.chapter==chapter)\
|
||||
.filter(Book.name == book)\
|
||||
.filter(Verse.chapter == chapter)\
|
||||
.count()
|
||||
if not count:
|
||||
return 0
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -287,7 +288,7 @@ class BibleManager(object):
|
||||
Does a verse search for the given bible and text.
|
||||
|
||||
``bible``
|
||||
The bible to seach in (unicode).
|
||||
The bible to search in (unicode).
|
||||
|
||||
``second_bible``
|
||||
The second bible (unicode). We do not search in this bible.
|
||||
@ -296,6 +297,15 @@ class BibleManager(object):
|
||||
The text to search for (unicode).
|
||||
"""
|
||||
log.debug(u'BibleManager.verse_search("%s", "%s")', bible, text)
|
||||
if not bible:
|
||||
Receiver.send_message(u'openlp_information_message', {
|
||||
u'title': translate('BiblesPlugin.BibleManager',
|
||||
'No Bibles Available'),
|
||||
u'message': translate('BiblesPlugin.BibleManager',
|
||||
'There are no Bibles currently installed. Please use the '
|
||||
'Import Wizard to install one or more Bibles.')
|
||||
})
|
||||
return None
|
||||
# Check if the bible or second_bible is a web bible.
|
||||
webbible = self.db_cache[bible].get_object(BibleMeta,
|
||||
u'download source')
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -25,6 +26,7 @@
|
||||
###############################################################################
|
||||
|
||||
import logging
|
||||
import locale
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
@ -271,6 +273,12 @@ class BibleMediaItem(MediaManagerItem):
|
||||
QtCore.SIGNAL(u'currentChanged(int)'),
|
||||
self.onSearchTabBarCurrentChanged)
|
||||
|
||||
def onFocus(self):
|
||||
if self.quickTab.isVisible():
|
||||
self.quickSearchEdit.setFocus()
|
||||
else:
|
||||
self.advancedBookComboBox.setFocus()
|
||||
|
||||
def configUpdated(self):
|
||||
log.debug(u'configUpdated')
|
||||
if QtCore.QSettings().value(self.settingsSection + u'/second bibles',
|
||||
@ -358,7 +366,7 @@ class BibleMediaItem(MediaManagerItem):
|
||||
self.advancedSecondComboBox.addItem(u'')
|
||||
# Get all bibles and sort the list.
|
||||
bibles = self.parent.manager.get_bibles().keys()
|
||||
bibles.sort()
|
||||
bibles.sort(cmp=locale.strcoll)
|
||||
# Load the bibles into the combo boxes.
|
||||
for bible in bibles:
|
||||
if bible:
|
||||
@ -442,7 +450,7 @@ class BibleMediaItem(MediaManagerItem):
|
||||
if bible:
|
||||
book_data = bibles[bible].get_books()
|
||||
books = [book.name + u' ' for book in book_data]
|
||||
books.sort()
|
||||
books.sort(cmp=locale.strcoll)
|
||||
add_widget_completer(books, self.quickSearchEdit)
|
||||
|
||||
def onImportClick(self):
|
||||
@ -461,6 +469,7 @@ class BibleMediaItem(MediaManagerItem):
|
||||
else:
|
||||
self.quickTab.setVisible(False)
|
||||
self.advancedTab.setVisible(True)
|
||||
self.advancedBookComboBox.setFocus()
|
||||
|
||||
def onLockButtonToggled(self, checked):
|
||||
if checked:
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
@ -8,7 +8,8 @@
|
||||
# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #
|
||||
# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #
|
||||
# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #
|
||||
# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
|
||||
# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #
|
||||
# Woldsund #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
@ -65,6 +66,9 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
QtCore.SIGNAL(u'theme_update_list'), self.loadThemes)
|
||||
QtCore.QObject.connect(self.slideListView,
|
||||
QtCore.SIGNAL(u'currentRowChanged(int)'), self.onCurrentRowChanged)
|
||||
QtCore.QObject.connect(self.slideListView,
|
||||
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'),
|
||||
self.onEditButtonPressed)
|
||||
|
||||
def loadThemes(self, themelist):
|
||||
self.themeComboBox.clear()
|
||||
@ -111,6 +115,8 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
def accept(self):
|
||||
log.debug(u'accept')
|
||||
if self.saveCustom():
|
||||
Receiver.send_message(u'custom_set_autoselect_item',
|
||||
self.customSlide.title)
|
||||
Receiver.send_message(u'custom_load_list')
|
||||
QtGui.QDialog.accept(self)
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user