From f709c90f0ad3413f89563ed0c3b1cf2c345fcfd5 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Tue, 15 Jun 2010 21:03:47 +0100 Subject: [PATCH 001/148] Start opensong importer --- openlp/plugins/songs/lib/opensongimport.py | 116 ++++++++++++++++++ openlp/plugins/songs/lib/test.opensong | 45 +++++++ .../plugins/songs/lib/test_opensongimport.py | 9 ++ 3 files changed, 170 insertions(+) create mode 100644 openlp/plugins/songs/lib/opensongimport.py create mode 100644 openlp/plugins/songs/lib/test.opensong create mode 100644 openlp/plugins/songs/lib/test_opensongimport.py diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py new file mode 100644 index 000000000..4dcc7f20d --- /dev/null +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -0,0 +1,116 @@ +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2010 Raoul Snyman # +# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # +# Thompson, Jon Tibble, Carsten Tinggaard # +# --------------------------------------------------------------------------- # +# 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 # +# Software Foundation; version 2 of the License. # +# # +# This program is distributed in the hope that it will be useful, but WITHOUT # +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # +# more details. # +# # +# You should have received a copy of the GNU General Public License along # +# with this program; if not, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### + +import os +import re + +# from songimport import SongImport + +class opensongimport: + """ + Import songs exported from OpenSong - the format is described loosly here: + http://www.opensong.org/d/manual/song_file_format_specification + + However, it doesn't describe the section, so here's an attempt: + + Verses can be expressed in one of 2 ways: + + [v1]List of words + Another Line + + [v2]Some words for the 2nd verse + etc... + + + or: + + 1List of words + 2Some words for the 2nd Verse + + 1Another Line + 2etc... + + + Either or both forms can be used in one song. + + The [v1] labels can have either upper or loewr case Vs + Other labels can be used also: + C - Chorus + B - Bridge + + Guitar chords can be provided 'above' the lyrics (the line is preceeded by a'.') and _s can be used to signify long-drawn-out words: + + . A7 Bm + 1 Some____ Words + + Chords and _s are removed by this importer. + + The verses etc. are imported and tagged appropriately. + + The tag is used to populate the OpenLP verse + display order field. The Author and Copyright tags are also + imported to the appropriate places. + + """ + def __init__(self, songmanager): + """ + Initialise the class. Requires a songmanager class which is passed + to SongImport for writing song to disk + """ + self.songmanager=songmanager + self.song = None + + def osimport(self, filename): + """ + Process the OpenSong file + """ + self.new_song() + f=open(filename) + tree=objectify.parse(f) + root=tree.getroot() + print "Title", zroot.title + # data storage while importing + self.verses=[] + + + # xxx this is common with SOF + def new_song(self): + """ + A change of song. Store the old, create a new + ... but only if the last song was complete. If not, stick with it + """ + if self.song: + self.finish_verse() + if not self.song.check_complete(): + return + self.song.finish() + + self.song = SongImport(self.manager) + self.skip_to_close_bracket = False + self.is_chorus = False + self.italics = False + self.currentverse = u'' + + diff --git a/openlp/plugins/songs/lib/test.opensong b/openlp/plugins/songs/lib/test.opensong new file mode 100644 index 000000000..0fde072ca --- /dev/null +++ b/openlp/plugins/songs/lib/test.opensong @@ -0,0 +1,45 @@ + + + Martins Test + Martin Thompson + 2010 Martin Thompson + 1 + V1 C1 V2 C2 B1 V1 + Blah + + + + + + + + + + + ;Comment +[V] +. A B C +1 v1 Line 1___ +2 v2 Line 1___ +. A B C7 +1 V1 Line 2 +2 V1 Line 2 + +[b1] + Bridge 1 + +[C1] + Chorus 1 + +[C2] + Chorus 2 + + \ No newline at end of file diff --git a/openlp/plugins/songs/lib/test_opensongimport.py b/openlp/plugins/songs/lib/test_opensongimport.py new file mode 100644 index 000000000..79b8e9a69 --- /dev/null +++ b/openlp/plugins/songs/lib/test_opensongimport.py @@ -0,0 +1,9 @@ +import openlp.plugins.songs.lib.opensongimport + +def test(): + o=opensongimport.opensongimport(0)# xxx needs a song manager here + o.osimport(u'test.opensong') + pass + +if __name__=="__main__": + test() From 2f077c398208d8b79b2bfc02ef1e7c1f2f45f802 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Tue, 15 Jun 2010 22:24:49 +0100 Subject: [PATCH 002/148] Renamed so as not to conflict with the Pthon XML library which is still used by the Song XML class --- openlp/plugins/songs/lib/{xml.py => lyrics_xml.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename openlp/plugins/songs/lib/{xml.py => lyrics_xml.py} (100%) diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/lyrics_xml.py similarity index 100% rename from openlp/plugins/songs/lib/xml.py rename to openlp/plugins/songs/lib/lyrics_xml.py From fc27f8107e7b042043fc3145526aaae888b28188 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Tue, 15 Jun 2010 22:25:50 +0100 Subject: [PATCH 003/148] First test looks promsing --- openlp/plugins/songs/lib/__init__.py | 1 + openlp/plugins/songs/lib/opensongimport.py | 111 ++++++++++++++---- openlp/plugins/songs/lib/test.opensong | 6 +- .../plugins/songs/lib/test_opensongimport.py | 12 +- 4 files changed, 99 insertions(+), 31 deletions(-) diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index 6c637ea9e..37e738664 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -97,3 +97,4 @@ from mediaitem import SongMediaItem from sofimport import SofImport from oooimport import OooImport from songimport import SongImport +from opensongimport import OpenSongImport diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index 4dcc7f20d..7b066c858 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -26,9 +26,11 @@ import os import re -# from songimport import SongImport +from songimport import SongImport +from lxml.etree import Element +from lxml import objectify -class opensongimport: +class OpenSongImport: """ Import songs exported from OpenSong - the format is described loosly here: http://www.opensong.org/d/manual/song_file_format_specification @@ -82,35 +84,94 @@ class opensongimport: self.songmanager=songmanager self.song = None - def osimport(self, filename): + def do_import(self, filename): """ Process the OpenSong file """ - self.new_song() + self.song = SongImport(self.songmanager) f=open(filename) tree=objectify.parse(f) root=tree.getroot() - print "Title", zroot.title + # xxx this bit ought to be more "iterable"... esp. if song had attributes not getters and setters... + if root.copyright: + self.song.add_copyright(unicode(root.copyright)) + if root.author: + self.song.parse_author(unicode(root.author)) + if root.title: + self.song.set_title(unicode(root.title)) + if root.aka: + self.song.set_alternate_title(unicode(root.aka)) + if root.hymn_number: + self.song.set_song_number(unicode(root.hymn_number)) + # data storage while importing - self.verses=[] - - - # xxx this is common with SOF - def new_song(self): - """ - A change of song. Store the old, create a new - ... but only if the last song was complete. If not, stick with it - """ - if self.song: - self.finish_verse() - if not self.song.check_complete(): - return - self.song.finish() - - self.song = SongImport(self.manager) - self.skip_to_close_bracket = False - self.is_chorus = False - self.italics = False - self.currentverse = u'' + verses={} + lyrics=str(root.lyrics) + # xxx what to do if no presentation order - need to figure it out on the fly + for l in lyrics.split('\n'): + # remove comments + semicolon = l.find(';') + if semicolon >= 0: + l=l[:semicolon] + l=l.strip() + if l=='': + continue + # skip inline guitar chords + if l[0] == u'.': + continue + + # verse/chorus/etc. marker + if l[0] == u'[': + versetype=l[1].upper() + if not verses.has_key(versetype): + verses[versetype]={} + if l[2] != u']': + # there's a number to go with it - extract that as well + right_bracket=l.find(u']') + versenum=int(l[2:right_bracket]) + else: + versenum = None # allow error trap + continue + words=None + + # number at start of line => verse number + if l[0] >= u'0' and l[0] <= u'9': + versenum=int(l[0]) + words=l[1:].strip() + + if words is None and \ + versenum is not None and \ + versetype is not None: + words=l + if versenum is not None and \ + not verses[versetype].has_key(versenum): + verses[versetype][versenum]=[] # storage for lines in this verse + if words: + # remove the ____s from extended words + words=words.replace(u'_', u'') + verses[versetype][versenum].append(words) + # done parsing + print u'Title:', root.title + versetypes=verses.keys() + versetypes.sort() + versetags={} + for v in versetypes: + versenums=verses[v].keys() + versenums.sort() + for n in versenums: + versetag= u'%s%s' %(v,n) + lines=u'\n'.join(verses[v][n]) + self.song.verses.append([versetag, lines]) + versetags[versetag]=1 # keep track of what we have for error checking later + # now figure out the presentation order + if root.presentation: + order=unicode(root.presentation).split(u' ') + for tag in order: + if not versetags.has_key(tag): + raise OpenSongImportError + else: + self.song.verse_order_list.append(tag) + + self.song.print_song() diff --git a/openlp/plugins/songs/lib/test.opensong b/openlp/plugins/songs/lib/test.opensong index 0fde072ca..20206cecb 100644 --- a/openlp/plugins/songs/lib/test.opensong +++ b/openlp/plugins/songs/lib/test.opensong @@ -23,11 +23,11 @@ 2 v2 Line 1___ . A B C7 1 V1 Line 2 -2 V1 Line 2 +2 V2 Line 2 [b1] Bridge 1 - + Bridge 1 line 2 [C1] Chorus 1 @@ -42,4 +42,4 @@ - \ No newline at end of file + diff --git a/openlp/plugins/songs/lib/test_opensongimport.py b/openlp/plugins/songs/lib/test_opensongimport.py index 79b8e9a69..655fc83cc 100644 --- a/openlp/plugins/songs/lib/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test_opensongimport.py @@ -1,8 +1,14 @@ -import openlp.plugins.songs.lib.opensongimport +from openlp.plugins.songs.lib.opensongimport import OpenSongImport +from openlp.plugins.songs.lib.manager import SongManager def test(): - o=opensongimport.opensongimport(0)# xxx needs a song manager here - o.osimport(u'test.opensong') + manager=SongManager() + o=OpenSongImport(manager) + o.do_import(u'test.opensong') + # xxx need some more asserts in here to test it... + assert (1) + # now to XML + # asserts pass if __name__=="__main__": From 3417d85a58b27df804f06e235c688359007e276e Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Tue, 15 Jun 2010 22:26:35 +0100 Subject: [PATCH 004/148] Elementtree now from lxml --- openlp/core/lib/songxmlhandler.py | 4 ++-- openlp/core/lib/xmlrootclass.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/core/lib/songxmlhandler.py b/openlp/core/lib/songxmlhandler.py index 76b01e376..5e5abc76b 100644 --- a/openlp/core/lib/songxmlhandler.py +++ b/openlp/core/lib/songxmlhandler.py @@ -39,9 +39,9 @@ The basic XML is of the format:: import logging -from xml.dom.minidom import Document -from xml.etree.ElementTree import ElementTree, XML, dump +from lxml.etree import ElementTree, XML, dump from xml.parsers.expat import ExpatError +from xml.dom.minidom import Document log = logging.getLogger(__name__) diff --git a/openlp/core/lib/xmlrootclass.py b/openlp/core/lib/xmlrootclass.py index 1ea1d41a2..de1339839 100644 --- a/openlp/core/lib/xmlrootclass.py +++ b/openlp/core/lib/xmlrootclass.py @@ -26,7 +26,7 @@ import os import sys -from xml.etree.ElementTree import ElementTree, XML +from lxml.etree import ElementTree, XML sys.path.append(os.path.abspath(os.path.join(u'.', u'..', u'..'))) From e8a397d3ecf246b519a2e29cd852b9a149d60d08 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Tue, 22 Jun 2010 21:41:31 +0100 Subject: [PATCH 005/148] Handles songs without a preliminary V tag --- openlp/plugins/songs/lib/opensongimport.py | 86 +++++++++++-------- openlp/plugins/songs/lib/test.opensong | 1 - .../plugins/songs/lib/test_opensongimport.py | 39 ++++++++- 3 files changed, 84 insertions(+), 42 deletions(-) diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index 7b066c858..dd3bc3df0 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -83,31 +83,36 @@ class OpenSongImport: """ self.songmanager=songmanager self.song = None - + def do_import(self, filename): + file=open(filename) + self.do_import_file(file) + + def do_import_file(self, file): """ Process the OpenSong file """ self.song = SongImport(self.songmanager) - f=open(filename) - tree=objectify.parse(f) + tree=objectify.parse(file) root=tree.getroot() - # xxx this bit ought to be more "iterable"... esp. if song had attributes not getters and setters... - if root.copyright: - self.song.add_copyright(unicode(root.copyright)) - if root.author: - self.song.parse_author(unicode(root.author)) - if root.title: - self.song.set_title(unicode(root.title)) - if root.aka: - self.song.set_alternate_title(unicode(root.aka)) - if root.hymn_number: - self.song.set_song_number(unicode(root.hymn_number)) + fields=dir(root) + decode={u'copyright':self.song.add_copyright, + u'author':self.song.parse_author, + u'title':self.song.set_title, + u'aka':self.song.set_alternate_title, + u'hymn_number':self.song.set_song_number} + for (attr, fn) in decode.items(): + if attr in fields: + fn(unicode(root.__getattr__(attr))) # data storage while importing verses={} - lyrics=str(root.lyrics) - # xxx what to do if no presentation order - need to figure it out on the fly + lyrics=unicode(root.lyrics) + # keep track of a "default" verse order, in case none is specified + our_verse_order=[] + verses_seen={} + # in the absence of any other indication, verses are the default, erm, versetype! + versetype=u'V' for l in lyrics.split('\n'): # remove comments semicolon = l.find(';') @@ -123,35 +128,39 @@ class OpenSongImport: # verse/chorus/etc. marker if l[0] == u'[': versetype=l[1].upper() - if not verses.has_key(versetype): - verses[versetype]={} if l[2] != u']': # there's a number to go with it - extract that as well right_bracket=l.find(u']') versenum=int(l[2:right_bracket]) + versetag=u'%s%d'%(versetype,versenum) else: versenum = None # allow error trap continue words=None - # number at start of line => verse number + # number at start of line.. it's verse number if l[0] >= u'0' and l[0] <= u'9': versenum=int(l[0]) words=l[1:].strip() - + versetag=u'%s%d'%(versetype,versenum) if words is None and \ versenum is not None and \ versetype is not None: words=l - if versenum is not None and \ - not verses[versetype].has_key(versenum): - verses[versetype][versenum]=[] # storage for lines in this verse + if versenum is not None: + if not verses.has_key(versetype): + verses[versetype]={} + if not verses[versetype].has_key(versenum): + verses[versetype][versenum]=[] # storage for lines in this verse + if not verses_seen.has_key(versetag): + verses_seen[versetag] = 1 + our_verse_order.append(versetag) if words: - # remove the ____s from extended words - words=words.replace(u'_', u'') + # Tidy text and remove the ____s from extended words + # words=self.song.tidy_text(words) + words=words.replace('_', '') verses[versetype][versenum].append(words) # done parsing - print u'Title:', root.title versetypes=verses.keys() versetypes.sort() versetags={} @@ -164,14 +173,17 @@ class OpenSongImport: self.song.verses.append([versetag, lines]) versetags[versetag]=1 # keep track of what we have for error checking later # now figure out the presentation order - if root.presentation: - order=unicode(root.presentation).split(u' ') - for tag in order: - if not versetags.has_key(tag): - raise OpenSongImportError - else: - self.song.verse_order_list.append(tag) - - - self.song.print_song() - + if 'presentation' in fields and root.presentation != u'': + order=unicode(root.presentation) + order=order.split() + else: + assert len(our_verse_order)>0 + order=our_verse_order + for tag in order: + if not versetags.has_key(tag): + raise OpenSongImportError + else: + self.song.verse_order_list.append(tag) + def finish(self): + """ Separate function, allows test suite to not pollute database""" + self.song.finish() diff --git a/openlp/plugins/songs/lib/test.opensong b/openlp/plugins/songs/lib/test.opensong index 20206cecb..ea6303c89 100644 --- a/openlp/plugins/songs/lib/test.opensong +++ b/openlp/plugins/songs/lib/test.opensong @@ -17,7 +17,6 @@ ;Comment -[V] . A B C 1 v1 Line 1___ 2 v2 Line 1___ diff --git a/openlp/plugins/songs/lib/test_opensongimport.py b/openlp/plugins/songs/lib/test_opensongimport.py index 655fc83cc..e6d5eec2d 100644 --- a/openlp/plugins/songs/lib/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test_opensongimport.py @@ -5,10 +5,41 @@ def test(): manager=SongManager() o=OpenSongImport(manager) o.do_import(u'test.opensong') - # xxx need some more asserts in here to test it... - assert (1) - # now to XML - # asserts + # o.finish() + o.song.print_song() + assert o.song.copyright == u'2010 Martin Thompson' + assert o.song.authors == [u'Martin Thompson'] + assert o.song.title == u'Martins Test' + assert o.song.alternate_title == u'' + assert o.song.song_number == u'1' + assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song.verses + assert [u'C1', u'Chorus 1'] in o.song.verses + assert [u'C2', u'Chorus 2'] in o.song.verses + assert not [u'C3', u'Chorus 3'] in o.song.verses + assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song.verses + assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song.verses + assert o.song.verse_order_list == [u'V1', u'C1', u'V2', u'C2', u'B1', u'V1'] + + o=OpenSongImport(manager) + o.do_import(u'test2.opensong') + # o.finish() + o.song.print_song() + assert o.song.copyright == u'2010 Martin Thompson' + assert o.song.authors == [u'Martin Thompson'] + assert o.song.title == u'Martins 2nd Test' + assert o.song.alternate_title == u'' + assert o.song.song_number == u'2' + print o.song.verses + assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song.verses + assert [u'C1', u'Chorus 1'] in o.song.verses + assert [u'C2', u'Chorus 2'] in o.song.verses + assert not [u'C3', u'Chorus 3'] in o.song.verses + assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song.verses + assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song.verses + print o.song.verse_order_list + assert o.song.verse_order_list == [u'V1', u'V2', u'B1', u'C1', u'C2'] + + print "Tests passed" pass if __name__=="__main__": From 9c573d7bef6af30c32d3aeba5c8eb8dfac18d826 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Tue, 22 Jun 2010 22:24:24 +0100 Subject: [PATCH 006/148] Handles [C] followed by non-numbered lines, by assigned them all to [C1] --- openlp/plugins/songs/lib/opensongimport.py | 8 +++++--- openlp/plugins/songs/lib/test.opensong | 4 +++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index dd3bc3df0..753aacfc7 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -48,6 +48,7 @@ class OpenSongImport: or: + [V] 1List of words 2Some words for the 2nd Verse @@ -55,9 +56,9 @@ class OpenSongImport: 2etc... - Either or both forms can be used in one song. + Either or both forms can be used in one song. The Number does not necessarily appear at the start of the line - The [v1] labels can have either upper or loewr case Vs + The [v1] labels can have either upper or lower case Vs Other labels can be used also: C - Chorus B - Bridge @@ -134,7 +135,7 @@ class OpenSongImport: versenum=int(l[2:right_bracket]) versetag=u'%s%d'%(versetype,versenum) else: - versenum = None # allow error trap + versenum = 1 continue words=None @@ -180,6 +181,7 @@ class OpenSongImport: assert len(our_verse_order)>0 order=our_verse_order for tag in order: + print tag if not versetags.has_key(tag): raise OpenSongImportError else: diff --git a/openlp/plugins/songs/lib/test.opensong b/openlp/plugins/songs/lib/test.opensong index ea6303c89..8ef2a1103 100644 --- a/openlp/plugins/songs/lib/test.opensong +++ b/openlp/plugins/songs/lib/test.opensong @@ -27,10 +27,12 @@ [b1] Bridge 1 Bridge 1 line 2 -[C1] +[C] +. A B Chorus 1 [C2] +. A B Chorus 2 diff --git a/openlp/plugins/songs/lib/test_importing_lots.py b/openlp/plugins/songs/lib/test_importing_lots.py new file mode 100644 index 000000000..7543de60e --- /dev/null +++ b/openlp/plugins/songs/lib/test_importing_lots.py @@ -0,0 +1,49 @@ +from openlp.plugins.songs.lib.opensongimport import OpenSongImport +from openlp.plugins.songs.lib.manager import SongManager +from glob import glob +from zipfile import ZipFile +import os +from traceback import print_exc +import sys +import codecs +def opensong_import_lots(): + ziploc=u'/home/mjt/openlp/OpenSong_Data/' + files=[] + files.extend(glob(ziploc+u'Songs.zip')) + files.extend(glob(ziploc+u'SOF.zip')) +# files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) +# files.extend(glob(ziploc+u'opensong_*.zip')) + errfile=codecs.open(u'import_lots_errors.txt', u'w', u'utf8') + manager=SongManager() + for file in files: + print u'Importing', file + z=ZipFile(file, u'r') + for song in z.infolist(): + filename=song.filename.decode('cp852') + parts=os.path.split(filename) + if parts[-1] == u'': + #No final part => directory + continue + # xxx need to handle unicode filenames (CP437?? Winzip does this) + print " ", file, ":",filename, + songfile=z.open(song) + + o=OpenSongImport(manager) + try: + o.do_import_file(songfile) + except: + print "Failure", + + errfile.write(u'Failure: %s:%s\n' %(file, filename)) + songfile=z.open(song) + for l in songfile.readlines(): + l=l.decode('utf8') + print(u' |%s\n'%l.strip()) + errfile.write(u' |%s\n'%l.strip()) + print_exc(3, file=errfile) + continue + # o.finish() + print "OK" + # o.song.print_song() +if __name__=="__main__": + opensong_import_lots() From baec9d5c2f2591ff835ca8768663dc02478ac204 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Fri, 25 Jun 2010 19:20:45 +0100 Subject: [PATCH 009/148] Unicode chars in my testcase work OK --- openlp/plugins/songs/lib/test.opensong | 6 ++--- .../plugins/songs/lib/test_importing_lots.py | 22 +++++++++++-------- .../plugins/songs/lib/test_opensongimport.py | 3 ++- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/openlp/plugins/songs/lib/test.opensong b/openlp/plugins/songs/lib/test.opensong index 8533e8943..af0f039ed 100644 --- a/openlp/plugins/songs/lib/test.opensong +++ b/openlp/plugins/songs/lib/test.opensong @@ -1,7 +1,7 @@ Martins Test - Martin Thompson + MartiÑ Thómpson 2010 Martin Thompson 1 V1 C V2 C2 V3 B1 V1 @@ -25,8 +25,8 @@ 2 V2 Line 2 [3] -V3 Line 1 -V3 Line 2 + V3 Line 1 + V3 Line 2 [b1] Bridge 1 diff --git a/openlp/plugins/songs/lib/test_importing_lots.py b/openlp/plugins/songs/lib/test_importing_lots.py index 7543de60e..5161f4a30 100644 --- a/openlp/plugins/songs/lib/test_importing_lots.py +++ b/openlp/plugins/songs/lib/test_importing_lots.py @@ -9,9 +9,9 @@ import codecs def opensong_import_lots(): ziploc=u'/home/mjt/openlp/OpenSong_Data/' files=[] - files.extend(glob(ziploc+u'Songs.zip')) - files.extend(glob(ziploc+u'SOF.zip')) -# files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) +# files.extend(glob(ziploc+u'Songs.zip')) +# files.extend(glob(ziploc+u'SOF.zip')) + files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) # files.extend(glob(ziploc+u'opensong_*.zip')) errfile=codecs.open(u'import_lots_errors.txt', u'w', u'utf8') manager=SongManager() @@ -19,31 +19,35 @@ def opensong_import_lots(): print u'Importing', file z=ZipFile(file, u'r') for song in z.infolist(): - filename=song.filename.decode('cp852') + # need to handle unicode filenames (CP437 - Winzip does this) + filename=song.filename#.decode('cp852') parts=os.path.split(filename) if parts[-1] == u'': #No final part => directory continue - # xxx need to handle unicode filenames (CP437?? Winzip does this) print " ", file, ":",filename, - songfile=z.open(song) - + # songfile=z.open(song) + z.extract(song) + songfile=open(filename, u'r') o=OpenSongImport(manager) try: o.do_import_file(songfile) except: print "Failure", - errfile.write(u'Failure: %s:%s\n' %(file, filename)) + errfile.write(u'Failure: %s:%s\n' %(file, filename.decode('cp437'))) songfile=z.open(song) for l in songfile.readlines(): l=l.decode('utf8') print(u' |%s\n'%l.strip()) errfile.write(u' |%s\n'%l.strip()) print_exc(3, file=errfile) - continue + print_exc(3) + sys.exit(1) + # continue # o.finish() print "OK" + os.unlink(filename) # o.song.print_song() if __name__=="__main__": opensong_import_lots() diff --git a/openlp/plugins/songs/lib/test_opensongimport.py b/openlp/plugins/songs/lib/test_opensongimport.py index 40b09a23b..6291f7106 100644 --- a/openlp/plugins/songs/lib/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test_opensongimport.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from openlp.plugins.songs.lib.opensongimport import OpenSongImport from openlp.plugins.songs.lib.manager import SongManager @@ -8,7 +9,7 @@ def test(): # o.finish() o.song.print_song() assert o.song.copyright == u'2010 Martin Thompson' - assert o.song.authors == [u'Martin Thompson'] + assert o.song.authors == [u'MartiÑ Thómpson'] assert o.song.title == u'Martins Test' assert o.song.alternate_title == u'' assert o.song.song_number == u'1' From 75c6ba22842c81d4bf03050e1d69ab3feb5f5ef2 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Mon, 28 Jun 2010 20:55:04 +0100 Subject: [PATCH 010/148] Improved =s --- openlp/plugins/songs/lib/opensongimport.py | 68 +++++++++---------- .../plugins/songs/lib/test_opensongimport.py | 29 +++++++- 2 files changed, 60 insertions(+), 37 deletions(-) diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index 170a650bd..f1a83540e 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -86,11 +86,11 @@ class OpenSongImport: Initialise the class. Requires a songmanager class which is passed to SongImport for writing song to disk """ - self.songmanager=songmanager + self.songmanager = songmanager self.song = None def do_import(self, filename): - file=open(filename) + file = open(filename) self.do_import_file(file) def do_import_file(self, file): @@ -98,10 +98,10 @@ class OpenSongImport: Process the OpenSong file """ self.song = SongImport(self.songmanager) - tree=objectify.parse(file) - root=tree.getroot() - fields=dir(root) - decode={u'copyright':self.song.add_copyright, + tree = objectify.parse(file) + root = tree.getroot() + fields = dir(root) + decode = {u'copyright':self.song.add_copyright, u'author':self.song.parse_author, u'title':self.song.set_title, u'aka':self.song.set_alternate_title, @@ -111,20 +111,20 @@ class OpenSongImport: fn(unicode(root.__getattr__(attr))) # data storage while importing - verses={} - lyrics=unicode(root.lyrics) + verses = {} + lyrics = unicode(root.lyrics) # keep track of a "default" verse order, in case none is specified - our_verse_order=[] - verses_seen={} + our_verse_order = [] + verses_seen = {} # in the absence of any other indication, verses are the default, erm, versetype! - versetype=u'V' + versetype = u'V' for l in lyrics.split(u'\n'): # remove comments semicolon = l.find(u';') if semicolon >= 0: - l=l[:semicolon] - l=l.strip() - if l==u'': + l = l[:semicolon] + l = l.strip() + if len(l) == 0: continue # skip inline guitar chords if l[0] == u'.': @@ -132,14 +132,14 @@ class OpenSongImport: # verse/chorus/etc. marker if l[0] == u'[': - versetype=l[1].upper() + versetype = l[1].upper() if versetype.isdigit(): - versenum=versetype - versetype=u'V' + versenum = versetype + versetype = u'V' elif l[2] != u']': # there's a number to go with it - extract that as well - right_bracket=l.find(u']') - versenum=l[2:right_bracket] + right_bracket = l.find(u']') + versenum = l[2:right_bracket] else: versenum = u'' continue @@ -147,18 +147,18 @@ class OpenSongImport: # number at start of line.. it's verse number if l[0].isdigit(): - versenum=l[0] - words=l[1:].strip() + versenum = l[0] + words = l[1:].strip() if words is None and \ versenum is not None and \ versetype is not None: words=l if versenum is not None: - versetag=u'%s%s'%(versetype,versenum) + versetag = u'%s%s'%(versetype,versenum) if not verses.has_key(versetype): - verses[versetype]={} + verses[versetype] = {} if not verses[versetype].has_key(versenum): - verses[versetype][versenum]=[] # storage for lines in this verse + verses[versetype][versenum] = [] # storage for lines in this verse if not verses_seen.has_key(versetag): verses_seen[versetag] = 1 our_verse_order.append(versetag) @@ -168,28 +168,28 @@ class OpenSongImport: words=words.replace('_', '') verses[versetype][versenum].append(words) # done parsing - versetypes=verses.keys() + versetypes = verses.keys() versetypes.sort() - versetags={} + versetags = {} for v in versetypes: - versenums=verses[v].keys() + versenums = verses[v].keys() versenums.sort() for n in versenums: - versetag= u'%s%s' %(v,n) - lines=u'\n'.join(verses[v][n]) + versetag = u'%s%s' %(v,n) + lines = u'\n'.join(verses[v][n]) self.song.verses.append([versetag, lines]) - versetags[versetag]=1 # keep track of what we have for error checking later + versetags[versetag] = 1 # keep track of what we have for error checking later # now figure out the presentation order if u'presentation' in fields and root.presentation != u'': - order=unicode(root.presentation) - order=order.split() + order = unicode(root.presentation) + order = order.split() else: assert len(our_verse_order)>0 - order=our_verse_order + order = our_verse_order for tag in order: if not versetags.has_key(tag): print u'Got order', tag, u'but not in versetags, skipping' - raise OpenSongImportError + raise OpenSongImportError # xxx keep error, or just warn? else: self.song.verse_order_list.append(tag) def finish(self): diff --git a/openlp/plugins/songs/lib/test_opensongimport.py b/openlp/plugins/songs/lib/test_opensongimport.py index 6291f7106..95fc93cdd 100644 --- a/openlp/plugins/songs/lib/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test_opensongimport.py @@ -1,10 +1,33 @@ # -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2010 Raoul Snyman # +# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # +# Thompson, Jon Tibble, Carsten Tinggaard # +# --------------------------------------------------------------------------- # +# 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 # +# Software Foundation; version 2 of the License. # +# # +# This program is distributed in the hope that it will be useful, but WITHOUT # +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # +# more details. # +# # +# You should have received a copy of the GNU General Public License along # +# with this program; if not, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### from openlp.plugins.songs.lib.opensongimport import OpenSongImport from openlp.plugins.songs.lib.manager import SongManager def test(): - manager=SongManager() - o=OpenSongImport(manager) + manager = SongManager() + o = OpenSongImport(manager) o.do_import(u'test.opensong') # o.finish() o.song.print_song() @@ -21,7 +44,7 @@ def test(): assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song.verses assert o.song.verse_order_list == [u'V1', u'C', u'V2', u'C2', u'V3', u'B1', u'V1'] - o=OpenSongImport(manager) + o = OpenSongImport(manager) o.do_import(u'test2.opensong') # o.finish() o.song.print_song() From 7ce01d0e65547fbe862e0022fd63b0b99d2006b2 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 30 Jun 2010 20:53:08 +0100 Subject: [PATCH 011/148] Moved test scripts and data to a test folder --- openlp/plugins/songs/lib/test.opensong | 50 ------------------- .../songs/lib/{ => test}/test2.opensong | 0 .../lib/{ => test}/test_importing_lots.py | 4 +- .../lib/{ => test}/test_opensongimport.py | 0 4 files changed, 3 insertions(+), 51 deletions(-) delete mode 100644 openlp/plugins/songs/lib/test.opensong rename openlp/plugins/songs/lib/{ => test}/test2.opensong (100%) rename openlp/plugins/songs/lib/{ => test}/test_importing_lots.py (93%) rename openlp/plugins/songs/lib/{ => test}/test_opensongimport.py (100%) diff --git a/openlp/plugins/songs/lib/test.opensong b/openlp/plugins/songs/lib/test.opensong deleted file mode 100644 index af0f039ed..000000000 --- a/openlp/plugins/songs/lib/test.opensong +++ /dev/null @@ -1,50 +0,0 @@ - - - Martins Test - MartiÑ Thómpson - 2010 Martin Thompson - 1 - V1 C V2 C2 V3 B1 V1 - Blah - - - - - - - - - - - ;Comment -. A B C -1 v1 Line 1___ -2 v2 Line 1___ -. A B C7 -1 V1 Line 2 -2 V2 Line 2 - -[3] - V3 Line 1 - V3 Line 2 - -[b1] - Bridge 1 - Bridge 1 line 2 -[C] -. A B - Chorus 1 - -[C2] -. A B - Chorus 2 - - diff --git a/openlp/plugins/songs/lib/test2.opensong b/openlp/plugins/songs/lib/test/test2.opensong similarity index 100% rename from openlp/plugins/songs/lib/test2.opensong rename to openlp/plugins/songs/lib/test/test2.opensong diff --git a/openlp/plugins/songs/lib/test_importing_lots.py b/openlp/plugins/songs/lib/test/test_importing_lots.py similarity index 93% rename from openlp/plugins/songs/lib/test_importing_lots.py rename to openlp/plugins/songs/lib/test/test_importing_lots.py index 5161f4a30..59d72b34b 100644 --- a/openlp/plugins/songs/lib/test_importing_lots.py +++ b/openlp/plugins/songs/lib/test/test_importing_lots.py @@ -9,9 +9,10 @@ import codecs def opensong_import_lots(): ziploc=u'/home/mjt/openlp/OpenSong_Data/' files=[] + files=['test.opensong.zip'] # files.extend(glob(ziploc+u'Songs.zip')) # files.extend(glob(ziploc+u'SOF.zip')) - files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) + # files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) # files.extend(glob(ziploc+u'opensong_*.zip')) errfile=codecs.open(u'import_lots_errors.txt', u'w', u'utf8') manager=SongManager() @@ -32,6 +33,7 @@ def opensong_import_lots(): o=OpenSongImport(manager) try: o.do_import_file(songfile) + o.song.print_song() except: print "Failure", diff --git a/openlp/plugins/songs/lib/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py similarity index 100% rename from openlp/plugins/songs/lib/test_opensongimport.py rename to openlp/plugins/songs/lib/test/test_opensongimport.py From 02fd6fe4da0d18b9a455ed70ada1a47140a3e1be Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 30 Jun 2010 21:05:43 +0100 Subject: [PATCH 012/148] Main class handles zipfiles --- openlp/plugins/songs/lib/opensongimport.py | 29 ++++++++++++++++--- .../songs/lib/test/test_importing_lots.py | 8 ++--- .../songs/lib/test/test_opensongimport.py | 20 +++++++++++-- 3 files changed, 47 insertions(+), 10 deletions(-) diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index f1a83540e..e7878c08a 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -30,6 +30,11 @@ from songimport import SongImport from lxml.etree import Element from lxml import objectify +from zipfile import ZipFile + +import logging +log = logging.getLogger(__name__) + class OpenSongImportError(Exception): pass @@ -89,10 +94,26 @@ class OpenSongImport: self.songmanager = songmanager self.song = None - def do_import(self, filename): - file = open(filename) - self.do_import_file(file) - + def do_import(self, filename, commit=True): + ext=os.path.splitext(filename)[1] + if ext.lower() == ".zip": + log.info('Zipfile found %s', filename) + z=ZipFile(filename, u'r') + for song in z.infolist(): + parts=os.path.split(song.filename) + if parts[-1] == u'': + #No final part => directory + continue + songfile=z.open(song) + self.do_import_file(songfile) + if commit: + self.finish() + else: + log.info('Direct import %s', filename) + file = open(filename) + self.do_import_file(file) + if commit: + self.finish() def do_import_file(self, file): """ Process the OpenSong file diff --git a/openlp/plugins/songs/lib/test/test_importing_lots.py b/openlp/plugins/songs/lib/test/test_importing_lots.py index 59d72b34b..9c90ad50c 100644 --- a/openlp/plugins/songs/lib/test/test_importing_lots.py +++ b/openlp/plugins/songs/lib/test/test_importing_lots.py @@ -27,9 +27,9 @@ def opensong_import_lots(): #No final part => directory continue print " ", file, ":",filename, - # songfile=z.open(song) - z.extract(song) - songfile=open(filename, u'r') + songfile=z.open(song) + #z.extract(song) + #songfile=open(filename, u'r') o=OpenSongImport(manager) try: o.do_import_file(songfile) @@ -49,7 +49,7 @@ def opensong_import_lots(): # continue # o.finish() print "OK" - os.unlink(filename) + #os.unlink(filename) # o.song.print_song() if __name__=="__main__": opensong_import_lots() diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index 95fc93cdd..f847b273b 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -28,7 +28,23 @@ from openlp.plugins.songs.lib.manager import SongManager def test(): manager = SongManager() o = OpenSongImport(manager) - o.do_import(u'test.opensong') + o.do_import(u'test.opensong', commit=False) + # o.finish() + o.song.print_song() + assert o.song.copyright == u'2010 Martin Thompson' + assert o.song.authors == [u'MartiÑ Thómpson'] + assert o.song.title == u'Martins Test' + assert o.song.alternate_title == u'' + assert o.song.song_number == u'1' + assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song.verses + assert [u'C', u'Chorus 1'] in o.song.verses + assert [u'C2', u'Chorus 2'] in o.song.verses + assert not [u'C3', u'Chorus 3'] in o.song.verses + assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song.verses + assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song.verses + assert o.song.verse_order_list == [u'V1', u'C', u'V2', u'C2', u'V3', u'B1', u'V1'] + + o.do_import(u'test.opensong.zip', commit=False) # o.finish() o.song.print_song() assert o.song.copyright == u'2010 Martin Thompson' @@ -45,7 +61,7 @@ def test(): assert o.song.verse_order_list == [u'V1', u'C', u'V2', u'C2', u'V3', u'B1', u'V1'] o = OpenSongImport(manager) - o.do_import(u'test2.opensong') + o.do_import(u'test2.opensong', commit=False) # o.finish() o.song.print_song() assert o.song.copyright == u'2010 Martin Thompson' From 38ccc21f89a4390970a38014bf39648e20b6352e Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 30 Jun 2010 22:19:18 +0100 Subject: [PATCH 013/148] Added GUI for importing OpenSong --- openlp/plugins/songs/lib/opensongimport.py | 9 ++-- openlp/plugins/songs/lib/songimport.py | 9 ++-- .../songs/lib/test/test_importing_lots.py | 6 +-- openlp/plugins/songs/songsplugin.py | 41 +++++++++++++++++++ 4 files changed, 53 insertions(+), 12 deletions(-) diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index e7878c08a..b65eb74b3 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -95,6 +95,10 @@ class OpenSongImport: self.song = None def do_import(self, filename, commit=True): + """ + Import either a single opensong file, or a zipfile containing multiple opensong files + If the commit parameter is set False, the import will not be committed to the database (useful for test scripts) + """ ext=os.path.splitext(filename)[1] if ext.lower() == ".zip": log.info('Zipfile found %s', filename) @@ -116,7 +120,7 @@ class OpenSongImport: self.finish() def do_import_file(self, file): """ - Process the OpenSong file + Process the OpenSong file - pass in a file-like object, not a filename """ self.song = SongImport(self.songmanager) tree = objectify.parse(file) @@ -209,8 +213,7 @@ class OpenSongImport: order = our_verse_order for tag in order: if not versetags.has_key(tag): - print u'Got order', tag, u'but not in versetags, skipping' - raise OpenSongImportError # xxx keep error, or just warn? + log.warn(u'Got order %s but not in versetags, skipping', tag) else: self.song.verse_order_list.append(tag) def finish(self): diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index 08855f01a..a87023527 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -302,8 +302,7 @@ class SongImport(object): song.theme_name = self.theme_name song.ccli_number = self.ccli_number for authortext in self.authors: - filter_string = u'display_name=%s' % authortext - author = self.manager.get_object_filtered(Author, filter_string) + author = self.manager.get_object_filtered(Author, Author.display_name == authortext) if author is None: author = Author() author.display_name = authortext @@ -312,8 +311,7 @@ class SongImport(object): self.manager.save_object(author) song.authors.append(author) if self.song_book_name: - filter_string = u'name=%s' % self.song_book_name - song_book = self.manager.get_object_filtered(Book, filter_string) + song_book = self.manager.get_object_filtered(Book, Book.name == self.song_book_name) if song_book is None: song_book = Book() song_book.name = self.song_book_name @@ -321,8 +319,7 @@ class SongImport(object): self.manager.save_object(song_book) song.song_book_id = song_book.id for topictext in self.topics: - filter_string = u'name=%s' % topictext - topic = self.manager.get_object_filtered(Topic, filter_string) + topic = self.manager.get_object_filtered(Topic.name == topictext) if topic is None: topic = Topic() topic.name = topictext diff --git a/openlp/plugins/songs/lib/test/test_importing_lots.py b/openlp/plugins/songs/lib/test/test_importing_lots.py index 9c90ad50c..0abc6d3e1 100644 --- a/openlp/plugins/songs/lib/test/test_importing_lots.py +++ b/openlp/plugins/songs/lib/test/test_importing_lots.py @@ -10,8 +10,8 @@ def opensong_import_lots(): ziploc=u'/home/mjt/openlp/OpenSong_Data/' files=[] files=['test.opensong.zip'] -# files.extend(glob(ziploc+u'Songs.zip')) -# files.extend(glob(ziploc+u'SOF.zip')) + files.extend(glob(ziploc+u'Songs.zip')) + files.extend(glob(ziploc+u'SOF.zip')) # files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) # files.extend(glob(ziploc+u'opensong_*.zip')) errfile=codecs.open(u'import_lots_errors.txt', u'w', u'utf8') @@ -47,7 +47,7 @@ def opensong_import_lots(): print_exc(3) sys.exit(1) # continue - # o.finish() + o.finish() print "OK" #os.unlink(filename) # o.song.print_song() diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 82a780fa9..08a136e42 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -38,6 +38,8 @@ try: except ImportError: OOo_available = False +from openlp.plugins.songs.lib import OpenSongImport + log = logging.getLogger(__name__) class SongsPlugin(Plugin): @@ -143,6 +145,25 @@ class SongsPlugin(Plugin): QtCore.SIGNAL(u'triggered()'), self.onImportSofItemClick) QtCore.QObject.connect(self.ImportOooItem, QtCore.SIGNAL(u'triggered()'), self.onImportOooItemClick) + # OpenSong import menu item - will be removed and the + # functionality will be contained within the import wizard + self.ImportOpenSongItem = QtGui.QAction(import_menu) + self.ImportOpenSongItem.setObjectName(u'ImportOpenSongItem') + self.ImportOpenSongItem.setText( + translate('SongsPlugin', + 'OpenSong (temp menu item)')) + self.ImportOpenSongItem.setToolTip( + translate('SongsPlugin', + 'Import songs from OpenSong files' + + '(either raw text or ZIPfiles)')) + self.ImportOpenSongItem.setStatusTip( + translate('SongsPlugin', + 'Import songs from OpenSong files' + + '(either raw text or ZIPfiles)')) + import_menu.addAction(self.ImportOpenSongItem) + QtCore.QObject.connect(self.ImportOpenSongItem, + QtCore.SIGNAL(u'triggered()'), self.onImportOpenSongItemClick) + def add_export_menu_item(self, export_menu): """ @@ -183,6 +204,26 @@ class SongsPlugin(Plugin): QtGui.QMessageBox.Ok) Receiver.send_message(u'songs_load_list') + def onImportOpenSongItemClick(self): + filenames = QtGui.QFileDialog.getOpenFileNames( + None, translate('SongsPlugin', + 'Open OpenSong file'), + u'', u'OpenSong file (*. *.zip *.ZIP)') + try: + for filename in filenames: + importer = OpenSongImport(self.manager) + importer.do_import(unicode(filename)) + except: + log.exception('Could not import OpenSong file') + QtGui.QMessageBox.critical(None, + translate('SongsPlugin', + 'Import Error'), + translate('SongsPlugin', + 'Error importing OpenSong file'), + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok), + QtGui.QMessageBox.Ok) + Receiver.send_message(u'songs_load_list') + def onImportOooItemClick(self): filenames = QtGui.QFileDialog.getOpenFileNames( None, translate('SongsPlugin', From ab1f040aaaa520e29fa813fefd9747ca5fca03c3 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Mon, 5 Jul 2010 21:00:05 +0100 Subject: [PATCH 014/148] Working on non-ascii characters in zipfiles --- openlp/plugins/songs/lib/test/test_importing_lots.py | 10 +++++----- openlp/plugins/songs/lib/test/test_opensongimport.py | 3 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/openlp/plugins/songs/lib/test/test_importing_lots.py b/openlp/plugins/songs/lib/test/test_importing_lots.py index 0abc6d3e1..4b97bf42b 100644 --- a/openlp/plugins/songs/lib/test/test_importing_lots.py +++ b/openlp/plugins/songs/lib/test/test_importing_lots.py @@ -9,10 +9,10 @@ import codecs def opensong_import_lots(): ziploc=u'/home/mjt/openlp/OpenSong_Data/' files=[] - files=['test.opensong.zip'] - files.extend(glob(ziploc+u'Songs.zip')) - files.extend(glob(ziploc+u'SOF.zip')) - # files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) + files=[u'test.opensong.zip', ziploc+u'ADond.zip'] + #files.extend(glob(ziploc+u'Songs.zip')) + #files.extend(glob(ziploc+u'SOF.zip')) + files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) # files.extend(glob(ziploc+u'opensong_*.zip')) errfile=codecs.open(u'import_lots_errors.txt', u'w', u'utf8') manager=SongManager() @@ -47,7 +47,7 @@ def opensong_import_lots(): print_exc(3) sys.exit(1) # continue - o.finish() + #o.finish() print "OK" #os.unlink(filename) # o.song.print_song() diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index f847b273b..d3d8d356a 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -28,6 +28,9 @@ from openlp.plugins.songs.lib.manager import SongManager def test(): manager = SongManager() o = OpenSongImport(manager) + o.do_import(u'/home/mjt/openlp/OpenSong_Data/ADond', commit=False) + o.song.print_song() + sys.exit(1) o.do_import(u'test.opensong', commit=False) # o.finish() o.song.print_song() From a167d759a5068bb01cbd07cb12c31c0d2f476fd0 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Tue, 6 Jul 2010 17:40:25 +0200 Subject: [PATCH 015/148] String fixes. --- openlp/plugins/alerts/lib/alertsmanager.py | 2 +- openlp/plugins/bibles/lib/biblestab.py | 26 +++++++++++----------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py index a8c4c9bfe..32150748a 100644 --- a/openlp/plugins/alerts/lib/alertsmanager.py +++ b/openlp/plugins/alerts/lib/alertsmanager.py @@ -79,7 +79,7 @@ class AlertsManager(QtCore.QObject): if self.timer_id != 0: Receiver.send_message(u'maindisplay_status_text', translate('AlertsPlugin.AlertsManager', - 'Alert message created and delayed')) + 'Alert message created and displayed.')) return Receiver.send_message(u'maindisplay_status_text', u'') self.generateAlert() diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index 3d3966777..43f4aa1dd 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -150,34 +150,34 @@ class BiblesTab(SettingsTab): def retranslateUi(self): self.VerseDisplayGroupBox.setTitle( - translate('BiblesPlugin,BiblesTab', 'Verse Display')) + translate('BiblesPlugin.BiblesTab', 'Verse Display')) self.NewChaptersCheckBox.setText( - translate('BiblesPlugin,BiblesTab', + translate('BiblesPlugin.BiblesTab', 'Only show new chapter numbers')) self.LayoutStyleLabel.setText( - translate('BiblesPlugin,BiblesTab', 'Layout Style:')) + translate('BiblesPlugin.BiblesTab', 'Layout style:')) self.DisplayStyleLabel.setText( - translate('BiblesPlugin,BiblesTab', 'Display Style:')) + translate('BiblesPlugin.BiblesTab', 'Display style:')) self.BibleThemeLabel.setText( - translate('BiblesPlugin,BiblesTab', 'Bible Theme:')) + translate('BiblesPlugin.BiblesTab', 'Bible theme:')) self.LayoutStyleComboBox.setItemText(0, - translate('BiblesPlugin,BiblesTab', 'verse per slide')) + translate('BiblesPlugin.BiblesTab', 'Verse Per Slide')) self.LayoutStyleComboBox.setItemText(1, - translate('BiblesPlugin,BiblesTab', 'verse per line')) + translate('BiblesPlugin.BiblesTab', 'Verse Per Line')) self.LayoutStyleComboBox.setItemText(2, - translate('BiblesPlugin,BiblesTab', 'continuous')) + translate('BiblesPlugin.BiblesTab', 'Continuous')) self.DisplayStyleComboBox.setItemText(0, - translate('BiblesPlugin,BiblesTab', 'No brackets')) + translate('BiblesPlugin.BiblesTab', 'No Brackets')) self.DisplayStyleComboBox.setItemText(1, - translate('BiblesPlugin,BiblesTab', '( and )')) + translate('BiblesPlugin.BiblesTab', '( And )')) self.DisplayStyleComboBox.setItemText(2, - translate('BiblesPlugin,BiblesTab', '{ and }')) + translate('BiblesPlugin.BiblesTab', '{ And }')) self.DisplayStyleComboBox.setItemText(3, - translate('BiblesPlugin,BiblesTab', '[ and ]')) + translate('BiblesPlugin.BiblesTab', '[ And ]')) self.ChangeNoteLabel.setText(translate('BiblesPlugin.BiblesTab', 'Note:\nChanges don\'t affect verses already in the service')) self.BibleDualCheckBox.setText( - translate('BiblesPlugin,BiblesTab', 'Display Dual Bible Verses')) + translate('BiblesPlugin.BiblesTab', 'Display dual Bible verses')) def onBibleThemeComboBoxChanged(self): self.bible_theme = self.BibleThemeComboBox.currentText() From 0e53994ca63433ff3c7932f520902e70bbdd2395 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Tue, 6 Jul 2010 17:41:56 +0200 Subject: [PATCH 016/148] String fixes. --- openlp/plugins/bibles/lib/biblestab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index 43f4aa1dd..9eaea51b6 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -175,7 +175,7 @@ class BiblesTab(SettingsTab): self.DisplayStyleComboBox.setItemText(3, translate('BiblesPlugin.BiblesTab', '[ And ]')) self.ChangeNoteLabel.setText(translate('BiblesPlugin.BiblesTab', - 'Note:\nChanges don\'t affect verses already in the service')) + 'Note:\nChanges do not affect verses already in the service.')) self.BibleDualCheckBox.setText( translate('BiblesPlugin.BiblesTab', 'Display dual Bible verses')) From 9a46ebca56c8db091ef3712d229012f0a694cfd6 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Tue, 6 Jul 2010 17:44:15 +0200 Subject: [PATCH 017/148] More string fixes --- openlp/plugins/bibles/forms/bibleimportwizard.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/openlp/plugins/bibles/forms/bibleimportwizard.py b/openlp/plugins/bibles/forms/bibleimportwizard.py index a2aa92fc0..3ed840a23 100644 --- a/openlp/plugins/bibles/forms/bibleimportwizard.py +++ b/openlp/plugins/bibles/forms/bibleimportwizard.py @@ -335,13 +335,13 @@ class Ui_BibleImportWizard(object): self.FormatComboBox.setItemText(3, translate('BiblesPlugin.ImportWizardForm', 'Web Download')) self.OsisLocationLabel.setText( - translate('BiblesPlugin.ImportWizardForm', 'File Location:')) + translate('BiblesPlugin.ImportWizardForm', 'File location:')) self.BooksLocationLabel.setText( - translate('BiblesPlugin.ImportWizardForm', 'Books Location:')) + translate('BiblesPlugin.ImportWizardForm', 'Books location:')) self.VerseLocationLabel.setText( - translate('BiblesPlugin.ImportWizardForm', 'Verse Location:')) + translate('BiblesPlugin.ImportWizardForm', 'Verse location:')) self.OpenSongFileLabel.setText( - translate('BiblesPlugin.ImportWizardForm', 'Bible Filename:')) + translate('BiblesPlugin.ImportWizardForm', 'Bible filename:')) self.LocationLabel.setText( translate('BiblesPlugin.ImportWizardForm', 'Location:')) self.LocationComboBox.setItemText(0, @@ -369,7 +369,7 @@ class Ui_BibleImportWizard(object): translate('BiblesPlugin.ImportWizardForm', 'Set up the Bible\'s license details.')) self.VersionNameLabel.setText( - translate('BiblesPlugin.ImportWizardForm', 'Version Name:')) + translate('BiblesPlugin.ImportWizardForm', 'Version name:')) self.CopyrightLabel.setText( translate('BiblesPlugin.ImportWizardForm', 'Copyright:')) self.PermissionLabel.setText( @@ -382,3 +382,4 @@ class Ui_BibleImportWizard(object): self.ImportProgressLabel.setText( translate('BiblesPlugin.ImportWizardForm', 'Ready.')) self.ImportProgressBar.setFormat(u'%p%') + From f1eeaff6331c08c4c8e6082781903e027fb6f1fe Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Tue, 6 Jul 2010 17:54:15 +0200 Subject: [PATCH 018/148] Some more string fixes. --- openlp/plugins/bibles/lib/mediaitem.py | 4 ++-- .../plugins/custom/forms/editcustomdialog.py | 24 ++++++++++++------- openlp/plugins/custom/forms/editcustomform.py | 10 ++++---- openlp/plugins/custom/lib/customtab.py | 2 +- openlp/plugins/custom/lib/mediaitem.py | 4 ++-- 5 files changed, 27 insertions(+), 17 deletions(-) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 6bc6d99d4..e058987d8 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -296,7 +296,7 @@ class BibleMediaItem(MediaManagerItem): self.QuickSecondVersionLabel.setText( translate('BiblesPlugin.MediaItem', 'Dual:')) self.QuickSearchLabel.setText( - translate('BiblesPlugin.MediaItem', 'Search Type:')) + translate('BiblesPlugin.MediaItem', 'Search type:')) self.QuickSearchLabel.setText( translate('BiblesPlugin.MediaItem', 'Find:')) self.QuickSearchButton.setText( @@ -613,7 +613,7 @@ class BibleMediaItem(MediaManagerItem): if self.verses == 0: self.AdvancedSearchButton.setEnabled(False) self.AdvancedMessage.setText( - translate('BiblesPlugin.MediaItem', 'Bible not fully loaded')) + translate('BiblesPlugin.MediaItem', 'Bible not fully loaded.')) else: self.AdvancedSearchButton.setEnabled(True) self.AdvancedMessage.setText(u'') diff --git a/openlp/plugins/custom/forms/editcustomdialog.py b/openlp/plugins/custom/forms/editcustomdialog.py index 6e6ef08f7..d8c40db45 100644 --- a/openlp/plugins/custom/forms/editcustomdialog.py +++ b/openlp/plugins/custom/forms/editcustomdialog.py @@ -161,31 +161,38 @@ class Ui_customEditDialog(object): customEditDialog.setWindowTitle( translate('CustomPlugin.EditCustomForm', 'Edit Custom Slides')) self.UpButton.setToolTip( - translate('CustomPlugin.EditCustomForm', 'Move slide Up 1')) + translate('CustomPlugin.EditCustomForm', 'Move slide up once ' + 'position.')) self.DownButton.setToolTip( - translate('CustomPlugin.EditCustomForm', 'Move slide down 1')) + translate('CustomPlugin.EditCustomForm', 'Move slide down one ' + 'position.')) self.TitleLabel.setText( translate('CustomPlugin.EditCustomForm', '&Title:')) self.AddButton.setText( translate('CustomPlugin.EditCustomForm', 'Add New')) self.AddButton.setToolTip( - translate('CustomPlugin.EditCustomForm', 'Add new slide at bottom')) + translate('CustomPlugin.EditCustomForm', 'Add a new slide at ' + 'bottom.')) self.EditButton.setText( translate('CustomPlugin.EditCustomForm', 'Edit')) self.EditButton.setToolTip( - translate('CustomPlugin.EditCustomForm', 'Edit selected slide')) + translate('CustomPlugin.EditCustomForm', 'Edit the selected ' + 'slide.')) self.EditAllButton.setText( translate('CustomPlugin.EditCustomForm', 'Edit All')) self.EditAllButton.setToolTip( - translate('CustomPlugin.EditCustomForm', 'Edit all slides')) + translate('CustomPlugin.EditCustomForm', 'Edit all the slides at ' + 'once.')) self.SaveButton.setText( translate('CustomPlugin.EditCustomForm', 'Save')) self.SaveButton.setToolTip( - translate('CustomPlugin.EditCustomForm', 'Replace edited slide')) + translate('CustomPlugin.EditCustomForm', 'Save the slide currently ' + 'being edited.')) self.DeleteButton.setText( translate('CustomPlugin.EditCustomForm', 'Delete')) self.DeleteButton.setToolTip( - translate('CustomPlugin.EditCustomForm', 'Delete selected slide')) + translate('CustomPlugin.EditCustomForm', 'Delete the selected ' + 'slide.')) self.ClearButton.setText( translate('CustomPlugin.EditCustomForm', 'Clear')) self.ClearButton.setToolTip( @@ -193,7 +200,8 @@ class Ui_customEditDialog(object): self.SplitButton.setText( translate('CustomPlugin.EditCustomForm', 'Split Slide')) self.SplitButton.setToolTip( - translate('CustomPlugin.EditCustomForm', 'Add slide split')) + translate('CustomPlugin.EditCustomForm', 'Split a slide into two ' + 'by inserting a slide splitter.')) self.ThemeLabel.setText( translate('CustomPlugin.EditCustomForm', 'The&me:')) self.CreditLabel.setText( diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index 24810eb0b..e88c6c3d3 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -269,14 +269,16 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog): if len(self.TitleEdit.displayText()) == 0: self.TitleEdit.setFocus() return False, translate('CustomPlugin.EditCustomForm', - 'You need to enter a title') + 'You need to type in a title.') # must have 1 slide if self.VerseListView.count() == 0: self.VerseTextEdit.setFocus() return False, translate('CustomPlugin.EditCustomForm', - 'You need to enter a slide') + 'You need to add at least one slide') if self.VerseTextEdit.toPlainText(): self.VerseTextEdit.setFocus() - return False, translate('CustomPlugin.editCustomForm', - 'You have unsaved data, please save or clear') + return False, translate('CustomPlugin.EditCustomForm', + 'You have one or more unsaved slides, please either save your ' + 'slide(s) or clear your changes.') return True, u'' + diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index ac0db035e..c860ece5d 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -58,7 +58,7 @@ class CustomTab(SettingsTab): self.CustomModeGroupBox.setTitle(translate('CustomPlugin.CustomTab', 'Custom Display')) self.DisplayFooterCheckBox.setText( - translate('CustomPlugin.CustomTab', 'Display Footer')) + translate('CustomPlugin.CustomTab', 'Display footer')) def onDisplayFooterCheckBoxChanged(self, check_state): self.displayFooter = False diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 9cc5627ed..6927e018d 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -123,7 +123,7 @@ class CustomMediaItem(MediaManagerItem): """ if check_item_selected(self.ListView, translate('CustomPlugin.MediaItem', - 'You must select an item to edit.')): + 'You haven\'t selected an item to edit.')): item = self.ListView.currentItem() item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] self.parent.edit_custom_form.loadCustom(item_id, False) @@ -136,7 +136,7 @@ class CustomMediaItem(MediaManagerItem): """ if check_item_selected(self.ListView, translate('CustomPlugin.MediaItem', - 'You must select an item to delete.')): + 'You haven\'t selected an item to delete.')): row_list = [item.row() for item in self.ListView.selectedIndexes()] row_list.sort(reverse=True) id_list = [(item.data(QtCore.Qt.UserRole)).toInt()[0] From 5c6ab2ee1a9a2e12b8a5f50571734283e7b1c61c Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Tue, 6 Jul 2010 17:59:29 +0200 Subject: [PATCH 019/148] Some more fixes. --- openlp/core/ui/displaytab.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/openlp/core/ui/displaytab.py b/openlp/core/ui/displaytab.py index 0fb16a9f7..07f87b3a5 100644 --- a/openlp/core/ui/displaytab.py +++ b/openlp/core/ui/displaytab.py @@ -164,25 +164,25 @@ class DisplayTab(SettingsTab): """ Provide i18n support for this UI """ - self.setWindowTitle(translate('DisplayTab', 'Amend Display Settings')) + #self.setWindowTitle(translate('DisplayTab', 'Amend Display Settings')) self.CurrentGroupBox.setTitle( translate('DisplayTab', 'Default Settings')) - self.XLabel.setText(translate('DisplayTab', 'X')) + self.XLabel.setText(translate('DisplayTab', 'X:')) self.Xpos.setText(u'0') - self.YLabel.setText(translate('DisplayTab', 'Y')) + self.YLabel.setText(translate('DisplayTab', 'Y:')) self.Ypos.setText(u'0') - self.HeightLabel.setText(translate('DisplayTab', 'Height')) + self.HeightLabel.setText(translate('DisplayTab', 'Height:')) self.Height.setText(u'0') - self.WidthLabel.setText(translate('DisplayTab', 'Width')) + self.WidthLabel.setText(translate('DisplayTab', 'Width:')) self.Width.setText(u'0') self.CurrentGroupBox_2.setTitle( - translate('DisplayTab', 'Amend Settings')) - self.XAmendLabel.setText(translate('DisplayTab', 'X')) - self.YAmendLabel.setText(translate('DisplayTab', 'Y')) - self.HeightAmendLabel.setText(translate('DisplayTab', 'Height')) + translate('DisplayTab', 'Custom Settings')) + self.XAmendLabel.setText(translate('DisplayTab', 'X:')) + self.YAmendLabel.setText(translate('DisplayTab', 'Y:')) + self.HeightAmendLabel.setText(translate('DisplayTab', 'Height:')) self.WidthAmendLabel.setText(translate('DisplayTab', 'Width')) self.OverrideCheckBox.setText( - translate('DisplayTab', 'Override Output Display')) + translate('DisplayTab', 'Override display settings')) def load(self): """ From b3559a993d2f8116392d23442cbf1028c09d4db7 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 7 Jul 2010 21:16:14 +0100 Subject: [PATCH 020/148] test theme, alttheme -> our theme --- openlp/plugins/songs/lib/opensongimport.py | 9 +++++++++ openlp/plugins/songs/lib/test/test_opensongimport.py | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index 1a5c94a39..df8492976 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -118,6 +118,8 @@ class OpenSongImport: self.do_import_file(file) if commit: self.finish() + + def do_import_file(self, file): """ Process the OpenSong file - pass in a file-like object, not a filename @@ -135,6 +137,13 @@ class OpenSongImport: for (attr, fn) in decode.items(): if attr in fields: fn(unicode(root.__getattr__(attr))) + + res = [] + if u'theme' in fields: + res.append(unicode(root.theme)) + if u'alttheme' in fields: + res.append(unicode(root.alttheme)) + self.song.theme=u', '.join(res) # data storage while importing verses = {} diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index a027042a7..c1025d4fe 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -30,7 +30,7 @@ def test(): manager = SongManager() o = OpenSongImport(manager) o.do_import(u'test.opensong', commit=False) - # o.finish() + o.finish() o.song.print_song() assert o.song.copyright == u'2010 Martin Thompson' assert o.song.authors == [u'MartiÑ Thómpson'] @@ -45,7 +45,8 @@ def test(): assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song.verses assert o.song.verse_order_list == [u'V1', u'C', u'V2', u'C2', u'V3', u'B1', u'V1'] assert o.song.ccli_number == u'Blah' - + print u':%s:'%o.song.theme + assert o.song.theme == u'TestTheme, TestAltTheme' o.do_import(u'test.opensong.zip', commit=False) # o.finish() o.song.print_song() From 860d3e2923eca9aa0233588238a189a2845e042a Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 7 Jul 2010 21:17:16 +0100 Subject: [PATCH 021/148] Removed opensong code from songxml --- openlp/plugins/songs/lib/songxml.py | 203 ---------------------------- 1 file changed, 203 deletions(-) diff --git a/openlp/plugins/songs/lib/songxml.py b/openlp/plugins/songs/lib/songxml.py index 2965c579b..6e99933ec 100644 --- a/openlp/plugins/songs/lib/songxml.py +++ b/openlp/plugins/songs/lib/songxml.py @@ -60,175 +60,6 @@ class SongFeatureError(SongException): # TODO: Song: Import ChangingSong # TODO: Song: Export ChangingSong -_BLANK_OPENSONG_XML = \ -''' - - - - - - - - - - -''' - -class _OpenSong(object): - """ - Class for import of OpenSong - """ - def __init__(self, xmlContent = None): - """ - Initialize from given xml content - """ - self._set_from_xml(_BLANK_OPENSONG_XML, 'song') - if xmlContent: - self._set_from_xml(xmlContent, 'song') - - def _set_from_xml(self, xml, root_tag): - """ - Set song properties from given xml content. - - ``xml`` - Formatted xml tags and values. - ``root_tag`` - The root tag of the xml. - """ - root = ElementTree(element=XML(xml)) - xml_iter = root.getiterator() - for element in xml_iter: - if element.tag != root_tag: - text = element.text - if text is None: - val = text - elif isinstance(text, basestring): - # Strings need special handling to sort the colours out - if text[0] == u'$': - # This might be a hex number, let's try to convert it. - try: - val = int(text[1:], 16) - except ValueError: - pass - else: - # Let's just see if it's a integer. - try: - val = int(text) - except ValueError: - # Ok, it seems to be a string. - val = text - if hasattr(self, u'post_tag_hook'): - (element.tag, val) = \ - self.post_tag_hook(element.tag, val) - setattr(self, element.tag, val) - - def __str__(self): - """ - Return string with all public attributes - - The string is formatted with one attribute per line - If the string is split on newline then the length of the - list is equal to the number of attributes - """ - attributes = [] - for attrib in dir(self): - if not attrib.startswith(u'_'): - attributes.append( - u'%30s : %s' % (attrib, getattr(self, attrib))) - return u'\n'.join(attributes) - - def _get_as_string(self): - """ - Return one string with all public attributes - """ - result = u'' - for attrib in dir(self): - if not attrib.startswith(u'_'): - result += u'_%s_' % getattr(self, attrib) - return result - - def get_author_list(self): - """Convert author field to an authorlist - - in OpenSong an author list may be separated by '/' - return as a string - """ - if self.author: - list = self.author.split(u' and ') - res = [item.strip() for item in list] - return u', '.join(res) - - def get_category_array(self): - """Convert theme and alttheme into category_array - - return as a string - """ - res = [] - if self.theme: - res.append(self.theme) - if self.alttheme: - res.append(self.alttheme) - return u', u'.join(res) - - def _reorder_verse(self, tag, tmpVerse): - """ - Reorder the verse in case of first char is a number - tag -- the tag of this verse / verse group - tmpVerse -- list of strings - """ - res = [] - for digit in '1234567890 ': - tagPending = True - for line in tmpVerse: - if line.startswith(digit): - if tagPending: - tagPending = False - tagChar = tag.strip(u'[]').lower() - if 'v' == tagChar: - newtag = "Verse" - elif 'c' == tagChar: - newtag = "Chorus" - elif 'b' == tagChar: - newtag = "Bridge" - elif 'p' == tagChar: - newtag = "Pre-chorus" - else: - newtag = tagChar - tagString = (u'# %s %s' % (newtag, digit)).rstrip() - res.append(tagString) - res.append(line[1:]) - if (len(line) == 0) and (not tagPending): - res.append(line) - return res - - def get_lyrics(self): - """ - Convert the lyrics to openlp lyrics format - return as list of strings - """ - lyrics = self.lyrics.split(u'\n') - tmpVerse = [] - finalLyrics = [] - tag = "" - for lyric in lyrics: - line = lyric.rstrip() - if not line.startswith(u'.'): - # drop all chords - tmpVerse.append(line) - if line: - if line.startswith(u'['): - tag = line - else: - reorderedVerse = self._reorder_verse(tag, tmpVerse) - finalLyrics.extend(reorderedVerse) - tag = "" - tmpVerse = [] - # catch up final verse - reorderedVerse = self._reorder_verse(tag, tmpVerse) - finalLyrics.extend(reorderedVerse) - return finalLyrics - - class Song(object): """Handling song properties and methods @@ -307,40 +138,6 @@ class Song(object): self.set_lyrics(u'') return - def from_opensong_buffer(self, xmlcontent): - """Initialize from buffer(string) of xml lines in opensong format""" - self._reset() - opensong = _OpenSong(xmlcontent) - if opensong.title: - self.set_title(opensong.title) - if opensong.copyright: - self.set_copyright(opensong.copyright) - if opensong.presentation: - self.set_verse_order(opensong.presentation) - if opensong.ccli: - self.set_song_cclino(opensong.ccli) - self.set_author_list(opensong.get_author_list()) - self.set_category_array(opensong.get_category_array()) - self.set_lyrics(opensong.get_lyrics()) - - def from_opensong_file(self, xmlfilename): - """ - Initialize from file containing xml - xmlfilename -- path to xml file - """ - osfile = None - try: - osfile = open(xmlfilename, 'r') - list = [line for line in osfile] - osfile.close() - xml = "".join(list) - self.from_opensong_buffer(xml) - except IOError: - log.exception(u'Failed to load opensong xml file') - finally: - if osfile: - osfile.close() - def _remove_punctuation(self, title): """Remove the puntuation chars from title From b04c93e9a7bf304dddd9e49a2d60546d001730d5 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 7 Jul 2010 21:17:58 +0100 Subject: [PATCH 022/148] test theme, alttheme -> our theme --- openlp/plugins/songs/lib/lyrics_xml.py | 4 ++-- openlp/plugins/songs/lib/songimport.py | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/openlp/plugins/songs/lib/lyrics_xml.py b/openlp/plugins/songs/lib/lyrics_xml.py index 359c28eda..38985ca1b 100644 --- a/openlp/plugins/songs/lib/lyrics_xml.py +++ b/openlp/plugins/songs/lib/lyrics_xml.py @@ -76,8 +76,8 @@ class SongXMLBuilder(object): ``content`` The actual text of the verse to be stored. """ - #log.debug(u'add_verse_to_lyrics %s, %s\n%s' % (type, number, content)) - verse = etree.Element(u'verse', type=type, label=number) + # log.debug(u'add_verse_to_lyrics %s, %s\n%s' % (type, number, content)) + verse = etree.Element(u'verse', type=unicode(type), label=unicode(number)) verse.text = etree.CDATA(content) self.lyrics.append(verse) diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index 5fbcce540..3b507140b 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -51,8 +51,8 @@ class SongImport(object): self.alternate_title = u'' self.copyright = u'' self.comment = u'' - self.theme_name = u'' - self.ccli_number = u'' + self.theme = u'' + self.song_cclino = u'' self.authors = [] self.topics = [] self.song_book_name = u'' @@ -303,8 +303,8 @@ class SongImport(object): song.verse_order = u' '.join(self.verse_order_list) song.copyright = self.copyright song.comment = self.comment - song.theme_name = self.theme_name - song.ccli_number = self.ccli_number + song.theme = self.theme + song.song_cclino = self.song_cclino for authortext in self.authors: author = self.manager.get_object_filtered(Author, Author.display_name == authortext) @@ -358,7 +358,7 @@ class SongImport(object): print u'TOPIC: ' + topictext if self.comment: print u'COMMENT: ' + self.comment - if self.theme_name: - print u'THEME: ' + self.theme_name - if self.ccli_number: - print u'CCLI: ' + self.ccli_number + if self.theme: + print u'THEME: ' + self.theme + if self.song_cclino: + print u'CCLI: ' + self.song_cclino From e4b7e23c42bf04997b8aa9764b32559eba2f3ee1 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 7 Jul 2010 21:18:38 +0100 Subject: [PATCH 023/148] Added test data --- openlp/plugins/songs/lib/test/test.opensong | 51 ++++++++++++++++++ .../plugins/songs/lib/test/test.opensong.zip | Bin 0 -> 848 bytes 2 files changed, 51 insertions(+) create mode 100644 openlp/plugins/songs/lib/test/test.opensong create mode 100644 openlp/plugins/songs/lib/test/test.opensong.zip diff --git a/openlp/plugins/songs/lib/test/test.opensong b/openlp/plugins/songs/lib/test/test.opensong new file mode 100644 index 000000000..469cd7722 --- /dev/null +++ b/openlp/plugins/songs/lib/test/test.opensong @@ -0,0 +1,51 @@ + + + Martins Test + MartiÑ Thómpson + 2010 Martin Thompson + 1 + V1 C V2 C2 V3 B1 V1 + Blah + + + + + + + + TestTheme + TestAltTheme + + + ;Comment +. A B C +1 v1 Line 1___ +2 v2 Line 1___ +. A B C7 +1 V1 Line 2 +2 V2 Line 2 + +[3] + V3 Line 1 + V3 Line 2 + +[b1] + Bridge 1 + Bridge 1 line 2 +[C] +. A B + Chorus 1 + +[C2] +. A B + Chorus 2 + + diff --git a/openlp/plugins/songs/lib/test/test.opensong.zip b/openlp/plugins/songs/lib/test/test.opensong.zip new file mode 100644 index 0000000000000000000000000000000000000000..1072367a844712f5b433e9c80a621a00e8245f20 GIT binary patch literal 848 zcmWIWW@Zs#U}E542$^-$#ykH@-vTBEhDde>23`gkhLY6c621I_)V$*Sy!6lzP6lR% z&niCCWEFi%E4UdLSza(RFo21xq27774FvAK7GW-%`{MBe-hfEQ+ygHb-CcT*h0)P- zi%W|T>!hN`_ZFqU6fD}v=XtVh(mJj!8L0;z?fLG(cfaT5pJy8o7bgbzAC?qLt*r_tRy~@#%eKV!?eTR_c6ogMVN>#D!On+!Q^h{( zZ_`|pIQyVg^IN7c&78tx#;y1FPg)e=dF@eH-U~xB4T&u;-cEWm!(@)g38fb|+3OBm zsQvA1XV7!!`;kD+Dmj+K7auMb%vF-OXFSQ*qs&E2coWCBZF`EnTerJcv_~pDy1$S` zcDb7g-<)>7=`W&EyS`^%EvG;L8K4#La_ct_jzbaUks+j3&tFE7Z>9gp8LMT|7vnwl9oF;c+xY%y@qtwjZFs6HQkKUs*FGsazjlQL zqw>Cozivh|EuD1yP0P`mRhCj8Gj8oH^;r@W^is8Q^T+<#s{@T*JG-O@K9aw)Ds}5G zt8S++UR#8NV}e5cvGV@>R*w zRs8zB?pqfvOZrqYZ>QMY71<}_uP$|eR*`Y*>{ZQSvz)OK0P|K6q?vp7LL zzA&jZK62KFn?J9q%Gh!!Rblg{{~@t&?48G?UV x0=yZS Date: Fri, 9 Jul 2010 19:17:48 +0100 Subject: [PATCH 024/148] Changed opensong import file extension to All files *.* --- openlp/plugins/songs/songsplugin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 6552f4c41..99e3fca74 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -201,7 +201,7 @@ class SongsPlugin(Plugin): filenames = QtGui.QFileDialog.getOpenFileNames( None, translate('SongsPlugin', 'Open OpenSong file'), - u'', u'OpenSong file (*. *.zip *.ZIP)') + u'', u'All files (*.*)') try: for filename in filenames: importer = OpenSongImport(self.manager) @@ -236,4 +236,4 @@ class SongsPlugin(Plugin): if not self.manager.get_all_objects_filtered(Song, Song.theme_name == theme): return True - return False \ No newline at end of file + return False From d4780cb37b632ed3af222c5b90e968d499d74c6a Mon Sep 17 00:00:00 2001 From: andreas Date: Mon, 12 Jul 2010 22:56:09 +0200 Subject: [PATCH 025/148] code style --- openlp/core/ui/maindisplay.py | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index b0ef8eaf4..69c51f551 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -167,7 +167,7 @@ class DisplayWidget(QtGui.QGraphicsView): def keyPressEvent(self, event): if isinstance(event, QtGui.QKeyEvent): - #here accept the event and do something + # here accept the event and do something if event.key() == QtCore.Qt.Key_Up: Receiver.send_message(u'slidecontroller_live_previous') event.accept() @@ -233,8 +233,8 @@ class MainDisplay(DisplayWidget): self.setupBlank() self.blankFrame = None self.frame = None - #Hide desktop for now until we know where to put it - #and what size it should be. + # Hide desktop for now until we know where to put it + # and what size it should be. self.setVisible(False) def setup(self): @@ -245,13 +245,12 @@ class MainDisplay(DisplayWidget): self.screens, self.screens.monitor_number)) self.setVisible(False) self.screen = self.screens.current - #Sort out screen locations and sizes + # Sort out screen locations and sizes self.setGeometry(self.screen[u'size']) - self.scene.setSceneRect(0, 0, self.size().width(), - self.size().height()) + self.scene.setSceneRect(0, 0, self.size().width(), self.size().height()) self.webView.setGeometry(0, 0, self.size().width(), self.size().height()) - #Build a custom splash screen + # Build a custom splash screen. self.initialFrame = QtGui.QImage( self.screen[u'size'].width(), self.screen[u'size'].height(), @@ -266,7 +265,7 @@ class MainDisplay(DisplayWidget): splash_image) self.displayImage(self.initialFrame) self.repaint() - #Build a Black screen + # Build a Black screen. painter = QtGui.QPainter() self.blankFrame = QtGui.QImage( self.screen[u'size'].width(), @@ -274,11 +273,11 @@ class MainDisplay(DisplayWidget): QtGui.QImage.Format_ARGB32_Premultiplied) painter.begin(self.blankFrame) painter.fillRect(self.blankFrame.rect(), QtCore.Qt.black) - #build a blank transparent image + # Build a blank transparent image. self.transparent = QtGui.QPixmap( self.screen[u'size'].width(), self.screen[u'size'].height()) self.transparent.fill(QtCore.Qt.transparent) -# self.displayText.setPixmap(self.transparent) + #self.displayText.setPixmap(self.transparent) #self.frameView(self.transparent) # To display or not to display? if not self.screen[u'primary']: @@ -297,13 +296,13 @@ class MainDisplay(DisplayWidget): self.webView = QtWebKit.QWebView() self.page = self.webView.page() self.videoDisplay = self.page.mainFrame() - self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Vertical, + self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff) - self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Horizontal, + self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff) self.proxy = QtGui.QGraphicsProxyWidget() self.proxy.setWidget(self.webView) - self.proxy.setWindowFlags(QtCore.Qt.Window | + self.proxy.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.FramelessWindowHint) self.proxy.setZValue(1) self.scene.addItem(self.proxy) @@ -367,7 +366,7 @@ class MainDisplay(DisplayWidget): """ log.debug(u'showDisplay') self.displayBlank.setPixmap(self.transparent) - #Trigger actions when display is active again + # Trigger actions when display is active again. Receiver.send_message(u'maindisplay_active') def addImageWithText(self, frame): @@ -417,8 +416,7 @@ class MainDisplay(DisplayWidget): log.debug(u'adddisplayVideo') self.displayImage(self.transparent) self.videoDisplay.setHtml(HTMLVIDEO % - (path, self.screen[u'size'].width(), - self.screen[u'size'].height())) + (path, self.screen[u'size'].width(), self.screen[u'size'].height())) def frameView(self, frame, transition=False): """ @@ -506,7 +504,7 @@ class VideoDisplay(Phonon.VideoWidget): def keyPressEvent(self, event): if isinstance(event, QtGui.QKeyEvent): - #here accept the event and do something + # here accept the event and do something if event.key() == QtCore.Qt.Key_Escape: self.onMediaStop() event.accept() @@ -521,7 +519,7 @@ class VideoDisplay(Phonon.VideoWidget): log.debug(u'VideoDisplay Setup %s for %s ' % (self.screens, self.screens.monitor_number)) self.screen = self.screens.current - #Sort out screen locations and sizes + # Sort out screen locations and sizes. self.setGeometry(self.screen[u'size']) # To display or not to display? if not self.screen[u'primary']: # and self.isVisible(): From 1031125932dff7622656bf377e2fa8ba7b397264 Mon Sep 17 00:00:00 2001 From: andreas Date: Mon, 12 Jul 2010 23:02:06 +0200 Subject: [PATCH 026/148] code style --- openlp/core/ui/maindisplay.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 69c51f551..6c52c1a23 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -245,7 +245,7 @@ class MainDisplay(DisplayWidget): self.screens, self.screens.monitor_number)) self.setVisible(False) self.screen = self.screens.current - # Sort out screen locations and sizes + # Sort out screen locations and sizes. self.setGeometry(self.screen[u'size']) self.scene.setSceneRect(0, 0, self.size().width(), self.size().height()) self.webView.setGeometry(0, 0, self.size().width(), @@ -296,13 +296,13 @@ class MainDisplay(DisplayWidget): self.webView = QtWebKit.QWebView() self.page = self.webView.page() self.videoDisplay = self.page.mainFrame() - self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Vertical, + self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff) - self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Horizontal, + self.videoDisplay.setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff) self.proxy = QtGui.QGraphicsProxyWidget() self.proxy.setWidget(self.webView) - self.proxy.setWindowFlags(QtCore.Qt.Window | + self.proxy.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.FramelessWindowHint) self.proxy.setZValue(1) self.scene.addItem(self.proxy) @@ -546,10 +546,10 @@ class VideoDisplay(Phonon.VideoWidget): # if it is triggered from the plugin # """ # log.debug(u'VideoDisplay Queue new media message %s' % message) -# #If not file take the stored one +# # If not file take the stored one. # if not message: # message = self.message -# # still no file name then stop as it was a normal video stopping +# # Still no file name then stop as it was a normal video stopping. # if message: # self.mediaObject.setCurrentSource(Phonon.MediaSource(message)) # self.message = message From 0f4c7276b3160a49390173f4e7ba1951e29b2f94 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 14 Jul 2010 21:10:27 +0100 Subject: [PATCH 027/148] Using new manager --- openlp/plugins/songs/lib/test/test_opensongimport.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index 7ae5c3412..96b5018a3 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -23,11 +23,13 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### from openlp.plugins.songs.lib.opensongimport import OpenSongImport -from openlp.plugins.songs.lib.manager import SongManager +from openlp.core.lib.db import Manager +from openlp.plugins.songs.lib.db import init_schema#, Song +from openlp.plugins.songs.songsplugin import SongsPlugin import sys def test(): - manager = SongManager() + manager = Manager(u'songs', init_schema) o = OpenSongImport(manager) o.do_import(u'test.opensong', commit=False) o.finish() From d54770646dab95891957b2f215bcb55d6daed6fd Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 14 Jul 2010 21:38:46 +0100 Subject: [PATCH 028/148] Rename cclino to ccli_number and theme to theme_name in all song import related files --- openlp/plugins/songs/lib/opensongimport.py | 4 +- openlp/plugins/songs/lib/songimport.py | 22 ++++---- openlp/plugins/songs/lib/songxml.py | 52 +++++++++---------- .../songs/lib/test/test_importing_lots.py | 11 ++-- .../songs/lib/test/test_opensongimport.py | 7 ++- openlp/plugins/songs/songsplugin.py | 4 +- 6 files changed, 50 insertions(+), 50 deletions(-) diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index a5efb2808..93c682d90 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -135,7 +135,7 @@ class OpenSongImport: root = tree.getroot() fields = dir(root) decode = {u'copyright':self.song.add_copyright, - u'ccli':self.song.set_song_cclino, + u'ccli':self.song.set_ccli_number, u'author':self.song.parse_author, u'title':self.song.set_title, u'aka':self.song.set_alternate_title, @@ -149,7 +149,7 @@ class OpenSongImport: res.append(unicode(root.theme)) if u'alttheme' in fields: res.append(unicode(root.alttheme)) - self.song.theme = u', '.join(res) + self.song.theme_name = u', '.join(res) # data storage while importing verses = {} diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index 1253c8536..893def7f0 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -51,8 +51,8 @@ class SongImport(object): self.alternate_title = u'' self.copyright = u'' self.comment = u'' - self.theme = u'' - self.song_cclino = u'' + self.theme_name = u'' + self.ccli_number = u'' self.authors = [] self.topics = [] self.song_book_name = u'' @@ -163,11 +163,11 @@ class SongImport(object): """ self.song_number = song_number - def set_song_cclino(self, cclino): + def set_ccli_number(self, cclino): """ Set the ccli number """ - self.song_cclino = cclino + self.ccli_number = cclino def set_song_book(self, song_book, publisher): """ @@ -273,7 +273,7 @@ class SongImport(object): def commit_song(self): """ - Write the song and it's fields to disk + Write the song and its fields to disk """ song = Song() song.title = self.title @@ -303,8 +303,8 @@ class SongImport(object): song.verse_order = u' '.join(self.verse_order_list) song.copyright = self.copyright song.comment = self.comment - song.theme = self.theme - song.song_cclino = self.song_cclino + song.theme_name = self.theme_name + song.ccli_number = self.ccli_number for authortext in self.authors: author = self.manager.get_object_filtered(Author, Author.display_name == authortext) @@ -358,7 +358,7 @@ class SongImport(object): print u'TOPIC: ' + topictext if self.comment: print u'COMMENT: ' + self.comment - if self.theme: - print u'THEME: ' + self.theme - if self.song_cclino: - print u'CCLI: ' + self.song_cclino + if self.theme_name: + print u'THEME: ' + self.theme_name + if self.ccli_number: + print u'CCLI: ' + self.ccli_number diff --git a/openlp/plugins/songs/lib/songxml.py b/openlp/plugins/songs/lib/songxml.py index 6e99933ec..c5b3df49a 100644 --- a/openlp/plugins/songs/lib/songxml.py +++ b/openlp/plugins/songs/lib/songxml.py @@ -106,7 +106,7 @@ class Song(object): show_author_list -- 0: no show, 1: show show_copyright -- 0: no show, 1: show show_song_cclino -- 0: no show, 1: show - theme -- name of theme or blank + theme_name -- name of theme or blank category_array -- list of user defined properties (hymn, gospel) song_book -- name of originating book song_number -- number of the song, related to a songbook @@ -129,7 +129,7 @@ class Song(object): self.show_copyright = 1 self.show_song_cclino = 1 self.show_title = 1 - self.theme = "" + self.theme_name = "" self.category_array = None self.song_book = "" self.song_number = "" @@ -221,7 +221,7 @@ class Song(object): self.set_title(sName) self.set_author_list(author_list) self.set_copyright(sCopyright) - self.set_song_cclino(sCcli) + self.set_ccli_number(sCcli) self.set_lyrics(lyrics) def from_ccli_text_file(self, textFileName): @@ -276,21 +276,21 @@ class Song(object): """Set the copyright string""" self.copyright = copyright - def get_song_cclino(self): + def get_ccli_number(self): """Return the songCclino""" - return self._assure_string(self.song_cclino) + return self._assure_string(self.ccli_number) - def set_song_cclino(self, song_cclino): - """Set the song_cclino""" - self.song_cclino = song_cclino + def set_ccli_number(self, ccli_number): + """Set the ccli_number""" + self.ccli_number = ccli_number - def get_theme(self): + def get_theme_name(self): """Return the theme name for the song""" - return self._assure_string(self.theme) + return self._assure_string(self.theme_name) - def set_theme(self, theme): + def set_theme_name(self, theme_name): """Set the theme name (string)""" - self.theme = theme + self.theme_name = theme_name def get_song_book(self): """Return the song_book (string)""" @@ -329,9 +329,9 @@ class Song(object): asOneString True -- string: - "John Newton, A Parker" + 'John Newton, A Parker' False -- list of strings - ["John Newton", u'A Parker"] + ['John Newton', u'A Parker'] """ if asOneString: res = self._assure_string(self.author_list) @@ -354,9 +354,9 @@ class Song(object): asOneString True -- string: - "Hymn, Gospel" + 'Hymn, Gospel' False -- list of strings - ["Hymn", u'Gospel"] + ['Hymn', u'Gospel'] """ if asOneString: res = self._assure_string(self.category_array) @@ -398,13 +398,13 @@ class Song(object): """Set the show_copyright flag (bool)""" self.show_copyright = show_copyright - def get_show_song_cclino(self): + def get_show_ccli_number(self): """Return the showSongCclino (string)""" - return self.show_song_cclino + return self.show_ccli_number - def set_show_song_cclino(self, show_song_cclino): - """Set the show_song_cclino flag (bool)""" - self.show_song_cclino = show_song_cclino + def set_show_ccli_number(self, show_ccli_number): + """Set the show_ccli_number flag (bool)""" + self.show_ccli_number = show_ccli_number def get_lyrics(self): """Return the lyrics as a list of strings @@ -471,7 +471,7 @@ class Song(object): slideNumber -- 1 .. numberOfSlides Returns a list as: - [theme (string), + [theme_name (string), title (string), authorlist (string), copyright (string), @@ -496,13 +496,13 @@ class Song(object): cpright = self.get_copyright() else: cpright = "" - if self.show_song_cclino: - ccli = self.get_song_cclino() + if self.show_ccli_number: + ccli = self.get_ccli_number() else: ccli = "" - theme = self.get_theme() + theme_name = self.get_theme_name() # examine the slide for a theme - res.append(theme) + res.append(theme_name) res.append(title) res.append(author) res.append(cpright) diff --git a/openlp/plugins/songs/lib/test/test_importing_lots.py b/openlp/plugins/songs/lib/test/test_importing_lots.py index d896cf5ba..e7ed339b0 100644 --- a/openlp/plugins/songs/lib/test/test_importing_lots.py +++ b/openlp/plugins/songs/lib/test/test_importing_lots.py @@ -1,5 +1,6 @@ from openlp.plugins.songs.lib.opensongimport import OpenSongImport -from openlp.plugins.songs.lib.manager import SongManager +from openlp.plugins.songs.lib.db import init_schema +from openlp.core.lib.db import Manager from glob import glob from zipfile import ZipFile import os @@ -9,13 +10,13 @@ import codecs def opensong_import_lots(): ziploc = u'/home/mjt/openlp/OpenSong_Data/' files = [] - files = [u'test.opensong.zip', ziploc+u'ADond.zip'] - #files.extend(glob(ziploc+u'Songs.zip')) + #files = [u'test.opensong.zip', ziploc+u'ADond.zip'] + files.extend(glob(ziploc+u'Songs.zip')) #files.extend(glob(ziploc+u'SOF.zip')) - files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) + #files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) # files.extend(glob(ziploc+u'opensong_*.zip')) errfile=codecs.open(u'import_lots_errors.txt', u'w', u'utf8') - manager=SongManager() + manager = Manager(u'songs', init_schema) for file in files: print u'Importing', file z = ZipFile(file, u'r') diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index 96b5018a3..aede61416 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -24,7 +24,7 @@ ############################################################################### from openlp.plugins.songs.lib.opensongimport import OpenSongImport from openlp.core.lib.db import Manager -from openlp.plugins.songs.lib.db import init_schema#, Song +from openlp.plugins.songs.lib.db import init_schema from openlp.plugins.songs.songsplugin import SongsPlugin import sys @@ -46,9 +46,8 @@ def test(): assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song.verses assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song.verses assert o.song.verse_order_list == [u'V1', u'C1', u'V2', u'C2', u'V3', u'B1', u'V1'] - assert o.song.song_cclino == u'Blah' - print u':%s:'%o.song.theme - assert o.song.theme == u'TestTheme, TestAltTheme' + assert o.song.ccli_number == u'Blah' + assert o.song.theme_name == u'TestTheme, TestAltTheme' o.do_import(u'test.opensong.zip', commit=False) o.finish() o.song.print_song() diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 99e3fca74..b6795cd32 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -232,8 +232,8 @@ class SongsPlugin(Plugin): 'This plugin allows songs to be managed and displayed.') return about_text - def canDeleteTheme(self, theme): + def canDeleteTheme(self, theme_name): if not self.manager.get_all_objects_filtered(Song, - Song.theme_name == theme): + Song.theme_name == theme_name): return True return False From 490e2451e00dc6343639d224a4837632cb5b9252 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 14 Jul 2010 21:46:23 +0100 Subject: [PATCH 029/148] spaces --- openlp/plugins/songs/lib/test/test_importing_lots.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/songs/lib/test/test_importing_lots.py b/openlp/plugins/songs/lib/test/test_importing_lots.py index e7ed339b0..dc3eeeb2a 100644 --- a/openlp/plugins/songs/lib/test/test_importing_lots.py +++ b/openlp/plugins/songs/lib/test/test_importing_lots.py @@ -15,7 +15,7 @@ def opensong_import_lots(): #files.extend(glob(ziploc+u'SOF.zip')) #files.extend(glob(ziploc+u'spanish_songs_for_opensong.zip')) # files.extend(glob(ziploc+u'opensong_*.zip')) - errfile=codecs.open(u'import_lots_errors.txt', u'w', u'utf8') + errfile = codecs.open(u'import_lots_errors.txt', u'w', u'utf8') manager = Manager(u'songs', init_schema) for file in files: print u'Importing', file @@ -41,8 +41,8 @@ def opensong_import_lots(): errfile.write(u'Failure: %s:%s\n' %(file, filename.decode('cp437'))) songfile = z.open(song) for l in songfile.readlines(): - l=l.decode('utf8') - print(u' |%s\n'%l.strip()) + l = l.decode('utf8') + print(u' |%s\n' % l.strip()) errfile.write(u' |%s\n'%l.strip()) print_exc(3, file = errfile) print_exc(3) From 222f10ba4574db947adbd812e9b8d969b1738e8e Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Wed, 14 Jul 2010 21:52:45 +0100 Subject: [PATCH 030/148] Now fixed the trunk merge --- openlp/plugins/songs/songsplugin.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index b9129be7a..ab36d13d0 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -233,10 +233,6 @@ class SongsPlugin(Plugin): 'This plugin allows songs to be managed and displayed.') return about_text - def canDeleteTheme(self, theme_name): - if not self.manager.get_all_objects_filtered(Song, - Song.theme_name == theme_name): - def usesTheme(self, theme): """ Called to find out if the song plugin is currently using a theme. From 294a02af458e0b031d9e2438034a313d51a7e0bc Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Thu, 15 Jul 2010 21:26:57 +0100 Subject: [PATCH 031/148] Renamed back and fixed a couple of = signs --- openlp/plugins/songs/lib/{lyrics_xml.py => xml.py} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename openlp/plugins/songs/lib/{lyrics_xml.py => xml.py} (97%) diff --git a/openlp/plugins/songs/lib/lyrics_xml.py b/openlp/plugins/songs/lib/xml.py similarity index 97% rename from openlp/plugins/songs/lib/lyrics_xml.py rename to openlp/plugins/songs/lib/xml.py index d3c595b15..1e9678c55 100644 --- a/openlp/plugins/songs/lib/lyrics_xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -49,7 +49,7 @@ class SongXMLBuilder(object): """ log.info(u'SongXMLBuilder Loaded') - def __init__(self, song_language = None): + def __init__(self, song_language=None): """ Set up the song builder. @@ -85,14 +85,14 @@ class SongXMLBuilder(object): """ Debugging aid to dump XML so that we can see what we have. """ - return etree.tostring(self.song_xml, encoding = u'UTF-8', + return etree.tostring(self.song_xml, encoding=u'UTF-8', xml_declaration=True, pretty_print=True) def extract_xml(self): """ Extract our newly created XML song. """ - return etree.tostring(self.song_xml, encoding = u'UTF-8', + return etree.tostring(self.song_xml, encoding=u'UTF-8', xml_declaration=True) From bb34a304a9be75c43e02f3cc3768259e536894ca Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Thu, 15 Jul 2010 21:27:44 +0100 Subject: [PATCH 032/148] Tweaked Topics handler --- openlp/plugins/songs/lib/songimport.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index 893def7f0..e5045a5f5 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -190,8 +190,8 @@ class SongImport(object): """ Add the author. OpenLP stores them individually so split by 'and', '&' and comma. - However need to check for "Mr and Mrs Smith" and turn it to - "Mr Smith" and "Mrs Smith". + However need to check for 'Mr and Mrs Smith' and turn it to + 'Mr Smith' and 'Mrs Smith'. """ for author in text.split(u','): authors = author.split(u'&') @@ -325,12 +325,14 @@ class SongImport(object): self.manager.save_object(song_book) song.song_book_id = song_book.id for topictext in self.topics: - topic = self.manager.get_object_filtered(Topic.name == topictext) + if len(topictext) == 0: + continue + topic = self.manager.get_object_filtered(Topic, Topic.name == topictext) if topic is None: topic = Topic() topic.name = topictext self.manager.save_object(topic) - song.topics.append(topictext) + song.topics.append(topic) self.manager.save_object(song) def print_song(self): From 059032f23736a18990cee8a122c37180c69ec925 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Thu, 15 Jul 2010 21:29:24 +0100 Subject: [PATCH 033/148] Changed internal 'song' attribute to clearer 'song_import'. OpenSong themes now map to Topics. Text cleaning called --- openlp/plugins/songs/lib/opensongimport.py | 30 +++---- .../songs/lib/test/test_importing_lots.py | 5 +- .../songs/lib/test/test_opensongimport.py | 86 +++++++++---------- 3 files changed, 60 insertions(+), 61 deletions(-) diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index 93c682d90..b8d30c535 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -38,7 +38,7 @@ log = logging.getLogger(__name__) class OpenSongImportError(Exception): pass -class OpenSongImport: +class OpenSongImport(object): """ Import songs exported from OpenSong - the format is described loosly here: http://www.opensong.org/d/manual/song_file_format_specification @@ -130,27 +130,25 @@ class OpenSongImport: Process the OpenSong file - pass in a file-like object, not a filename """ - self.song = SongImport(self.songmanager) + self.song_import = SongImport(self.songmanager) tree = objectify.parse(file) root = tree.getroot() fields = dir(root) - decode = {u'copyright':self.song.add_copyright, - u'ccli':self.song.set_ccli_number, - u'author':self.song.parse_author, - u'title':self.song.set_title, - u'aka':self.song.set_alternate_title, - u'hymn_number':self.song.set_song_number} + decode = {u'copyright':self.song_import.add_copyright, + u'ccli':self.song_import.set_ccli_number, + u'author':self.song_import.parse_author, + u'title':self.song_import.set_title, + u'aka':self.song_import.set_alternate_title, + u'hymn_number':self.song_import.set_song_number} for (attr, fn) in decode.items(): if attr in fields: fn(unicode(root.__getattr__(attr))) res = [] if u'theme' in fields: - res.append(unicode(root.theme)) + self.song_import.topics.append(unicode(root.theme)) if u'alttheme' in fields: - res.append(unicode(root.alttheme)) - self.song.theme_name = u', '.join(res) - + self.song_import.topics.append(unicode(root.alttheme)) # data storage while importing verses = {} lyrics = unicode(root.lyrics) @@ -207,7 +205,7 @@ class OpenSongImport: our_verse_order.append(versetag) if words: # Tidy text and remove the ____s from extended words - # words=self.song.tidy_text(words) + words=self.song_import.tidy_text(words) words=words.replace('_', '') verses[versetype][versenum].append(words) # done parsing @@ -221,7 +219,7 @@ class OpenSongImport: for n in versenums: versetag = u'%s%s' %(v,n) lines = u'\n'.join(verses[v][n]) - self.song.verses.append([versetag, lines]) + self.song_import.verses.append([versetag, lines]) versetags[versetag] = 1 # keep track of what we have for error checking later # now figure out the presentation order if u'presentation' in fields and root.presentation != u'': @@ -236,7 +234,7 @@ class OpenSongImport: if not versetags.has_key(tag): log.warn(u'Got order %s but not in versetags, skipping', tag) else: - self.song.verse_order_list.append(tag) + self.song_import.verse_order_list.append(tag) def finish(self): """ Separate function, allows test suite to not pollute database""" - self.song.finish() + self.song_import.finish() diff --git a/openlp/plugins/songs/lib/test/test_importing_lots.py b/openlp/plugins/songs/lib/test/test_importing_lots.py index dc3eeeb2a..9f1908bca 100644 --- a/openlp/plugins/songs/lib/test/test_importing_lots.py +++ b/openlp/plugins/songs/lib/test/test_importing_lots.py @@ -7,6 +7,7 @@ import os from traceback import print_exc import sys import codecs + def opensong_import_lots(): ziploc = u'/home/mjt/openlp/OpenSong_Data/' files = [] @@ -34,7 +35,7 @@ def opensong_import_lots(): o = OpenSongImport(manager) try: o.do_import_file(songfile) - o.song.print_song() + # o.song_import.print_song() except: print "Failure", @@ -51,6 +52,6 @@ def opensong_import_lots(): #o.finish() print "OK" #os.unlink(filename) - # o.song.print_song() + # o.song_import.print_song() if __name__ == "__main__": opensong_import_lots() diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index aede61416..7f6c0f45f 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -33,55 +33,55 @@ def test(): o = OpenSongImport(manager) o.do_import(u'test.opensong', commit=False) o.finish() - o.song.print_song() - assert o.song.copyright == u'2010 Martin Thompson' - assert o.song.authors == [u'MartiÑ Thómpson'] - assert o.song.title == u'Martins Test' - assert o.song.alternate_title == u'' - assert o.song.song_number == u'1' - assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song.verses - assert [u'C1', u'Chorus 1'] in o.song.verses - assert [u'C2', u'Chorus 2'] in o.song.verses - assert not [u'C3', u'Chorus 3'] in o.song.verses - assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song.verses - assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song.verses - assert o.song.verse_order_list == [u'V1', u'C1', u'V2', u'C2', u'V3', u'B1', u'V1'] - assert o.song.ccli_number == u'Blah' - assert o.song.theme_name == u'TestTheme, TestAltTheme' + o.song_import.print_song() + assert o.song_import.copyright == u'2010 Martin Thompson' + assert o.song_import.authors == [u'MartiÑ Thómpson'] + assert o.song_import.title == u'Martins Test' + assert o.song_import.alternate_title == u'' + assert o.song_import.song_number == u'1' + assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song_import.verses + assert [u'C1', u'Chorus 1'] in o.song_import.verses + assert [u'C2', u'Chorus 2'] in o.song_import.verses + assert not [u'C3', u'Chorus 3'] in o.song_import.verses + assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song_import.verses + assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song_import.verses + assert o.song_import.verse_order_list == [u'V1', u'C1', u'V2', u'C2', u'V3', u'B1', u'V1'] + assert o.song_import.ccli_number == u'Blah' + assert o.song_import.topics == [u'TestTheme', u'TestAltTheme'] o.do_import(u'test.opensong.zip', commit=False) + o.song_import.print_song() o.finish() - o.song.print_song() - assert o.song.copyright == u'2010 Martin Thompson' - assert o.song.authors == [u'MartiÑ Thómpson'] - assert o.song.title == u'Martins Test' - assert o.song.alternate_title == u'' - assert o.song.song_number == u'1' - assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song.verses - assert [u'C1', u'Chorus 1'] in o.song.verses - assert [u'C2', u'Chorus 2'] in o.song.verses - assert not [u'C3', u'Chorus 3'] in o.song.verses - assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song.verses - assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song.verses - assert o.song.verse_order_list == [u'V1', u'C1', u'V2', u'C2', u'V3', u'B1', u'V1'] + assert o.song_import.copyright == u'2010 Martin Thompson' + assert o.song_import.authors == [u'MartiÑ Thómpson'] + assert o.song_import.title == u'Martins Test' + assert o.song_import.alternate_title == u'' + assert o.song_import.song_number == u'1' + assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song_import.verses + assert [u'C1', u'Chorus 1'] in o.song_import.verses + assert [u'C2', u'Chorus 2'] in o.song_import.verses + assert not [u'C3', u'Chorus 3'] in o.song_import.verses + assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song_import.verses + assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song_import.verses + assert o.song_import.verse_order_list == [u'V1', u'C1', u'V2', u'C2', u'V3', u'B1', u'V1'] o = OpenSongImport(manager) o.do_import(u'test2.opensong', commit=False) # o.finish() - o.song.print_song() - assert o.song.copyright == u'2010 Martin Thompson' - assert o.song.authors == [u'Martin Thompson'] - assert o.song.title == u'Martins 2nd Test' - assert o.song.alternate_title == u'' - assert o.song.song_number == u'2' - print o.song.verses - assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song.verses - assert [u'C1', u'Chorus 1'] in o.song.verses - assert [u'C2', u'Chorus 2'] in o.song.verses - assert not [u'C3', u'Chorus 3'] in o.song.verses - assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song.verses - assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song.verses - print o.song.verse_order_list - assert o.song.verse_order_list == [u'V1', u'V2', u'B1', u'C1', u'C2'] + o.song_import.print_song() + assert o.song_import.copyright == u'2010 Martin Thompson' + assert o.song_import.authors == [u'Martin Thompson'] + assert o.song_import.title == u'Martins 2nd Test' + assert o.song_import.alternate_title == u'' + assert o.song_import.song_number == u'2' + print o.song_import.verses + assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song_import.verses + assert [u'C1', u'Chorus 1'] in o.song_import.verses + assert [u'C2', u'Chorus 2'] in o.song_import.verses + assert not [u'C3', u'Chorus 3'] in o.song_import.verses + assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song_import.verses + assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song_import.verses + print o.song_import.verse_order_list + assert o.song_import.verse_order_list == [u'V1', u'V2', u'B1', u'C1', u'C2'] print "Tests passed" pass From 1148de80b9103e4c8b06fd1627a0d2d8c0a95cc1 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Fri, 16 Jul 2010 07:40:47 +0200 Subject: [PATCH 034/148] Updated translation files. --- resources/i18n/openlp_af.ts | 13 +++++-------- resources/i18n/openlp_de.ts | 13 +++++-------- resources/i18n/openlp_en.ts | 13 +++++-------- resources/i18n/openlp_en_GB.ts | 13 +++++-------- resources/i18n/openlp_en_ZA.ts | 13 +++++-------- resources/i18n/openlp_es.ts | 13 +++++-------- resources/i18n/openlp_et.ts | 13 +++++-------- resources/i18n/openlp_hu.ts | 13 +++++-------- resources/i18n/openlp_ko.ts | 13 +++++-------- resources/i18n/openlp_nb.ts | 13 +++++-------- resources/i18n/openlp_pt_BR.ts | 13 +++++-------- resources/i18n/openlp_sv.ts | 13 +++++-------- 12 files changed, 60 insertions(+), 96 deletions(-) diff --git a/resources/i18n/openlp_af.ts b/resources/i18n/openlp_af.ts index 4c86cd22b..16d9d91bb 100644 --- a/resources/i18n/openlp_af.ts +++ b/resources/i18n/openlp_af.ts @@ -718,14 +718,6 @@ This General Public License does not permit incorporating your program into prop &Bybel - - BiblesPlugin,BiblesTab - - - Bibles - Bybels - - BiblesPlugin.BiblesTab @@ -799,6 +791,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + Bybels + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_de.ts b/resources/i18n/openlp_de.ts index 72b560a2b..9fd349bf8 100644 --- a/resources/i18n/openlp_de.ts +++ b/resources/i18n/openlp_de.ts @@ -718,14 +718,6 @@ This General Public License does not permit incorporating your program into prop &Bibel - - BiblesPlugin,BiblesTab - - - Bibles - Bibeln - - BiblesPlugin.BiblesTab @@ -799,6 +791,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + Bibeln + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_en.ts b/resources/i18n/openlp_en.ts index 3b9564af0..312eeedef 100644 --- a/resources/i18n/openlp_en.ts +++ b/resources/i18n/openlp_en.ts @@ -718,14 +718,6 @@ This General Public License does not permit incorporating your program into prop - - BiblesPlugin,BiblesTab - - - Bibles - - - BiblesPlugin.BiblesTab @@ -799,6 +791,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_en_GB.ts b/resources/i18n/openlp_en_GB.ts index d78025446..d16cacb2d 100644 --- a/resources/i18n/openlp_en_GB.ts +++ b/resources/i18n/openlp_en_GB.ts @@ -718,14 +718,6 @@ This General Public License does not permit incorporating your program into prop &Bible - - BiblesPlugin,BiblesTab - - - Bibles - Bibles - - BiblesPlugin.BiblesTab @@ -799,6 +791,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + Bibles + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_en_ZA.ts b/resources/i18n/openlp_en_ZA.ts index 6b74456cb..2e985531e 100644 --- a/resources/i18n/openlp_en_ZA.ts +++ b/resources/i18n/openlp_en_ZA.ts @@ -718,14 +718,6 @@ This General Public License does not permit incorporating your program into prop - - BiblesPlugin,BiblesTab - - - Bibles - Bibles - - BiblesPlugin.BiblesTab @@ -799,6 +791,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + Bibles + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_es.ts b/resources/i18n/openlp_es.ts index 3bf53b7d6..af87639a4 100644 --- a/resources/i18n/openlp_es.ts +++ b/resources/i18n/openlp_es.ts @@ -718,14 +718,6 @@ This General Public License does not permit incorporating your program into prop &Biblia - - BiblesPlugin,BiblesTab - - - Bibles - Biblias - - BiblesPlugin.BiblesTab @@ -799,6 +791,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + Biblias + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_et.ts b/resources/i18n/openlp_et.ts index 021059797..4836a79f2 100644 --- a/resources/i18n/openlp_et.ts +++ b/resources/i18n/openlp_et.ts @@ -751,14 +751,6 @@ This General Public License does not permit incorporating your program into prop - - BiblesPlugin,BiblesTab - - - Bibles - - - BiblesPlugin.BiblesTab @@ -832,6 +824,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_hu.ts b/resources/i18n/openlp_hu.ts index a5e69a0d4..d3500704f 100644 --- a/resources/i18n/openlp_hu.ts +++ b/resources/i18n/openlp_hu.ts @@ -878,14 +878,6 @@ A GNU General Public License nem engedi meg, hogy a program része legyen szelle &Biblia - - BiblesPlugin,BiblesTab - - - Bibles - Bibliák - - BiblesPlugin.BiblesTab @@ -959,6 +951,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + Bibliák + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_ko.ts b/resources/i18n/openlp_ko.ts index dc4fe68d8..1299b062a 100644 --- a/resources/i18n/openlp_ko.ts +++ b/resources/i18n/openlp_ko.ts @@ -718,14 +718,6 @@ This General Public License does not permit incorporating your program into prop - - BiblesPlugin,BiblesTab - - - Bibles - - - BiblesPlugin.BiblesTab @@ -799,6 +791,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_nb.ts b/resources/i18n/openlp_nb.ts index 0b8361dcd..e730187fc 100644 --- a/resources/i18n/openlp_nb.ts +++ b/resources/i18n/openlp_nb.ts @@ -718,14 +718,6 @@ This General Public License does not permit incorporating your program into prop - - BiblesPlugin,BiblesTab - - - Bibles - Bibler - - BiblesPlugin.BiblesTab @@ -799,6 +791,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + Bibler + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_pt_BR.ts b/resources/i18n/openlp_pt_BR.ts index 9c3179024..440c20ff0 100644 --- a/resources/i18n/openlp_pt_BR.ts +++ b/resources/i18n/openlp_pt_BR.ts @@ -718,14 +718,6 @@ This General Public License does not permit incorporating your program into prop &Bíblia - - BiblesPlugin,BiblesTab - - - Bibles - Bíblias - - BiblesPlugin.BiblesTab @@ -799,6 +791,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + Bíblias + BiblesPlugin.ImportWizardForm diff --git a/resources/i18n/openlp_sv.ts b/resources/i18n/openlp_sv.ts index 6df67b51f..a9c64667d 100644 --- a/resources/i18n/openlp_sv.ts +++ b/resources/i18n/openlp_sv.ts @@ -718,14 +718,6 @@ This General Public License does not permit incorporating your program into prop &Bibel - - BiblesPlugin,BiblesTab - - - Bibles - Biblar - - BiblesPlugin.BiblesTab @@ -799,6 +791,11 @@ Changes do not affect verses already in the service. Display dual Bible verses + + + Bibles + Biblar + BiblesPlugin.ImportWizardForm From eaf2f568f44a455b17bfcf525909e5b9a2ab0bfa Mon Sep 17 00:00:00 2001 From: andreas Date: Fri, 16 Jul 2010 11:00:20 +0200 Subject: [PATCH 035/148] error messages added --- .../songs/forms/songmaintenanceform.py | 45 ++++++++++++++++--- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index d50bf747f..54289767f 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -216,11 +216,16 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.checkAuthor(author): if self.songmanager.save_object(author): self.resetAuthors() + else: + QtGui.QMessageBox.critical(self, + translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', + 'Could not add your author.')) else: QtGui.QMessageBox.critical(self, translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', - 'Could not add your author.')) + 'Could not add your author, because he already exists.')) def onTopicAddButtonClick(self): if self.topicform.exec_(): @@ -228,11 +233,16 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.checkTopic(topic): if self.songmanager.save_object(topic): self.resetTopics() + else: + QtGui.QMessageBox.critical(self, + translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', + 'Could not add your topic.')) else: QtGui.QMessageBox.critical(self, translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', - 'Could not add your topic.')) + 'Could not add your topic, because it already exists.')) def onBookAddButtonClick(self): if self.bookform.exec_(): @@ -242,11 +252,16 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.checkBook(book): if self.songmanager.save_object(book): self.resetBooks() + else: + QtGui.QMessageBox.critical(self, + translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', + 'Could not add your book.')) else: QtGui.QMessageBox.critical(self, translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', - 'Could not add your book.')) + 'Could not add your book, because it already exists.')) def onAuthorEditButtonClick(self): author_id = self._getCurrentItemId(self.AuthorsListWidget) @@ -270,6 +285,11 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.checkAuthor(author, True): if self.songmanager.save_object(author): self.resetAuthors() + else: + QtGui.QMessageBox.critical(self, + translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', + 'Could not save your changes.')) else: # We restore the author's old first and last name as well as # his display name. @@ -279,7 +299,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): QtGui.QMessageBox.critical(self, translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', - 'Could not save your author.')) + 'Could not save your modified author, because he ' + 'already exists.')) def onTopicEditButtonClick(self): topic_id = self._getCurrentItemId(self.TopicsListWidget) @@ -293,13 +314,19 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.checkTopic(topic, True): if self.songmanager.save_object(topic): self.resetTopics() + else: + QtGui.QMessageBox.critical(self, + translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', + 'Could not save your changes.')) else: # We restore the topics's old name. topic.name = temp_name QtGui.QMessageBox.critical(self, translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', - 'Could not save your topic.')) + 'Could not save your modified topic, because it ' + 'already exists.')) def onBookEditButtonClick(self): book_id = self._getCurrentItemId(self.BooksListWidget) @@ -317,6 +344,11 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.checkBook(book, True): if self.songmanager.save_object(book): self.resetBooks() + else: + QtGui.QMessageBox.critical(self, + translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', + 'Could not save your changes.')) else: # We restore the book's old name and publisher. book.name = temp_name @@ -324,7 +356,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): QtGui.QMessageBox.critical(self, translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', - 'Could not save your book.')) + 'Could not save your modified book, because it already ' + 'exists.')) def onAuthorDeleteButtonClick(self): """ From 853ae906d367bad78e6506eeef2ca685e523d975 Mon Sep 17 00:00:00 2001 From: andreas Date: Fri, 16 Jul 2010 11:09:11 +0200 Subject: [PATCH 036/148] reverted changed done before we official changed line length from 79 to 80 --- openlp/plugins/bibles/bibleplugin.py | 6 +++--- openlp/plugins/bibles/lib/mediaitem.py | 12 ++++-------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 10a4c9551..d4593c6d8 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -40,7 +40,7 @@ class BiblePlugin(Plugin): self.weight = -9 self.icon_path = u':/plugins/plugin_bibles.png' self.icon = build_icon(self.icon_path) - #Register the bible Manager + # Register the bible Manager. self.status = PluginStatus.Active self.manager = None @@ -62,7 +62,7 @@ class BiblePlugin(Plugin): return BiblesTab(self.name) def getMediaManagerItem(self): - # Create the BibleManagerItem object + # Create the BibleManagerItem object. return BibleMediaItem(self, self.icon, self.name) def addImportMenuItem(self, import_menu): @@ -71,7 +71,7 @@ class BiblePlugin(Plugin): import_menu.addAction(self.ImportBibleItem) self.ImportBibleItem.setText( translate('BiblePlugin', '&Bible')) - # Signals and slots + # signals and slots QtCore.QObject.connect(self.ImportBibleItem, QtCore.SIGNAL(u'triggered()'), self.onBibleImportClick) self.ImportBibleItem.setVisible(False) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 9324e74ce..4063edec7 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -129,8 +129,7 @@ class BibleMediaItem(MediaManagerItem): self.QuickClearLabel.setObjectName(u'QuickSearchLabel') self.QuickLayout.addWidget(self.QuickClearLabel, 4, 0, 1, 1) self.ClearQuickSearchComboBox = QtGui.QComboBox(self.QuickTab) - self.ClearQuickSearchComboBox.setObjectName( - u'ClearQuickSearchComboBox') + self.ClearQuickSearchComboBox.setObjectName(u'ClearQuickSearchComboBox') self.QuickLayout.addWidget(self.ClearQuickSearchComboBox, 4, 1, 1, 2) self.QuickSearchButtonLayout = QtGui.QHBoxLayout() self.QuickSearchButtonLayout.setMargin(0) @@ -168,8 +167,7 @@ class BibleMediaItem(MediaManagerItem): self.AdvancedVersionComboBox.setObjectName(u'AdvancedVersionComboBox') self.AdvancedLayout.addWidget(self.AdvancedVersionComboBox, 0, 1, 1, 2) self.AdvancedSecondBibleLabel = QtGui.QLabel(self.AdvancedTab) - self.AdvancedSecondBibleLabel.setObjectName( - u'AdvancedSecondBibleLabel') + self.AdvancedSecondBibleLabel.setObjectName(u'AdvancedSecondBibleLabel') self.AdvancedLayout.addWidget(self.AdvancedSecondBibleLabel, 1, 0, 1, 1) self.AdvancedSecondBibleComboBox = QtGui.QComboBox(self.AdvancedTab) self.AdvancedSecondBibleComboBox.setSizeAdjustPolicy( @@ -223,8 +221,7 @@ class BibleMediaItem(MediaManagerItem): u'AdvancedSearchButtonLayout') self.AdvancedSearchButtonSpacer = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.AdvancedSearchButtonLayout.addItem( - self.AdvancedSearchButtonSpacer) + self.AdvancedSearchButtonLayout.addItem(self.AdvancedSearchButtonSpacer) self.AdvancedSearchButton = QtGui.QPushButton(self.AdvancedTab) self.AdvancedSearchButton.setObjectName(u'AdvancedSearchButton') self.AdvancedSearchButtonLayout.addWidget(self.AdvancedSearchButton) @@ -618,8 +615,7 @@ class BibleMediaItem(MediaManagerItem): else: self.AdvancedSearchButton.setEnabled(True) self.AdvancedMessage.setText(u'') - self.adjustComboBox(1, self.chapters_from, - self.AdvancedFromChapter) + self.adjustComboBox(1, self.chapters_from, self.AdvancedFromChapter) self.adjustComboBox(1, self.chapters_from, self.AdvancedToChapter) self.adjustComboBox(1, self.verses, self.AdvancedFromVerse) self.adjustComboBox(1, self.verses, self.AdvancedToVerse) From 0c038095265618c5f252a2b227ed1a2d50bc3584 Mon Sep 17 00:00:00 2001 From: andreas Date: Fri, 16 Jul 2010 11:16:40 +0200 Subject: [PATCH 037/148] comment cleanup --- openlp/core/ui/maindisplay.py | 2 +- openlp/core/ui/mainwindow.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 6c52c1a23..90be52925 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -167,7 +167,7 @@ class DisplayWidget(QtGui.QGraphicsView): def keyPressEvent(self, event): if isinstance(event, QtGui.QKeyEvent): - # here accept the event and do something + # Here accept the event and do something. if event.key() == QtCore.Qt.Key_Up: Receiver.send_message(u'slidecontroller_live_previous') event.accept() diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index ec34a483b..b014747a2 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -114,7 +114,7 @@ class Ui_MainWindow(object): MainWindow.setSizePolicy(sizePolicy) MainIcon = build_icon(u':/icon/openlp-logo-16x16.png') MainWindow.setWindowIcon(MainIcon) - # Set up the main container, which contains all the other form widgets + # Set up the main container, which contains all the other form widgets. self.MainContent = QtGui.QWidget(MainWindow) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) From 1050e216e1952c3a188cb14b331c860b1ffecddb Mon Sep 17 00:00:00 2001 From: andreas Date: Fri, 16 Jul 2010 11:19:02 +0200 Subject: [PATCH 038/148] comment cleanup --- openlp/core/ui/maindisplay.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 90be52925..099c75ab5 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -504,7 +504,7 @@ class VideoDisplay(Phonon.VideoWidget): def keyPressEvent(self, event): if isinstance(event, QtGui.QKeyEvent): - # here accept the event and do something + # Here accept the event and do something. if event.key() == QtCore.Qt.Key_Escape: self.onMediaStop() event.accept() From e11ebea96333715a0df7ade2d6ee930d44b35e64 Mon Sep 17 00:00:00 2001 From: andreas Date: Fri, 16 Jul 2010 15:22:53 +0200 Subject: [PATCH 039/148] error messages changes --- openlp/plugins/songs/forms/authorsform.py | 2 +- openlp/plugins/songs/forms/songmaintenanceform.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/songs/forms/authorsform.py b/openlp/plugins/songs/forms/authorsform.py index c219b12ac..fdc704294 100644 --- a/openlp/plugins/songs/forms/authorsform.py +++ b/openlp/plugins/songs/forms/authorsform.py @@ -97,7 +97,7 @@ class AuthorsForm(QtGui.QDialog, Ui_AuthorsDialog): if QtGui.QMessageBox.critical( self, translate('SongsPlugin.AuthorsForm', 'Error'), translate('SongsPlugin.AuthorsForm', - 'You haven\'t set a display name for the ' + 'You have not set a display name for the ' 'author, would you like me to combine the first and ' 'last names for you?'), QtGui.QMessageBox.StandardButtons( diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 54289767f..ae37aab95 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -225,7 +225,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): QtGui.QMessageBox.critical(self, translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', - 'Could not add your author, because he already exists.')) + 'This author already exists.')) def onTopicAddButtonClick(self): if self.topicform.exec_(): @@ -242,7 +242,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): QtGui.QMessageBox.critical(self, translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', - 'Could not add your topic, because it already exists.')) + 'This topic already exists.')) def onBookAddButtonClick(self): if self.bookform.exec_(): @@ -261,7 +261,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): QtGui.QMessageBox.critical(self, translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', - 'Could not add your book, because it already exists.')) + 'This book already exists.')) def onAuthorEditButtonClick(self): author_id = self._getCurrentItemId(self.AuthorsListWidget) From fedde147aeace7f3c20686bccd9c649e06d91585 Mon Sep 17 00:00:00 2001 From: andreas Date: Fri, 16 Jul 2010 18:39:18 +0200 Subject: [PATCH 040/148] started working on 'merging' song books, topics, authors (NOT finished yet) --- .../songs/forms/songmaintenanceform.py | 47 +++++++++++++++---- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index ae37aab95..5aac9d887 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -28,7 +28,7 @@ from sqlalchemy.sql import and_ from openlp.core.lib import translate from openlp.plugins.songs.forms import AuthorsForm, TopicsForm, SongBookForm -from openlp.plugins.songs.lib.db import Author, Book, Topic +from openlp.plugins.songs.lib.db import Author, Book, Topic, Song from songmaintenancedialog import Ui_SongMaintenanceDialog class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): @@ -188,7 +188,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): """ books = self.songmanager.get_all_objects_filtered(Book, and_( - Book.name == new_book.name, + Book.name == new_book.name, Book.publisher == new_book.publisher ) ) @@ -349,15 +349,46 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', 'Could not save your changes.')) + elif self.mergeItems(Book, book): + self.resetBooks() else: - # We restore the book's old name and publisher. + # We restore the book's old name and publisher, because + # the user did not want to merge the two topics. book.name = temp_name book.publisher = temp_publisher - QtGui.QMessageBox.critical(self, - translate('SongsPlugin.SongMaintenanceForm', 'Error'), - translate('SongsPlugin.SongMaintenanceForm', - 'Could not save your modified book, because it already ' - 'exists.')) + + def mergeItems(self, item_class, existing_item): + ''' + Called when a song book is edited, but the modified song book is a + duplicate (of an existing one). The user can merges the modified item + with the existing one in terms to be able to fix e. g. spelling mistakes in + the name. + ''' + if QtGui.QMessageBox.critical(self, + translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', 'The book "bla"' + 'already exists. Would you like to make songs with book "blu" use ' + 'the existing book "bla"?'), + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | \ + QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: + #if item_class == Author: + #if item_class == Topic: + if item_class == Book: + songs = self.songmanager.get_all_objects_filtered(Song, + Song.song_book_id == existing_item.id) + book = self.songmanager.get_object_filtered(Book, + and_( + Book.name == existing_item.name, + Book.publisher == existing_item.publisher + ) + ) + for song in songs: + song.song_book_id = book.id + self.songmanager.save_object(song) + self.songmanager.delete_object(Book, existing_item.id) + return True + else: + return False def onAuthorDeleteButtonClick(self): """ From 1f3656f7926fd6ee2c4b41fedcf1c33ac7edc249 Mon Sep 17 00:00:00 2001 From: andreas Date: Fri, 16 Jul 2010 20:20:18 +0200 Subject: [PATCH 041/148] continued working on 'merging' song books, topics, authors (NOT finished yet) --- .../songs/forms/songmaintenanceform.py | 80 +++++++++++-------- 1 file changed, 47 insertions(+), 33 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 5aac9d887..6737898bd 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -28,7 +28,7 @@ from sqlalchemy.sql import and_ from openlp.core.lib import translate from openlp.plugins.songs.forms import AuthorsForm, TopicsForm, SongBookForm -from openlp.plugins.songs.lib.db import Author, Book, Topic, Song +from openlp.plugins.songs.lib.db import Author, Book, Topic, Song from songmaintenancedialog import Ui_SongMaintenanceDialog class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): @@ -319,7 +319,16 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', 'Could not save your changes.')) - else: + elif QtGui.QMessageBox.critical(self, + translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', 'The topic %s ' + 'already exists. Would you like to make songs with topic %s ' + 'use the existing topic %s?' % (topic.name, temp_name, + topic.name)), + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | \ + QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: + self.mergeTopics(topic) + self.resetTopics() # We restore the topics's old name. topic.name = temp_name QtGui.QMessageBox.critical(self, @@ -349,7 +358,15 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', 'Could not save your changes.')) - elif self.mergeItems(Book, book): + elif QtGui.QMessageBox.critical(self, + translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', 'The book %s ' + 'already exists. Would you like to make songs with book %s ' + 'use the existing book %s?' % (book.name, temp_name, + book.name)), + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | \ + QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: + self.mergeBooks(book) self.resetBooks() else: # We restore the book's old name and publisher, because @@ -357,38 +374,35 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book.name = temp_name book.publisher = temp_publisher - def mergeItems(self, item_class, existing_item): + #def mergeAuthors(selfs, existing_author): + +# def mergeTopics(self, existing_topic): +# ''' +# ''' +# new_topic = self.songmanager.get_object_filtered(Topic, +# Topic.name == existing_topic.name) +# songs = self.songmanager.get_all_objects_filtered(....., +# songs_topics.topic_id == existing_topic.id) +# for song in songs: +# song.songs_topic.id = new_topic.id +# self.songmanager.save_object(song) +# self.songmanager.delete_object(Book, existing_topic.id) + + def mergeBooks(self, existing_book): ''' - Called when a song book is edited, but the modified song book is a - duplicate (of an existing one). The user can merges the modified item - with the existing one in terms to be able to fix e. g. spelling mistakes in - the name. ''' - if QtGui.QMessageBox.critical(self, - translate('SongsPlugin.SongMaintenanceForm', 'Error'), - translate('SongsPlugin.SongMaintenanceForm', 'The book "bla"' - 'already exists. Would you like to make songs with book "blu" use ' - 'the existing book "bla"?'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | \ - QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: - #if item_class == Author: - #if item_class == Topic: - if item_class == Book: - songs = self.songmanager.get_all_objects_filtered(Song, - Song.song_book_id == existing_item.id) - book = self.songmanager.get_object_filtered(Book, - and_( - Book.name == existing_item.name, - Book.publisher == existing_item.publisher - ) - ) - for song in songs: - song.song_book_id = book.id - self.songmanager.save_object(song) - self.songmanager.delete_object(Book, existing_item.id) - return True - else: - return False + new_book = self.songmanager.get_object_filtered(Book, + and_( + Book.name == existing_book.name, + Book.publisher == existing_book.publisher + ) + ) + songs = self.songmanager.get_all_objects_filtered(Song, + Song.song_book_id == existing_book.id) + for song in songs: + song.song_book_id = new_book.id + self.songmanager.save_object(song) + self.songmanager.delete_object(Book, existing_book.id) def onAuthorDeleteButtonClick(self): """ From 94660ee798ed250a39ad5f43d2677d7a9f8fb007 Mon Sep 17 00:00:00 2001 From: andreas Date: Sat, 17 Jul 2010 11:55:48 +0200 Subject: [PATCH 042/148] continued working on 'merging' song books, topics, authors (NOT finished yet) --- .../songs/forms/songmaintenanceform.py | 60 ++++++++++++------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index f7e8c37b6..0767d5b19 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -140,13 +140,10 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): Returns False if the given Author is already in the list otherwise True. """ - authors = self.songmanager.get_all_objects_filtered(Author, - and_( - Author.first_name == new_author.first_name, - Author.last_name == new_author.last_name, - Author.display_name == new_author.display_name - ) - ) + authors = self.songmanager.get_all_objects_filtered(Author, + and_(Author.first_name == new_author.first_name, + Author.last_name == new_author.last_name, + Author.display_name == new_author.display_name)) if len(authors) > 0: # If we edit an existing Author, we need to make sure that we do # not return False when nothing has changed (because this would @@ -186,7 +183,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): Returns False if the given Book is already in the list otherwise True. """ books = self.songmanager.get_all_objects_filtered(Book, - and_(Book.name == new_book.name, + and_(Book.name == new_book.name, Book.publisher == new_book.publisher)) if len(books) > 0: # If we edit an existing Book, we need to make sure that we do @@ -242,8 +239,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): def onBookAddButtonClick(self): if self.bookform.exec_(): - book = Book.populate( - name=unicode(self.bookform.NameEdit.text()), + book = Book.populate(name=unicode(self.bookform.NameEdit.text()), publisher=unicode(self.bookform.PublisherEdit.text())) if self.checkBook(book): if self.songmanager.save_object(book): @@ -286,6 +282,16 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', 'Could not save your changes.')) + elif QtGui.QMessageBox.critical(self, + translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', 'The author %s' + ' already exists. Would you like to make songs with author ' + '%s use the existing author %s?' % (author.display_name, + temp_display_name, author.display_name)), + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | \ + QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: + self.mergeAuthors(authors) + self.resetAuthors() else: # We restore the author's old first and last name as well as # his display name. @@ -318,13 +324,14 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): elif QtGui.QMessageBox.critical(self, translate('SongsPlugin.SongMaintenanceForm', 'Error'), translate('SongsPlugin.SongMaintenanceForm', 'The topic %s ' - 'already exists. Would you like to make songs with topic %s ' - 'use the existing topic %s?' % (topic.name, temp_name, + 'already exists. Would you like to make songs with topic %s' + ' use the existing topic %s?' % (topic.name, temp_name, topic.name)), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | \ QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: self.mergeTopics(topic) self.resetTopics() + else: # We restore the topics's old name. topic.name = temp_name QtGui.QMessageBox.critical(self, @@ -370,7 +377,19 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book.name = temp_name book.publisher = temp_publisher - #def mergeAuthors(selfs, existing_author): +# def mergeAuthors(self, existing_author): +# ''' +# ''' +# new_author = self.songmanager.get_object_filtered(Author, +# and_(Author.first_name == existing_author.first_name, +# Author.last_name == existing_author.last_name, +# Author.display_name == existing_author.display_name)) +# songs = self.songmanager.get_all_objects_filtered(......, +# Song.song_book_id == existing_book.id) +# for song in songs: +# # +# self.songmanager.save_object(song) +# self.songmanager.delete_object(Author, existing_author.id) # def mergeTopics(self, existing_topic): # ''' @@ -380,7 +399,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): # songs = self.songmanager.get_all_objects_filtered(....., # songs_topics.topic_id == existing_topic.id) # for song in songs: -# song.songs_topic.id = new_topic.id +# # # self.songmanager.save_object(song) # self.songmanager.delete_object(Book, existing_topic.id) @@ -388,11 +407,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): ''' ''' new_book = self.songmanager.get_object_filtered(Book, - and_( - Book.name == existing_book.name, - Book.publisher == existing_book.publisher - ) - ) + and_(Book.name == existing_book.name, + Book.publisher == existing_book.publisher)) songs = self.songmanager.get_all_objects_filtered(Song, Song.song_book_id == existing_book.id) for song in songs: @@ -402,7 +418,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): def onAuthorDeleteButtonClick(self): """ - Delete the author if the author is not attached to any songs + Delete the author if the author is not attached to any songs. """ self._deleteItem(Author, self.AuthorsListWidget, self.resetAuthors, translate('SongsPlugin.SongMaintenanceForm', 'Delete Author'), @@ -415,7 +431,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): def onTopicDeleteButtonClick(self): """ - Delete the Book is the Book is not attached to any songs + Delete the Book is the Book is not attached to any songs. """ self._deleteItem(Topic, self.TopicsListWidget, self.resetTopics, translate('SongsPlugin.SongMaintenanceForm', 'Delete Topic'), @@ -428,7 +444,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): def onBookDeleteButtonClick(self): """ - Delete the Book is the Book is not attached to any songs + Delete the Book is the Book is not attached to any songs. """ self._deleteItem(Book, self.BooksListWidget, self.resetBooks, translate('SongsPlugin.SongMaintenanceForm', 'Delete Book'), From dacfe58beaab7242220a65273e00427bc3a5bd10 Mon Sep 17 00:00:00 2001 From: andreas Date: Sat, 17 Jul 2010 13:49:54 +0200 Subject: [PATCH 043/148] continued working on 'merging' song books, topics, authors (still not finished) --- .../songs/forms/songmaintenanceform.py | 55 ++++++++++--------- openlp/plugins/songs/lib/db.py | 14 +++++ 2 files changed, 43 insertions(+), 26 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 0767d5b19..822735755 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -28,7 +28,8 @@ from sqlalchemy.sql import and_ from openlp.core.lib import translate from openlp.plugins.songs.forms import AuthorsForm, TopicsForm, SongBookForm -from openlp.plugins.songs.lib.db import Author, Book, Topic, Song +from openlp.plugins.songs.lib.db import Author, Book, Topic, Song, \ + SongsTopics, AuthorsSongs from songmaintenancedialog import Ui_SongMaintenanceDialog class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): @@ -290,7 +291,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): temp_display_name, author.display_name)), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | \ QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: - self.mergeAuthors(authors) + self.mergeAuthors(author) self.resetAuthors() else: # We restore the author's old first and last name as well as @@ -377,31 +378,33 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book.name = temp_name book.publisher = temp_publisher -# def mergeAuthors(self, existing_author): -# ''' -# ''' -# new_author = self.songmanager.get_object_filtered(Author, -# and_(Author.first_name == existing_author.first_name, -# Author.last_name == existing_author.last_name, -# Author.display_name == existing_author.display_name)) -# songs = self.songmanager.get_all_objects_filtered(......, -# Song.song_book_id == existing_book.id) -# for song in songs: -# # -# self.songmanager.save_object(song) -# self.songmanager.delete_object(Author, existing_author.id) + def mergeAuthors(self, existing_author): + ''' + ''' + new_author = self.songmanager.get_object_filtered(Author, + and_(Author.first_name == existing_author.first_name, + Author.last_name == existing_author.last_name, + Author.display_name == existing_author.display_name)) + songs = self.songmanager.get_all_objects_filtered(AuthorsSongs, + AuthorsSongs.author_id == existing_author.id) + for song in songs: + song.author_id = new_author.id + self.songmanager.save_object(song) + self.songmanager.delete_object(Author, existing_author.id) -# def mergeTopics(self, existing_topic): -# ''' -# ''' -# new_topic = self.songmanager.get_object_filtered(Topic, -# Topic.name == existing_topic.name) -# songs = self.songmanager.get_all_objects_filtered(....., -# songs_topics.topic_id == existing_topic.id) -# for song in songs: -# # -# self.songmanager.save_object(song) -# self.songmanager.delete_object(Book, existing_topic.id) + def mergeTopics(self, existing_topic): + ''' + ''' + new_topic = self.songmanager.get_object_filtered(Topic, + Topic.name == existing_topic.name) + songs = self.songmanager.get_all_objects_filtered(SongsTopics, + SongsTopics.topic_id == existing_topic.id) + for song in songs: + song.topic_id = new_topic.id + self.songmanager.save_object(song) + songs = self.songmanager.get_all_objects_filtered(SongsTopics, + SongsTopics.topic_id == new_topic.id) + self.songmanager.delete_object(Topic, existing_topic.id) def mergeBooks(self, existing_book): ''' diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index 655043144..f37a23ff9 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -58,6 +58,18 @@ class Topic(BaseModel): """ pass +class SongsTopics(BaseModel): + """ + Songs topics model + """ + pass + +class AuthorsSongs(BaseModel): + """ + Songs authors model + """ + pass + def init_schema(url): """ Setup the songs database connection and initialise the database schema @@ -146,6 +158,8 @@ def init_schema(url): 'topics': relation(Topic, backref='songs', secondary=songs_topics_table)}) mapper(Topic, topics_table) + mapper(SongsTopics, songs_topics_table) + mapper(AuthorsSongs, authors_songs_table) metadata.create_all(checkfirst=True) return session From f458f80ce2bcf206fa7cdc55cc03de102f85f1ea Mon Sep 17 00:00:00 2001 From: andreas Date: Sat, 17 Jul 2010 17:01:47 +0200 Subject: [PATCH 044/148] added check to prevent an author/topic being associated (with one song) twice (causing an error) --- .../songs/forms/songmaintenanceform.py | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 822735755..98dd42495 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -388,9 +388,16 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): songs = self.songmanager.get_all_objects_filtered(AuthorsSongs, AuthorsSongs.author_id == existing_author.id) for song in songs: - song.author_id = new_author.id - self.songmanager.save_object(song) - self.songmanager.delete_object(Author, existing_author.id) + # We have to check if the song has already the new_author as author. + # If that is the case we must not change song.author_id to the + # new_author's id, because then they were not unique. + temp_song = self.songmanager.get_all_objects_filtered(AuthorsSongs, + and_(AuthorsSongs.author_id == new_author.id, + AuthorsSongs.song_id == song.song_id)) + if len(temp_song) < 1: + song.author_id = new_author.id + self.songmanager.save_object(song) + self.songmanager.delete_object(Author, existing_author.id) def mergeTopics(self, existing_topic): ''' @@ -400,10 +407,15 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): songs = self.songmanager.get_all_objects_filtered(SongsTopics, SongsTopics.topic_id == existing_topic.id) for song in songs: - song.topic_id = new_topic.id - self.songmanager.save_object(song) - songs = self.songmanager.get_all_objects_filtered(SongsTopics, - SongsTopics.topic_id == new_topic.id) + # We have to check if the song has already the new_topic as topic. + # If that is the case we must not change song.topic_id to the + # new_topic's id, because then they were not unique. + temp_song = self.songmanager.get_all_objects_filtered(SongsTopics, + and_(SongsTopics.topic_id == new_topic.id, + SongsTopics.song_id == song.song_id)) + if len(temp_song) < 1: + song.topic_id = new_topic.id + self.songmanager.save_object(song) self.songmanager.delete_object(Topic, existing_topic.id) def mergeBooks(self, existing_book): From c7f32e280c63925d0b07aa43557404ff146591f1 Mon Sep 17 00:00:00 2001 From: andreas Date: Sat, 17 Jul 2010 17:10:46 +0200 Subject: [PATCH 045/148] docs --- openlp/plugins/songs/forms/songmaintenanceform.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 98dd42495..869130c40 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -359,7 +359,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): self.resetBooks() else: QtGui.QMessageBox.critical(self, - translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', + 'Error'), translate('SongsPlugin.SongMaintenanceForm', 'Could not save your changes.')) elif QtGui.QMessageBox.critical(self, @@ -380,6 +381,10 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): def mergeAuthors(self, existing_author): ''' + Merges two authors into one author. + + ``existing_author`` + The author which will be deleted afterwards. ''' new_author = self.songmanager.get_object_filtered(Author, and_(Author.first_name == existing_author.first_name, @@ -401,6 +406,10 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): def mergeTopics(self, existing_topic): ''' + Merges two topics into one topic. + + ``existing_topic`` + The topic which will be deleted afterwards. ''' new_topic = self.songmanager.get_object_filtered(Topic, Topic.name == existing_topic.name) @@ -420,6 +429,10 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): def mergeBooks(self, existing_book): ''' + Merges two books into one book. + + ``existing_book`` + The book which will be deleted afterwards. ''' new_book = self.songmanager.get_object_filtered(Book, and_(Book.name == existing_book.name, From d0e914a681a7b8082941b7edde75e57c7c95d06b Mon Sep 17 00:00:00 2001 From: andreas Date: Sat, 17 Jul 2010 18:03:59 +0200 Subject: [PATCH 046/148] name standardisation + reloads song list after author(s) have been edited/merged --- openlp/plugins/songs/forms/editsongdialog.py | 4 ++-- openlp/plugins/songs/forms/songbookdialog.py | 2 +- openlp/plugins/songs/forms/songmaintenancedialog.py | 2 +- openlp/plugins/songs/forms/songmaintenanceform.py | 10 +++++++--- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/openlp/plugins/songs/forms/editsongdialog.py b/openlp/plugins/songs/forms/editsongdialog.py index 43684c1a9..922147628 100644 --- a/openlp/plugins/songs/forms/editsongdialog.py +++ b/openlp/plugins/songs/forms/editsongdialog.py @@ -430,7 +430,7 @@ class Ui_EditSongDialog(object): self.AuthorRemoveButton.setText( translate('SongsPlugin.EditSongForm', '&Remove')) self.MaintenanceButton.setText(translate('SongsPlugin.EditSongForm', - '&Manage Authors, Topics, Books')) + '&Manage Authors, Topics, Song Books')) self.TopicGroupBox.setTitle( translate('SongsPlugin.EditSongForm', 'Topic')) self.TopicAddButton.setText( @@ -441,7 +441,7 @@ class Ui_EditSongDialog(object): translate('SongsPlugin.EditSongForm', 'Song Book')) self.SongTabWidget.setTabText( self.SongTabWidget.indexOf(self.AuthorsTab), - translate('SongsPlugin.EditSongForm', 'Authors, Topics && Book')) + translate('SongsPlugin.EditSongForm', 'Authors, Topics && Song Book')) self.ThemeGroupBox.setTitle( translate('SongsPlugin.EditSongForm', 'Theme')) self.ThemeAddButton.setText( diff --git a/openlp/plugins/songs/forms/songbookdialog.py b/openlp/plugins/songs/forms/songbookdialog.py index 2ab223b34..0401ff75b 100644 --- a/openlp/plugins/songs/forms/songbookdialog.py +++ b/openlp/plugins/songs/forms/songbookdialog.py @@ -68,7 +68,7 @@ class Ui_SongBookDialog(object): def retranslateUi(self, SongBookDialog): SongBookDialog.setWindowTitle( - translate('SongsPlugin.SongBookForm', 'Edit Book')) + translate('SongsPlugin.SongBookForm', 'Song Book Maintenance')) self.NameLabel.setText(translate('SongsPlugin.SongBookForm', '&Name:')) self.PublisherLabel.setText( translate('SongsPlugin.SongBookForm', '&Publisher:')) diff --git a/openlp/plugins/songs/forms/songmaintenancedialog.py b/openlp/plugins/songs/forms/songmaintenancedialog.py index f86754e0c..3e2f37dd3 100644 --- a/openlp/plugins/songs/forms/songmaintenancedialog.py +++ b/openlp/plugins/songs/forms/songmaintenancedialog.py @@ -217,7 +217,7 @@ class Ui_SongMaintenanceDialog(object): self.TypeListWidget.item(1).setText( translate('SongsPlugin.SongMaintenanceForm', 'Topics')) self.TypeListWidget.item(2).setText( - translate('SongsPlugin.SongMaintenanceForm', 'Books/Hymnals')) + translate('SongsPlugin.SongMaintenanceForm', 'Song Books')) self.AuthorAddButton.setText( translate('SongsPlugin.SongMaintenanceForm', '&Add')) self.AuthorEditButton.setText( diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 869130c40..9ed68d31f 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -26,7 +26,7 @@ from PyQt4 import QtGui, QtCore from sqlalchemy.sql import and_ -from openlp.core.lib import translate +from openlp.core.lib import Receiver, translate from openlp.plugins.songs.forms import AuthorsForm, TopicsForm, SongBookForm from openlp.plugins.songs.lib.db import Author, Book, Topic, Song, \ SongsTopics, AuthorsSongs @@ -278,9 +278,11 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): if self.checkAuthor(author, True): if self.songmanager.save_object(author): self.resetAuthors() + Receiver.send_message(u'songs_load_list') else: QtGui.QMessageBox.critical(self, - translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', + 'Error'), translate('SongsPlugin.SongMaintenanceForm', 'Could not save your changes.')) elif QtGui.QMessageBox.critical(self, @@ -293,6 +295,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: self.mergeAuthors(author) self.resetAuthors() + Receiver.send_message(u'songs_load_list') else: # We restore the author's old first and last name as well as # his display name. @@ -319,7 +322,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): self.resetTopics() else: QtGui.QMessageBox.critical(self, - translate('SongsPlugin.SongMaintenanceForm', 'Error'), + translate('SongsPlugin.SongMaintenanceForm', + 'Error'), translate('SongsPlugin.SongMaintenanceForm', 'Could not save your changes.')) elif QtGui.QMessageBox.critical(self, From f964c5d1ce57e0d66f04a2309bde5dcbf1238d31 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 17 Jul 2010 18:36:03 +0100 Subject: [PATCH 047/148] Add alternate_title field --- openlp/plugins/songs/forms/editsongform.py | 5 ++--- openlp/plugins/songs/lib/db.py | 1 + 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index c0db7b741..e2646b07b 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -180,7 +180,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.loadBooks() self.song = self.songmanager.get_object(Song, id) self.TitleEditItem.setText(self.song.title) - title = self.song.search_title.split(u'@') + self.AlternativeEdit.setText(self.song.alternate_title) if self.song.song_book_id != 0: book_name = self.songmanager.get_object(Book, self.song.song_book_id) @@ -198,8 +198,6 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): id = 0 self.song.theme_name = None self.ThemeSelectionComboItem.setCurrentIndex(id) - if len(title) > 1: - self.AlternativeEdit.setText(title[1]) if self.song.copyright: self.CopyrightEditItem.setText(self.song.copyright) else: @@ -622,6 +620,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def saveSong(self): self.song.title = unicode(self.TitleEditItem.text()) + self.song.alternate_title = unicode(self.AlternativeEdit.text()) self.song.copyright = unicode(self.CopyrightEditItem.text()) self.song.search_title = self.song.title + u'@' + \ unicode(self.AlternativeEdit.text()) diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index 655043144..794501cc7 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -88,6 +88,7 @@ def init_schema(url): Column(u'song_book_id', types.Integer, ForeignKey(u'song_books.id'), default=0), Column(u'title', types.Unicode(255), nullable=False), + Column(u'alternate_title', types.Unicode(255)), Column(u'lyrics', types.UnicodeText, nullable=False), Column(u'verse_order', types.Unicode(128)), Column(u'copyright', types.Unicode(255)), From 168aeea3e1de937d71efc8f50520c2c8dd6b78cf Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Sun, 18 Jul 2010 20:27:27 +0100 Subject: [PATCH 048/148] Tweaks from review --- openlp/plugins/songs/lib/opensongimport.py | 58 ++++++++++--------- .../songs/lib/test/test_opensongimport.py | 3 +- openlp/plugins/songs/lib/xml.py | 3 +- 3 files changed, 33 insertions(+), 31 deletions(-) diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index b8d30c535..4974f79f7 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -26,11 +26,12 @@ import os import re -from songimport import SongImport +from zipfile import ZipFile + from lxml.etree import Element from lxml import objectify -from zipfile import ZipFile +from openlp.plugins.songs.lib.songimport import SongImport import logging log = logging.getLogger(__name__) @@ -104,12 +105,12 @@ class OpenSongImport(object): set False, the import will not be committed to the database (useful for test scripts) """ - ext=os.path.splitext(filename)[1] + ext = os.path.splitext(filename)[1] if ext.lower() == ".zip": log.info('Zipfile found %s', filename) - z=ZipFile(filename, u'r') + z = ZipFile(filename, u'r') for song in z.infolist(): - parts=os.path.split(song.filename) + parts = os.path.split(song.filename) if parts[-1] == u'': #No final part => directory continue @@ -158,28 +159,29 @@ class OpenSongImport(object): # in the absence of any other indication, verses are the default, # erm, versetype! versetype = u'V' - for l in lyrics.split(u'\n'): + for thisline in lyrics.split(u'\n'): # remove comments - semicolon = l.find(u';') + semicolon = thisline.find(u';') if semicolon >= 0: - l = l[:semicolon] - l = l.strip() - if len(l) == 0: + thisline = thisline[:semicolon] + thisline = thisline.strip() + if len(thisline) == 0: continue - # skip inline guitar chords and page and column breaks - if l[0] == u'.' or l.startswith(u'---') or l.startswith(u'-!!'): + # skip inthisline guitar chords and page and column breaks + if thisline[0] == u'.' or thisline.startswith(u'---') \ + or thisline.startswith(u'-!!'): continue # verse/chorus/etc. marker - if l[0] == u'[': - versetype = l[1].upper() + if thisline[0] == u'[': + versetype = thisline[1].upper() if versetype.isdigit(): versenum = versetype versetype = u'V' - elif l[2] != u']': + elif thisline[2] != u']': # there's a number to go with it - extract that as well - right_bracket = l.find(u']') - versenum = l[2:right_bracket] + right_bracket = thisline.find(u']') + versenum = thisline[2:right_bracket] else: # if there's no number, assume it's no.1 versenum = u'1' @@ -187,13 +189,13 @@ class OpenSongImport(object): words = None # number at start of line.. it's verse number - if l[0].isdigit(): - versenum = l[0] - words = l[1:].strip() + if thisline[0].isdigit(): + versenum = thisline[0] + words = thisline[1:].strip() if words is None and \ versenum is not None and \ versetype is not None: - words = l + words = thisline if versenum is not None: versetag = u'%s%s'%(versetype,versenum) if not verses.has_key(versetype): @@ -205,20 +207,20 @@ class OpenSongImport(object): our_verse_order.append(versetag) if words: # Tidy text and remove the ____s from extended words - words=self.song_import.tidy_text(words) - words=words.replace('_', '') + words = self.song_import.tidy_text(words) + words = words.replace('_', '') verses[versetype][versenum].append(words) # done parsing versetypes = verses.keys() versetypes.sort() versetags = {} verse_renames = {} - for v in versetypes: - versenums = verses[v].keys() + for versetype in versetypes: + versenums = verses[versetype].keys() versenums.sort() - for n in versenums: - versetag = u'%s%s' %(v,n) - lines = u'\n'.join(verses[v][n]) + for num in versenums: + versetag = u'%s%s' %(versetype,num) + lines = u'\n'.join(verses[versetype][num]) self.song_import.verses.append([versetag, lines]) versetags[versetag] = 1 # keep track of what we have for error checking later # now figure out the presentation order diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index 7f6c0f45f..8c974adbc 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -32,17 +32,16 @@ def test(): manager = Manager(u'songs', init_schema) o = OpenSongImport(manager) o.do_import(u'test.opensong', commit=False) - o.finish() o.song_import.print_song() assert o.song_import.copyright == u'2010 Martin Thompson' assert o.song_import.authors == [u'MartiÑ Thómpson'] assert o.song_import.title == u'Martins Test' assert o.song_import.alternate_title == u'' assert o.song_import.song_number == u'1' - assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song_import.verses assert [u'C1', u'Chorus 1'] in o.song_import.verses assert [u'C2', u'Chorus 2'] in o.song_import.verses assert not [u'C3', u'Chorus 3'] in o.song_import.verses + assert [u'B1', u'Bridge 1\nBridge 1 line 2'] in o.song_import.verses assert [u'V1', u'v1 Line 1\nV1 Line 2'] in o.song_import.verses assert [u'V2', u'v2 Line 1\nV2 Line 2'] in o.song_import.verses assert o.song_import.verse_order_list == [u'V1', u'C1', u'V2', u'C2', u'V3', u'B1', u'V1'] diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 1e9678c55..336c1ebf1 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -77,7 +77,8 @@ class SongXMLBuilder(object): The actual text of the verse to be stored. """ # log.debug(u'add_verse_to_lyrics %s, %s\n%s' % (type, number, content)) - verse = etree.Element(u'verse', type = unicode(type), label = unicode(number)) + verse = etree.Element(u'verse', type = unicode(type), + label = unicode(number)) verse.text = etree.CDATA(content) self.lyrics.append(verse) From f71f27c890886ea9328a5edc8891f4956f90b259 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 19 Jul 2010 00:37:24 +0100 Subject: [PATCH 049/148] Database refactor --- openlp/core/lib/db.py | 38 ++++----- openlp/plugins/alerts/forms/alertform.py | 3 +- openlp/plugins/bibles/lib/manager.py | 3 +- openlp/plugins/custom/customplugin.py | 6 +- openlp/plugins/custom/lib/mediaitem.py | 2 +- openlp/plugins/songs/forms/editsongform.py | 8 +- .../songs/forms/songmaintenanceform.py | 14 ++-- openlp/plugins/songs/lib/mediaitem.py | 8 +- openlp/plugins/songs/songsplugin.py | 7 +- .../songusage/forms/songusagedeleteform.py | 7 +- .../songusage/forms/songusagedetailform.py | 10 ++- openlp/plugins/songusage/lib/__init__.py | 1 - openlp/plugins/songusage/lib/manager.py | 81 ------------------- openlp/plugins/songusage/songusageplugin.py | 8 +- 14 files changed, 57 insertions(+), 139 deletions(-) delete mode 100644 openlp/plugins/songusage/lib/manager.py diff --git a/openlp/core/lib/db.py b/openlp/core/lib/db.py index 8acc79541..735df4efb 100644 --- a/openlp/core/lib/db.py +++ b/openlp/core/lib/db.py @@ -178,36 +178,24 @@ class Manager(object): """ return self.session.query(object_class).filter(filter_clause).first() - def get_all_objects(self, object_class, order_by_ref=None): + def get_all_objects(self, object_class, filter_clause=None, + order_by_ref=None): """ Returns all the objects from the database ``object_class`` The type of objects to return + ``filter_clause`` + The filter governing selection of objects to return. Defaults to + None. + ``order_by_ref`` Any parameters to order the returned objects by. Defaults to None. """ query = self.session.query(object_class) - if order_by_ref is not None: - return query.order_by(order_by_ref).all() - return query.all() - - def get_all_objects_filtered(self, object_class, filter_clause, - order_by_ref=None): - """ - Returns a selection of objects from the database - - ``object_class`` - The type of objects to return - - ``filter_clause`` - The filter governing selection of objects to return - - ``order_by_ref`` - Any parameters to order the returned objects by. Defaults to None. - """ - query = self.session.query(object_class).filter(filter_clause) + if filter_clause: + query = query.filter(filter_clause) if order_by_ref is not None: return query.order_by(order_by_ref).all() return query.all() @@ -235,7 +223,7 @@ class Manager(object): else: return True - def delete_all_objects(self, object_class): + def delete_all_objects(self, object_class, filter_clause=None): """ Delete all object records @@ -243,11 +231,13 @@ class Manager(object): The type of object to delete """ try: - self.session.query(object_class).delete(synchronize_session=False) + query = self.session.query(object_class) + if filter_clause: + query = query.filter(filter_clause) + query.delete(synchronize_session=False) self.session.commit() return True except InvalidRequestError: self.session.rollback() - log.exception(u'Failed to delete all %s records', - object_class.__name__) + log.exception(u'Failed to delete %s records', object_class.__name__) return False diff --git a/openlp/plugins/alerts/forms/alertform.py b/openlp/plugins/alerts/forms/alertform.py index 388d35751..71edd8e9f 100644 --- a/openlp/plugins/alerts/forms/alertform.py +++ b/openlp/plugins/alerts/forms/alertform.py @@ -62,7 +62,8 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog): def loadList(self): self.AlertListWidget.clear() - alerts = self.manager.get_all_objects(AlertItem, AlertItem.text) + alerts = self.manager.get_all_objects(AlertItem, + order_by_ref=AlertItem.text) for alert in alerts: item_name = QtGui.QListWidgetItem(alert.text) item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(alert.id)) diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index 39f3c255b..f862e1d1c 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -198,7 +198,8 @@ class BibleManager(object): u'name': book.name, u'chapters': self.db_cache[bible].get_chapter_count(book.name) } - for book in self.db_cache[bible].get_all_objects(Book, Book.id) + for book in self.db_cache[bible].get_all_objects(Book, + order_by_ref=Book.id) ] def get_chapter_count(self, bible, book): diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py index 2cdbac362..79ccb1f9b 100644 --- a/openlp/plugins/custom/customplugin.py +++ b/openlp/plugins/custom/customplugin.py @@ -75,7 +75,7 @@ class CustomPlugin(Plugin): Returns True if the theme is being used, otherwise returns False. """ - if self.custommanager.get_all_objects_filtered(CustomSlide, + if self.custommanager.get_all_objects(CustomSlide, CustomSlide.theme_name == theme): return True return False @@ -91,8 +91,8 @@ class CustomPlugin(Plugin): ``newTheme`` The new name the plugin should now use. """ - customsUsingTheme = self.custommanager.get_all_objects_filtered( - CustomSlide, CustomSlide.theme_name == oldTheme) + customsUsingTheme = self.custommanager.get_all_objects(CustomSlide, + CustomSlide.theme_name == oldTheme) for custom in customsUsingTheme: custom.theme_name = newTheme self.custommanager.save_object(custom) diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 34ffeeac4..cdea8cb48 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -73,7 +73,7 @@ class CustomMediaItem(MediaManagerItem): def initialise(self): self.loadCustomListView(self.parent.custommanager.get_all_objects( - CustomSlide, CustomSlide.title)) + CustomSlide, order_by_ref=CustomSlide.title)) #Called to redisplay the song list screen edith from a search #or from the exit of the Song edit dialog. If remote editing is active #Trigger it and clean up so it will not update again. diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index e2646b07b..3fa801595 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -118,7 +118,8 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.TopicRemoveButton.setEnabled(False) def loadAuthors(self): - authors = self.songmanager.get_all_objects(Author, Author.display_name) + authors = self.songmanager.get_all_objects(Author, + order_by_ref=Author.display_name) self.AuthorsSelectionComboItem.clear() self.AuthorsSelectionComboItem.addItem(u'') for author in authors: @@ -128,7 +129,8 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): row, QtCore.QVariant(author.id)) def loadTopics(self): - topics = self.songmanager.get_all_objects(Topic, Topic.name) + topics = self.songmanager.get_all_objects(Topic, + order_by_ref=Topic.name) self.SongTopicCombo.clear() self.SongTopicCombo.addItem(u'') for topic in topics: @@ -137,7 +139,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.SongTopicCombo.setItemData(row, QtCore.QVariant(topic.id)) def loadBooks(self): - books = self.songmanager.get_all_objects(Book, Book.name) + books = self.songmanager.get_all_objects(Book, order_by_ref=Book.name) self.SongbookCombo.clear() self.SongbookCombo.addItem(u'') for book in books: diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 2a848ad98..259dbcaf7 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -102,7 +102,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): Reloads the Authors list. """ self.AuthorsListWidget.clear() - authors = self.songmanager.get_all_objects(Author, Author.display_name) + authors = self.songmanager.get_all_objects(Author, + order_by_ref=Author.display_name) for author in authors: if author.display_name: author_name = QtGui.QListWidgetItem(author.display_name) @@ -117,7 +118,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): Reloads the Topics list. """ self.TopicsListWidget.clear() - topics = self.songmanager.get_all_objects(Topic, Topic.name) + topics = self.songmanager.get_all_objects(Topic, + order_by_ref=Topic.name) for topic in topics: topic_name = QtGui.QListWidgetItem(topic.name) topic_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(topic.id)) @@ -128,7 +130,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): Reloads the Books list. """ self.BooksListWidget.clear() - books = self.songmanager.get_all_objects(Book, Book.name) + books = self.songmanager.get_all_objects(Book, order_by_ref=Book.name) for book in books: book_name = QtGui.QListWidgetItem(u'%s (%s)' % (book.name, book.publisher)) @@ -140,7 +142,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): Returns False if the given Author is already in the list otherwise True. """ - authors = self.songmanager.get_all_objects_filtered(Author, + authors = self.songmanager.get_all_objects(Author, and_( Author.first_name == new_author.first_name, Author.last_name == new_author.last_name, @@ -165,7 +167,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): """ Returns False if the given Topic is already in the list otherwise True. """ - topics = self.songmanager.get_all_objects_filtered(Topic, + topics = self.songmanager.get_all_objects(Topic, Topic.name == new_topic.name) if len(topics) > 0: # If we edit an existing Topic, we need to make sure that we do @@ -185,7 +187,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): """ Returns False if the given Book is already in the list otherwise True. """ - books = self.songmanager.get_all_objects_filtered(Book, + books = self.songmanager.get_all_objects(Book, and_(Book.name == new_book.name, Book.publisher == new_book.publisher)) if len(books) > 0: diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 93f376d1f..0b9ef789d 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -164,20 +164,20 @@ class SongMediaItem(MediaManagerItem): search_type = self.SearchTypeComboBox.currentIndex() if search_type == 0: log.debug(u'Titles Search') - search_results = self.parent.manager.get_all_objects_filtered(Song, + search_results = self.parent.manager.get_all_objects(Song, Song.search_title.like(u'%' + search_keywords + u'%'), Song.search_title.asc()) self.displayResultsSong(search_results) elif search_type == 1: log.debug(u'Lyrics Search') - search_results = self.parent.manager.get_all_objects_filtered(Song, + search_results = self.parent.manager.get_all_objects(Song, Song.search_lyrics.like(u'%' + search_keywords + u'%'), Song.search_lyrics.asc()) self.displayResultsSong(search_results) elif search_type == 2: log.debug(u'Authors Search') - search_results = self.parent.manager.get_all_objects_filtered( - Author, Author.display_name.like(u'%' + search_keywords + u'%'), + search_results = self.parent.manager.get_all_objects(Author, + Author.display_name.like(u'%' + search_keywords + u'%'), Author.display_name.asc()) self.displayResultsAuthor(search_results) #Called to redisplay the song list screen edith from a search diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index e7be7cae3..11a057f92 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -69,7 +69,7 @@ class SongsPlugin(Plugin): log.info(u'Songs Initialising') Plugin.initialise(self) self.mediaItem.displayResultsSong( - self.manager.get_all_objects(Song, Song.title)) + self.manager.get_all_objects(Song, order_by_ref=Song.title)) def getMediaManagerItem(self): """ @@ -198,8 +198,7 @@ class SongsPlugin(Plugin): Returns True if the theme is being used, otherwise returns False. """ - if self.manager.get_all_objects_filtered(Song, - Song.theme_name == theme): + if self.manager.get_all_objects(Song, Song.theme_name == theme): return True return False @@ -214,7 +213,7 @@ class SongsPlugin(Plugin): ``newTheme`` The new name the plugin should now use. """ - songsUsingTheme = self.manager.get_all_objects_filtered(Song, + songsUsingTheme = self.manager.get_all_objects(Song, Song.theme_name == oldTheme) for song in songsUsingTheme: song.theme_name = newTheme diff --git a/openlp/plugins/songusage/forms/songusagedeleteform.py b/openlp/plugins/songusage/forms/songusagedeleteform.py index 97e032413..4ded872f0 100644 --- a/openlp/plugins/songusage/forms/songusagedeleteform.py +++ b/openlp/plugins/songusage/forms/songusagedeleteform.py @@ -25,8 +25,9 @@ from PyQt4 import QtGui -from songusagedeletedialog import Ui_SongUsageDeleteDialog from openlp.core.lib import translate +from openlp.plugins.songusage.lib.db import SongUsageItem +from songusagedeletedialog import Ui_SongUsageDeleteDialog class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog): """ @@ -52,6 +53,6 @@ class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog): QtGui.QMessageBox.Cancel) if ret == QtGui.QMessageBox.Ok: deleteDate = self.DeleteCalendar.selectedDate().toPyDate() - self.songusagemanager.delete_to_date(deleteDate) + self.songusagemanager.delete_all_objects(SongUsageItem, + SongUsageItem.usagedate <= deleteDate) self.close() - diff --git a/openlp/plugins/songusage/forms/songusagedetailform.py b/openlp/plugins/songusage/forms/songusagedetailform.py index be1b8221c..ac65ce857 100644 --- a/openlp/plugins/songusage/forms/songusagedetailform.py +++ b/openlp/plugins/songusage/forms/songusagedetailform.py @@ -27,9 +27,10 @@ import logging import os from PyQt4 import QtCore, QtGui +from sqlalchemy.sql import and_ from openlp.core.lib import SettingsManager, translate - +from openlp.plugins.songusage.lib.db import SongUsageItem from songusagedetaildialog import Ui_SongUsageDetailDialog log = logging.getLogger(__name__) @@ -74,8 +75,11 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog): filename = u'usage_detail_%s_%s.txt' % ( self.FromDate.selectedDate().toString(u'ddMMyyyy'), self.ToDate.selectedDate().toString(u'ddMMyyyy')) - usage = self.parent.songusagemanager.get_songusage_for_period( - self.FromDate.selectedDate(), self.ToDate.selectedDate()) + usage = self.parent.songusagemanager.get_all_objects( + SongUsageItem, and_( + SongUsageItem.usagedate >= self.FromDate.selectedDate().toPyDate(), + SongUsageItem.usagedate < self.ToDate.selectedDate().toPyDate()), + [SongUsageItem.usagedate, SongUsageItem.usagetime]) outname = os.path.join(unicode(self.FileLineEdit.text()), filename) file = None try: diff --git a/openlp/plugins/songusage/lib/__init__.py b/openlp/plugins/songusage/lib/__init__.py index ae8425317..bd83e0532 100644 --- a/openlp/plugins/songusage/lib/__init__.py +++ b/openlp/plugins/songusage/lib/__init__.py @@ -25,4 +25,3 @@ """ The :mod:`lib` module contains the library functions for the songusage plugin. """ -from openlp.plugins.songusage.lib.manager import SongUsageManager diff --git a/openlp/plugins/songusage/lib/manager.py b/openlp/plugins/songusage/lib/manager.py deleted file mode 100644 index 2c34f3a54..000000000 --- a/openlp/plugins/songusage/lib/manager.py +++ /dev/null @@ -1,81 +0,0 @@ -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 - -############################################################################### -# OpenLP - Open Source Lyrics Projection # -# --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # -# --------------------------------------------------------------------------- # -# 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 # -# Software Foundation; version 2 of the License. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with this program; if not, write to the Free Software Foundation, Inc., 59 # -# Temple Place, Suite 330, Boston, MA 02111-1307 USA # -############################################################################### -""" -The :mod:`manager` module provides song usage specific database query code -""" -import logging - -from sqlalchemy.exceptions import InvalidRequestError - -from openlp.core.lib.db import Manager -from openlp.plugins.songusage.lib.db import init_schema, SongUsageItem - -log = logging.getLogger(__name__) - -class SongUsageManager(Manager): - """ - The Song Manager provides a central location for all database code. This - class takes care of connecting to the database and running all the queries. - """ - log.info(u'SongUsage manager loaded') - - def __init__(self): - """ - Creates the connection to the database, and creates the tables if they - don't exist. - """ - log.debug(u'SongUsage Initialising') - Manager.__init__(self, u'songusage', init_schema) - log.debug(u'SongUsage Initialised') - - def get_songusage_for_period(self, start_date, end_date): - """ - Returns the details of SongUsage for a designated time period - - ``start_date`` - The start of the period to return - - ``end_date`` - The end of the period to return - """ - return self.session.query(SongUsageItem) \ - .filter(SongUsageItem.usagedate >= start_date.toPyDate()) \ - .filter(SongUsageItem.usagedate < end_date.toPyDate()) \ - .order_by(SongUsageItem.usagedate, SongUsageItem.usagetime).all() - - def delete_to_date(self, date): - """ - Delete SongUsage records before given date - """ - try: - self.session.query(SongUsageItem) \ - .filter(SongUsageItem.usagedate <= date) \ - .delete(synchronize_session=False) - self.session.commit() - return True - except InvalidRequestError: - self.session.rollback() - log.exception(u'Failed to delete all Song Usage items to %s' % date) - return False diff --git a/openlp/plugins/songusage/songusageplugin.py b/openlp/plugins/songusage/songusageplugin.py index 07e7271a1..c7a8a30aa 100644 --- a/openlp/plugins/songusage/songusageplugin.py +++ b/openlp/plugins/songusage/songusageplugin.py @@ -24,15 +24,15 @@ ############################################################################### import logging - from datetime import datetime + from PyQt4 import QtCore, QtGui from openlp.core.lib import Plugin, Receiver, build_icon, translate -from openlp.plugins.songusage.lib import SongUsageManager +from openlp.core.lib.db import Manager from openlp.plugins.songusage.forms import SongUsageDetailForm, \ SongUsageDeleteForm -from openlp.plugins.songusage.lib.db import SongUsageItem +from openlp.plugins.songusage.lib.db import init_schema, SongUsageItem log = logging.getLogger(__name__) @@ -117,7 +117,7 @@ class SongUsagePlugin(Plugin): QtCore.QVariant(False)).toBool() self.SongUsageStatus.setChecked(self.SongUsageActive) if self.songusagemanager is None: - self.songusagemanager = SongUsageManager() + self.songusagemanager = Manager(u'songusage', init_schema) self.SongUsagedeleteform = SongUsageDeleteForm(self.songusagemanager) self.SongUsagedetailform = SongUsageDetailForm(self) self.SongUsageMenu.menuAction().setVisible(True) From 6ab287cfaab80092ad5e74f65b3c7f2f8b345b7f Mon Sep 17 00:00:00 2001 From: andreas Date: Mon, 19 Jul 2010 09:54:22 +0200 Subject: [PATCH 050/148] reverted changes --- openlp/core/ui/maindisplay.py | 28 +++++++++++++++------------- openlp/core/ui/mainwindow.py | 2 +- openlp/plugins/songs/lib/db.py | 14 -------------- 3 files changed, 16 insertions(+), 28 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index c8dc06cf7..6183c23c2 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -167,7 +167,7 @@ class DisplayWidget(QtGui.QGraphicsView): def keyPressEvent(self, event): if isinstance(event, QtGui.QKeyEvent): - # Here accept the event and do something. + #here accept the event and do something if event.key() == QtCore.Qt.Key_Up: Receiver.send_message(u'slidecontroller_live_previous') event.accept() @@ -233,8 +233,8 @@ class MainDisplay(DisplayWidget): self.setupBlank() self.blankFrame = None self.frame = None - # Hide desktop for now until we know where to put it - # and what size it should be. + #Hide desktop for now until we know where to put it + #and what size it should be. self.setVisible(False) def setup(self): @@ -245,12 +245,13 @@ class MainDisplay(DisplayWidget): self.screens, self.screens.monitor_number)) self.setVisible(False) self.screen = self.screens.current - # Sort out screen locations and sizes. + #Sort out screen locations and sizes self.setGeometry(self.screen[u'size']) - self.scene.setSceneRect(0, 0, self.size().width(), self.size().height()) + self.scene.setSceneRect(0, 0, self.size().width(), + self.size().height()) self.webView.setGeometry(0, 0, self.size().width(), self.size().height()) - # Build a custom splash screen. + #Build a custom splash screen self.initialFrame = QtGui.QImage( self.screen[u'size'].width(), self.screen[u'size'].height(), @@ -269,7 +270,7 @@ class MainDisplay(DisplayWidget): self.transparent.fill(QtCore.Qt.transparent) self.displayImage(self.initialFrame) self.repaint() - # Build a Black screen. + #Build a Black screen painter = QtGui.QPainter() self.blankFrame = QtGui.QImage( self.screen[u'size'].width(), @@ -368,7 +369,7 @@ class MainDisplay(DisplayWidget): self.displayBlank.setPixmap(self.transparent) if self.isHidden(): self.setVisible(True) - # Trigger actions when display is active again. + #Trigger actions when display is active again Receiver.send_message(u'maindisplay_active') def addImageWithText(self, frame): @@ -419,7 +420,8 @@ class MainDisplay(DisplayWidget): log.debug(u'adddisplayVideo') self.displayImage(self.transparent) self.videoDisplay.setHtml(HTMLVIDEO % - (path, self.screen[u'size'].width(), self.screen[u'size'].height())) + (path, self.screen[u'size'].width(), + self.screen[u'size'].height())) def frameView(self, frame, transition=False): """ @@ -507,7 +509,7 @@ class VideoDisplay(Phonon.VideoWidget): def keyPressEvent(self, event): if isinstance(event, QtGui.QKeyEvent): - # Here accept the event and do something. + #here accept the event and do something if event.key() == QtCore.Qt.Key_Escape: self.onMediaStop() event.accept() @@ -522,7 +524,7 @@ class VideoDisplay(Phonon.VideoWidget): log.debug(u'VideoDisplay Setup %s for %s ' % (self.screens, self.screens.monitor_number)) self.screen = self.screens.current - # Sort out screen locations and sizes. + #Sort out screen locations and sizes self.setGeometry(self.screen[u'size']) # To display or not to display? if not self.screen[u'primary']: # and self.isVisible(): @@ -549,10 +551,10 @@ class VideoDisplay(Phonon.VideoWidget): # if it is triggered from the plugin # """ # log.debug(u'VideoDisplay Queue new media message %s' % message) -# # If not file take the stored one. +# #If not file take the stored one # if not message: # message = self.message -# # Still no file name then stop as it was a normal video stopping. +# # still no file name then stop as it was a normal video stopping # if message: # self.mediaObject.setCurrentSource(Phonon.MediaSource(message)) # self.message = message diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index b014747a2..ec34a483b 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -114,7 +114,7 @@ class Ui_MainWindow(object): MainWindow.setSizePolicy(sizePolicy) MainIcon = build_icon(u':/icon/openlp-logo-16x16.png') MainWindow.setWindowIcon(MainIcon) - # Set up the main container, which contains all the other form widgets. + # Set up the main container, which contains all the other form widgets self.MainContent = QtGui.QWidget(MainWindow) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index f37a23ff9..655043144 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -58,18 +58,6 @@ class Topic(BaseModel): """ pass -class SongsTopics(BaseModel): - """ - Songs topics model - """ - pass - -class AuthorsSongs(BaseModel): - """ - Songs authors model - """ - pass - def init_schema(url): """ Setup the songs database connection and initialise the database schema @@ -158,8 +146,6 @@ def init_schema(url): 'topics': relation(Topic, backref='songs', secondary=songs_topics_table)}) mapper(Topic, topics_table) - mapper(SongsTopics, songs_topics_table) - mapper(AuthorsSongs, authors_songs_table) metadata.create_all(checkfirst=True) return session From 1a462e1a65c51e37349961a6e26406f2f2777eef Mon Sep 17 00:00:00 2001 From: andreas Date: Mon, 19 Jul 2010 09:54:57 +0200 Subject: [PATCH 051/148] reverted changes --- openlp/plugins/songs/forms/songmaintenanceform.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 9ed68d31f..1d86bdbd9 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -28,8 +28,7 @@ from sqlalchemy.sql import and_ from openlp.core.lib import Receiver, translate from openlp.plugins.songs.forms import AuthorsForm, TopicsForm, SongBookForm -from openlp.plugins.songs.lib.db import Author, Book, Topic, Song, \ - SongsTopics, AuthorsSongs +from openlp.plugins.songs.lib.db import Author, Book, Topic, Song from songmaintenancedialog import Ui_SongMaintenanceDialog class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): From dd8c6f378b6e03b49938af032c95eaeb590224e8 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 19 Jul 2010 09:50:16 +0100 Subject: [PATCH 052/148] Fix alt title field --- openlp/plugins/songs/forms/editsongform.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 3fa801595..6a626e65a 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -182,7 +182,10 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.loadBooks() self.song = self.songmanager.get_object(Song, id) self.TitleEditItem.setText(self.song.title) - self.AlternativeEdit.setText(self.song.alternate_title) + if self.song.alternate_title: + self.AlternativeEdit.setText(self.song.alternate_title) + else: + self.AlternativeEdit.setText(u'') if self.song.song_book_id != 0: book_name = self.songmanager.get_object(Book, self.song.song_book_id) From 35021495565f96fec2c8ace45993ee949a2391cc Mon Sep 17 00:00:00 2001 From: andreas Date: Mon, 19 Jul 2010 10:50:44 +0200 Subject: [PATCH 053/148] reworked code --- .../songs/forms/songmaintenanceform.py | 34 ++++++++----------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 1d86bdbd9..c0de48fcf 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -393,17 +393,14 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): and_(Author.first_name == existing_author.first_name, Author.last_name == existing_author.last_name, Author.display_name == existing_author.display_name)) - songs = self.songmanager.get_all_objects_filtered(AuthorsSongs, - AuthorsSongs.author_id == existing_author.id) + songs = self.songmanager.get_all_objects(Song) for song in songs: - # We have to check if the song has already the new_author as author. - # If that is the case we must not change song.author_id to the - # new_author's id, because then they were not unique. - temp_song = self.songmanager.get_all_objects_filtered(AuthorsSongs, - and_(AuthorsSongs.author_id == new_author.id, - AuthorsSongs.song_id == song.song_id)) - if len(temp_song) < 1: - song.author_id = new_author.id + if existing_author in song.authors: + # We check if the song has already the new_author as author. + # If that is not the case we add it. + if new_author not in song.authors: + song.authors.append(new_author) + song.authors.remove(existing_author) self.songmanager.save_object(song) self.songmanager.delete_object(Author, existing_author.id) @@ -416,17 +413,14 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): ''' new_topic = self.songmanager.get_object_filtered(Topic, Topic.name == existing_topic.name) - songs = self.songmanager.get_all_objects_filtered(SongsTopics, - SongsTopics.topic_id == existing_topic.id) + songs = self.songmanager.get_all_objects(Song) for song in songs: - # We have to check if the song has already the new_topic as topic. - # If that is the case we must not change song.topic_id to the - # new_topic's id, because then they were not unique. - temp_song = self.songmanager.get_all_objects_filtered(SongsTopics, - and_(SongsTopics.topic_id == new_topic.id, - SongsTopics.song_id == song.song_id)) - if len(temp_song) < 1: - song.topic_id = new_topic.id + if existing_topic in song.topics: + # We check if the song has already the new_topic as topic. + # If that is not the case we add it. + if new_topic not in song.topics: + song.topics.append(new_topic) + song.topics.remove(existing_topic) self.songmanager.save_object(song) self.songmanager.delete_object(Topic, existing_topic.id) From 30cbaafb09d4e22fb01d8fe70cc5ee21a17255fd Mon Sep 17 00:00:00 2001 From: andreas Date: Mon, 19 Jul 2010 12:17:41 +0200 Subject: [PATCH 054/148] fixed comment --- openlp/plugins/songs/forms/songmaintenanceform.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index c0de48fcf..1eb9e3ce6 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -377,8 +377,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): self.mergeBooks(book) self.resetBooks() else: - # We restore the book's old name and publisher, because - # the user did not want to merge the two topics. + # We restore the book's old name and publisher. book.name = temp_name book.publisher = temp_publisher From 9e2b876be350d9d3460a475c73341a6dcdcdcc8c Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 19 Jul 2010 13:18:56 +0100 Subject: [PATCH 055/148] Add audio files to DB --- openlp/plugins/songs/lib/db.py | 36 +++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index 794501cc7..e090d7442 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -32,6 +32,12 @@ from sqlalchemy.orm import mapper, relation from openlp.core.lib.db import BaseModel, init_db +class AudioFile(BaseModel): + """ + AudioFile model + """ + pass + class Author(BaseModel): """ Author model @@ -75,6 +81,12 @@ def init_schema(url): Column(u'display_name', types.Unicode(255), nullable=False) ) + # Definition of the "audio_files" table + audio_files_table = Table(u'audio_files', metadata, + Column(u'id', types.Integer, primary_key=True), + Column(u'file_name', types.Unicode(255), nullable=False) + ) + # Definition of the "song_books" table song_books_table = Table(u'song_books', metadata, Column(u'id', types.Integer, primary_key=True), @@ -114,6 +126,14 @@ def init_schema(url): ForeignKey(u'songs.id'), primary_key=True) ) + # Definition of the "songs_audio_files" table + songs_audio_files_table = Table(u'songs_audio_files', metadata, + Column(u'song_id', types.Integer, + ForeignKey(u'songs.id'), primary_key=True), + Column(u'audio_file_id', types.Integer, + ForeignKey(u'audio_files.id'), primary_key=True) + ) + # Definition of the "songs_topics" table songs_topics_table = Table(u'songs_topics', metadata, Column(u'song_id', types.Integer, @@ -123,6 +143,7 @@ def init_schema(url): ) # Define table indexes + Index(u'audio_files_id', audio_files_table.c.id) Index(u'authors_id', authors_table.c.id) Index(u'authors_display_name_id', authors_table.c.display_name, authors_table.c.id) @@ -133,19 +154,28 @@ def init_schema(url): authors_songs_table.c.song_id) Index(u'authors_songs_song', authors_songs_table.c.song_id, authors_songs_table.c.author_id) + Index(u'songs_audio_files_file', songs_audio_files_table.c.audio_file_id, + songs_audio_files_table.c.song_id) + Index(u'songs_audio_files_song', songs_audio_files_table.c.song_id, + songs_audio_files_table.c.audio_file_id) Index(u'topics_song_topic', songs_topics_table.c.topic_id, songs_topics_table.c.song_id) Index(u'topics_song_song', songs_topics_table.c.song_id, songs_topics_table.c.topic_id) + mapper(AudioFile, audio_files_table) mapper(Author, authors_table) mapper(Book, song_books_table) mapper(Song, songs_table, - properties={'authors': relation(Author, backref='songs', - secondary=authors_songs_table), + properties={ + 'audio_files': relation(AudioFile, backref='songs', + secondary=songs_audio_files_table), + 'authors': relation(Author, backref='songs', + secondary=authors_songs_table), 'book': relation(Book, backref='songs'), 'topics': relation(Topic, backref='songs', - secondary=songs_topics_table)}) + secondary=songs_topics_table) + }) mapper(Topic, topics_table) metadata.create_all(checkfirst=True) From a21154addc0a621705068192ec1cc3d266475100 Mon Sep 17 00:00:00 2001 From: andreas Date: Mon, 19 Jul 2010 15:39:18 +0200 Subject: [PATCH 056/148] names --- .../songs/forms/songmaintenanceform.py | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 1eb9e3ce6..511fbc333 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -381,64 +381,64 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book.name = temp_name book.publisher = temp_publisher - def mergeAuthors(self, existing_author): + def mergeAuthors(self, old_author): ''' Merges two authors into one author. - ``existing_author`` + ``old_author`` The author which will be deleted afterwards. ''' - new_author = self.songmanager.get_object_filtered(Author, - and_(Author.first_name == existing_author.first_name, - Author.last_name == existing_author.last_name, - Author.display_name == existing_author.display_name)) + existing_author = self.songmanager.get_object_filtered(Author, + and_(Author.first_name == old_author.first_name, + Author.last_name == old_author.last_name, + Author.display_name == old_author.display_name)) songs = self.songmanager.get_all_objects(Song) for song in songs: - if existing_author in song.authors: - # We check if the song has already the new_author as author. - # If that is not the case we add it. - if new_author not in song.authors: - song.authors.append(new_author) - song.authors.remove(existing_author) + if old_author in song.authors: + # We check if the song has already existing_author + # as author. If that is not the case we add it. + if existing_author not in song.authors: + song.authors.append(existing_author) + song.authors.remove(old_author) self.songmanager.save_object(song) - self.songmanager.delete_object(Author, existing_author.id) + self.songmanager.delete_object(Author, old_author.id) - def mergeTopics(self, existing_topic): + def mergeTopics(self, old_topic): ''' Merges two topics into one topic. - ``existing_topic`` + ``old_topic`` The topic which will be deleted afterwards. ''' - new_topic = self.songmanager.get_object_filtered(Topic, - Topic.name == existing_topic.name) + existing_topic = self.songmanager.get_object_filtered(Topic, + Topic.name == old_topic.name) songs = self.songmanager.get_all_objects(Song) for song in songs: - if existing_topic in song.topics: - # We check if the song has already the new_topic as topic. - # If that is not the case we add it. - if new_topic not in song.topics: - song.topics.append(new_topic) - song.topics.remove(existing_topic) + if old_topic in song.topics: + # We check if the song has already existing_topic + # as topic. If that is not the case we add it. + if existing_topic not in song.topics: + song.topics.append(existing_topic) + song.topics.remove(old_topic) self.songmanager.save_object(song) - self.songmanager.delete_object(Topic, existing_topic.id) + self.songmanager.delete_object(Topic, old_topic.id) - def mergeBooks(self, existing_book): + def mergeBooks(self, old_book): ''' Merges two books into one book. - ``existing_book`` + ``old_book`` The book which will be deleted afterwards. ''' - new_book = self.songmanager.get_object_filtered(Book, - and_(Book.name == existing_book.name, - Book.publisher == existing_book.publisher)) + existing_book = self.songmanager.get_object_filtered(Book, + and_(Book.name == old_book.name, + Book.publisher == old_book.publisher)) songs = self.songmanager.get_all_objects_filtered(Song, - Song.song_book_id == existing_book.id) + Song.song_book_id == old_book.id) for song in songs: - song.song_book_id = new_book.id + song.song_book_id = existing_book.id self.songmanager.save_object(song) - self.songmanager.delete_object(Book, existing_book.id) + self.songmanager.delete_object(Book, old_book.id) def onAuthorDeleteButtonClick(self): """ From dd662dc277d0c13d186355d51972b7b84900017a Mon Sep 17 00:00:00 2001 From: andreas Date: Mon, 19 Jul 2010 16:56:24 +0200 Subject: [PATCH 057/148] now filtering songs --- .../songs/forms/songmaintenanceform.py | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 511fbc333..7c7f2d252 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -392,15 +392,15 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): and_(Author.first_name == old_author.first_name, Author.last_name == old_author.last_name, Author.display_name == old_author.display_name)) - songs = self.songmanager.get_all_objects(Song) + songs = self.songmanager.get_all_objects_filtered(Song, + Song.authors.contains(old_author)) for song in songs: - if old_author in song.authors: - # We check if the song has already existing_author - # as author. If that is not the case we add it. - if existing_author not in song.authors: - song.authors.append(existing_author) - song.authors.remove(old_author) - self.songmanager.save_object(song) + # We check if the song has already existing_author as author. If + # that is not the case we add it. + if existing_author not in song.authors: + song.authors.append(existing_author) + song.authors.remove(old_author) + self.songmanager.save_object(song) self.songmanager.delete_object(Author, old_author.id) def mergeTopics(self, old_topic): @@ -412,15 +412,15 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): ''' existing_topic = self.songmanager.get_object_filtered(Topic, Topic.name == old_topic.name) - songs = self.songmanager.get_all_objects(Song) + songs = self.songmanager.get_all_objects_filtered(Song, + Song.topics.contains(old_topic)) for song in songs: - if old_topic in song.topics: - # We check if the song has already existing_topic - # as topic. If that is not the case we add it. - if existing_topic not in song.topics: - song.topics.append(existing_topic) - song.topics.remove(old_topic) - self.songmanager.save_object(song) + # We check if the song has already existing_topic as topic. If that + # is not the case we add it. + if existing_topic not in song.topics: + song.topics.append(existing_topic) + song.topics.remove(old_topic) + self.songmanager.save_object(song) self.songmanager.delete_object(Topic, old_topic.id) def mergeBooks(self, old_book): From 6eb260a64ea54b06906274cc6f46c10acc6068c0 Mon Sep 17 00:00:00 2001 From: andreas Date: Mon, 19 Jul 2010 17:03:49 +0200 Subject: [PATCH 058/148] fix --- openlp/plugins/songs/forms/songmaintenanceform.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 7c7f2d252..cc98f5cb5 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -290,7 +290,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): ' already exists. Would you like to make songs with author ' '%s use the existing author %s?' % (author.display_name, temp_display_name, author.display_name)), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | \ + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: self.mergeAuthors(author) self.resetAuthors() @@ -331,7 +331,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): 'already exists. Would you like to make songs with topic %s' ' use the existing topic %s?' % (topic.name, temp_name, topic.name)), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | \ + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: self.mergeTopics(topic) self.resetTopics() @@ -372,7 +372,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): 'already exists. Would you like to make songs with book %s ' 'use the existing book %s?' % (book.name, temp_name, book.name)), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | \ + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No | QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes: self.mergeBooks(book) self.resetBooks() From 86ad4b1071b8cfe72883ab72b8d6e30d0c886395 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 19 Jul 2010 16:39:42 +0100 Subject: [PATCH 059/148] Fix DB definition ordering --- openlp/plugins/songs/lib/db.py | 38 +++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index e090d7442..acf388035 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -73,6 +73,12 @@ def init_schema(url): """ session, metadata = init_db(url, auto_flush=False) + # Definition of the "audio_files" table + audio_files_table = Table(u'audio_files', metadata, + Column(u'id', types.Integer, primary_key=True), + Column(u'file_name', types.Unicode(255), nullable=False) + ) + # Definition of the "authors" table authors_table = Table(u'authors', metadata, Column(u'id', types.Integer, primary_key=True), @@ -81,12 +87,6 @@ def init_schema(url): Column(u'display_name', types.Unicode(255), nullable=False) ) - # Definition of the "audio_files" table - audio_files_table = Table(u'audio_files', metadata, - Column(u'id', types.Integer, primary_key=True), - Column(u'file_name', types.Unicode(255), nullable=False) - ) - # Definition of the "song_books" table song_books_table = Table(u'song_books', metadata, Column(u'id', types.Integer, primary_key=True), @@ -118,6 +118,14 @@ def init_schema(url): Column(u'name', types.Unicode(128), nullable=False) ) + # Definition of the "audio_files_songs" table + audio_files_songs_table = Table(u'audio_files_songs', metadata, + Column(u'audio_file_id', types.Integer, + ForeignKey(u'audio_files.id'), primary_key=True), + Column(u'song_id', types.Integer, + ForeignKey(u'songs.id'), primary_key=True) + ) + # Definition of the "authors_songs" table authors_songs_table = Table(u'authors_songs', metadata, Column(u'author_id', types.Integer, @@ -126,14 +134,6 @@ def init_schema(url): ForeignKey(u'songs.id'), primary_key=True) ) - # Definition of the "songs_audio_files" table - songs_audio_files_table = Table(u'songs_audio_files', metadata, - Column(u'song_id', types.Integer, - ForeignKey(u'songs.id'), primary_key=True), - Column(u'audio_file_id', types.Integer, - ForeignKey(u'audio_files.id'), primary_key=True) - ) - # Definition of the "songs_topics" table songs_topics_table = Table(u'songs_topics', metadata, Column(u'song_id', types.Integer, @@ -150,14 +150,14 @@ def init_schema(url): Index(u'song_books_id', song_books_table.c.id) Index(u'songs_id', songs_table.c.id) Index(u'topics_id', topics_table.c.id) + Index(u'audio_files_songs_file', audio_files_songs_table.c.audio_file_id, + audio_files_songs_table.c.song_id) + Index(u'audio_files_songs_song', audio_files_songs_table.c.song_id, + audio_files_songs_table.c.audio_file_id) Index(u'authors_songs_author', authors_songs_table.c.author_id, authors_songs_table.c.song_id) Index(u'authors_songs_song', authors_songs_table.c.song_id, authors_songs_table.c.author_id) - Index(u'songs_audio_files_file', songs_audio_files_table.c.audio_file_id, - songs_audio_files_table.c.song_id) - Index(u'songs_audio_files_song', songs_audio_files_table.c.song_id, - songs_audio_files_table.c.audio_file_id) Index(u'topics_song_topic', songs_topics_table.c.topic_id, songs_topics_table.c.song_id) Index(u'topics_song_song', songs_topics_table.c.song_id, @@ -169,7 +169,7 @@ def init_schema(url): mapper(Song, songs_table, properties={ 'audio_files': relation(AudioFile, backref='songs', - secondary=songs_audio_files_table), + secondary=audio_files_songs_table), 'authors': relation(Author, backref='songs', secondary=authors_songs_table), 'book': relation(Book, backref='songs'), From acb9cca5d32373ea48278f6194ddddfd61417ea2 Mon Sep 17 00:00:00 2001 From: Martin Thompson Date: Mon, 19 Jul 2010 20:35:33 +0100 Subject: [PATCH 060/148] Missed a rename --- openlp/plugins/songs/lib/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index e6d56de20..8be820d82 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -137,7 +137,7 @@ class VerseType(object): unicode(VerseType.to_string(VerseType.Other)).lower(): return VerseType.Other -from lyrics_xml import LyricsXML, SongXMLBuilder, SongXMLParser +from xml import LyricsXML, SongXMLBuilder, SongXMLParser from songstab import SongsTab from mediaitem import SongMediaItem from songimport import SongImport From 42cff457623dc970241e624171732c3f8782f7f5 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 19 Jul 2010 21:45:53 +0100 Subject: [PATCH 061/148] Complete refactor for new code --- openlp/plugins/songs/forms/songmaintenanceform.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index c9d3a7978..67f60bfee 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -394,7 +394,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): and_(Author.first_name == old_author.first_name, Author.last_name == old_author.last_name, Author.display_name == old_author.display_name)) - songs = self.songmanager.get_all_objects_filtered(Song, + songs = self.songmanager.get_all_objects(Song, Song.authors.contains(old_author)) for song in songs: # We check if the song has already existing_author as author. If @@ -414,7 +414,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): ''' existing_topic = self.songmanager.get_object_filtered(Topic, Topic.name == old_topic.name) - songs = self.songmanager.get_all_objects_filtered(Song, + songs = self.songmanager.get_all_objects(Song, Song.topics.contains(old_topic)) for song in songs: # We check if the song has already existing_topic as topic. If that @@ -435,7 +435,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): existing_book = self.songmanager.get_object_filtered(Book, and_(Book.name == old_book.name, Book.publisher == old_book.publisher)) - songs = self.songmanager.get_all_objects_filtered(Song, + songs = self.songmanager.get_all_objects(Song, Song.song_book_id == old_book.id) for song in songs: song.song_book_id = existing_book.id From 80eb8e36af87086a5b08312ad08023487ed3abaf Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 19 Jul 2010 21:48:10 +0100 Subject: [PATCH 062/148] Import fix --- openlp/plugins/songs/lib/test/test_opensongimport.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index 8c974adbc..bcd74ba17 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -22,11 +22,10 @@ # with this program; if not, write to the Free Software Foundation, Inc., 59 # # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### + from openlp.plugins.songs.lib.opensongimport import OpenSongImport from openlp.core.lib.db import Manager from openlp.plugins.songs.lib.db import init_schema -from openlp.plugins.songs.songsplugin import SongsPlugin -import sys def test(): manager = Manager(u'songs', init_schema) From 7e623ea2268d3c4b09b0441b21749968b9dad7c5 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 20 Jul 2010 09:33:22 +0100 Subject: [PATCH 063/148] OpenLP v2 song DB importer --- openlp/plugins/songs/lib/__init__.py | 1 + openlp/plugins/songs/lib/olpimport.py | 198 +++++++++++++++++++++++++ openlp/plugins/songs/lib/songimport.py | 11 +- openlp/plugins/songs/songsplugin.py | 35 ++++- 4 files changed, 238 insertions(+), 7 deletions(-) create mode 100644 openlp/plugins/songs/lib/olpimport.py diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index 8be820d82..0e2b93bd6 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -142,6 +142,7 @@ from songstab import SongsTab from mediaitem import SongMediaItem from songimport import SongImport from opensongimport import OpenSongImport +from olpimport import OpenLPSongImport try: from sofimport import SofImport from oooimport import OooImport diff --git a/openlp/plugins/songs/lib/olpimport.py b/openlp/plugins/songs/lib/olpimport.py new file mode 100644 index 000000000..433e59b28 --- /dev/null +++ b/openlp/plugins/songs/lib/olpimport.py @@ -0,0 +1,198 @@ +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2010 Raoul Snyman # +# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # +# Thompson, Jon Tibble, Carsten Tinggaard # +# --------------------------------------------------------------------------- # +# 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 # +# Software Foundation; version 2 of the License. # +# # +# This program is distributed in the hope that it will be useful, but WITHOUT # +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # +# more details. # +# # +# You should have received a copy of the GNU General Public License along # +# with this program; if not, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### +""" +The :mod:`olpimport` module provides the functionality for importing OpenLP +song databases into the current installation database. +""" +import logging + +from sqlalchemy import create_engine, MetaData +from sqlalchemy.orm import class_mapper, mapper, relation, scoped_session, \ + sessionmaker +from sqlalchemy.orm.exc import UnmappedClassError + +from openlp.core.lib.db import BaseModel +from openlp.plugins.songs.lib.db import Author, Book, Song, Topic #, AudioFile + +log = logging.getLogger(__name__) + +class OldAudioFile(BaseModel): + """ + AudioFile model + """ + pass + +class OldAuthor(BaseModel): + """ + Author model + """ + pass + +class OldBook(BaseModel): + """ + Book model + """ + pass + +class OldSong(BaseModel): + """ + Song model + """ + pass + +class OldTopic(BaseModel): + """ + Topic model + """ + pass + +class OpenLPSongImport(object): + """ + + """ + def __init__(self, master_manager, source_db): + """ + + """ + self.master_manager = master_manager + self.import_source = source_db + self.source_session = None + + def import_source_v2_db(self): + """ + + """ + engine = create_engine(self.import_source) + source_meta = MetaData() + source_meta.reflect(engine) + self.source_session = scoped_session(sessionmaker(bind=engine)) + if u'audio_files' in source_meta.tables.keys(): + has_audio_files = True + else: + has_audio_files = False + source_authors_table = source_meta.tables[u'authors'] + source_song_books_table = source_meta.tables[u'song_books'] + source_songs_table = source_meta.tables[u'songs'] + source_topics_table = source_meta.tables[u'topics'] + source_authors_songs_table = source_meta.tables[u'authors_songs'] + source_songs_topics_table = source_meta.tables[u'songs_topics'] + if has_audio_files: + source_audio_files_table = source_meta.tables[u'audio_files'] + source_audio_files_songs_table = \ + source_meta.tables[u'audio_files_songs'] + try: + class_mapper(OldAudioFile) + except UnmappedClassError: + mapper(OldAudioFile, source_audio_files_table) + song_props = { + 'authors': relation(OldAuthor, backref='songs', + secondary=source_authors_songs_table), + 'book': relation(OldBook, backref='songs'), + 'topics': relation(OldTopic, backref='songs', + secondary=source_songs_topics_table) + } + if has_audio_files: + song_props['audio_files'] = relation(OldAudioFile, backref='songs', + secondary=source_audio_files_songs_table) + try: + class_mapper(OldAuthor) + except UnmappedClassError: + mapper(OldAuthor, source_authors_table) + try: + class_mapper(OldBook) + except UnmappedClassError: + mapper(OldBook, source_song_books_table) + try: + class_mapper(OldSong) + except UnmappedClassError: + mapper(OldSong, source_songs_table, properties=song_props) + try: + class_mapper(OldTopic) + except UnmappedClassError: + mapper(OldTopic, source_topics_table) + + source_songs = self.source_session.query(OldSong).all() + for song in source_songs: + new_song = Song() + new_song.title = song.title + if has_audio_files: + new_song.alternate_title = song.alternate_title + else: + new_song.alternate_title = u'' + new_song.search_title = song.search_title + new_song.song_number = song.song_number + new_song.lyrics = song.lyrics + new_song.search_lyrics = song.search_lyrics + new_song.verse_order = song.verse_order + new_song.copyright = song.copyright + new_song.comments = song.comments + new_song.theme_name = song.theme_name + new_song.ccli_number = song.ccli_number + if song.authors: + for author in song.authors: + existing_author = self.master_manager.get_object_filtered( + Author, Author.display_name == author.display_name) + if existing_author: + new_song.authors.append(existing_author) + else: + new_song.authors.append(Author.populate( + first_name=author.first_name, + last_name=author.last_name, + display_name=author.display_name)) + else: + au = self.master_manager.get_object_filtered(Author, + Author.display_name == u'Author Unknown') + if au: + new_song.authors.append(au) + else: + new_song.authors.append(Author.populate( + display_name=u'Author Unknown')) + if song.song_book_id != 0: + existing_song_book = self.master_manager.get_object_filtered( + Book, Book.name == song.book.name) + if existing_song_book: + new_song.book = existing_song_book + else: + new_song.book = Book.populate(name=song.book.name, + publisher=song.book.publisher) + if song.topics: + for topic in song.topics: + existing_topic = self.master_manager.get_object_filtered( + Topic, Topic.name == topic.name) + if existing_topic: + new_song.topics.append(existing_topic) + else: + new_song.topics.append(Topic.populate(name=topic.name)) +# if has_audio_files: +# if song.audio_files: +# for audio_file in song.audio_files: +# existing_audio_file = \ +# self.master_manager.get_object_filtered(AudioFile, +# AudioFile.file_name == audio_file.file_name) +# if existing_audio_file: +# new_song.audio_files.remove(audio_file) +# new_song.audio_files.append(existing_audio_file) + self.master_manager.save_object(new_song) + engine.dispose() diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index 9787d9e20..222bbeedd 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -50,7 +50,7 @@ class SongImport(object): self.song_number = u'' self.alternate_title = u'' self.copyright = u'' - self.comment = u'' + self.comments = u'' self.theme_name = u'' self.ccli_number = u'' self.authors = [] @@ -253,7 +253,7 @@ class SongImport(object): song.lyrics = unicode(sxml.extract_xml(), u'utf-8') song.verse_order = u' '.join(self.verse_order_list) song.copyright = self.copyright - song.comment = self.comment + song.comments = self.comments song.theme_name = self.theme_name song.ccli_number = self.ccli_number for authortext in self.authors: @@ -274,7 +274,8 @@ class SongImport(object): for topictext in self.topics: if len(topictext) == 0: continue - topic = self.manager.get_object_filtered(Topic, Topic.name == topictext) + topic = self.manager.get_object_filtered(Topic, + Topic.name == topictext) if topic is None: topic = Topic.populate(name=topictext) song.topics.append(topic) @@ -303,8 +304,8 @@ class SongImport(object): print u'NUMBER: ' + self.song_number for topictext in self.topics: print u'TOPIC: ' + topictext - if self.comment: - print u'COMMENT: ' + self.comment + if self.comments: + print u'COMMENTS: ' + self.comments if self.theme_name: print u'THEME: ' + self.theme_name if self.ccli_number: diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 69063ec19..5e1c94e57 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -30,7 +30,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import Plugin, build_icon, PluginStatus, Receiver, \ translate from openlp.core.lib.db import Manager -from openlp.plugins.songs.lib import SongMediaItem, SongsTab +from openlp.plugins.songs.lib import OpenLPSongImport, SongMediaItem, SongsTab from openlp.plugins.songs.lib.db import init_schema, Song try: @@ -157,7 +157,19 @@ class SongsPlugin(Plugin): import_menu.addAction(self.ImportOpenSongItem) QtCore.QObject.connect(self.ImportOpenSongItem, QtCore.SIGNAL(u'triggered()'), self.onImportOpenSongItemClick) - + # OpenLP v2 import menu item - ditto above regarding refactoring into + # an import wizard + self.ImportOpenLPSongItem = QtGui.QAction(import_menu) + self.ImportOpenLPSongItem.setObjectName(u'ImportOpenLPSongItem') + self.ImportOpenLPSongItem.setText(translate('SongsPlugin', + 'OpenLP v2 (temporary)')) + self.ImportOpenLPSongItem.setToolTip(translate('SongsPlugin', + 'Import an OpenLP v2 song database')) + self.ImportOpenLPSongItem.setStatusTip(translate('SongsPlugin', + 'Import an OpenLP v2 song database')) + import_menu.addAction(self.ImportOpenLPSongItem) + QtCore.QObject.connect(self.ImportOpenLPSongItem, + QtCore.SIGNAL(u'triggered()'), self.onImportOpenLPSongItemClick) def addExportMenuItem(self, export_menu): """ @@ -218,6 +230,25 @@ class SongsPlugin(Plugin): QtGui.QMessageBox.Ok) Receiver.send_message(u'songs_load_list') + def onImportOpenLPSongItemClick(self): + filenames = QtGui.QFileDialog.getOpenFileNames(None, + translate('SongsPlugin', 'Select OpenLP database(s) to import...'), + u'', u'OpenLP databases (*.sqlite);;All Files (*)') + try: + for filename in filenames: + db_url = u'sqlite:///%s' % filename + importer = OpenLPSongImport(self.manager, db_url) + importer.import_source_v2_db() + QtGui.QMessageBox.information(None, translate('SongsPlugin', + 'Database(s) imported'), translate('SongsPlugin', 'Your ' + 'OpenLP v2 song databases have been successfully imported')) + except: + log.exception(u'Failed to import OpenLP v2 database(s)') + QtGui.QMessageBox.critical(None, translate('SongsPlugin', + 'Import Error'), translate('SongsPlugin', + 'Error importing OpenLP v2 database(s)')) + Receiver.send_message(u'songs_load_list') + def onImportOooItemClick(self): filenames = QtGui.QFileDialog.getOpenFileNames( None, translate('SongsPlugin', From 11c90c3eb79da633e655c7f696e07abd4d2bbab0 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 20 Jul 2010 09:37:15 +0100 Subject: [PATCH 064/148] Fix song book form ampersands --- openlp/plugins/songs/forms/songbookdialog.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openlp/plugins/songs/forms/songbookdialog.py b/openlp/plugins/songs/forms/songbookdialog.py index 0401ff75b..a2e5658cd 100644 --- a/openlp/plugins/songs/forms/songbookdialog.py +++ b/openlp/plugins/songs/forms/songbookdialog.py @@ -41,6 +41,7 @@ class Ui_SongBookDialog(object): QtGui.QFormLayout.LabelRole, self.NameLabel) self.NameEdit = QtGui.QLineEdit(SongBookDialog) self.NameEdit.setObjectName(u'NameEdit') + self.NameLabel.setBuddy(self.NameEdit) self.SongBookLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.NameEdit) self.PublisherLabel = QtGui.QLabel(SongBookDialog) @@ -49,6 +50,7 @@ class Ui_SongBookDialog(object): QtGui.QFormLayout.LabelRole, self.PublisherLabel) self.PublisherEdit = QtGui.QLineEdit(SongBookDialog) self.PublisherEdit.setObjectName(u'PublisherEdit') + self.PublisherLabel.setBuddy(self.PublisherEdit) self.SongBookLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.PublisherEdit) self.ButtonBox = QtGui.QDialogButtonBox(SongBookDialog) From a4bbb0ef282947945b49da0835e7fe9a88c95c97 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 20 Jul 2010 10:21:15 +0100 Subject: [PATCH 065/148] Clarify import type --- openlp/plugins/songs/songsplugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 5e1c94e57..bf1c0cb23 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -162,7 +162,7 @@ class SongsPlugin(Plugin): self.ImportOpenLPSongItem = QtGui.QAction(import_menu) self.ImportOpenLPSongItem.setObjectName(u'ImportOpenLPSongItem') self.ImportOpenLPSongItem.setText(translate('SongsPlugin', - 'OpenLP v2 (temporary)')) + 'OpenLP v2 Songs (temporary)')) self.ImportOpenLPSongItem.setToolTip(translate('SongsPlugin', 'Import an OpenLP v2 song database')) self.ImportOpenLPSongItem.setStatusTip(translate('SongsPlugin', From 1738040b8713bf8c8326caa885cb4ccdca35b55b Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 20 Jul 2010 12:02:03 +0100 Subject: [PATCH 066/148] Save Song Book (Bug #607030) --- openlp/plugins/songs/forms/editsongform.py | 33 +++++++++++----------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index c0db7b741..f2dc826e9 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -382,23 +382,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.TopicsListView.takeItem(row) def onSongBookComboChanged(self, item): - item = int(self.SongbookCombo.currentIndex()) - text = unicode(self.SongbookCombo.currentText()) - if item == 0 and text: - if QtGui.QMessageBox.question(self, - translate('SongsPlugin.EditSongForm', 'Add Book'), - translate('SongsPlugin.EditSongForm', 'This song book does ' - 'not exist, do you want to add it?'), - QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, - QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes: - book = Book.populate(name=text) - self.songmanager.save_object(book) - self.song.book = book - self.loadBooks() - else: - return - elif item >= 1: - item = int(self.SongbookCombo.currentIndex()) + if item >= 1: self.song.song_book_id = \ (self.SongbookCombo.itemData(item)).toInt()[0] else: @@ -616,6 +600,21 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def accept(self): log.debug(u'accept') + item = int(self.SongbookCombo.currentIndex()) + text = unicode(self.SongbookCombo.currentText()) + if item == 0 and text: + if QtGui.QMessageBox.question(self, + translate('SongsPlugin.EditSongForm', 'Add Book'), + translate('SongsPlugin.EditSongForm', 'This song book does ' + 'not exist, do you want to add it?'), + QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, + QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes: + book = Book.populate(name=text) + self.songmanager.save_object(book) + self.song.book = book + self.loadBooks() + else: + return if self.saveSong(): Receiver.send_message(u'songs_load_list') self.close() From cb17897d4726e66163a9fa59f3d16eb1021e3f32 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 20 Jul 2010 13:43:21 +0100 Subject: [PATCH 067/148] Media rather than Audio --- openlp/plugins/songs/lib/db.py | 57 ++++++++++++------------- openlp/plugins/songs/lib/olpimport.py | 60 ++++++++++++++------------- 2 files changed, 60 insertions(+), 57 deletions(-) diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index acf388035..156a5e383 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -32,12 +32,6 @@ from sqlalchemy.orm import mapper, relation from openlp.core.lib.db import BaseModel, init_db -class AudioFile(BaseModel): - """ - AudioFile model - """ - pass - class Author(BaseModel): """ Author model @@ -52,6 +46,12 @@ class Book(BaseModel): return u'' % ( str(self.id), self.name, self.publisher) +class MediaFile(BaseModel): + """ + MediaFile model + """ + pass + class Song(BaseModel): """ Song model @@ -73,12 +73,6 @@ def init_schema(url): """ session, metadata = init_db(url, auto_flush=False) - # Definition of the "audio_files" table - audio_files_table = Table(u'audio_files', metadata, - Column(u'id', types.Integer, primary_key=True), - Column(u'file_name', types.Unicode(255), nullable=False) - ) - # Definition of the "authors" table authors_table = Table(u'authors', metadata, Column(u'id', types.Integer, primary_key=True), @@ -87,6 +81,13 @@ def init_schema(url): Column(u'display_name', types.Unicode(255), nullable=False) ) + # Definition of the "media_files" table + media_files_table = Table(u'media_files', metadata, + Column(u'id', types.Integer, primary_key=True), + Column(u'file_name', types.Unicode(255), nullable=False), + Column(u'type', types.Unicode(64), nullable=False, default=u'audio') + ) + # Definition of the "song_books" table song_books_table = Table(u'song_books', metadata, Column(u'id', types.Integer, primary_key=True), @@ -118,14 +119,6 @@ def init_schema(url): Column(u'name', types.Unicode(128), nullable=False) ) - # Definition of the "audio_files_songs" table - audio_files_songs_table = Table(u'audio_files_songs', metadata, - Column(u'audio_file_id', types.Integer, - ForeignKey(u'audio_files.id'), primary_key=True), - Column(u'song_id', types.Integer, - ForeignKey(u'songs.id'), primary_key=True) - ) - # Definition of the "authors_songs" table authors_songs_table = Table(u'authors_songs', metadata, Column(u'author_id', types.Integer, @@ -134,6 +127,14 @@ def init_schema(url): ForeignKey(u'songs.id'), primary_key=True) ) + # Definition of the "media_files_songs" table + media_files_songs_table = Table(u'media_files_songs', metadata, + Column(u'media_file_id', types.Integer, + ForeignKey(u'media_files.id'), primary_key=True), + Column(u'song_id', types.Integer, + ForeignKey(u'songs.id'), primary_key=True) + ) + # Definition of the "songs_topics" table songs_topics_table = Table(u'songs_topics', metadata, Column(u'song_id', types.Integer, @@ -143,36 +144,36 @@ def init_schema(url): ) # Define table indexes - Index(u'audio_files_id', audio_files_table.c.id) Index(u'authors_id', authors_table.c.id) Index(u'authors_display_name_id', authors_table.c.display_name, authors_table.c.id) + Index(u'media_files_id', media_files_table.c.id) Index(u'song_books_id', song_books_table.c.id) Index(u'songs_id', songs_table.c.id) Index(u'topics_id', topics_table.c.id) - Index(u'audio_files_songs_file', audio_files_songs_table.c.audio_file_id, - audio_files_songs_table.c.song_id) - Index(u'audio_files_songs_song', audio_files_songs_table.c.song_id, - audio_files_songs_table.c.audio_file_id) Index(u'authors_songs_author', authors_songs_table.c.author_id, authors_songs_table.c.song_id) Index(u'authors_songs_song', authors_songs_table.c.song_id, authors_songs_table.c.author_id) + Index(u'media_files_songs_file', media_files_songs_table.c.media_file_id, + media_files_songs_table.c.song_id) + Index(u'media_files_songs_song', media_files_songs_table.c.song_id, + media_files_songs_table.c.media_file_id) Index(u'topics_song_topic', songs_topics_table.c.topic_id, songs_topics_table.c.song_id) Index(u'topics_song_song', songs_topics_table.c.song_id, songs_topics_table.c.topic_id) - mapper(AudioFile, audio_files_table) mapper(Author, authors_table) mapper(Book, song_books_table) + mapper(MediaFile, media_files_table) mapper(Song, songs_table, properties={ - 'audio_files': relation(AudioFile, backref='songs', - secondary=audio_files_songs_table), 'authors': relation(Author, backref='songs', secondary=authors_songs_table), 'book': relation(Book, backref='songs'), + 'media_files': relation(MediaFile, backref='songs', + secondary=media_files_songs_table), 'topics': relation(Topic, backref='songs', secondary=songs_topics_table) }) diff --git a/openlp/plugins/songs/lib/olpimport.py b/openlp/plugins/songs/lib/olpimport.py index 433e59b28..a73684e00 100644 --- a/openlp/plugins/songs/lib/olpimport.py +++ b/openlp/plugins/songs/lib/olpimport.py @@ -34,16 +34,10 @@ from sqlalchemy.orm import class_mapper, mapper, relation, scoped_session, \ from sqlalchemy.orm.exc import UnmappedClassError from openlp.core.lib.db import BaseModel -from openlp.plugins.songs.lib.db import Author, Book, Song, Topic #, AudioFile +from openlp.plugins.songs.lib.db import Author, Book, Song, Topic #, MediaFile log = logging.getLogger(__name__) -class OldAudioFile(BaseModel): - """ - AudioFile model - """ - pass - class OldAuthor(BaseModel): """ Author model @@ -56,6 +50,12 @@ class OldBook(BaseModel): """ pass +class OldMediaFile(BaseModel): + """ + MediaFile model + """ + pass + class OldSong(BaseModel): """ Song model @@ -88,24 +88,24 @@ class OpenLPSongImport(object): source_meta = MetaData() source_meta.reflect(engine) self.source_session = scoped_session(sessionmaker(bind=engine)) - if u'audio_files' in source_meta.tables.keys(): - has_audio_files = True + if u'media_files' in source_meta.tables.keys(): + has_media_files = True else: - has_audio_files = False + has_media_files = False source_authors_table = source_meta.tables[u'authors'] source_song_books_table = source_meta.tables[u'song_books'] source_songs_table = source_meta.tables[u'songs'] source_topics_table = source_meta.tables[u'topics'] source_authors_songs_table = source_meta.tables[u'authors_songs'] source_songs_topics_table = source_meta.tables[u'songs_topics'] - if has_audio_files: - source_audio_files_table = source_meta.tables[u'audio_files'] - source_audio_files_songs_table = \ - source_meta.tables[u'audio_files_songs'] + if has_media_files: + source_media_files_table = source_meta.tables[u'media_files'] + source_media_files_songs_table = \ + source_meta.tables[u'media_files_songs'] try: - class_mapper(OldAudioFile) + class_mapper(OldMediaFile) except UnmappedClassError: - mapper(OldAudioFile, source_audio_files_table) + mapper(OldMediaFile, source_media_files_table) song_props = { 'authors': relation(OldAuthor, backref='songs', secondary=source_authors_songs_table), @@ -113,9 +113,9 @@ class OpenLPSongImport(object): 'topics': relation(OldTopic, backref='songs', secondary=source_songs_topics_table) } - if has_audio_files: - song_props['audio_files'] = relation(OldAudioFile, backref='songs', - secondary=source_audio_files_songs_table) + if has_media_files: + song_props['media_files'] = relation(OldMediaFile, backref='songs', + secondary=source_media_files_songs_table) try: class_mapper(OldAuthor) except UnmappedClassError: @@ -137,7 +137,7 @@ class OpenLPSongImport(object): for song in source_songs: new_song = Song() new_song.title = song.title - if has_audio_files: + if has_media_files: new_song.alternate_title = song.alternate_title else: new_song.alternate_title = u'' @@ -185,14 +185,16 @@ class OpenLPSongImport(object): new_song.topics.append(existing_topic) else: new_song.topics.append(Topic.populate(name=topic.name)) -# if has_audio_files: -# if song.audio_files: -# for audio_file in song.audio_files: -# existing_audio_file = \ -# self.master_manager.get_object_filtered(AudioFile, -# AudioFile.file_name == audio_file.file_name) -# if existing_audio_file: -# new_song.audio_files.remove(audio_file) -# new_song.audio_files.append(existing_audio_file) +# if has_media_files: +# if song.media_files: +# for media_file in song.media_files: +# existing_media_file = \ +# self.master_manager.get_object_filtered(MediaFile, +# MediaFile.file_name == media_file.file_name) +# if existing_media_file: +# new_song.media_files.append(existing_media_file) +# else: +# new_song.media_files.append(MediaFile.populate( +# file_name=media_file.file_name)) self.master_manager.save_object(new_song) engine.dispose() From cb431fea2af21a1f0cb18684765f49de79206563 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 20 Jul 2010 16:22:05 +0100 Subject: [PATCH 068/148] Fix song object creation (Bug #607034) --- openlp/core/lib/db.py | 8 ++++++-- openlp/plugins/songs/forms/editsongform.py | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/openlp/core/lib/db.py b/openlp/core/lib/db.py index 8acc79541..70def9490 100644 --- a/openlp/core/lib/db.py +++ b/openlp/core/lib/db.py @@ -135,16 +135,20 @@ class Manager(object): settings.endGroup() self.session = init_schema(self.db_url) - def save_object(self, object_instance): + def save_object(self, object_instance, commit=True): """ Save an object to the database ``object_instance`` The object to save + + ``commit`` + Commit the session with this object """ try: self.session.add(object_instance) - self.session.commit() + if commit: + self.session.commit() return True except InvalidRequestError: self.session.rollback() diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index f2dc826e9..691918782 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -290,7 +290,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes: author = Author.populate(first_name=text.rsplit(u' ', 1)[0], last_name=text.rsplit(u' ', 1)[1], display_name=text) - self.songmanager.save_object(author) + self.songmanager.save_object(author, False) self.song.authors.append(author) author_item = QtGui.QListWidgetItem( unicode(author.display_name)) @@ -342,7 +342,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes: topic = Topic.populate(name=text) - self.songmanager.save_object(topic) + self.songmanager.save_object(topic, False) self.song.topics.append(topic) topic_item = QtGui.QListWidgetItem(unicode(topic.name)) topic_item.setData(QtCore.Qt.UserRole, From 356027768432a016a317a9ac7aadb7ac544481e7 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 20 Jul 2010 21:43:42 +0100 Subject: [PATCH 069/148] Cleanups --- openlp/core/ui/generaltab.py | 21 +++++++++++--------- openlp/plugins/songs/forms/editsongdialog.py | 3 ++- openlp/plugins/songs/lib/opensongimport.py | 10 ++++++---- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 72718bb2c..1392992d3 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -287,16 +287,16 @@ class GeneralTab(SettingsTab): Translate the general settings tab to the currently selected language """ self.MonitorGroupBox.setTitle(translate('GeneralTab', 'Monitors')) - self.MonitorLabel.setText( - translate('OpenLP.GeneralTab', 'Select monitor for output display:')) + self.MonitorLabel.setText(translate('OpenLP.GeneralTab', + 'Select monitor for output display:')) self.DisplayOnMonitorCheck.setText( translate('OpenLP.GeneralTab', 'Display if a single screen')) self.StartupGroupBox.setTitle( translate('OpenLP.GeneralTab', 'Application Startup')) self.WarningCheckBox.setText( translate('OpenLP.GeneralTab', 'Show blank screen warning')) - self.AutoOpenCheckBox.setText( - translate('OpenLP.GeneralTab', 'Automatically open the last service')) + self.AutoOpenCheckBox.setText(translate('OpenLP.GeneralTab', + 'Automatically open the last service')) self.ShowSplashCheckBox.setText( translate('OpenLP.GeneralTab', 'Show the splash screen')) self.SettingsGroupBox.setTitle(translate('OpenLP.GeneralTab', @@ -318,7 +318,8 @@ class GeneralTab(SettingsTab): self.currentXValueLabel.setText(u'0') self.currentYLabel.setText(translate('OpenLP.GeneralTab', 'Y')) self.currentYValueLabel.setText(u'0') - self.currentHeightLabel.setText(translate('OpenLP.GeneralTab', 'Height')) + self.currentHeightLabel.setText( + translate('OpenLP.GeneralTab', 'Height')) self.currentHeightValueLabel.setText(u'0') self.currentWidthLabel.setText(translate('OpenLP.GeneralTab', 'Width')) self.currentWidthValueLabel.setText(u'0') @@ -375,10 +376,12 @@ class GeneralTab(SettingsTab): QtCore.QVariant(self.screens.current[u'size'].x())).toString()) self.customYValueEdit.setText(settings.value(u'y position', QtCore.QVariant(self.screens.current[u'size'].y())).toString()) - self.customHeightValueEdit.setText(settings.value(u'height', - QtCore.QVariant(self.screens.current[u'size'].height())).toString()) - self.customWidthValueEdit.setText(settings.value(u'width', - QtCore.QVariant(self.screens.current[u'size'].width())).toString()) + self.customHeightValueEdit.setText( + settings.value(u'height', QtCore.QVariant( + self.screens.current[u'size'].height())).toString()) + self.customWidthValueEdit.setText( + settings.value(u'width', QtCore.QVariant( + self.screens.current[u'size'].width())).toString()) else: self.customXValueEdit.setText( unicode(self.screens.current[u'size'].x())) diff --git a/openlp/plugins/songs/forms/editsongdialog.py b/openlp/plugins/songs/forms/editsongdialog.py index 922147628..dccc6d6ba 100644 --- a/openlp/plugins/songs/forms/editsongdialog.py +++ b/openlp/plugins/songs/forms/editsongdialog.py @@ -441,7 +441,8 @@ class Ui_EditSongDialog(object): translate('SongsPlugin.EditSongForm', 'Song Book')) self.SongTabWidget.setTabText( self.SongTabWidget.indexOf(self.AuthorsTab), - translate('SongsPlugin.EditSongForm', 'Authors, Topics && Song Book')) + translate('SongsPlugin.EditSongForm', + 'Authors, Topics && Song Book')) self.ThemeGroupBox.setTitle( translate('SongsPlugin.EditSongForm', 'Theme')) self.ThemeAddButton.setText( diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index d6a257d71..345b0922f 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -195,11 +195,12 @@ class OpenSongImport(object): versetype is not None: words = thisline if versenum is not None: - versetag = u'%s%s'%(versetype,versenum) + versetag = u'%s%s' % (versetype, versenum) if not verses.has_key(versetype): verses[versetype] = {} if not verses[versetype].has_key(versenum): - verses[versetype][versenum] = [] # storage for lines in this verse + # storage for lines in this verse + verses[versetype][versenum] = [] if not verses_seen.has_key(versetag): verses_seen[versetag] = 1 our_verse_order.append(versetag) @@ -216,10 +217,11 @@ class OpenSongImport(object): versenums = verses[versetype].keys() versenums.sort() for num in versenums: - versetag = u'%s%s' %(versetype,num) + versetag = u'%s%s' % (versetype, num) lines = u'\n'.join(verses[versetype][num]) self.song_import.verses.append([versetag, lines]) - versetags[versetag] = 1 # keep track of what we have for error checking later + # Keep track of what we have for error checking later + versetags[versetag] = 1 # now figure out the presentation order if u'presentation' in fields and root.presentation != u'': order = unicode(root.presentation) From 9c5e9f14435f1ef9c853a39d9939dac7d9e42863 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Tue, 20 Jul 2010 23:27:21 +0200 Subject: [PATCH 070/148] Some tweaks to the display of the media items. --- openlp/core/ui/mainwindow.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index ec34a483b..7e735a434 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -39,19 +39,18 @@ from openlp.core.utils import check_latest_version, AppLocation, add_actions, \ log = logging.getLogger(__name__) MEDIA_MANAGER_STYLE = """ + QToolBox::tab:selected { + background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 palette(mid), stop: 0.4999 palette(button), stop: 0.5 palette(dark), stop: 1.0 palette(mid)); + } QToolBox::tab { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 palette(button), stop: 1.0 palette(dark)); + stop: 0 palette(button), stop: 0.4999 palette(light), stop: 0.5 palette(mid), stop: 1.0 palette(button)); border-width: 1px; border-style: outset; border-color: palette(dark); border-radius: 5px; } - QToolBox::tab:selected { - background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 palette(light), stop: 1.0 palette(button)); - border-color: palette(button); - } """ class VersionThread(QtCore.QThread): """ From 5bb55fb63e1720bd2a7ef69ada9abc2092f1a595 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Wed, 21 Jul 2010 01:36:15 +0100 Subject: [PATCH 071/148] Form parent cleanup --- openlp/core/ui/servicemanager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index cf9afe066..19811b979 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -108,8 +108,8 @@ class ServiceManager(QtGui.QWidget): self.droppos = 0 #is a new service and has not been saved self.isNew = True - self.serviceNoteForm = ServiceNoteForm() - self.serviceItemEditForm = ServiceItemEditForm() + self.serviceNoteForm = ServiceNoteForm(self.parent) + self.serviceItemEditForm = ServiceItemEditForm(self.parent) #start with the layout self.Layout = QtGui.QVBoxLayout(self) self.Layout.setSpacing(0) From db025be243d82fc01e27262d03d69f08a7198bdf Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Wed, 21 Jul 2010 02:34:27 +0100 Subject: [PATCH 072/148] Do not rename when name has not changed --- openlp/core/ui/thememanager.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index bf4dabb2d..5f4b934c4 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -605,19 +605,21 @@ class ThemeManager(QtGui.QWidget): if newThemeIndex != -1: self.serviceComboBox.setCurrentIndex(newThemeIndex) if self.editingDefault: - newThemeItem = self.ThemeListWidget.findItems(name, - QtCore.Qt.MatchExactly)[0] - newThemeIndex = self.ThemeListWidget.indexFromItem( - newThemeItem).row() - self.global_theme = unicode( - self.ThemeListWidget.item(newThemeIndex).text()) - newName = unicode(translate('ThemeManager', '%s (default)')) % \ - self.global_theme - self.ThemeListWidget.item(newThemeIndex).setText(newName) - QtCore.QSettings().setValue( - self.settingsSection + u'/global theme', - QtCore.QVariant(self.global_theme)) - Receiver.send_message(u'theme_update_global', self.global_theme) + if self.saveThemeName != name: + newThemeItem = self.ThemeListWidget.findItems(name, + QtCore.Qt.MatchExactly)[0] + newThemeIndex = self.ThemeListWidget.indexFromItem( + newThemeItem).row() + self.global_theme = unicode( + self.ThemeListWidget.item(newThemeIndex).text()) + newName = unicode(translate('ThemeManager', + '%s (default)')) % self.global_theme + self.ThemeListWidget.item(newThemeIndex).setText(newName) + QtCore.QSettings().setValue( + self.settingsSection + u'/global theme', + QtCore.QVariant(self.global_theme)) + Receiver.send_message(u'theme_update_global', + self.global_theme) self.editingDefault = False self.pushThemes() else: From 7ec7235676019489c9db32d5f8fc762b88c114fe Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Wed, 21 Jul 2010 07:20:03 +0200 Subject: [PATCH 073/148] Updated more strings and things. --- .bzrignore | 1 + openlp/core/ui/aboutdialog.py | 19 +- openlp/core/ui/aboutform.py | 3 +- openlp/core/ui/advancedtab.py | 11 +- openlp/core/ui/amendthemedialog.py | 184 +- openlp/core/ui/amendthemeform.py | 12 +- openlp/core/ui/generaltab.py | 37 +- openlp/core/ui/mainwindow.py | 201 +- openlp/core/ui/plugindialog.py | 21 +- openlp/core/utils/languagemanager.py | 8 +- openlp/plugins/alerts/lib/alertstab.py | 10 +- openlp/plugins/bibles/bibleplugin.py | 6 +- openlp/plugins/bibles/lib/db.py | 10 +- openlp/plugins/images/lib/imagetab.py | 3 +- resources/i18n/openlp_af.ts | 3653 +++++++++++---------- resources/i18n/openlp_de.ts | 3733 ++++++++++----------- resources/i18n/openlp_en.ts | 3441 +++++++++---------- resources/i18n/openlp_en_GB.ts | 3659 +++++++++++---------- resources/i18n/openlp_en_ZA.ts | 3523 ++++++++++---------- resources/i18n/openlp_es.ts | 3661 +++++++++++---------- resources/i18n/openlp_et.ts | 4179 ++++++++++++------------ resources/i18n/openlp_hu.ts | 4057 ++++++++++++----------- resources/i18n/openlp_ko.ts | 3433 +++++++++---------- resources/i18n/openlp_nb.ts | 3545 ++++++++++---------- resources/i18n/openlp_pt_BR.ts | 3659 +++++++++++---------- resources/i18n/openlp_sv.ts | 3669 +++++++++++---------- 26 files changed, 22848 insertions(+), 21890 deletions(-) diff --git a/.bzrignore b/.bzrignore index 191ba49fd..073fb531a 100644 --- a/.bzrignore +++ b/.bzrignore @@ -18,3 +18,4 @@ _eric4project .pylint.d *.qm openlp/core/resources.py.old +*.qm diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index 2537a3662..a48af11dc 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -105,8 +105,9 @@ class Ui_AboutDialog(object): QtCore.QMetaObject.connectSlotsByName(aboutDialog) def retranslateUi(self, aboutDialog): - aboutDialog.setWindowTitle(translate('AboutForm', 'About OpenLP')) - self.aboutTextEdit.setPlainText(translate('AboutForm', + aboutDialog.setWindowTitle(translate('OpenLP.AboutForm', + 'About OpenLP')) + self.aboutTextEdit.setPlainText(translate('OpenLP.AboutForm', 'OpenLP - Open Source Lyrics ' 'Projection\n' '\n' @@ -124,8 +125,8 @@ class Ui_AboutDialog(object): )) self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.aboutTab), - translate('AboutForm', 'About')) - self.creditsTextEdit.setPlainText(translate('AboutForm', + translate('OpenLP.AboutForm', 'About')) + self.creditsTextEdit.setPlainText(translate('OpenLP.AboutForm', 'Project Lead\n' ' Raoul "superfly" Snyman\n' '\n' @@ -157,8 +158,8 @@ class Ui_AboutDialog(object): )) self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.creditsTab), - translate('AboutForm', 'Credits')) - self.licenseTextEdit.setPlainText(translate('AboutForm', + translate('OpenLP.AboutForm', 'Credits')) + self.licenseTextEdit.setPlainText(translate('OpenLP.AboutForm', 'Copyright \xa9 2004-2010 Raoul Snyman\n' 'Portions copyright \xa9 2004-2010 ' 'Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, ' @@ -549,6 +550,6 @@ class Ui_AboutDialog(object): 'instead of this License.')) self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.licenseTab), - translate('AboutForm', 'License')) - self.contributeButton.setText(translate('AboutForm', 'Contribute')) - self.closeButton.setText(translate('AboutForm', 'Close')) + translate('OpenLP.AboutForm', 'License')) + self.contributeButton.setText(translate('OpenLP.AboutForm', 'Contribute')) + self.closeButton.setText(translate('OpenLP.AboutForm', 'Close')) diff --git a/openlp/core/ui/aboutform.py b/openlp/core/ui/aboutform.py index a96325bda..8ae391df6 100644 --- a/openlp/core/ui/aboutform.py +++ b/openlp/core/ui/aboutform.py @@ -44,7 +44,7 @@ class AboutForm(QtGui.QDialog, Ui_AboutDialog): about_text = about_text.replace(u'', self.applicationVersion[u'version']) if self.applicationVersion[u'build']: - build_text = unicode(translate('AboutForm', ' build %s')) % \ + build_text = unicode(translate('OpenLP.AboutForm', ' build %s')) % \ self.applicationVersion[u'build'] else: build_text = u'' @@ -61,3 +61,4 @@ class AboutForm(QtGui.QDialog, Ui_AboutDialog): url = u'http://www.openlp.org/en/documentation/introduction/' \ + u'contributing.html' webbrowser.open_new(url) + diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index c0c5a6109..fba71f9d4 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -45,7 +45,7 @@ class AdvancedTab(SettingsTab): Configure the UI elements for the tab. """ self.setObjectName(u'AdvancedTab') - self.tabTitleVisible = translate('AdvancedTab', 'Advanced') + self.tabTitleVisible = translate('OpenLP.AdvancedTab', 'Advanced') self.advancedTabLayout = QtGui.QHBoxLayout(self) self.advancedTabLayout.setSpacing(8) self.advancedTabLayout.setMargin(8) @@ -131,12 +131,12 @@ class AdvancedTab(SettingsTab): """ Setup the interface translation strings. """ - self.uiGroupBox.setTitle(translate('AdvancedTab', 'UI Settings')) + self.uiGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'UI Settings')) self.recentLabel.setText( - translate('AdvancedTab', 'Number of recent files to display:')) - self.mediaPluginCheckBox.setText(translate('AdvancedTab', + translate('OpenLP.AdvancedTab', 'Number of recent files to display:')) + self.mediaPluginCheckBox.setText(translate('OpenLP.AdvancedTab', 'Save currently selected media manager plugin')) - self.doubleClickLiveCheckBox.setText(translate('AdvancedTab', + self.doubleClickLiveCheckBox.setText(translate('OpenLP.AdvancedTab', 'Double-click to send items straight to live (requires restart)')) # self.sharedDirGroupBox.setTitle( # translate('AdvancedTab', 'Central Data Store')) @@ -188,3 +188,4 @@ class AdvancedTab(SettingsTab): self.sharedLabel.setEnabled(checked) self.sharedTextEdit.setEnabled(checked) self.sharedPushButton.setEnabled(checked) + diff --git a/openlp/core/ui/amendthemedialog.py b/openlp/core/ui/amendthemedialog.py index 6d11414aa..c1e57ae45 100644 --- a/openlp/core/ui/amendthemedialog.py +++ b/openlp/core/ui/amendthemedialog.py @@ -657,153 +657,173 @@ class Ui_AmendThemeDialog(object): def retranslateUi(self, AmendThemeDialog): AmendThemeDialog.setWindowTitle( - translate('AmendThemeForm', 'Theme Maintenance')) + translate('OpenLP.AmendThemeForm', 'Theme Maintenance')) self.ThemeNameLabel.setText( - translate('AmendThemeForm', 'Theme &name:')) + translate('OpenLP.AmendThemeForm', 'Theme &name:')) self.BackgroundLabel.setText( - translate('AmendThemeForm', '&Visibility:')) + translate('OpenLP.AmendThemeForm', '&Visibility:')) self.BackgroundComboBox.setItemText(0, - translate('AmendThemeForm', 'Opaque')) + translate('OpenLP.AmendThemeForm', 'Opaque')) self.BackgroundComboBox.setItemText(1, - translate('AmendThemeForm', 'Transparent')) + translate('OpenLP.AmendThemeForm', 'Transparent')) self.BackgroundTypeLabel.setText( - translate('AmendThemeForm', 'Type:')) + translate('OpenLP.AmendThemeForm', 'Type:')) self.BackgroundTypeComboBox.setItemText(0, - translate('AmendThemeForm', 'Solid Color')) + translate('OpenLP.AmendThemeForm', 'Solid Color')) self.BackgroundTypeComboBox.setItemText(1, - translate('AmendThemeForm', 'Gradient')) + translate('OpenLP.AmendThemeForm', 'Gradient')) self.BackgroundTypeComboBox.setItemText(2, - translate('AmendThemeForm', 'Image')) + translate('OpenLP.AmendThemeForm', 'Image')) self.Color1Label.setText(u':') self.Color2Label.setText(u':') - self.ImageLabel.setText(translate('AmendThemeForm', 'Image:')) - self.GradientLabel.setText(translate('AmendThemeForm', 'Gradient:')) + self.ImageLabel.setText( + translate('OpenLP.AmendThemeForm', 'Image:')) + self.GradientLabel.setText( + translate('OpenLP.AmendThemeForm', 'Gradient:')) self.GradientComboBox.setItemText(0, - translate('AmendThemeForm', 'Horizontal')) + translate('OpenLP.AmendThemeForm', 'Horizontal')) self.GradientComboBox.setItemText(1, - translate('AmendThemeForm', 'Vertical')) + translate('OpenLP.AmendThemeForm', 'Vertical')) self.GradientComboBox.setItemText(2, - translate('AmendThemeForm', 'Circular')) + translate('OpenLP.AmendThemeForm', 'Circular')) self.ThemeTabWidget.setTabText( self.ThemeTabWidget.indexOf(self.BackgroundTab), - translate('AmendThemeForm', '&Background')) + translate('OpenLP.AmendThemeForm', '&Background')) self.FontMainGroupBox.setTitle( - translate('AmendThemeForm', 'Main Font')) - self.FontMainlabel.setText(translate('AmendThemeForm', 'Font:')) + translate('OpenLP.AmendThemeForm', 'Main Font')) + self.FontMainlabel.setText( + translate('OpenLP.AmendThemeForm', 'Font:')) self.FontMainColorLabel.setText( - translate('AmendThemeForm', 'Color:')) - self.FontMainSize.setText(translate('AmendThemeForm', 'Size:')) - self.FontMainSizeSpinBox.setSuffix(translate('AmendThemeForm', 'pt')) + translate('OpenLP.AmendThemeForm', 'Color:')) + self.FontMainSize.setText( + translate('OpenLP.AmendThemeForm', 'Size:')) + self.FontMainSizeSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'pt')) self.FontMainWrapIndentationLabel.setText( - translate('AmendThemeForm', 'Wrap indentation:')) + translate('OpenLP.AmendThemeForm', 'Wrap indentation:')) self.FontMainWrapLineAdjustmentLabel.setText( - translate('AmendThemeForm', 'Adjust line spacing:')) + translate('OpenLP.AmendThemeForm', 'Adjust line spacing:')) self.FontMainWeightComboBox.setItemText(0, - translate('AmendThemeForm', 'Normal')) + translate('OpenLP.AmendThemeForm', 'Normal')) self.FontMainWeightComboBox.setItemText(1, - translate('AmendThemeForm', 'Bold')) + translate('OpenLP.AmendThemeForm', 'Bold')) self.FontMainWeightComboBox.setItemText(2, - translate('AmendThemeForm', 'Italics')) + translate('OpenLP.AmendThemeForm', 'Italics')) self.FontMainWeightComboBox.setItemText(3, - translate('AmendThemeForm', 'Bold/Italics')) + translate('OpenLP.AmendThemeForm', 'Bold/Italics')) self.FontMainWeightLabel.setText( - translate('AmendThemeForm', 'Style:')) + translate('OpenLP.AmendThemeForm', 'Style:')) self.MainLocationGroupBox.setTitle( - translate('AmendThemeForm', 'Display Location')) + translate('OpenLP.AmendThemeForm', 'Display Location')) self.DefaultLocationLabel.setText( - translate('AmendThemeForm', 'Use default location')) + translate('OpenLP.AmendThemeForm', 'Use default location')) self.FontMainXLabel.setText( - translate('AmendThemeForm', 'X position:')) + translate('OpenLP.AmendThemeForm', 'X position:')) self.FontMainYLabel.setText( - translate('AmendThemeForm', 'Y position:')) + translate('OpenLP.AmendThemeForm', 'Y position:')) self.FontMainWidthLabel.setText( - translate('AmendThemeForm', 'Width:')) + translate('OpenLP.AmendThemeForm', 'Width:')) self.FontMainHeightLabel.setText( - translate('AmendThemeForm', 'Height:')) - self.FontMainXSpinBox.setSuffix(translate('AmendThemeForm', 'px')) - self.FontMainYSpinBox.setSuffix(translate('AmendThemeForm', 'px')) - self.FontMainWidthSpinBox.setSuffix(translate('AmendThemeForm', 'px')) - self.FontMainHeightSpinBox.setSuffix(translate('AmendThemeForm', 'px')) + translate('OpenLP.AmendThemeForm', 'Height:')) + self.FontMainXSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'px')) + self.FontMainYSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'px')) + self.FontMainWidthSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'px')) + self.FontMainHeightSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'px')) self.ThemeTabWidget.setTabText( self.ThemeTabWidget.indexOf(self.FontMainTab), - translate('AmendThemeForm', '&Main Font')) + translate('OpenLP.AmendThemeForm', '&Main Font')) self.FooterFontGroupBox.setTitle( - translate('AmendThemeForm', 'Footer Font')) - self.FontFooterLabel.setText(translate('AmendThemeForm', 'Font:')) + translate('OpenLP.AmendThemeForm', 'Footer Font')) + self.FontFooterLabel.setText( + translate('OpenLP.AmendThemeForm', 'Font:')) self.FontFooterColorLabel.setText( - translate('AmendThemeForm', 'Color:')) - self.FontFooterSizeLabel.setText(translate('AmendThemeForm', 'Size:')) - self.FontFooterSizeSpinBox.setSuffix(translate('AmendThemeForm', 'pt')) + translate('OpenLP.AmendThemeForm', 'Color:')) + self.FontFooterSizeLabel.setText( + translate('OpenLP.AmendThemeForm', 'Size:')) + self.FontFooterSizeSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'pt')) self.FontFooterWeightComboBox.setItemText(0, - translate('AmendThemeForm', 'Normal')) + translate('OpenLP.AmendThemeForm', 'Normal')) self.FontFooterWeightComboBox.setItemText(1, - translate('AmendThemeForm', 'Bold')) + translate('OpenLP.AmendThemeForm', 'Bold')) self.FontFooterWeightComboBox.setItemText(2, - translate('AmendThemeForm', 'Italics')) + translate('OpenLP.AmendThemeForm', 'Italics')) self.FontFooterWeightComboBox.setItemText(3, - translate('AmendThemeForm', 'Bold/Italics')) + translate('OpenLP.AmendThemeForm', 'Bold/Italics')) self.FontFooterWeightLabel.setText( - translate('AmendThemeForm', 'Style:')) + translate('OpenLP.AmendThemeForm', 'Style:')) self.LocationFooterGroupBox.setTitle( - translate('AmendThemeForm', 'Display Location')) + translate('OpenLP.AmendThemeForm', 'Display Location')) self.FontFooterDefaultLabel.setText( - translate('AmendThemeForm', 'Use default location')) + translate('OpenLP.AmendThemeForm', 'Use default location')) self.FontFooterXLabel.setText( - translate('AmendThemeForm', 'X position:')) + translate('OpenLP.AmendThemeForm', 'X position:')) self.FontFooterYLabel.setText( - translate('AmendThemeForm', 'Y position:')) + translate('OpenLP.AmendThemeForm', 'Y position:')) self.FontFooterWidthLabel.setText( - translate('AmendThemeForm', 'Width:')) + translate('OpenLP.AmendThemeForm', 'Width:')) self.FontFooterHeightLabel.setText( - translate('AmendThemeForm', 'Height:')) - self.FontFooterXSpinBox.setSuffix(translate('AmendThemeForm', 'px')) - self.FontFooterYSpinBox.setSuffix(translate('AmendThemeForm', 'px')) - self.FontFooterWidthSpinBox.setSuffix(translate('AmendThemeForm', 'px')) + translate('OpenLP.AmendThemeForm', 'Height:')) + self.FontFooterXSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'px')) + self.FontFooterYSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'px')) + self.FontFooterWidthSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'px')) self.FontFooterHeightSpinBox.setSuffix( - translate('AmendThemeForm', 'px')) + translate('OpenLP.AmendThemeForm', 'px')) self.ThemeTabWidget.setTabText( self.ThemeTabWidget.indexOf(self.FontFooterTab), - translate('AmendThemeForm', '&Footer Font')) - self.OutlineGroupBox.setTitle(translate('AmendThemeForm', 'Outline')) + translate('OpenLP.AmendThemeForm', '&Footer Font')) + self.OutlineGroupBox.setTitle( + translate('OpenLP.AmendThemeForm', 'Outline')) self.OutlineSpinBoxLabel.setText( - translate('AmendThemeForm', 'Outline size:')) - self.OutlineSpinBox.setSuffix(translate('AmendThemeForm', 'px')) + translate('OpenLP.AmendThemeForm', 'Outline size:')) + self.OutlineSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'px')) self.OutlineColorLabel.setText( - translate('AmendThemeForm', 'Outline color:')) + translate('OpenLP.AmendThemeForm', 'Outline color:')) self.OutlineEnabledLabel.setText( - translate('AmendThemeForm', 'Show outline:')) - self.ShadowGroupBox.setTitle(translate('AmendThemeForm', 'Shadow')) + translate('OpenLP.AmendThemeForm', 'Show outline:')) + self.ShadowGroupBox.setTitle( + translate('OpenLP.AmendThemeForm', 'Shadow')) self.ShadowSpinBoxLabel.setText( - translate('AmendThemeForm', 'Shadow size:')) - self.ShadowSpinBox.setSuffix(translate('AmendThemeForm', 'px')) + translate('OpenLP.AmendThemeForm', 'Shadow size:')) + self.ShadowSpinBox.setSuffix( + translate('OpenLP.AmendThemeForm', 'px')) self.ShadowColorLabel.setText( - translate('AmendThemeForm', 'Shadow color:')) + translate('OpenLP.AmendThemeForm', 'Shadow color:')) self.ShadowEnabledLabel.setText( - translate('AmendThemeForm', 'Show shadow:')) + translate('OpenLP.AmendThemeForm', 'Show shadow:')) self.AlignmentGroupBox.setTitle( - translate('AmendThemeForm', 'Alignment')) + translate('OpenLP.AmendThemeForm', 'Alignment')) self.HorizontalLabel.setText( - translate('AmendThemeForm', 'Horizontal align:')) + translate('OpenLP.AmendThemeForm', 'Horizontal align:')) self.HorizontalComboBox.setItemText(0, - translate('AmendThemeForm', 'Left')) + translate('OpenLP.AmendThemeForm', 'Left')) self.HorizontalComboBox.setItemText(1, - translate('AmendThemeForm', 'Right')) + translate('OpenLP.AmendThemeForm', 'Right')) self.HorizontalComboBox.setItemText(2, - translate('AmendThemeForm', 'Center')) + translate('OpenLP.AmendThemeForm', 'Center')) self.VerticalLabel.setText( - translate('AmendThemeForm', 'Vertical align:')) + translate('OpenLP.AmendThemeForm', 'Vertical align:')) self.VerticalComboBox.setItemText(0, - translate('AmendThemeForm', 'Top')) + translate('OpenLP.AmendThemeForm', 'Top')) self.VerticalComboBox.setItemText(1, - translate('AmendThemeForm', 'Middle')) + translate('OpenLP.AmendThemeForm', 'Middle')) self.VerticalComboBox.setItemText(2, - translate('AmendThemeForm', 'Bottom')) + translate('OpenLP.AmendThemeForm', 'Bottom')) self.TransitionGroupBox.setTitle( - translate('AmendThemeForm', 'Slide Transition')) + translate('OpenLP.AmendThemeForm', 'Slide Transition')) self.SlideTransitionCheckBoxLabel.setText( - translate('AmendThemeForm', 'Transition active')) + translate('OpenLP.AmendThemeForm', 'Transition active')) self.ThemeTabWidget.setTabText( self.ThemeTabWidget.indexOf(self.OtherOptionsTab), - translate('AmendThemeForm', '&Other Options')) - self.PreviewGroupBox.setTitle(translate('AmendThemeForm', 'Preview')) + translate('OpenLP.AmendThemeForm', '&Other Options')) + self.PreviewGroupBox.setTitle( + translate('OpenLP.AmendThemeForm', 'Preview')) diff --git a/openlp/core/ui/amendthemeform.py b/openlp/core/ui/amendthemeform.py index 10198bc7a..7676e9c25 100644 --- a/openlp/core/ui/amendthemeform.py +++ b/openlp/core/ui/amendthemeform.py @@ -219,9 +219,9 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): def onImageToolButtonClicked(self): images_filter = get_images_filter() images_filter = '%s;;%s (*.*) (*)' % (images_filter, - translate('AmendThemeForm', 'All Files')) + translate('OpenLP.AmendThemeForm', 'All Files')) filename = QtGui.QFileDialog.getOpenFileName(self, - translate('AmendThemeForm', 'Select Image'), u'', images_filter) + translate('OpenLP.AmendThemeForm', 'Select Image'), u'', images_filter) if filename: self.ImageLineEdit.setText(filename) self.theme.background_filename = filename @@ -658,7 +658,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): self.Color1PushButton.setStyleSheet( u'background-color: %s' % unicode(theme.background_color)) self.Color1Label.setText( - translate('AmendThemeForm', 'Color:')) + translate('OpenLP.AmendThemeForm', 'Color:')) self.Color1Label.setVisible(True) self.Color1PushButton.setVisible(True) self.Color2Label.setVisible(False) @@ -674,9 +674,9 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): self.Color2PushButton.setStyleSheet(u'background-color: %s' \ % unicode(theme.background_endColor)) self.Color1Label.setText( - translate('AmendThemeForm', 'First color:')) + translate('OpenLP.AmendThemeForm', 'First color:')) self.Color2Label.setText( - translate('AmendThemeForm', 'Second color:')) + translate('OpenLP.AmendThemeForm', 'Second color:')) self.Color1Label.setVisible(True) self.Color1PushButton.setVisible(True) self.Color2Label.setVisible(True) @@ -745,7 +745,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): (self.FontMainHeightSpinBox.value(), metrics.height(), page_length)) page_length_text = unicode( - translate('AmendThemeForm', 'Slide height is %s rows.')) + translate('OpenLP.AmendThemeForm', 'Slide height is %s rows.')) self.FontMainLinesPageLabel.setText(page_length_text % page_length) frame = self.thememanager.generateImage(self.theme) self.ThemePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 72718bb2c..408509605 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -59,7 +59,7 @@ class GeneralTab(SettingsTab): Create the user interface for the general settings tab """ self.setObjectName(u'GeneralTab') - self.tabTitleVisible = translate('GeneralTab', 'General') + self.tabTitleVisible = translate('OpenLP.GeneralTab', 'General') self.GeneralLayout = QtGui.QHBoxLayout(self) self.GeneralLayout.setSpacing(8) self.GeneralLayout.setMargin(8) @@ -286,7 +286,7 @@ class GeneralTab(SettingsTab): """ Translate the general settings tab to the currently selected language """ - self.MonitorGroupBox.setTitle(translate('GeneralTab', 'Monitors')) + self.MonitorGroupBox.setTitle(translate('OpenLP.GeneralTab', 'Monitors')) self.MonitorLabel.setText( translate('OpenLP.GeneralTab', 'Select monitor for output display:')) self.DisplayOnMonitorCheck.setText( @@ -299,16 +299,18 @@ class GeneralTab(SettingsTab): translate('OpenLP.GeneralTab', 'Automatically open the last service')) self.ShowSplashCheckBox.setText( translate('OpenLP.GeneralTab', 'Show the splash screen')) - self.SettingsGroupBox.setTitle(translate('OpenLP.GeneralTab', - 'Application Settings')) + self.SettingsGroupBox.setTitle( + translate('OpenLP.GeneralTab', 'Application Settings')) self.SaveCheckServiceCheckBox.setText(translate('OpenLP.GeneralTab', 'Prompt to save Service before starting New')) self.AutoPreviewCheckBox.setText(translate('OpenLP.GeneralTab', 'Preview Next Song from Service Manager')) - self.CCLIGroupBox.setTitle(translate('GeneralTab', 'CCLI Details')) - self.NumberLabel.setText(translate('GeneralTab', 'CCLI Number:')) - self.UsernameLabel.setText(translate('OpenLP.GeneralTab', - 'SongSelect Username:')) + self.CCLIGroupBox.setTitle( + translate('OpenLP.GeneralTab', 'CCLI Details')) + self.NumberLabel.setText( + translate('OpenLP.GeneralTab', 'CCLI Number:')) + self.UsernameLabel.setText( + translate('OpenLP.GeneralTab', 'SongSelect Username:')) self.PasswordLabel.setText( translate('OpenLP.GeneralTab', 'SongSelect Password:')) # Moved from display tab @@ -318,16 +320,18 @@ class GeneralTab(SettingsTab): self.currentXValueLabel.setText(u'0') self.currentYLabel.setText(translate('OpenLP.GeneralTab', 'Y')) self.currentYValueLabel.setText(u'0') - self.currentHeightLabel.setText(translate('OpenLP.GeneralTab', 'Height')) + self.currentHeightLabel.setText( + translate('OpenLP.GeneralTab', 'Height')) self.currentHeightValueLabel.setText(u'0') - self.currentWidthLabel.setText(translate('OpenLP.GeneralTab', 'Width')) + self.currentWidthLabel.setText( + translate('OpenLP.GeneralTab', 'Width')) self.currentWidthValueLabel.setText(u'0') self.overrideCheckBox.setText(translate('OpenLP.GeneralTab', 'Override display position')) - self.customXLabel.setText(translate('DisplayTab', 'X')) - self.customYLabel.setText(translate('DisplayTab', 'Y')) - self.customHeightLabel.setText(translate('DisplayTab', 'Height')) - self.customWidthLabel.setText(translate('DisplayTab', 'Width')) + self.customXLabel.setText(translate('OpenLP.GeneralTab', 'X')) + self.customYLabel.setText(translate('OpenLP.GeneralTab', 'Y')) + self.customHeightLabel.setText(translate('OpenLP.GeneralTab', 'Height')) + self.customWidthLabel.setText(translate('OpenLP.GeneralTab', 'Width')) def load(self): """ @@ -336,11 +340,11 @@ class GeneralTab(SettingsTab): settings = QtCore.QSettings() settings.beginGroup(self.settingsSection) for screen in self.screens.screen_list: - screen_name = u'%s %d' % (translate('GeneralTab', 'Screen'), + screen_name = u'%s %d' % (translate('OpenLP.GeneralTab', 'Screen'), screen[u'number'] + 1) if screen[u'primary']: screen_name = u'%s (%s)' % (screen_name, - translate('GeneralTab', 'primary')) + translate('OpenLP.GeneralTab', 'primary')) self.MonitorComboBox.addItem(screen_name) self.NumberEdit.setText(unicode(settings.value( u'ccli number', QtCore.QVariant(u'')).toString())) @@ -458,3 +462,4 @@ class GeneralTab(SettingsTab): self.customHeightValueEdit.setEnabled(checked) self.customWidthValueEdit.setEnabled(checked) self.override_changed = True + diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index ec34a483b..f399ccc72 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -381,127 +381,149 @@ class Ui_MainWindow(object): """ Set up the translation system """ - MainWindow.mainTitle = translate('MainWindow', 'OpenLP 2.0') - MainWindow.language = translate('MainWindow', 'English') + MainWindow.mainTitle = translate('OpenLP.MainWindow', 'OpenLP 2.0') + MainWindow.language = translate('OpenLP.MainWindow', 'English') MainWindow.setWindowTitle(MainWindow.mainTitle) - self.FileMenu.setTitle(translate('MainWindow', '&File')) - self.FileImportMenu.setTitle(translate('MainWindow', '&Import')) - self.FileExportMenu.setTitle(translate('MainWindow', '&Export')) - self.ViewMenu.setTitle(translate('MainWindow', '&View')) - self.ViewModeMenu.setTitle(translate('MainWindow', 'M&ode')) - self.ToolsMenu.setTitle(translate('MainWindow', '&Tools')) - self.SettingsMenu.setTitle(translate('MainWindow', '&Settings')) - self.SettingsLanguageMenu.setTitle(translate('MainWindow', + 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', '&Language')) - self.HelpMenu.setTitle(translate('MainWindow', '&Help')) + self.HelpMenu.setTitle(translate('OpenLP.MainWindow', '&Help')) self.MediaManagerDock.setWindowTitle( - translate('MainWindow', 'Media Manager')) + translate('OpenLP.MainWindow', 'Media Manager')) self.ServiceManagerDock.setWindowTitle( - translate('MainWindow', 'Service Manager')) + translate('OpenLP.MainWindow', 'Service Manager')) self.ThemeManagerDock.setWindowTitle( - translate('MainWindow', 'Theme Manager')) - self.FileNewItem.setText(translate('MainWindow', '&New')) - self.FileNewItem.setToolTip(translate('MainWindow', 'New Service')) + translate('OpenLP.MainWindow', 'Theme Manager')) + self.FileNewItem.setText(translate('OpenLP.MainWindow', '&New')) + self.FileNewItem.setToolTip( + translate('OpenLP.MainWindow', 'New Service')) self.FileNewItem.setStatusTip( - translate('MainWindow', 'Create a new service.')) - self.FileNewItem.setShortcut(translate('MainWindow', 'Ctrl+N')) - self.FileOpenItem.setText(translate('MainWindow', '&Open')) - self.FileOpenItem.setToolTip(translate('MainWindow', 'Open Service')) + translate('OpenLP.MainWindow', 'Create a new service.')) + self.FileNewItem.setShortcut(translate('OpenLP.MainWindow', 'Ctrl+N')) + self.FileOpenItem.setText(translate('OpenLP.MainWindow', '&Open')) + self.FileOpenItem.setToolTip( + translate('OpenLP.MainWindow', 'Open Service')) self.FileOpenItem.setStatusTip( - translate('MainWindow', 'Open an existing service.')) - self.FileOpenItem.setShortcut(translate('MainWindow', 'Ctrl+O')) - self.FileSaveItem.setText(translate('MainWindow', '&Save')) - self.FileSaveItem.setToolTip(translate('MainWindow', 'Save Service')) + translate('OpenLP.MainWindow', 'Open an existing service.')) + self.FileOpenItem.setShortcut(translate('OpenLP.MainWindow', 'Ctrl+O')) + self.FileSaveItem.setText(translate('OpenLP.MainWindow', '&Save')) + self.FileSaveItem.setToolTip( + translate('OpenLP.MainWindow', 'Save Service')) self.FileSaveItem.setStatusTip( - translate('MainWindow', 'Save the current service to disk.')) - self.FileSaveItem.setShortcut(translate('MainWindow', 'Ctrl+S')) - self.FileSaveAsItem.setText(translate('MainWindow', 'Save &As...')) + translate('OpenLP.MainWindow', 'Save the current service to disk.')) + self.FileSaveItem.setShortcut(translate('OpenLP.MainWindow', 'Ctrl+S')) + self.FileSaveAsItem.setText( + translate('OpenLP.MainWindow', 'Save &As...')) self.FileSaveAsItem.setToolTip( - translate('MainWindow', 'Save Service As')) - self.FileSaveAsItem.setStatusTip(translate('MainWindow', + translate('OpenLP.MainWindow', 'Save Service As')) + self.FileSaveAsItem.setStatusTip(translate('OpenLP.MainWindow', 'Save the current service under a new name.')) - self.FileSaveAsItem.setShortcut(translate('MainWindow', 'Ctrl+Shift+S')) - self.FileExitItem.setText(translate('MainWindow', 'E&xit')) - self.FileExitItem.setStatusTip(translate('MainWindow', 'Quit OpenLP')) - self.FileExitItem.setShortcut(translate('MainWindow', 'Alt+F4')) - self.ImportThemeItem.setText(translate('MainWindow', '&Theme')) - self.ImportLanguageItem.setText(translate('MainWindow', '&Language')) - self.ExportThemeItem.setText(translate('MainWindow', '&Theme')) - self.ExportLanguageItem.setText(translate('MainWindow', '&Language')) - self.SettingsConfigureItem.setText(translate('MainWindow', - '&Configure OpenLP...')) + self.FileSaveAsItem.setShortcut( + translate('OpenLP.MainWindow', 'Ctrl+Shift+S')) + self.FileExitItem.setText( + translate('OpenLP.MainWindow', 'E&xit')) + self.FileExitItem.setStatusTip( + translate('OpenLP.MainWindow', 'Quit OpenLP')) + self.FileExitItem.setShortcut( + translate('OpenLP.MainWindow', 'Alt+F4')) + self.ImportThemeItem.setText( + translate('OpenLP.MainWindow', '&Theme')) + self.ImportLanguageItem.setText( + translate('OpenLP.MainWindow', '&Language')) + self.ExportThemeItem.setText( + translate('OpenLP.MainWindow', '&Theme')) + self.ExportLanguageItem.setText( + translate('OpenLP.MainWindow', '&Language')) + self.SettingsConfigureItem.setText( + translate('OpenLP.MainWindow', '&Configure OpenLP...')) self.ViewMediaManagerItem.setText( - translate('MainWindow', '&Media Manager')) + translate('OpenLP.MainWindow', '&Media Manager')) self.ViewMediaManagerItem.setToolTip( - translate('MainWindow', 'Toggle Media Manager')) - self.ViewMediaManagerItem.setStatusTip(translate('MainWindow', + translate('OpenLP.MainWindow', 'Toggle Media Manager')) + self.ViewMediaManagerItem.setStatusTip(translate('OpenLP.MainWindow', 'Toggle the visibility of the media manager.')) - self.ViewMediaManagerItem.setShortcut(translate('MainWindow', 'F8')) + self.ViewMediaManagerItem.setShortcut( + translate('OpenLP.MainWindow', 'F8')) self.ViewThemeManagerItem.setText( - translate('MainWindow', '&Theme Manager')) + translate('OpenLP.MainWindow', '&Theme Manager')) self.ViewThemeManagerItem.setToolTip( - translate('MainWindow', 'Toggle Theme Manager')) - self.ViewThemeManagerItem.setStatusTip(translate('MainWindow', + translate('OpenLP.MainWindow', 'Toggle Theme Manager')) + self.ViewThemeManagerItem.setStatusTip(translate('OpenLP.MainWindow', 'Toggle the visibility of the theme manager.')) - self.ViewThemeManagerItem.setShortcut(translate('MainWindow', 'F10')) + self.ViewThemeManagerItem.setShortcut( + translate('OpenLP.MainWindow', 'F10')) self.ViewServiceManagerItem.setText( - translate('MainWindow', '&Service Manager')) + translate('OpenLP.MainWindow', '&Service Manager')) self.ViewServiceManagerItem.setToolTip( - translate('MainWindow', 'Toggle Service Manager')) - self.ViewServiceManagerItem.setStatusTip(translate('MainWindow', + translate('OpenLP.MainWindow', 'Toggle Service Manager')) + self.ViewServiceManagerItem.setStatusTip(translate('OpenLP.MainWindow', 'Toggle the visibility of the service manager.')) - self.ViewServiceManagerItem.setShortcut(translate('MainWindow', 'F9')) + self.ViewServiceManagerItem.setShortcut( + translate('OpenLP.MainWindow', 'F9')) self.ViewPreviewPanel.setText( - translate('MainWindow', '&Preview Panel')) + translate('OpenLP.MainWindow', '&Preview Panel')) self.ViewPreviewPanel.setToolTip( - translate('MainWindow', 'Toggle Preview Panel')) - self.ViewPreviewPanel.setStatusTip(translate('MainWindow', + translate('OpenLP.MainWindow', 'Toggle Preview Panel')) + self.ViewPreviewPanel.setStatusTip(translate('OpenLP.MainWindow', 'Toggle the visibility of the preview panel.')) - self.ViewPreviewPanel.setShortcut(translate('MainWindow', 'F11')) + self.ViewPreviewPanel.setShortcut( + translate('OpenLP.MainWindow', 'F11')) self.ViewLivePanel.setText( - translate('MainWindow', '&Live Panel')) + translate('OpenLP.MainWindow', '&Live Panel')) self.ViewLivePanel.setToolTip( - translate('MainWindow', 'Toggle Live Panel')) - self.ViewLivePanel.setStatusTip(translate('MainWindow', + translate('OpenLP.MainWindow', 'Toggle Live Panel')) + self.ViewLivePanel.setStatusTip(translate('OpenLP.MainWindow', 'Toggle the visibility of the live panel.')) - self.ViewLivePanel.setShortcut(translate('MainWindow', 'F12')) - self.SettingsPluginListItem.setText(translate('MainWindow', + self.ViewLivePanel.setShortcut( + translate('OpenLP.MainWindow', 'F12')) + self.SettingsPluginListItem.setText(translate('OpenLP.MainWindow', '&Plugin List')) self.SettingsPluginListItem.setStatusTip( - translate('MainWindow', 'List the Plugins')) + translate('OpenLP.MainWindow', 'List the Plugins')) self.SettingsPluginListItem.setShortcut( - translate('MainWindow', 'Alt+F7')) + translate('OpenLP.MainWindow', 'Alt+F7')) self.HelpDocumentationItem.setText( - translate('MainWindow', '&User Guide')) - self.HelpAboutItem.setText(translate('MainWindow', '&About')) + translate('OpenLP.MainWindow', '&User Guide')) + self.HelpAboutItem.setText(translate('OpenLP.MainWindow', '&About')) self.HelpAboutItem.setStatusTip( - translate('MainWindow', 'More information about OpenLP')) - self.HelpAboutItem.setShortcut(translate('MainWindow', 'Ctrl+F1')) + translate('OpenLP.MainWindow', 'More information about OpenLP')) + self.HelpAboutItem.setShortcut(translate('OpenLP.MainWindow', 'Ctrl+F1')) self.HelpOnlineHelpItem.setText( - translate('MainWindow', '&Online Help')) - self.HelpWebSiteItem.setText(translate('MainWindow', '&Web Site')) - self.AutoLanguageItem.setText(translate('MainWindow', '&Auto Detect')) + translate('OpenLP.MainWindow', '&Online Help')) + self.HelpWebSiteItem.setText( + translate('OpenLP.MainWindow', '&Web Site')) + self.AutoLanguageItem.setText( + translate('OpenLP.MainWindow', '&Auto Detect')) self.AutoLanguageItem.setStatusTip( - translate('MainWindow', 'Use the system language, if available.')) + translate('OpenLP.MainWindow', + 'Use the system language, if available.')) for item in self.LanguageGroup.actions(): item.setText(item.objectName()) - item.setStatusTip(unicode(translate('MainWindow', + item.setStatusTip(unicode(translate('OpenLP.MainWindow', 'Set the interface language to %s')) % item.objectName()) - self.ToolsAddToolItem.setText(translate('MainWindow', 'Add &Tool...')) + self.ToolsAddToolItem.setText( + translate('OpenLP.MainWindow', 'Add &Tool...')) self.ToolsAddToolItem.setStatusTip( - translate('MainWindow', + translate('OpenLP.MainWindow', 'Add an application to the list of tools.')) - self.ModeDefaultItem.setText(translate('MainWindow', '&Default')) + self.ModeDefaultItem.setText( + translate('OpenLP.MainWindow', '&Default')) self.ModeDefaultItem.setStatusTip( - translate('MainWindow', + translate('OpenLP.MainWindow', 'Set the view mode back to the default.')) - self.ModeSetupItem.setText(translate('MainWindow', '&Setup')) + self.ModeSetupItem.setText(translate('OpenLP.MainWindow', '&Setup')) self.ModeSetupItem.setStatusTip( - translate('MainWindow', + translate('OpenLP.MainWindow', 'Set the view mode to Setup.')) - self.ModeLiveItem.setText(translate('MainWindow', '&Live')) + self.ModeLiveItem.setText(translate('OpenLP.MainWindow', '&Live')) self.ModeLiveItem.setStatusTip( - translate('MainWindow', + translate('OpenLP.MainWindow', 'Set the view mode to Live.')) @@ -677,12 +699,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): Triggered by delay thread. """ app_version = self.applicationVersion[u'full'] - version_text = unicode(translate('MainWindow', 'Version %s of OpenLP ' - 'is now available for download (you are currently running version ' - ' %s). \n\nYou can download the latest version from ' - 'http://openlp.org')) + version_text = unicode(translate('OpenLP.MainWindow', + 'Version %s of OpenLP is now available for download (you are ' + 'currently running version %s). \n\nYou can download the latest ' + 'version from http://openlp.org/.')) QtGui.QMessageBox.question(self, - translate('MainWindow', 'OpenLP Version Updated'), + translate('OpenLP.MainWindow', 'OpenLP Version Updated'), version_text % (version, app_version), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok), QtGui.QMessageBox.Ok) @@ -714,8 +736,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): if settings.value(u'blank warning', QtCore.QVariant(False)).toBool(): QtGui.QMessageBox.question(self, - translate('MainWindow', 'OpenLP Main Display Blanked'), - translate('MainWindow', + translate('OpenLP.MainWindow', + 'OpenLP Main Display Blanked'), + translate('OpenLP.MainWindow', 'The Main Display has been blanked out')) settings.endGroup() @@ -799,8 +822,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): """ if self.serviceNotSaved: ret = QtGui.QMessageBox.question(self, - translate('MainWindow', 'Save Changes to Service?'), - translate('MainWindow', 'Your service has changed. ' + translate('OpenLP.MainWindow', 'Save Changes to Service?'), + translate('OpenLP.MainWindow', 'Your service has changed. ' 'Do you want to save those changes?'), QtGui.QMessageBox.StandardButtons( QtGui.QMessageBox.Cancel | @@ -865,7 +888,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): def defaultThemeChanged(self, theme): self.DefaultThemeLabel.setText( - unicode(translate('MainWindow', 'Default Theme: %s')) % theme) + unicode(translate('OpenLP.MainWindow', 'Default Theme: %s')) % theme) def toggleMediaManager(self, visible): if self.MediaManagerDock.isVisible() != visible: diff --git a/openlp/core/ui/plugindialog.py b/openlp/core/ui/plugindialog.py index 2a4ed3da9..cef5fca56 100644 --- a/openlp/core/ui/plugindialog.py +++ b/openlp/core/ui/plugindialog.py @@ -100,14 +100,19 @@ class Ui_PluginViewDialog(object): def retranslateUi(self, PluginViewDialog): PluginViewDialog.setWindowTitle( - translate('PluginForm', 'Plugin List')) + translate('OpenLP.PluginForm', 'Plugin List')) self.PluginInfoGroupBox.setTitle( - translate('PluginForm', 'Plugin Details')) + translate('OpenLP.PluginForm', 'Plugin Details')) self.VersionLabel.setText( - translate('PluginForm', 'Version:')) - self.VersionNumberLabel.setText(translate('PluginForm', 'TextLabel')) - self.AboutLabel.setText(translate('PluginForm', 'About:')) - self.StatusLabel.setText(translate('PluginForm', 'Status:')) - self.StatusComboBox.setItemText(0, translate('PluginForm', 'Active')) + translate('OpenLP.PluginForm', 'Version:')) + self.VersionNumberLabel.setText( + translate('OpenLP.PluginForm', 'TextLabel')) + self.AboutLabel.setText( + translate('OpenLP.PluginForm', 'About:')) + self.StatusLabel.setText( + translate('OpenLP.PluginForm', 'Status:')) + self.StatusComboBox.setItemText(0, + translate('OpenLP.PluginForm', 'Active')) self.StatusComboBox.setItemText(1, - translate('PluginForm', 'Inactive')) + translate('OpenLP.PluginForm', 'Inactive')) + diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index c0315559f..6a72f088a 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -82,7 +82,7 @@ class LanguageManager(object): """ translator = QtCore.QTranslator() translator.load(qm_file) - return translator.translate('MainWindow', 'English') + return translator.translate('OpenLP.MainWindow', 'English') @staticmethod def get_language(): @@ -117,9 +117,9 @@ class LanguageManager(object): u'general/language', QtCore.QVariant(language)) log.info(u'Language file: \'%s\' written to conf file' % language) QtGui.QMessageBox.information(None, - translate('LanguageManager', 'Language'), - translate('LanguageManager', - 'After restart new Language settings will be used.')) + translate('OpenLP.LanguageManager', 'Language'), + translate('OpenLP.LanguageManager', + 'Please restart OpenLP to use your new language setting.')) @staticmethod def init_qm_list(): diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index a024d4e49..07c39939d 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -190,13 +190,13 @@ class AlertsTab(SettingsTab): self.FontGroupBox.setTitle( translate('AlertsPlugin.AlertsTab', 'Font')) self.FontLabel.setText( - translate('AlertsPlugin.AlertsTab', 'Font Name:')) + translate('AlertsPlugin.AlertsTab', 'Font name:')) self.FontColorLabel.setText( - translate('AlertsPlugin.AlertsTab', 'Font Color:')) + translate('AlertsPlugin.AlertsTab', 'Font color:')) self.BackgroundColorLabel.setText( - translate('AlertsPlugin.AlertsTab', 'Background Color:')) + translate('AlertsPlugin.AlertsTab', 'Background color:')) self.FontSizeLabel.setText( - translate('AlertsPlugin.AlertsTab', 'Font Size:')) + translate('AlertsPlugin.AlertsTab', 'Font size:')) self.FontSizeSpinBox.setSuffix( translate('AlertsPlugin.AlertsTab', 'pt')) self.TimeoutLabel.setText( @@ -208,7 +208,7 @@ class AlertsTab(SettingsTab): self.PreviewGroupBox.setTitle( translate('AlertsPlugin.AlertsTab', 'Preview')) self.FontPreview.setText( - translate('AlertsPlugin.AlertsTab', 'openlp.org')) + translate('AlertsPlugin.AlertsTab', 'OpenLP 2.0')) self.LocationComboBox.setItemText(0, translate('AlertsPlugin.AlertsTab', 'Top')) self.LocationComboBox.setItemText(1, diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 5ea870da6..65bf815f0 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -70,7 +70,7 @@ class BiblePlugin(Plugin): self.ImportBibleItem.setObjectName(u'ImportBibleItem') import_menu.addAction(self.ImportBibleItem) self.ImportBibleItem.setText( - translate('BiblePlugin', '&Bible')) + translate('BiblesPlugin', '&Bible')) # signals and slots QtCore.QObject.connect(self.ImportBibleItem, QtCore.SIGNAL(u'triggered()'), self.onBibleImportClick) @@ -81,7 +81,7 @@ class BiblePlugin(Plugin): self.ExportBibleItem.setObjectName(u'ExportBibleItem') export_menu.addAction(self.ExportBibleItem) self.ExportBibleItem.setText(translate( - 'BiblePlugin', '&Bible')) + 'BiblesPlugin', '&Bible')) self.ExportBibleItem.setVisible(False) def onBibleImportClick(self): @@ -89,7 +89,7 @@ class BiblePlugin(Plugin): self.mediaItem.onImportClick() def about(self): - about_text = translate('BiblePlugin', + about_text = translate('BiblesPlugin', 'Bible Plugin
This ' 'plugin allows bible verses from different sources to be ' 'displayed on the screen during the service.') diff --git a/openlp/plugins/bibles/lib/db.py b/openlp/plugins/bibles/lib/db.py index 81255458f..cb6646a12 100644 --- a/openlp/plugins/bibles/lib/db.py +++ b/openlp/plugins/bibles/lib/db.py @@ -343,11 +343,11 @@ class BibleDB(QtCore.QObject, Manager): else: log.debug(u'OpenLP failed to find book %s', book) QtGui.QMessageBox.information(self.bible_plugin.mediaItem, - translate('BibleDB', 'Book not found'), - translate('BibleDB', u'The book you requested could not ' - 'be found in this bible. Please check your spelling ' - 'and that this is a complete bible not just one ' - 'testament.')) + translate('BiblesPlugin.BibleDB', 'Book not found'), + translate('BiblesPlugin.BibleDB', 'The book you requested ' + 'could not be found in this bible. Please check your ' + 'spelling and that this is a complete bible not just ' + 'one testament.')) return verse_list def verse_search(self, text): diff --git a/openlp/plugins/images/lib/imagetab.py b/openlp/plugins/images/lib/imagetab.py index 06b300b98..319ec7ac4 100644 --- a/openlp/plugins/images/lib/imagetab.py +++ b/openlp/plugins/images/lib/imagetab.py @@ -66,7 +66,7 @@ class ImageTab(SettingsTab): self.ImageSettingsGroupBox.setTitle( translate('ImagePlugin.ImageTab', 'Image Settings')) self.TimeoutLabel.setText( - translate('ImagePlugin.ImageTab', 'Slide Loop Delay:')) + translate('ImagePlugin.ImageTab', 'Slide loop delay:')) self.TimeoutSpinBox.setSuffix( translate('ImagePlugin.ImageTab', 'sec')) @@ -88,3 +88,4 @@ class ImageTab(SettingsTab): def postSetUp(self): Receiver.send_message(u'slidecontroller_live_spin_delay', self.loop_delay) + diff --git a/resources/i18n/openlp_af.ts b/resources/i18n/openlp_af.ts index 16d9d91bb..e7e879480 100644 --- a/resources/i18n/openlp_af.ts +++ b/resources/i18n/openlp_af.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - + + &Alert + W&aarskuwing + + + + Show an alert message. + + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <b>Waarskuwing Inprop</b><br/>Hierdie inprop beheer die vertoning van waarskuwings op die aanbieding skerm + + + + AlertsPlugin.AlertForm + + + Alert Message + Waarskuwing Boodskap + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + &Nuwe + + + + &Save + &Stoor + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + Waarskuwings + + + + Font + Skrif + + + + pt + pt + + + + Alert timeout: + Waarskuwing tydgrens: + + + + s + s + + + + Location: + Ligging: + + + + Preview + Voorskou + + + + Top + + + + + Middle + Middel + + + + Bottom + Onder + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + OpenLP 2.0 + + + + BiblesPlugin + + + &Bible + &Bybel + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bybel Miniprogram</strong><br/>Dié miniprogram laat toe dat Bybel verse van verskillende bronne op die skerm vertoon kan word gedurende die diens. + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + Bybels + + + + Verse Display + Vers Vertoning + + + + Only show new chapter numbers + Vertoon net nuwe hoofstuk nommers + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + Bybel Invoer Gids + + + + Welcome to the Bible Import Wizard + Welkom by die Bybel Invoer Gids + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + Hierdie gids sal u help om Bybels van 'n verskeidenheid vormate in te voer. Kliek die volgende knoppie hieronder om die proses te begin en 'n formaat te kies om in te voer. + + + + Select Import Source + Selekteer Invoer Bron + + + + Select the import format, and where to import from. + Selekteer die invoer formaat en van waar af om in te voer. + + + + Format: + Formaat: + + + + OSIS + OSIS + + + + CSV + KGW + + + + OpenSong + OpenSong + + + + Web Download + Web Aflaai + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Location: + Ligging: + + + + Crosswalk + Cosswalk + + + + BibleGateway + BibleGateway + + + + Bible: + Bybel: + + + + Download Options + Aflaai Opsies + + + + Server: + Bediener: + + + + Username: + Gebruikersnaam: + + + + Password: + Wagwoord: + + + + Proxy Server (Optional) + Tussenganger Bediener (Opsioneel) + + + + License Details + Lisensie Besonderhede + + + + Set up the Bible's license details. + Stel hierdie Bybel se lisensie besonderhede op. + + + + Version name: + + + + + Copyright: + Kopiereg: + + + + Permission: + Toestemming: + + + + Importing + Invoer + + + + Please wait while your Bible is imported. + Wag asseblief terwyl u Bybel ingevoer word. + + + + Ready. + Gereed. + + + + Invalid Bible Location + Ongeldige Bybel Ligging + + + + You need to specify a file to import your Bible from. + + + + + Invalid Books File + Ongeldige Boeke Lêer + + + + You need to specify a file with books of the Bible to use in the import. + + + + + Invalid Verse File + Ongeldige Vers Lêer + + + + You need to specify a file of Bible verses to import. + + + + + Invalid OpenSong Bible + Ongeldige OpenSong Bybel + + + + You need to specify an OpenSong Bible file to import. + + + + + Empty Version Name + Weergawe Naam is Leeg + + + + You need to specify a version name for your Bible. + + + + + Empty Copyright + Leë Kopiereg + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + Stel Kopiereg op vir die spesifieke Bybel! Bybels in die Publieke Omgewing moet so gemerk word. + + + + Bible Exists + Bybel Bestaan + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + Dié Bybel bestaan reeds! Voer asseblief 'n ander Bybel in of wis die eerste een uit. + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open Verses CSV File + + + + + Open OpenSong Bible + Maak OpenSong Bybel Oop + + + + Starting import... + Invoer begin... + + + + Finished import. + Invoer voltooi. + + + + Your Bible import failed. + U Bybel invoer het misluk. + + + + BiblesPlugin.MediaItem + + + Bible + Bybel + + + + Quick + Vinnig + + + + Advanced + Gevorderd + + + + Version: + Weergawe: + + + + Dual: + Dubbel: + + + + Search type: + + + + + Find: + Vind: + + + + Search + Soek + + + + Results: + &Resultate: + + + + Book: + Boek: + + + + Chapter: + Hoofstuk: + + + + Verse: + Vers: + + + + From: + Vanaf: + + + + To: + Aan: + + + + Verse Search + Soek Vers + + + + Text Search + Teks Soektog + + + + Clear + + + + + Keep + Behou + + + + No Book Found + Geeb Boek Gevind nie + + + + No matching book could be found in this Bible. + Geen bypassende boek kon in dié Bybel gevind word nie. + + + + etc + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + Invoer + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + + + + + CustomPlugin.CustomTab + + + Custom + + + + + Custom Display + Aangepasde Vertoning + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Redigeer Aangepaste Skyfies + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add New + Voeg Nuwe By + + + + Add a new slide at bottom. + + + + + Edit + Redigeer + + + + Edit the selected slide. + + + + + Edit All + Redigeer Alles + + + + Edit all the slides at once. + + + + + Save + Stoor + + + + Save the slide currently being edited. + + + + + Delete + + + + + Delete the selected slide. + + + + + Clear + + + + + Clear edit area + Maak skoon die redigeer area + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + Stoor && Voorskou + + + + Error + Fout + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + Beelde + + + + Image Settings + Beeld Verstellings + + + + sec + sec + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + Beeld + + + + Select Image(s) + Selekteer beeld(e) + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + Beeld(e) + + + + You must select an item to process. + + + + + MediaManagerItem + + + You must select one or more items + P moet meer as een item selekteer + + + + Delete the selected item + Wis geselekteerde item uit + + + + &Add to Service + &Voeg by Diens + + + + Send the selected item live + Stuur die geselekteerde item na regstreekse vertoning + + + + Add the selected item(s) to the service + Voeg die geselekteerde item(s) by die diens + + + + &Show Live + &Vertoon Regstreeks + + + + Preview the selected item + Voorskou die geselekteerde item + + + + No Items Selected + + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <b>Media Inprop</b><br/>Hierdie inprop verskaf die vermoë om audio of video media te speel + + + + MediaPlugin.MediaItem + + + Media + Media + + + + Select Media + Selekteer Media + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + About OpenLP Aangaande OpenLP - + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -19,12 +1108,12 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + About Aangaande - + Project Lead Raoul "superfly" Snyman @@ -57,12 +1146,12 @@ Packagers - + Credits Krediete - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -197,17 +1286,17 @@ This General Public License does not permit incorporating your program into prop - + License Lisensie - + Contribute Dra By - + Close Maak toe @@ -218,1348 +1307,471 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - W&aarskuwing - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Waarskuwing Inprop</b><br/>Hierdie inprop beheer die vertoning van waarskuwings op die aanbieding skerm - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - Waarskuwing Boodskap - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - &Nuwe - - - - &Save - &Stoor - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - Waarskuwings - - - - Font - Skrif - - - - Font Name: - Skrif Naam: - - - - Font Color: - - - - - Background Color: - Agtergrond Kleur: - - - - Font Size: - Skrif Grootte: - - - - pt - pt - - - - Alert timeout: - Waarskuwing tydgrens: - - - - s - s - - - - Location: - Ligging: - - - - Preview - Voorskou - - - - openlp.org - openlp.org - - - - Top - - - - - Middle - Middel - - - - Bottom - Onder - - - - AmendThemeForm - - - Theme Maintenance - Tema Onderhoud - - - - &Visibility: - - - - - Opaque - Deursigtigheid - - - - Transparent - Deursigtig - - - - Type: - Tipe: - - - - Solid Color - Soliede Kleur - - - - Gradient - Gradiënt - - - - Image - Beeld - - - - Image: - Beeld: - - - - Gradient: - - - - - Horizontal - Horisontaal - - - - Vertical - Vertikaal - - - - Circular - Sirkelvormig - - - - &Background - - - - - Main Font - Hoof Skrif - - - - Font: - Skrif: - - - - Color: - - - - - Size: - Grootte: - - - - pt - pt - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Normal - Normaal - - - - Bold - Vetgedruk - - - - Italics - Kursief - - - - Bold/Italics - Bold/Italics - - - - Style: - - - - - Display Location - Vertoon Ligging - - - - X position: - - - - - Y position: - - - - - Width: - Wydte: - - - - Height: - Hoogte: - - - - px - px - - - - &Main Font - - - - - Footer Font - Voetnota Skriftipe - - - - &Footer Font - - - - - Outline - Buitelyn - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow - Skaduwee - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Alignment - Belyning - - - - Horizontal align: - - - - - Left - Links - - - - Right - Regs - - - - Center - Middel - - - - Vertical align: - - - - - Top - - - - - Middle - Middel - - - - Bottom - Onder - - - - Slide Transition - Skyfie Verandering - - - - &Other Options - - - - - Preview - Voorskou - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bybel Miniprogram</strong><br/>Dié miniprogram laat toe dat Bybel verse van verskillende bronne op die skerm vertoon kan word gedurende die diens. - - - - &Bible - &Bybel - - - - BiblesPlugin.BiblesTab - - - Verse Display - Vers Vertoning - - - - Only show new chapter numbers - Vertoon net nuwe hoofstuk nommers - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - Bybels - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - Bybel Invoer Gids - - - - Welcome to the Bible Import Wizard - Welkom by die Bybel Invoer Gids - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - Hierdie gids sal u help om Bybels van 'n verskeidenheid vormate in te voer. Kliek die volgende knoppie hieronder om die proses te begin en 'n formaat te kies om in te voer. - - - - Select Import Source - Selekteer Invoer Bron - - - - Select the import format, and where to import from. - Selekteer die invoer formaat en van waar af om in te voer. - - - - Format: - Formaat: - - - - OSIS - OSIS - - - - CSV - KGW - - - - OpenSong - OpenSong - - - - Web Download - Web Aflaai - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - Ligging: - - - - Crosswalk - Cosswalk - - - - BibleGateway - BibleGateway - - - - Bible: - Bybel: - - - - Download Options - Aflaai Opsies - - - - Server: - Bediener: - - - - Username: - Gebruikersnaam: - - - - Password: - Wagwoord: - - - - Proxy Server (Optional) - Tussenganger Bediener (Opsioneel) - - - - License Details - Lisensie Besonderhede - - - - Set up the Bible's license details. - Stel hierdie Bybel se lisensie besonderhede op. - - - - Version name: - - - - - Copyright: - Kopiereg: - - - - Permission: - Toestemming: - - - - Importing - Invoer - - - - Please wait while your Bible is imported. - Wag asseblief terwyl u Bybel ingevoer word. - - - - Ready. - Gereed. - - - - Invalid Bible Location - Ongeldige Bybel Ligging - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - Ongeldige Boeke Lêer - - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Verse File - Ongeldige Vers Lêer - - - - You need to specify a file of Bible verses to import. - - - - - Invalid OpenSong Bible - Ongeldige OpenSong Bybel - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - Weergawe Naam is Leeg - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - Leë Kopiereg - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - Stel Kopiereg op vir die spesifieke Bybel! Bybels in die Publieke Omgewing moet so gemerk word. - - - - Bible Exists - Bybel Bestaan - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - Dié Bybel bestaan reeds! Voer asseblief 'n ander Bybel in of wis die eerste een uit. - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - Maak OpenSong Bybel Oop - - - - Starting import... - Invoer begin... - - - - Finished import. - Invoer voltooi. - - - - Your Bible import failed. - U Bybel invoer het misluk. - - - - BiblesPlugin.MediaItem - - - Bible - Bybel - - - - Quick - Vinnig - - - + Advanced Gevorderd - - Version: - Weergawe: - - - - Dual: - Dubbel: - - - - Search type: + + UI Settings - - Find: - Vind: - - - - Search - Soek - - - - Results: - &Resultate: - - - - Book: - Boek: - - - - Chapter: - Hoofstuk: - - - - Verse: - Vers: - - - - From: - Vanaf: - - - - To: - Aan: - - - - Verse Search - Soek Vers - - - - Text Search - Teks Soektog - - - - Clear + + Number of recent files to display: - - Keep - Behou - - - - No Book Found - Geeb Boek Gevind nie - - - - No matching book could be found in this Bible. - Geen bypassende boek kon in dié Bybel gevind word nie. - - - - etc + + Save currently selected media manager plugin - - Bible not fully loaded. + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - Invoer + + Theme Maintenance + Tema Onderhoud - - - CustomPlugin - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomPlugin.CustomTab - - - Custom + + Theme &name: - - Custom Display - Aangepasde Vertoning - - - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides - Redigeer Aangepaste Skyfies - - - - Move slide up once position. + + &Visibility: - - Move slide down one position. - + + Opaque + Deursigtigheid - - &Title: - + + Transparent + Deursigtig - - Add New - Voeg Nuwe By + + Type: + Tipe: - - Add a new slide at bottom. - + + Solid Color + Soliede Kleur - - Edit - Redigeer + + Gradient + Gradiënt - - Edit the selected slide. - - - - - Edit All - Redigeer Alles - - - - Edit all the slides at once. - - - - - Save - Stoor - - - - Save the slide currently being edited. - - - - - Delete - - - - - Delete the selected slide. - - - - - Clear - - - - - Clear edit area - Maak skoon die redigeer area - - - - Split Slide - - - - - Split a slide into two by inserting a slide splitter. - - - - - The&me: - - - - - &Credits: - - - - - Save && Preview - Stoor && Voorskou - - - - Error - Fout - - - - You need to type in a title. - - - - - You need to add at least one slide - - - - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom - - - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays - - - - - Default Settings - - - - - X: - - - - - Y: - - - - - Height: - Hoogte: - - - - Width: - Wydte: - - - - Custom Settings - - - - - Width - - - - - Override display settings - - - - - GeneralTab - - - CCLI Details - CCLI Inligting - - - - primary - primêre - - - - Show blank screen warning - Vertoon leë skerm waarskuwing - - - - Application Startup - Program Aanskakel - - - - Select monitor for output display: - Selekteer monitor vir uitgaande vertoning: - - - - Application Settings - Program Verstellings - - - - SongSelect Username: - SongSelect Gebruikers naam: - - - - CCLI Number: - CCLI Nommer: - - - - Automatically open the last service - Maak vanself die laaste diens oop - - - - Preview Next Song from Service Manager - Sien Voorskou van Volgende Lied vanaf Diens Bestuurder - - - - Prompt to save Service before starting New - Bevestig om Diens te stoor voor 'n Nuwe een begin word - - - - General - Algemeen - - - - Show the splash screen - Wys die spatsel skerm - - - - Screen - Skerm - - - - Monitors - Monitors - - - - SongSelect Password: - SongSelect Wagwoord: - - - - Display if a single screen - - - - - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - Beelde - - - - Image Settings - Beeld Verstellings - - - - Slide Loop Delay: - Skyfie Lus Vertraging: - - - - sec - sec - - - - ImagePlugin.MediaItem - - + Image Beeld - - Select Image(s) - Selekteer beeld(e) + + Image: + Beeld: - + + Gradient: + + + + + Horizontal + Horisontaal + + + + Vertical + Vertikaal + + + + Circular + Sirkelvormig + + + + &Background + + + + + Main Font + Hoof Skrif + + + + Font: + Skrif: + + + + Color: + + + + + Size: + Grootte: + + + + pt + pt + + + + Wrap indentation: + + + + + Adjust line spacing: + + + + + Normal + Normaal + + + + Bold + Vetgedruk + + + + Italics + Kursief + + + + Bold/Italics + Bold/Italics + + + + Style: + + + + + Display Location + Vertoon Ligging + + + + Use default location + + + + + X position: + + + + + Y position: + + + + + Width: + Wydte: + + + + Height: + Hoogte: + + + + px + px + + + + &Main Font + + + + + Footer Font + Voetnota Skriftipe + + + + &Footer Font + + + + + Outline + Buitelyn + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + Skaduwee + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + Belyning + + + + Horizontal align: + + + + + Left + Links + + + + Right + Regs + + + + Center + Middel + + + + Vertical align: + + + + + Top + + + + + Middle + Middel + + + + Bottom + Onder + + + + Slide Transition + Skyfie Verandering + + + + Transition active + + + + + &Other Options + + + + + Preview + Voorskou + + + All Files - - Replace Live Background + + Select Image - - You must select an item to delete. + + First color: - - Image(s) - Beeld(e) + + Second color: + - - You must select an item to process. + + Slide height is %s rows. - LanguageManager + OpenLP.GeneralTab + + + Select monitor for output display: + Selekteer monitor vir uitgaande vertoning: + + + + Display if a single screen + + + + + Application Startup + Program Aanskakel + + + + Show blank screen warning + Vertoon leë skerm waarskuwing + + + + Automatically open the last service + Maak vanself die laaste diens oop + + + + Show the splash screen + Wys die spatsel skerm + + + + Application Settings + Program Verstellings + + + + Prompt to save Service before starting New + Bevestig om Diens te stoor voor 'n Nuwe een begin word + + + + Preview Next Song from Service Manager + Sien Voorskou van Volgende Lied vanaf Diens Bestuurder + + + + SongSelect Username: + SongSelect Gebruikers naam: + + + + SongSelect Password: + SongSelect Wagwoord: + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + + + + General + Algemeen + + + + Monitors + Monitors + + + + Screen + Skerm + + + + primary + primêre + + + + CCLI Details + CCLI Inligting + + + + CCLI Number: + CCLI Nommer: + + + + OpenLP.LanguageManager Language @@ -1567,42 +1779,22 @@ Changes do not affect verses already in the service. - After restart new Language settings will be used. + Please restart OpenLP to use your new language setting. - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - Die Hoof Skerm is blanko - - - - OpenLP Version Updated - OpenLP Weergawe is Opdateer - - - - Save Changes to Service? - Stoor Veranderinge na die Diens? - - - - OpenLP Main Display Blanked - OpenLP Hoof Vertoning Blanko + + English + Engels OpenLP 2.0 OpenLP 2.0 - - - English - Engels - &File @@ -1639,7 +1831,7 @@ Changes do not affect verses already in the service. Ver&stellings - + &Language Taa&l @@ -1674,515 +1866,338 @@ Changes do not affect verses already in the service. Nuwe Diens - + Create a new service. - + Ctrl+N Ctrl+N - + &Open Maak &Oop - + Open Service Maak Diens Oop - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Stoor - + Save Service Stoor Diens - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... Stoor &As... - + Save Service As Stoor Diens As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Uitgang - + Quit OpenLP Sluit OpenLP Af - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager &Media Bestuurder - + Toggle Media Manager Wissel Media Bestuurder - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Tema Bestuurder - + Toggle Theme Manager Wissel Tema Bestuurder - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Diens Bestuurder - + Toggle Service Manager Wissel Diens Bestuurder - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Voorskou Paneel - + Toggle Preview Panel Wissel Voorskou Paneel - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List In&prop Lys - + List the Plugins Lys die Inproppe - + Alt+F7 Alt+F7 - + &User Guide &Gebruikers Gids - + &About &Aangaande - + More information about OpenLP Meer inligting aangaande OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Aanlyn Hulp - + &Web Site &Web Tuiste - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Regstreeks - + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + OpenLP Weergawe is Opdateer + + + + OpenLP Main Display Blanked + OpenLP Hoof Vertoning Blanko + + + + The Main Display has been blanked out + Die Hoof Skerm is blanko + + + + Save Changes to Service? + + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - You must select one or more items - P moet meer as een item selekteer - - - - Delete the selected item - Wis geselekteerde item uit - - - - &Add to Service - &Voeg by Diens - - - - Send the selected item live - Stuur die geselekteerde item na regstreekse vertoning - - - - Add the selected item(s) to the service - Voeg die geselekteerde item(s) by die diens - - - - &Show Live - &Vertoon Regstreeks - - - - Preview the selected item - Voorskou die geselekteerde item - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Media Inprop</b><br/>Hierdie inprop verskaf die vermoë om audio of video media te speel - - - - MediaPlugin.MediaItem - - - Media - Media - - - - Select Media - Selekteer Media - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2244,7 +2259,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2252,37 +2267,47 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation Aanbieding - + Select Presentation(s) Selekteer Aanbieding(e) - + Automatic - + Present using: Bied aan met: - + File exists Lêer bestaan - + A presentation with that filename already exists. 'n Voorstelling met daardie lêernaam bestaan reeds. - + + Unsupported file + + + + + This type of presentation is not supported + + + + You must select an item to delete. @@ -2290,17 +2315,17 @@ You can download the latest version from http://openlp.org PresentationPlugin.PresentationTab - + Presentations Aanbiedinge - + Available Controllers Beskikbare Beheerders - + available beskikbaar @@ -2352,178 +2377,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Changes to Service? Stoor Veranderinge aan Diens? - + Open Service Maak Diens Oop - + Move to top Skuif na bo - + Create a new service Skep 'n nuwe diens - + Save this service Stoor hierdie diens - + Theme: Tema: - + Delete From Service Verwyder Van Diens - + &Change Item Theme &Verander Item Tema - + Save Service Stoor Diens - + &Live Verse &Lewendige Vers - + New Service Nuwe Diens - + &Notes &Notas - + Move to end Verskuif na einde - + Select a theme for the service Selekteer 'n tema vir die diens - + Move up order Verskuif orde op - + Move down order Verskuif orde af - + Load an existing service Laai 'n bestaande diens - + &Preview Verse Vers V&oorsig - + &Edit Item R&edigeer Item - + Move to &top - + Move &up - + Move &down - + Move to &bottom - + &Delete From Service - + &Add New Item - + &Add to Selected Item - + &Maintain Item - + Your service is unsaved, do you want to save those changes before creating a new one? - + OpenLP Service Files (*.osz) - + Your current service is unsaved, do you want to save the changes before opening a new one? - + Error Fout - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it @@ -2539,9 +2564,9 @@ The content encoding is not UTF-8. SettingsForm - - Settings - Verstellings + + Configure OpenLP + @@ -2552,12 +2577,12 @@ The content encoding is not UTF-8. Beweeg na vorige - + Go to Verse Gaan na Vers - + Start continuous loop Begin aaneenlopende lus @@ -2567,12 +2592,12 @@ The content encoding is not UTF-8. Regstreeks - + Start playing media Begin media speel - + Move to live Verskuif na regstreekse skerm @@ -2587,12 +2612,12 @@ The content encoding is not UTF-8. Verskuif na laaste posisie - + Edit and re-preview Song Redigeer en sien weer 'n voorskou van die Lied - + Delay between slides in seconds Vertraging in sekondes tussen skyfies @@ -2607,12 +2632,12 @@ The content encoding is not UTF-8. Verskuif na eerste - + Stop continuous loop Stop deurlopende lus - + s s @@ -2668,58 +2693,78 @@ The content encoding is not UTF-8. SongsPlugin - + &Song &Lied - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + + Open OpenSong file + + + + + Error importing OpenSong file + + + + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2735,22 +2780,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction - + Select Date Range - + to aan - + Report Location Rapporteer Ligging @@ -2794,139 +2839,139 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? - U het nie 'n vertoon naam vir die skrywer gegee nie, moet ek die voornaam en van kombineer? + You have not set a display name for the author, would you like me to combine the first and last names for you? + SongsPlugin.EditSongForm - + Song Editor Lied Redigeerder - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit R&edigeer - + Ed&it All - + &Delete - + Title && Lyrics Titel && Lirieke - + Authors Skrywers - + &Add to Song &Voeg by Lied - + &Remove &Verwyder - - &Manage Authors, Topics, Books - &Bestuur Skrywers, Onderwerpe en Boeke + + &Manage Authors, Topics, Song Books + - + Topic Onderwerp - + A&dd to Song Voeg by Lie&d - + R&emove V&erwyder - + Song Book Lied Boek - - Authors, Topics && Book - Skrywer, Onderwerpe && Boek + + Authors, Topics && Song Book + - + Theme Tema - + New &Theme - + Copyright Information Kopiereg Informasie - + © - + CCLI Number: CCLI Nommer: - + Comments Kommentaar - + Theme, Copyright Info && Comments Tema, Kopiereg Informasie && Kommentaar @@ -3024,17 +3069,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.EditVerseForm - + Edit Verse Redigeer Vers - + &Verse type: - + &Insert @@ -3082,97 +3127,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Starting import... Invoer begin... - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source Selekteer Invoer Bron - + Select the import format, and where to import from. Selekteer die invoer formaat en van waar af om in te voer. - + Format: Formaat: - + OpenLyrics - + OpenSong OpenSong - + CCLI - + CSV KGW - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing Invoer - + Please wait while your songs are imported. - + Ready. Gereed. - + %p% @@ -3180,87 +3225,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song Lied - + Song Maintenance Lied Onderhoud - + Maintain the lists of authors, topics and books Handhaaf die lys van skrywers, onderwerpe en boeke - + Search: Soek: - + Type: Tipe: - + Clear - + Search Soek - + Titles Titels - + Lyrics - + Authors Skrywers - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? - + Delete Confirmation - + CCLI Licence: CCLI Lisensie: @@ -3269,8 +3314,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - Edit Book - Redigeer Boek + Song Book Maintenance + @@ -3325,8 +3370,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Books/Hymnals - Boeke/Liedboeke + Song Books + @@ -3344,95 +3389,115 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Fout - - Couldn't add your author. + + Could not add your author. - - Couldn't add your topic. + + This author already exists. - - Couldn't add your book. + + Could not add your topic. - - Couldn't save your author. + + This topic already exists. - - Couldn't save your topic. + + Could not add your book. - - Couldn't save your book. + + This book already exists. - + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + Delete Author Wis Skrywer Uit - + Are you sure you want to delete the selected author? Is u seker u wil die geselekteerde skrywer uitwis? - - This author can't be deleted, they are currently assigned to at least one song. + + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Geen skrywer geselekteer nie! - + Delete Topic Wis Onderwerp Uit - + Are you sure you want to delete the selected topic? Is u seker u wil die geselekteerde onderwerp uitwis? - - This topic can't be deleted, it is currently assigned to at least one song. + + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! Geen onderwerp geselekteer nie! - + Delete Book Wis Boek Uit - + Are you sure you want to delete the selected book? Is jy seker jy wil die geselekteerde boek uitwis? - - This book can't be deleted, it is currently assigned to at least one song. + + This book cannot be deleted, it is currently assigned to at least one song. + + + No book selected! + Geen boek geselekteer nie! + SongsPlugin.SongUsageDeleteForm @@ -3517,169 +3582,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme Tema Invoer - + Delete Theme Wis Tema Uit - + Error Fout - + Edit Theme Wysig Tema - + Export Theme Voer Tema Uit - + Theme Exists Tema Bestaan - + Save Theme - (%s) Stoor Tema - (%s) - + Select Theme Import File Kies Tema Invoer Lêer - + New Theme Nuwe Tema - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - - You are unable to delete the default theme. + + Delete Confirmation - - Theme %s is use in %s plugin. + + Delete theme? + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + Theme %s is use by the service manager. - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - - A theme with this name already exists. Would you like to overwrite it? + + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_de.ts b/resources/i18n/openlp_de.ts index 9fd349bf8..60aff291d 100644 --- a/resources/i18n/openlp_de.ts +++ b/resources/i18n/openlp_de.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - + + &Alert + &Hinweis + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <b>Hinweis-Plugin</b><br>Dieses Plugin ermöglicht Hinweise auf dem Projektionsbildschirm anzuzeigen + + + + Show an alert message. + + + + + AlertsPlugin.AlertForm + + + Alert Message + Hinweis + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + &Neu + + + + &Save + &Speichern + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + Hinweise + + + + Font + Schrift + + + + pt + pt + + + + Alert timeout: + Anzeigedauer: + + + + s + s + + + + Location: + + + + + Preview + Vorschau + + + + Top + Oben + + + + Bottom + Unten + + + + Middle + Mittig + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + OpenLP 2.0 + + + + BiblesPlugin + + + &Bible + &Bibel + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bibel-Plugin</strong><br />Mit diesem Plugin können Sie Bibeltexte aus verschiedenen Quellen während des Gottesdienstes anzeigen lassen. + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + Bibeln + + + + Verse Display + Bibelstellenanzeige + + + + Only show new chapter numbers + Zeige nur neue Kapitelnummern + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + Bibel Import Assistent + + + + Welcome to the Bible Import Wizard + Willkommen beim Bibel Import Assistenten + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + Dieser Assistent hilft ihnen beim Importieren von Bibeln aus verschiedenen Formaten. Klicken Sie auf Weiter, um den Assistenten zu starten. + + + + Select Import Source + Importquelle auswählen + + + + Select the import format, and where to import from. + Wähle das Import Format und woher der Import erfolgen soll. + + + + Format: + Format: + + + + OSIS + OSIS + + + + CSV + CSV + + + + OpenSong + OpenSong + + + + Web Download + Internetdownload + + + + Location: + + + + + Crosswalk + Crosswalk + + + + BibleGateway + BibleGateway + + + + Bible: + Bibel: + + + + Download Options + Download Optionen + + + + Server: + Server: + + + + Username: + Benutzername: + + + + Password: + Passwort: + + + + Proxy Server (Optional) + Proxy-Server (optional) + + + + License Details + Lizenz-Details + + + + Set up the Bible's license details. + Die Lizenzinformationen der Bibelübersetzung angeben. + + + + Copyright: + Copyright: + + + + Permission: + Berechtigung: + + + + Importing + + + + + Please wait while your Bible is imported. + Bitte warten Sie während Ihre Bibel importiert wird. + + + + Ready. + Fertig. + + + + Invalid Bible Location + Ungültige Bibelstelle + + + + You need to specify a file to import your Bible from. + + + + + Invalid Books File + Ungültige Bücherdatei + + + + You need to specify a file with books of the Bible to use in the import. + + + + + Invalid Verse File + Ungültige Liedtext Datei + + + + You need to specify a file of Bible verses to import. + + + + + Invalid OpenSong Bible + Ungültige OpenSong-Bibel + + + + You need to specify an OpenSong Bible file to import. + + + + + Empty Version Name + Leerer Übersetzungsname + + + + You need to specify a version name for your Bible. + + + + + Empty Copyright + Das Copyright wurde nicht angegeben + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + Sie müssen das Copyright der Bibel angeben. Bei Bibeln, die keinem Copyright mehr unterlegen, geben Sie bitte "Public Domain" ein. + + + + Bible Exists + Diese Bibelübersetzung ist bereits vorhanden + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + Diese Bibel ist bereits vorhanden! Bitte importieren Sie eine andere Bibel oder löschen Sie die bereits vorhandene. + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open Verses CSV File + + + + + Open OpenSong Bible + Öffne OpenSong-Bibel + + + + Starting import... + Starte import ... + + + + Finished import. + Importvorgang abgeschlossen. + + + + Your Bible import failed. + Der Bibelimportvorgang ist fehlgeschlagen. + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Version name: + + + + + BiblesPlugin.MediaItem + + + Bible + Bibel + + + + Quick + Schnellsuche + + + + Advanced + Erweitert + + + + Version: + Version: + + + + Dual: + Parallel: + + + + Find: + Suchen: + + + + Search + Suche + + + + Results: + Ergebnisse: + + + + Book: + Buch: + + + + Chapter: + Kapitel: + + + + Verse: + Vers: + + + + From: + Von: + + + + To: + Bis: + + + + Verse Search + Stelle suchen + + + + Text Search + Textsuche + + + + Clear + + + + + Keep + Behalten + + + + No Book Found + Kein Buch gefunden + + + + No matching book could be found in this Bible. + Das Buch wurde in dieser Bibelausgabe nicht gefunden. + + + + etc + + + + + Search type: + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + + + + + CustomPlugin.CustomTab + + + Custom + Sonderfolien + + + + Custom Display + Sonderfolie Anzeige + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Sonderfolien bearbeiten + + + + &Title: + + + + + Add New + Neues anfügen + + + + Edit + Bearbeiten + + + + Edit All + + + + + Save + Speichern + + + + Delete + Löschen + + + + Clear + + + + + Clear edit area + Aufräumen des Bearbeiten Bereiches + + + + Split Slide + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + Speichern && Vorschau + + + + Error + Fehler + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + Add a new slide at bottom. + + + + + Edit the selected slide. + + + + + Edit all the slides at once. + + + + + Save the slide currently being edited. + + + + + Delete the selected slide. + + + + + Split a slide into two by inserting a slide splitter. + + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + Sonderfolien + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + Bilder + + + + Image Settings + Bildeinstellungen + + + + sec + sek + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + Bild + + + + Select Image(s) + Bild(er) auswählen + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + Bild(er) + + + + You must select an item to process. + + + + + MediaManagerItem + + + You must select one or more items + Sie müssen mindestens ein Element markieren + + + + Delete the selected item + Markiertes Element löschen + + + + &Add to Service + &Zum Ablauf hinzufügen + + + + Send the selected item live + Ausgewähltes Element Live anzeigen + + + + Add the selected item(s) to the service + Füge Element(e) zum Ablauf hinzu + + + + &Show Live + &Zeige Live + + + + Preview the selected item + Zeige das auswählte Element in der Vorschau an + + + + No Items Selected + + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <b>Medien Plugin</b><br>Dieses Plugin ermöglicht das Abspielen von Audio und Video Material + + + + MediaPlugin.MediaItem + + + Media + Medien + + + + Select Media + Medien auswählen + + + + You must select an item to delete. + + + + + Replace Live Background + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + About OpenLP Über OpenLP - + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -19,12 +1108,12 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + About Über - + Project Lead Raoul "superfly" Snyman @@ -57,12 +1146,12 @@ Packagers - + Credits Credits - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -197,17 +1286,17 @@ This General Public License does not permit incorporating your program into prop - + License Lizenz - + Contribute Mitwirken - + Close Schließen @@ -218,1348 +1307,471 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - &Hinweis + + Advanced + - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Hinweis-Plugin</b><br>Dieses Plugin ermöglicht Hinweise auf dem Projektionsbildschirm anzuzeigen + + UI Settings + - - Show an alert message. + + Number of recent files to display: + + + + + Save currently selected media manager plugin + + + + + Double-click to send items straight to live (requires restart) - AlertsPlugin.AlertForm + OpenLP.AmendThemeForm - - Alert Message - Hinweis - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - &Neu - - - - &Save - &Speichern - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - Hinweise - - - - Font - Schrift - - - - Font Name: - Schriftart: - - - - Font Color: - Schriftfarbe: - - - - Background Color: - Hintergrundfarbe: - - - - Font Size: - Schriftgröße: - - - - pt - pt - - - - Alert timeout: - Anzeigedauer: - - - - s - s - - - - Location: - - - - - Preview - Vorschau - - - - openlp.org - openlp.org - - - - Top - Oben - - - - Middle - Mittig - - - - Bottom - Unten - - - - AmendThemeForm - - + Theme Maintenance Designverwaltung - - &Visibility: - - - - - Opaque - Fest - - - - Transparent - Durchsichtig - - - - Type: - Art: - - - - Solid Color - Füllfarbe - - - - Gradient - Farbverlauf - - - - Image - Bild - - - - Image: - Bild: - - - - Gradient: - - - - - Horizontal - Horizontal - - - - Vertical - Vertikal - - - - Circular - Radial - - - - &Background - - - - - Main Font - Hauptschriftart - - - - Font: - Schriftart: - - - - Color: - - - - - Size: - Größe: - - - - pt - pt - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Normal - Normal - - - - Bold - Fett - - - - Italics - Kursiv - - - - Bold/Italics - Fett/Kursiv - - - - Style: - - - - - Display Location - Anzeige Ort - - - - X position: - - - - - Y position: - - - - - Width: - Breite: - - - - Height: - Höhe: - - - - px - px - - - - &Main Font - - - - - Footer Font - Schriftart der Fußzeile - - - - &Footer Font - - - - - Outline - Rand - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow - Schatten - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Alignment - Ausrichtung - - - - Horizontal align: - - - - - Left - Links - - - - Right - Rechts - - - - Center - Mitte - - - - Vertical align: - - - - - Top - Oben - - - - Middle - Mittig - - - - Bottom - Unten - - - - Slide Transition - Folienübergang - - - - &Other Options - - - - - Preview - Vorschau - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - + Theme &name: - - Use default location + + &Visibility: - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bibel-Plugin</strong><br />Mit diesem Plugin können Sie Bibeltexte aus verschiedenen Quellen während des Gottesdienstes anzeigen lassen. - - - - &Bible - &Bibel - - - - BiblesPlugin.BiblesTab - - - Verse Display - Bibelstellenanzeige - - - - Only show new chapter numbers - Zeige nur neue Kapitelnummern - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - Bibeln - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - Bibel Import Assistent - - - - Welcome to the Bible Import Wizard - Willkommen beim Bibel Import Assistenten - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - Dieser Assistent hilft ihnen beim Importieren von Bibeln aus verschiedenen Formaten. Klicken Sie auf Weiter, um den Assistenten zu starten. - - - - Select Import Source - Importquelle auswählen - - - - Select the import format, and where to import from. - Wähle das Import Format und woher der Import erfolgen soll. - - - - Format: - Format: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - - Web Download - Internetdownload - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - - - - - Crosswalk - Crosswalk - - - - BibleGateway - BibleGateway - - - - Bible: - Bibel: - - - - Download Options - Download Optionen - - - - Server: - Server: - - - - Username: - Benutzername: - - - - Password: - Passwort: - - - - Proxy Server (Optional) - Proxy-Server (optional) - - - - License Details - Lizenz-Details - - - - Set up the Bible's license details. - Die Lizenzinformationen der Bibelübersetzung angeben. - - - - Version name: - - - - - Copyright: - Copyright: - - - - Permission: - Berechtigung: - - - - Importing - - - - - Please wait while your Bible is imported. - Bitte warten Sie während Ihre Bibel importiert wird. - - - - Ready. - Fertig. - - - - Invalid Bible Location - Ungültige Bibelstelle - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - Ungültige Bücherdatei - - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Verse File - Ungültige Liedtext Datei - - - - You need to specify a file of Bible verses to import. - - - - - Invalid OpenSong Bible - Ungültige OpenSong-Bibel - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - Leerer Übersetzungsname - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - Das Copyright wurde nicht angegeben - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - Sie müssen das Copyright der Bibel angeben. Bei Bibeln, die keinem Copyright mehr unterlegen, geben Sie bitte "Public Domain" ein. - - - - Bible Exists - Diese Bibelübersetzung ist bereits vorhanden - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - Diese Bibel ist bereits vorhanden! Bitte importieren Sie eine andere Bibel oder löschen Sie die bereits vorhandene. - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - Öffne OpenSong-Bibel - - - - Starting import... - Starte import ... - - - - Finished import. - Importvorgang abgeschlossen. - - - - Your Bible import failed. - Der Bibelimportvorgang ist fehlgeschlagen. - - - - BiblesPlugin.MediaItem - - - Bible - Bibel - - - - Quick - Schnellsuche - - - - Advanced - Erweitert - - - - Version: - Version: - - - - Dual: - Parallel: - - - - Search type: - - - - - Find: - Suchen: - - - - Search - Suche - - - - Results: - Ergebnisse: - - - - Book: - Buch: - - - - Chapter: - Kapitel: - - - - Verse: - Vers: - - - - From: - Von: - - - - To: - Bis: - - - - Verse Search - Stelle suchen - - - - Text Search - Textsuche - - - - Clear - - - - - Keep - Behalten - - - - No Book Found - Kein Buch gefunden - - - - No matching book could be found in this Bible. - Das Buch wurde in dieser Bibelausgabe nicht gefunden. - - - - etc - - - - - Bible not fully loaded. - - - - - BiblesPlugin.Opensong - - - Importing - - - - - CustomPlugin - - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomPlugin.CustomTab - - - Custom - Sonderfolien - - - - Custom Display - Sonderfolie Anzeige - - - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides - Sonderfolien bearbeiten - - - - Move slide up once position. - - - - - Move slide down one position. - - - - - &Title: - - - - - Add New - Neues anfügen - - - - Add a new slide at bottom. - - - - - Edit - Bearbeiten - - - - Edit the selected slide. - - - - - Edit All - - - - - Edit all the slides at once. - - - - - Save - Speichern - - - - Save the slide currently being edited. - - - - - Delete - Löschen - - - - Delete the selected slide. - - - - - Clear - - - - - Clear edit area - Aufräumen des Bearbeiten Bereiches - - - - Split Slide - - - - - Split a slide into two by inserting a slide splitter. - - - - - The&me: - - - - - &Credits: - - - - - Save && Preview - Speichern && Vorschau - - - - Error - Fehler - - - - You need to type in a title. - - - - - You need to add at least one slide - - - - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom - Sonderfolien - - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays - - - - - Default Settings - - - - - X: - - - - - Y: - - - - - Height: - Höhe: - - - - Width: - Breite: - - - - Custom Settings - - - - - Width - - - - - Override display settings - - - - - GeneralTab - - - CCLI Details - CCLI-Details - - - - primary - Hauptbildschirm - - - - Show blank screen warning - Warnung anzeigen, wenn die Projektion deaktiviert wurde - - - - Application Startup - Programmstart - - - - Select monitor for output display: - Projektionsbildschirm: - - - - Application Settings - Anwendungseinstellungen - - - - SongSelect Username: - SongSelect-Benutzername: - - - - CCLI Number: - CCLI-Nummer: - - - - Automatically open the last service - Zuletzt benutzten Ablauf beim Start laden - - - - Preview Next Song from Service Manager - Vorschau des nächsten Lieds - - - - Prompt to save Service before starting New - Auffordern den Ablauf zu speichern, bevor ein neuer gestartet wird - - - - General - Allgemein - - - - Show the splash screen - Zeige den Startbildschirm - - - - Screen - Bildschirm - - - - Monitors - Monitore - - - - SongSelect Password: - SongSelect-Passwort: - - - - Display if a single screen - - - - - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - + + Opaque + Fest - - - ImagePlugin.ImageTab - - Images - Bilder + + Transparent + Durchsichtig - - Image Settings - Bildeinstellungen + + Type: + Art: - - Slide Loop Delay: - Zeitverzögerung bis zur nächsten Folie: + + Solid Color + Füllfarbe - - sec - sek + + Gradient + Farbverlauf - - - ImagePlugin.MediaItem - + Image Bild - - Select Image(s) - Bild(er) auswählen + + Image: + Bild: - + + Gradient: + + + + + Horizontal + Horizontal + + + + Vertical + Vertikal + + + + Circular + Radial + + + + &Background + + + + + Main Font + Hauptschriftart + + + + Font: + Schriftart: + + + + Color: + Farbe: + + + + Size: + Größe: + + + + pt + pt + + + + Wrap indentation: + + + + + Adjust line spacing: + + + + + Normal + Normal + + + + Bold + Fett + + + + Italics + Kursiv + + + + Bold/Italics + Fett/Kursiv + + + + Style: + + + + + Display Location + Anzeige Ort + + + + Use default location + + + + + X position: + + + + + Y position: + + + + + Width: + Breite: + + + + Height: + Höhe: + + + + px + px + + + + &Main Font + + + + + Footer Font + Schriftart der Fußzeile + + + + &Footer Font + + + + + Outline + Rand + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + Schatten + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + Ausrichtung + + + + Horizontal align: + + + + + Left + Links + + + + Right + Rechts + + + + Center + Mitte + + + + Vertical align: + + + + + Top + Oben + + + + Middle + Mittig + + + + Bottom + Unten + + + + Slide Transition + Folienübergang + + + + Transition active + + + + + &Other Options + + + + + Preview + Vorschau + + + All Files - - Replace Live Background + + Select Image - - You must select an item to delete. + + First color: - - Image(s) - Bild(er) + + Second color: + - - You must select an item to process. + + Slide height is %s rows. - LanguageManager + OpenLP.GeneralTab + + + Select monitor for output display: + Projektionsbildschirm: + + + + Display if a single screen + + + + + Application Startup + Programmstart + + + + Show blank screen warning + Warnung anzeigen, wenn die Projektion deaktiviert wurde + + + + Automatically open the last service + Zuletzt benutzten Ablauf beim Start laden + + + + Show the splash screen + Zeige den Startbildschirm + + + + Application Settings + Anwendungseinstellungen + + + + Prompt to save Service before starting New + Auffordern den Ablauf zu speichern, bevor ein neuer gestartet wird + + + + Preview Next Song from Service Manager + Vorschau des nächsten Lieds + + + + SongSelect Username: + SongSelect-Benutzername: + + + + SongSelect Password: + SongSelect-Passwort: + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + + + + General + Allgemein + + + + Monitors + Monitore + + + + Screen + Bildschirm + + + + primary + Hauptbildschirm + + + + CCLI Details + CCLI-Details + + + + CCLI Number: + CCLI-Nummer: + + + + OpenLP.LanguageManager Language @@ -1567,42 +1779,22 @@ Changes do not affect verses already in the service. - After restart new Language settings will be used. + Please restart OpenLP to use your new language setting. - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - Die Projektion ist momentan nicht aktiv - - - - OpenLP Version Updated - OpenLP-Version aktualisiert - - - - Save Changes to Service? - Änderungen am Ablauf speichern? - - - - OpenLP Main Display Blanked - Hauptbildschirm abgedunkelt + + English + Deutsch OpenLP 2.0 OpenLP 2.0 - - - English - Englisch - &File @@ -1639,7 +1831,7 @@ Changes do not affect verses already in the service. Ein&stellungen - + &Language &Sprache @@ -1674,515 +1866,338 @@ Changes do not affect verses already in the service. Neuer Ablauf - + Create a new service. - + Ctrl+N Strg+N - + &Open &Öffnen - + Open Service Öffnen Ablauf - + Open an existing service. - + Ctrl+O Strg+O - + &Save &Speichern - + Save Service Ablauf speichern - + Save the current service to disk. - + Ctrl+S Strg+S - + Save &As... Speichern &als... - + Save Service As Speicher Gottesdienst unter - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Beenden - + Quit OpenLP OpenLP beenden - + Alt+F4 Alt+F4 - + &Theme &Design - + &Configure OpenLP... - + &Media Manager &Medienmanager - + Toggle Media Manager Medienmanager ein/ausblenden - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Designmanager - + Toggle Theme Manager Designverwaltung ein/ausblenden - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager Ablauf&sverwaltung - + Toggle Service Manager Ablaufmanager ein/ausblenden - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Vorschaubereich - + Toggle Preview Panel Vorschaubereich ein/ausblenden - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Plugin-Liste - + List the Plugins Plugins auflisten - + Alt+F7 Alt+F7 - + &User Guide Ben&utzerhandbuch - + &About &Über - + More information about OpenLP Mehr Informationen über OpenLP - + Ctrl+F1 Strg+F1 - + &Online Help &Online Hilfe - + &Web Site &Webseite - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + OpenLP-Version aktualisiert + + + + OpenLP Main Display Blanked + Hauptbildschirm abgedunkelt + + + + The Main Display has been blanked out + Die Projektion ist momentan nicht aktiv + + + + Save Changes to Service? + Änderungen am Ablauf speichern? + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - You must select one or more items - Sie müssen mindestens ein Element markieren - - - - Delete the selected item - Markiertes Element löschen - - - - &Add to Service - &Zum Ablauf hinzufügen - - - - Send the selected item live - Ausgewähltes Element Live anzeigen - - - - Add the selected item(s) to the service - Füge Element(e) zum Ablauf hinzu - - - - &Show Live - &Zeige Live - - - - Preview the selected item - Zeige das auswählte Element in der Vorschau an - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Medien Plugin</b><br>Dieses Plugin ermöglicht das Abspielen von Audio und Video Material - - - - MediaPlugin.MediaItem - - - Media - Medien - - - - Select Media - Medien auswählen - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2244,7 +2259,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2252,55 +2267,65 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation Präsentation - + Select Presentation(s) Präsentation(en) auswählen - + Automatic - + Present using: Anzeigen mit: - + File exists Datei existiert bereits - + A presentation with that filename already exists. Eine Präsentation mit diesem Dateinamen existiert bereits. - + You must select an item to delete. + + + Unsupported file + + + + + This type of presentation is not supported + + PresentationPlugin.PresentationTab - + Presentations Präsentationen - + Available Controllers Verfügbare Präsentationsprogramme: - + available verfügbar @@ -2352,178 +2377,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Changes to Service? Änderungen am Ablauf speichern? - + Open Service Öffnen Ablauf - + Move to top Nach oben verschieben - + Create a new service Erstelle neuen Ablauf - + Save this service Ablauf speichern - + Theme: Design: - + Delete From Service Aus dem Ablauf entfernen - + &Change Item Theme &Design des Elements ändern - + Save Service Ablauf speichern - + &Live Verse Vers &Live zeigen - + New Service Neuer Ablauf - + &Notes &Notizen - + Move to end Zum Ende schieben - + Select a theme for the service Design für den Ablauf auswählen - + Move up order Verschiebe Reihenfolge nach oben - + Move down order Verschiebe Reihenfolge nach unten - + Load an existing service Öffne Ablauf - + &Preview Verse Vers in der &Vorschau zeigen - + &Edit Item &Bearbeite Element - + Move to &top - + Move &up - + Move &down - + Move to &bottom - + &Delete From Service - + &Add New Item - + &Add to Selected Item - + &Maintain Item - + Your service is unsaved, do you want to save those changes before creating a new one? - + OpenLP Service Files (*.osz) - + Your current service is unsaved, do you want to save the changes before opening a new one? - + Error Fehler - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it @@ -2539,9 +2564,9 @@ The content encoding is not UTF-8. SettingsForm - - Settings - Einstellungen + + Configure OpenLP + @@ -2552,12 +2577,12 @@ The content encoding is not UTF-8. Vorherige Folie anzeigen - + Go to Verse - Zum Vers springen + Springe zu - + Start continuous loop Endlosschleife starten @@ -2567,12 +2592,12 @@ The content encoding is not UTF-8. Live - + Start playing media Abspielen - + Move to live Verschieben zur Live Ansicht @@ -2587,12 +2612,12 @@ The content encoding is not UTF-8. Zur letzten Folie - + Edit and re-preview Song Lied bearbeiten und wieder anzeigen - + Delay between slides in seconds Pause zwischen den Folien in Sekunden @@ -2607,12 +2632,12 @@ The content encoding is not UTF-8. Ganz nach vorn verschieben - + Stop continuous loop Endlosschleife beenden - + s s @@ -2668,61 +2693,81 @@ The content encoding is not UTF-8. SongsPlugin - + &Song &Lied - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + + Open OpenSong file + + + + + Error importing OpenSong file + + SongsPlugin.AuditDeleteDialog @@ -2735,22 +2780,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction - + Select Date Range - + to zu - + Report Location Speicherort für die Statistiken @@ -2794,139 +2839,129 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? - Sie haben keinen Anzeigenamen für den Autor angegeben. Soll der Vor- mit dem Nachnamen kombiniert dafür verwendet werden? + You have not set a display name for the author, would you like me to combine the first and last names for you? + SongsPlugin.EditSongForm - + Song Editor Lied bearbeiten - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit &Bearbeiten - + Ed&it All - + &Delete - + Title && Lyrics Titel && Liedtext - + Authors Autoren - + &Add to Song Zum Lied &hinzufügen - + &Remove Entfe&rnen - - &Manage Authors, Topics, Books - Verwalte Autoren, Themen, Bücher - - - + Topic Thema - + A&dd to Song Zum Lied &hinzufügen - + R&emove &Entfernen - + Song Book Liederbuch - - Authors, Topics && Book - Autoren, Designs && Bücher - - - + Theme Design - + New &Theme - + Copyright Information Copyright Angaben - + © - + CCLI Number: CCLI-Nummer: - + Comments Kommentare - + Theme, Copyright Info && Comments Design, Copyrightinformationen && Kommentare @@ -3020,21 +3055,31 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + &Manage Authors, Topics, Song Books + + + + + Authors, Topics && Song Book + + SongsPlugin.EditVerseForm - + Edit Verse Bearbeite Vers - + &Verse type: - + &Insert @@ -3082,97 +3127,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Starting import... Starte import ... - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source Importquelle auswählen - + Select the import format, and where to import from. Wähle das Import Format und woher der Import erfolgen soll. - + Format: Format: - + OpenLyrics - + OpenSong OpenSong - + CCLI - + CSV CSV - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing - + Please wait while your songs are imported. - + Ready. Fertig. - + %p% @@ -3180,98 +3225,93 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song Lied - + Song Maintenance Liedverwaltung - + Maintain the lists of authors, topics and books Autoren, Designs und Bücher verwalten - + Search: Suche: - + Type: Art: - + Clear - + Search Suche - + Titles Titel - + Lyrics Liedtext - + Authors Autoren - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? - + Delete Confirmation - + CCLI Licence: CCLI-Lizenz: SongsPlugin.SongBookForm - - - Edit Book - Buch bearbeiten - &Name: @@ -3292,6 +3332,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R You need to type in a name for the book. + + + Song Book Maintenance + + SongsPlugin.SongImport @@ -3323,11 +3368,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Topics Themen - - - Books/Hymnals - Bücher/Lieder - &Add @@ -3344,93 +3384,118 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Fehler - - Couldn't add your author. - - - - - Couldn't add your topic. - - - - - Couldn't add your book. - - - - - Couldn't save your author. - - - - - Couldn't save your topic. - - - - - Couldn't save your book. - - - - + Delete Author Lösche Autor - + Are you sure you want to delete the selected author? Sind Sie sicher, dass Sie den ausgewählten Autor löschen wollen? - - This author can't be deleted, they are currently assigned to at least one song. - - - - + No author selected! Sie haben keinen Autor ausgewählt! - + Delete Topic Lösche Thema - + Are you sure you want to delete the selected topic? Soll der gewählte Eintrag wirklich gelöscht werden? - - This topic can't be deleted, it is currently assigned to at least one song. - - - - + No topic selected! Kein Thema ausgewählt! - + Delete Book Buch löschen - + Are you sure you want to delete the selected book? Sind Sie sicher, dass das markierte Buch wirklich gelöscht werden soll? - - This book can't be deleted, it is currently assigned to at least one song. + + No book selected! + Kein Buch ausgewählt! + + + + Song Books + + + + + Could not add your author. + + + + + This author already exists. + + + + + Could not add your topic. + + + + + This topic already exists. + + + + + Could not add your book. + + + + + This book already exists. + + + + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + + This author cannot be deleted, they are currently assigned to at least one song. + + + + + This topic cannot be deleted, it is currently assigned to at least one song. + + + + + This book cannot be deleted, it is currently assigned to at least one song. @@ -3517,169 +3582,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme Design importieren - + Delete Theme Design löschen - + Error Fehler - + Edit Theme Design bearbeiten - + Export Theme Design exportieren - + Theme Exists Design existiert - + Save Theme - (%s) Speichere Design - (%s) - + Select Theme Import File Wähle Datei für Design Import - + New Theme Neues Design - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - + You are unable to delete the default theme. - + Theme %s is use in %s plugin. - + Theme %s is use by the service manager. - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - - A theme with this name already exists. Would you like to overwrite it? + + Delete Confirmation + + + + + Delete theme? + + + + + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_en.ts b/resources/i18n/openlp_en.ts index 312eeedef..13d05084a 100644 --- a/resources/i18n/openlp_en.ts +++ b/resources/i18n/openlp_en.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - + + &Alert + + + + + Show an alert message. + + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + + + + + AlertsPlugin.AlertForm + + + Alert Message + + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + + + + + &Save + + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + + + + + Font + + + + + pt + + + + + Alert timeout: + + + + + s + + + + + Location: + + + + + Preview + + + + + Top + + + + + Middle + + + + + Bottom + + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + + + + + BiblesPlugin + + + &Bible + + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + + + + + Verse Display + + + + + Only show new chapter numbers + + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + + + + + Welcome to the Bible Import Wizard + + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + + + + + Select Import Source + + + + + Select the import format, and where to import from. + + + + + Format: + + + + + OSIS + + + + + CSV + + + + + OpenSong + + + + + Web Download + + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Location: + + + + + Crosswalk + + + + + BibleGateway + + + + + Bible: + + + + + Download Options + + + + + Server: + + + + + Username: + + + + + Password: + + + + + Proxy Server (Optional) + + + + + License Details + + + + + Set up the Bible's license details. + + + + + Version name: + + + + + Copyright: + + + + + Permission: + + + + + Importing + + + + + Please wait while your Bible is imported. + + + + + Ready. + + + + + Invalid Bible Location + + + + + You need to specify a file to import your Bible from. + + + + + Invalid Books File + + + + + You need to specify a file with books of the Bible to use in the import. + + + + + Invalid Verse File + + + + + You need to specify a file of Bible verses to import. + + + + + Invalid OpenSong Bible + + + + + You need to specify an OpenSong Bible file to import. + + + + + Empty Version Name + + + + + You need to specify a version name for your Bible. + + + + + Empty Copyright + + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + + + + + Bible Exists + + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open Verses CSV File + + + + + Open OpenSong Bible + + + + + Starting import... + + + + + Finished import. + + + + + Your Bible import failed. + + + + + BiblesPlugin.MediaItem + + + Bible + + + + + Quick + + + + + Advanced + + + + + Version: + + + + + Dual: + + + + + Search type: + + + + + Find: + + + + + Search + + + + + Results: + + + + + Book: + + + + + Chapter: + + + + + Verse: + + + + + From: + + + + + To: + + + + + Verse Search + + + + + Text Search + + + + + Clear + + + + + Keep + + + + + No Book Found + + + + + No matching book could be found in this Bible. + + + + + etc + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + + + + + CustomPlugin.CustomTab + + + Custom + + + + + Custom Display + + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add New + + + + + Add a new slide at bottom. + + + + + Edit + + + + + Edit the selected slide. + + + + + Edit All + + + + + Edit all the slides at once. + + + + + Save + + + + + Save the slide currently being edited. + + + + + Delete + + + + + Delete the selected slide. + + + + + Clear + + + + + Clear edit area + + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + + + + + Error + + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + + + + + Image Settings + + + + + sec + + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + + + + + Select Image(s) + + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + + + + + You must select an item to process. + + + + + MediaManagerItem + + + You must select one or more items + + + + + &Add to Service + + + + + Send the selected item live + + + + + Add the selected item(s) to the service + + + + + Delete the selected item + + + + + &Show Live + + + + + Preview the selected item + + + + + No Items Selected + + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + + + + + MediaPlugin.MediaItem + + + Media + + + + + Select Media + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + About OpenLP - + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -19,12 +1108,12 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + About - + Project Lead Raoul "superfly" Snyman @@ -57,12 +1146,12 @@ Packagers - + Credits - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -197,17 +1286,17 @@ This General Public License does not permit incorporating your program into prop - + License - + Contribute - + Close @@ -218,1348 +1307,471 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - - - - - &Save - - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - - - - - Font - - - - - Font Name: - - - - - Font Color: - - - - - Background Color: - - - - - Font Size: - - - - - pt - - - - - Alert timeout: - - - - - s - - - - - Location: - - - - - Preview - - - - - openlp.org - - - - - Top - - - - - Middle - - - - - Bottom - - - - - AmendThemeForm - - - Theme Maintenance - - - - - &Visibility: - - - - - Opaque - - - - - Transparent - - - - - Type: - - - - - Solid Color - - - - - Gradient - - - - - Image - - - - - Image: - - - - - Gradient: - - - - - Horizontal - - - - - Vertical - - - - - Circular - - - - - &Background - - - - - Main Font - - - - - Font: - - - - - Color: - - - - - Size: - - - - - pt - - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Normal - - - - - Bold - - - - - Italics - - - - - Bold/Italics - - - - - Style: - - - - - Display Location - - - - - X position: - - - - - Y position: - - - - - Width: - - - - - Height: - - - - - px - - - - - &Main Font - - - - - Footer Font - - - - - &Footer Font - - - - - Outline - - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow - - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Alignment - - - - - Horizontal align: - - - - - Left - - - - - Right - - - - - Center - - - - - Vertical align: - - - - - Top - - - - - Middle - - - - - Bottom - - - - - Slide Transition - - - - - &Other Options - - - - - Preview - - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - - - - - &Bible - - - - - BiblesPlugin.BiblesTab - - - Verse Display - - - - - Only show new chapter numbers - - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - - - - - Welcome to the Bible Import Wizard - - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - - - - - Select Import Source - - - - - Select the import format, and where to import from. - - - - - Format: - - - - - OSIS - - - - - CSV - - - - - OpenSong - - - - - Web Download - - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - - - - - Crosswalk - - - - - BibleGateway - - - - - Bible: - - - - - Download Options - - - - - Server: - - - - - Username: - - - - - Password: - - - - - Proxy Server (Optional) - - - - - License Details - - - - - Set up the Bible's license details. - - - - - Version name: - - - - - Copyright: - - - - - Permission: - - - - - Importing - - - - - Please wait while your Bible is imported. - - - - - Ready. - - - - - Invalid Bible Location - - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - - - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Verse File - - - - - You need to specify a file of Bible verses to import. - - - - - Invalid OpenSong Bible - - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - - - - - Bible Exists - - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - - - - - Starting import... - - - - - Finished import. - - - - - Your Bible import failed. - - - - - BiblesPlugin.MediaItem - - - Bible - - - - - Quick - - - - + Advanced - - Version: + + UI Settings - - Dual: + + Number of recent files to display: - - Search type: + + Save currently selected media manager plugin - - Find: - - - - - Search - - - - - Results: - - - - - Book: - - - - - Chapter: - - - - - Verse: - - - - - From: - - - - - To: - - - - - Verse Search - - - - - Text Search - - - - - Clear - - - - - Keep - - - - - No Book Found - - - - - No matching book could be found in this Bible. - - - - - etc - - - - - Bible not fully loaded. + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - - - - - CustomPlugin - - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomPlugin.CustomTab - - - Custom + + Theme Maintenance - - Custom Display + + Theme &name: - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides + + &Visibility: - - Move slide up once position. + + Opaque - - Move slide down one position. + + Transparent - - &Title: + + Type: - - Add New + + Solid Color - - Add a new slide at bottom. + + Gradient - - Edit + + Image - - Edit the selected slide. + + Image: - - Edit All + + Gradient: - - Edit all the slides at once. + + Horizontal - - Save + + Vertical - - Save the slide currently being edited. + + Circular - - Delete + + &Background - - Delete the selected slide. + + Main Font - - Clear + + Font: - - Clear edit area + + Color: - - Split Slide + + Size: - - Split a slide into two by inserting a slide splitter. + + pt - - The&me: + + Wrap indentation: - - &Credits: + + Adjust line spacing: - - Save && Preview + + Normal - - Error + + Bold - - You need to type in a title. + + Italics - - You need to add at least one slide + + Bold/Italics - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom + + Style: - - You haven't selected an item to edit. + + Display Location - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays + + Use default location - - Default Settings + + X position: - - X: + + Y position: - - Y: - - - - - Height: - - - - + Width: - - Custom Settings + + Height: - - Width + + px - - Override display settings + + &Main Font + + + + + Footer Font + + + + + &Footer Font + + + + + Outline + + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + + + + + Horizontal align: + + + + + Left + + + + + Right + + + + + Center + + + + + Vertical align: + + + + + Top + + + + + Middle + + + + + Bottom + + + + + Slide Transition + + + + + Transition active + + + + + &Other Options + + + + + Preview + + + + + All Files + + + + + Select Image + + + + + First color: + + + + + Second color: + + + + + Slide height is %s rows. - GeneralTab + OpenLP.GeneralTab - - CCLI Details - - - - - SongSelect Password: - - - - - primary - - - - - Application Startup - - - - + Select monitor for output display: - - Application Settings + + Display if a single screen - - SongSelect Username: + + Application Startup - - CCLI Number: - - - - - Automatically open the last service - - - - - Preview Next Song from Service Manager - - - - + Show blank screen warning - + + Automatically open the last service + + + + + Show the splash screen + + + + + Application Settings + + + + Prompt to save Service before starting New + + + Preview Next Song from Service Manager + + + + + SongSelect Username: + + + + + SongSelect Password: + + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + General - - Show the splash screen - - - - - Screen - - - - + Monitors - - Display if a single screen + + Screen + + + + + primary + + + + + CCLI Details + + + + + CCLI Number: - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - - - - - Image Settings - - - - - Slide Loop Delay: - - - - - sec - - - - - ImagePlugin.MediaItem - - - Image - - - - - Select Image(s) - - - - - All Files - - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - Image(s) - - - - - You must select an item to process. - - - - - LanguageManager + OpenLP.LanguageManager Language @@ -1567,30 +1779,15 @@ Changes do not affect verses already in the service. - After restart new Language settings will be used. + Please restart OpenLP to use your new language setting. - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - - - - - OpenLP Version Updated - - - - - Save Changes to Service? - - - - - OpenLP Main Display Blanked + + English @@ -1598,11 +1795,6 @@ Changes do not affect verses already in the service. OpenLP 2.0 - - - English - - &File @@ -1639,7 +1831,7 @@ Changes do not affect verses already in the service. - + &Language @@ -1674,515 +1866,338 @@ Changes do not affect verses already in the service. - + Create a new service. - + Ctrl+N - + &Open - + Open Service - + Open an existing service. - + Ctrl+O - + &Save - + Save Service - + Save the current service to disk. - + Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit - + Quit OpenLP - + Alt+F4 - + &Theme - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 - + &Theme Manager - + Toggle Theme Manager - + Toggle the visibility of the theme manager. - + F10 - + &Service Manager - + Toggle Service Manager - + Toggle the visibility of the service manager. - + F9 - + &Preview Panel - + Toggle Preview Panel - + Toggle the visibility of the preview panel. - + F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 - + &Plugin List - + List the Plugins - + Alt+F7 - + &User Guide - + &About - + More information about OpenLP - + Ctrl+F1 - + &Online Help - + &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live - + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + + + + + OpenLP Main Display Blanked + + + + + The Main Display has been blanked out + + + + + Save Changes to Service? + + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - You must select one or more items - - - - - &Add to Service - - - - - Send the selected item live - - - - - Add the selected item(s) to the service - - - - - Delete the selected item - - - - - &Show Live - - - - - Preview the selected item - - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - - - - - MediaPlugin.MediaItem - - - Media - - - - - Select Media - - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2244,7 +2259,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2252,37 +2267,47 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation - + Select Presentation(s) - + Automatic - + Present using: - + File exists - + A presentation with that filename already exists. - + + Unsupported file + + + + + This type of presentation is not supported + + + + You must select an item to delete. @@ -2290,17 +2315,17 @@ You can download the latest version from http://openlp.org PresentationPlugin.PresentationTab - + Presentations - + Available Controllers - + available @@ -2352,178 +2377,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Service - + Save Changes to Service? - + Open Service - + Move to top - + Create a new service - + Save this service - + Theme: - + Delete From Service - + &Change Item Theme - + &Preview Verse - + &Live Verse - + New Service - + &Notes - + Select a theme for the service - + Move up order - + Move down order - + Load an existing service - + Move to end - + &Edit Item - + Move to &top - + Move &up - + Move &down - + Move to &bottom - + &Delete From Service - + &Add New Item - + &Add to Selected Item - + &Maintain Item - + Your service is unsaved, do you want to save those changes before creating a new one? - + OpenLP Service Files (*.osz) - + Your current service is unsaved, do you want to save the changes before opening a new one? - + Error - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it @@ -2539,8 +2564,8 @@ The content encoding is not UTF-8. SettingsForm - - Settings + + Configure OpenLP @@ -2552,22 +2577,22 @@ The content encoding is not UTF-8. - + Edit and re-preview Song - + Delay between slides in seconds - + Go to Verse - + Start continuous loop @@ -2577,12 +2602,12 @@ The content encoding is not UTF-8. - + Start playing media - + Move to live @@ -2607,12 +2632,12 @@ The content encoding is not UTF-8. - + Stop continuous loop - + s @@ -2668,58 +2693,78 @@ The content encoding is not UTF-8. SongsPlugin - + &Song - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + + Open OpenSong file + + + + + Error importing OpenSong file + + + + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2735,22 +2780,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction - + Select Date Range - + to - + Report Location @@ -2794,139 +2839,139 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? + You have not set a display name for the author, would you like me to combine the first and last names for you? SongsPlugin.EditSongForm - + Song Editor - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit - + Ed&it All - + &Delete - + Title && Lyrics - + Authors - + &Add to Song - + &Remove - - &Manage Authors, Topics, Books + + &Manage Authors, Topics, Song Books - + Topic - + A&dd to Song - + R&emove - + Song Book - - Authors, Topics && Book + + Authors, Topics && Song Book - + Theme - + New &Theme - + Copyright Information - + © - + CCLI Number: - + Comments - + Theme, Copyright Info && Comments @@ -3024,17 +3069,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.EditVerseForm - + Edit Verse - + &Verse type: - + &Insert @@ -3082,97 +3127,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Starting import... - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source - + Select the import format, and where to import from. - + Format: - + OpenLyrics - + OpenSong - + CCLI - + CSV - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing - + Please wait while your songs are imported. - + Ready. - + %p% @@ -3180,87 +3225,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song - + Song Maintenance - + Maintain the lists of authors, topics and books - + Search: - + Type: - + Clear - + Search - + Titles - + Lyrics - + Authors - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? - + Delete Confirmation - + CCLI Licence: @@ -3269,7 +3314,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - Edit Book + Song Book Maintenance @@ -3325,7 +3370,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Books/Hymnals + Song Books @@ -3344,93 +3389,113 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error - - Couldn't add your author. + + Could not add your author. - - Couldn't add your topic. + + This author already exists. - - Couldn't add your book. + + Could not add your topic. - - Couldn't save your author. + + This topic already exists. - - Couldn't save your topic. + + Could not add your book. - - Couldn't save your book. + + This book already exists. - + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + Delete Author - + Are you sure you want to delete the selected author? - - This author can't be deleted, they are currently assigned to at least one song. + + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! - + Delete Topic - + Are you sure you want to delete the selected topic? - - This topic can't be deleted, it is currently assigned to at least one song. + + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book - + Are you sure you want to delete the selected book? - - This book can't be deleted, it is currently assigned to at least one song. + + This book cannot be deleted, it is currently assigned to at least one song. + + + + + No book selected! @@ -3517,169 +3582,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme - + Delete Theme - + Error - + Edit Theme - + Export Theme - + Theme Exists - + Save Theme - (%s) - + Select Theme Import File - + New Theme - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - - You are unable to delete the default theme. + + Delete Confirmation - - Theme %s is use in %s plugin. + + Delete theme? + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + Theme %s is use by the service manager. - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - - A theme with this name already exists. Would you like to overwrite it? + + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_en_GB.ts b/resources/i18n/openlp_en_GB.ts index d16cacb2d..377e26d3d 100644 --- a/resources/i18n/openlp_en_GB.ts +++ b/resources/i18n/openlp_en_GB.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - + + &Alert + &Alert + + + + Show an alert message. + + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + + + + AlertsPlugin.AlertForm + + + Alert Message + Alert Message + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + &New + + + + &Save + &Save + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + Alerts + + + + Font + Font + + + + pt + pt + + + + Alert timeout: + Alert timeout: + + + + s + s + + + + Location: + Location: + + + + Preview + Preview + + + + Top + Top + + + + Middle + Middle + + + + Bottom + Bottom + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + OpenLP 2.0 + + + + BiblesPlugin + + + &Bible + &Bible + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + Bibles + + + + Verse Display + Verse Display + + + + Only show new chapter numbers + Only show new chapter numbers + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + Bible Import Wizard + + + + Welcome to the Bible Import Wizard + Welcome to the Bible Import Wizard + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + + + + Select Import Source + Select Import Source + + + + Select the import format, and where to import from. + Select the import format, and where to import from. + + + + Format: + Format: + + + + OSIS + OSIS + + + + CSV + CSV + + + + OpenSong + OpenSong + + + + Web Download + Web Download + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Location: + Location: + + + + Crosswalk + Crosswalk + + + + BibleGateway + BibleGateway + + + + Bible: + Bible: + + + + Download Options + Download Options + + + + Server: + Server: + + + + Username: + Username: + + + + Password: + Password: + + + + Proxy Server (Optional) + Proxy Server (Optional) + + + + License Details + License Details + + + + Set up the Bible's license details. + Set up the Bible's license details. + + + + Version name: + + + + + Copyright: + Copyright: + + + + Permission: + Permission: + + + + Importing + Importing + + + + Please wait while your Bible is imported. + Please wait while your Bible is imported. + + + + Ready. + Ready. + + + + Invalid Bible Location + Invalid Bible Location + + + + You need to specify a file to import your Bible from. + + + + + Invalid Books File + Invalid Books File + + + + You need to specify a file with books of the Bible to use in the import. + + + + + Invalid Verse File + Invalid Verse File + + + + You need to specify a file of Bible verses to import. + + + + + Invalid OpenSong Bible + Invalid OpenSong Bible + + + + You need to specify an OpenSong Bible file to import. + + + + + Empty Version Name + Empty Version Name + + + + You need to specify a version name for your Bible. + + + + + Empty Copyright + Empty Copyright + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + + + + Bible Exists + Bible Exists + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open Verses CSV File + + + + + Open OpenSong Bible + Open OpenSong Bible + + + + Starting import... + Starting import... + + + + Finished import. + Finished import. + + + + Your Bible import failed. + Your Bible import failed. + + + + BiblesPlugin.MediaItem + + + Bible + Bible + + + + Quick + Quick + + + + Advanced + Advanced + + + + Version: + Version: + + + + Dual: + Dual: + + + + Search type: + + + + + Find: + Find: + + + + Search + Search + + + + Results: + Results: + + + + Book: + Book: + + + + Chapter: + Chapter: + + + + Verse: + Verse: + + + + From: + From: + + + + To: + To: + + + + Verse Search + Verse Search + + + + Text Search + Text Search + + + + Clear + Clear + + + + Keep + Keep + + + + No Book Found + No Book Found + + + + No matching book could be found in this Bible. + No matching book could be found in this Bible. + + + + etc + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + Importing + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + + + + + CustomPlugin.CustomTab + + + Custom + Custom + + + + Custom Display + Custom Display + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Edit Custom Slides + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add New + Add New + + + + Add a new slide at bottom. + + + + + Edit + Edit + + + + Edit the selected slide. + + + + + Edit All + Edit All + + + + Edit all the slides at once. + + + + + Save + Save + + + + Save the slide currently being edited. + + + + + Delete + Delete + + + + Delete the selected slide. + + + + + Clear + Clear + + + + Clear edit area + Clear edit area + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + Save && Preview + + + + Error + Error + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + Custom + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + Images + + + + Image Settings + Image Settings + + + + sec + sec + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + Image + + + + Select Image(s) + Select Image(s) + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + Image(s) + + + + You must select an item to process. + + + + + MediaManagerItem + + + You must select one or more items + You must select one or more items + + + + Delete the selected item + Delete the selected item + + + + &Add to Service + &Add to Service + + + + Send the selected item live + Send the selected item live + + + + Add the selected item(s) to the service + Add the selected item(s) to the service + + + + &Show Live + &Show Live + + + + Preview the selected item + Preview the selected item + + + + No Items Selected + + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + + + + MediaPlugin.MediaItem + + + Media + Media + + + + Select Media + Select Media + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + About OpenLP About OpenLP - + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -19,12 +1108,12 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + About About - + Project Lead Raoul "superfly" Snyman @@ -57,12 +1146,12 @@ Packagers - + Credits Credits - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -197,17 +1286,17 @@ This General Public License does not permit incorporating your program into prop - + License License - + Contribute Contribute - + Close Close @@ -218,1348 +1307,471 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - &Alert - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - Alert Message - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - &New - - - - &Save - &Save - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - Alerts - - - - Font - Font - - - - Font Name: - Font Name: - - - - Font Color: - Font Color: - - - - Background Color: - Background Color: - - - - Font Size: - Font Size: - - - - pt - pt - - - - Alert timeout: - Alert timeout: - - - - s - s - - - - Location: - Location: - - - - Preview - Preview - - - - openlp.org - openlp.org - - - - Top - Top - - - - Middle - Middle - - - - Bottom - Bottom - - - - AmendThemeForm - - - Theme Maintenance - Theme Maintenance - - - - &Visibility: - - - - - Opaque - Opaque - - - - Transparent - Transparent - - - - Type: - Type: - - - - Solid Color - Solid Color - - - - Gradient - Gradient - - - - Image - Image - - - - Image: - Image: - - - - Gradient: - - - - - Horizontal - Horizontal - - - - Vertical - Vertical - - - - Circular - - - - - &Background - - - - - Main Font - Main Font - - - - Font: - Font: - - - - Color: - - - - - Size: - Size: - - - - pt - pt - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Normal - Normal - - - - Bold - Bold - - - - Italics - Italics - - - - Bold/Italics - Bold/Italics - - - - Style: - - - - - Display Location - Display Location - - - - X position: - - - - - Y position: - - - - - Width: - Width: - - - - Height: - Height: - - - - px - px - - - - &Main Font - - - - - Footer Font - Footer Font - - - - &Footer Font - - - - - Outline - Outline - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow - Shadow - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Alignment - Alignment - - - - Horizontal align: - - - - - Left - Left - - - - Right - Right - - - - Center - Center - - - - Vertical align: - - - - - Top - Top - - - - Middle - Middle - - - - Bottom - Bottom - - - - Slide Transition - Slide Transition - - - - &Other Options - - - - - Preview - Preview - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - - - - &Bible - &Bible - - - - BiblesPlugin.BiblesTab - - - Verse Display - Verse Display - - - - Only show new chapter numbers - Only show new chapter numbers - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - Bibles - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - Bible Import Wizard - - - - Welcome to the Bible Import Wizard - Welcome to the Bible Import Wizard - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - - - - Select Import Source - Select Import Source - - - - Select the import format, and where to import from. - Select the import format, and where to import from. - - - - Format: - Format: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - - Web Download - Web Download - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - Location: - - - - Crosswalk - Crosswalk - - - - BibleGateway - BibleGateway - - - - Bible: - Bible: - - - - Download Options - Download Options - - - - Server: - Server: - - - - Username: - Username: - - - - Password: - Password: - - - - Proxy Server (Optional) - Proxy Server (Optional) - - - - License Details - License Details - - - - Set up the Bible's license details. - Set up the Bible's license details. - - - - Version name: - - - - - Copyright: - Copyright: - - - - Permission: - Permission: - - - - Importing - Importing - - - - Please wait while your Bible is imported. - Please wait while your Bible is imported. - - - - Ready. - Ready. - - - - Invalid Bible Location - Invalid Bible Location - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - Invalid Books File - - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Verse File - Invalid Verse File - - - - You need to specify a file of Bible verses to import. - - - - - Invalid OpenSong Bible - Invalid OpenSong Bible - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - Empty Version Name - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - Empty Copyright - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - - - - Bible Exists - Bible Exists - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - Open OpenSong Bible - - - - Starting import... - Starting import... - - - - Finished import. - Finished import. - - - - Your Bible import failed. - Your Bible import failed. - - - - BiblesPlugin.MediaItem - - - Bible - Bible - - - - Quick - Quick - - - + Advanced Advanced - - Version: - Version: - - - - Dual: - Dual: - - - - Search type: + + UI Settings - - Find: - Find: - - - - Search - Search - - - - Results: - Results: - - - - Book: - Book: - - - - Chapter: - Chapter: - - - - Verse: - Verse: - - - - From: - From: - - - - To: - To: - - - - Verse Search - Verse Search - - - - Text Search - Text Search - - - - Clear - Clear - - - - Keep - Keep - - - - No Book Found - No Book Found - - - - No matching book could be found in this Bible. - No matching book could be found in this Bible. - - - - etc + + Number of recent files to display: - - Bible not fully loaded. + + Save currently selected media manager plugin + + + + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - Importing - - - - CustomPlugin - - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomPlugin.CustomTab - - - Custom - Custom + + Theme Maintenance + Theme Maintenance - - Custom Display - Custom Display - - - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides - Edit Custom Slides - - - - Move slide up once position. + + Theme &name: - - Move slide down one position. + + &Visibility: - - &Title: - + + Opaque + Opaque - - Add New - Add New + + Transparent + Transparent - - Add a new slide at bottom. - + + Type: + Type: - - Edit - Edit + + Solid Color + Solid Color - - Edit the selected slide. - + + Gradient + Gradient - - Edit All - Edit All - - - - Edit all the slides at once. - - - - - Save - Save - - - - Save the slide currently being edited. - - - - - Delete - Delete - - - - Delete the selected slide. - - - - - Clear - Clear - - - - Clear edit area - Clear edit area - - - - Split Slide - - - - - Split a slide into two by inserting a slide splitter. - - - - - The&me: - - - - - &Credits: - - - - - Save && Preview - Save && Preview - - - - Error - Error - - - - You need to type in a title. - - - - - You need to add at least one slide - - - - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom - Custom - - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays - - - - - Default Settings - - - - - X: - - - - - Y: - - - - - Height: - Height: - - - - Width: - Width: - - - - Custom Settings - - - - - Width - - - - - Override display settings - - - - - GeneralTab - - - CCLI Details - CCLI Details - - - - primary - primary - - - - Show blank screen warning - Show blank screen warning - - - - Application Startup - Application Startup - - - - Select monitor for output display: - Select monitor for output display: - - - - Application Settings - Application Settings - - - - SongSelect Username: - SongSelect Username: - - - - CCLI Number: - CCLI Number: - - - - Automatically open the last service - Automatically open the last service - - - - Preview Next Song from Service Manager - Preview Next Song from Service Manager - - - - Prompt to save Service before starting New - Prompt to save Service before starting New - - - - General - General - - - - Show the splash screen - Show the splash screen - - - - Screen - Screen - - - - Monitors - Monitors - - - - SongSelect Password: - SongSelect Password: - - - - Display if a single screen - - - - - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - Images - - - - Image Settings - Image Settings - - - - Slide Loop Delay: - Slide Loop Delay: - - - - sec - sec - - - - ImagePlugin.MediaItem - - + Image Image - - Select Image(s) - Select Image(s) + + Image: + Image: - + + Gradient: + + + + + Horizontal + Horizontal + + + + Vertical + Vertical + + + + Circular + + + + + &Background + + + + + Main Font + Main Font + + + + Font: + Font: + + + + Color: + + + + + Size: + Size: + + + + pt + pt + + + + Wrap indentation: + + + + + Adjust line spacing: + + + + + Normal + Normal + + + + Bold + Bold + + + + Italics + Italics + + + + Bold/Italics + Bold/Italics + + + + Style: + + + + + Display Location + Display Location + + + + Use default location + + + + + X position: + + + + + Y position: + + + + + Width: + Width: + + + + Height: + Height: + + + + px + px + + + + &Main Font + + + + + Footer Font + Footer Font + + + + &Footer Font + + + + + Outline + Outline + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + Shadow + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + Alignment + + + + Horizontal align: + + + + + Left + Left + + + + Right + Right + + + + Center + Center + + + + Vertical align: + + + + + Top + Top + + + + Middle + Middle + + + + Bottom + Bottom + + + + Slide Transition + Slide Transition + + + + Transition active + + + + + &Other Options + + + + + Preview + Preview + + + All Files - - Replace Live Background + + Select Image - - You must select an item to delete. + + First color: - - Image(s) - Image(s) + + Second color: + - - You must select an item to process. + + Slide height is %s rows. - LanguageManager + OpenLP.GeneralTab + + + Select monitor for output display: + Select monitor for output display: + + + + Display if a single screen + + + + + Application Startup + Application Startup + + + + Show blank screen warning + Show blank screen warning + + + + Automatically open the last service + Automatically open the last service + + + + Show the splash screen + Show the splash screen + + + + Application Settings + Application Settings + + + + Prompt to save Service before starting New + Prompt to save Service before starting New + + + + Preview Next Song from Service Manager + Preview Next Song from Service Manager + + + + SongSelect Username: + SongSelect Username: + + + + SongSelect Password: + SongSelect Password: + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + + + + General + General + + + + Monitors + Monitors + + + + Screen + Screen + + + + primary + primary + + + + CCLI Details + CCLI Details + + + + CCLI Number: + CCLI Number: + + + + OpenLP.LanguageManager Language @@ -1567,42 +1779,22 @@ Changes do not affect verses already in the service. - After restart new Language settings will be used. + Please restart OpenLP to use your new language setting. - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - The Main Display has been blanked out - - - - OpenLP Version Updated - OpenLP Version Updated - - - - Save Changes to Service? - Save Changes to Service? - - - - OpenLP Main Display Blanked - OpenLP Main Display Blanked + + English + English OpenLP 2.0 OpenLP 2.0 - - - English - English - &File @@ -1639,7 +1831,7 @@ Changes do not affect verses already in the service. &Settings - + &Language &Language @@ -1674,515 +1866,338 @@ Changes do not affect verses already in the service. New Service - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Open - + Open Service Open Service - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Save - + Save Service Save Service - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... Save &As... - + Save Service As Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit E&xit - + Quit OpenLP Quit OpenLP - + Alt+F4 Alt+F4 - + &Theme &Theme - + &Configure OpenLP... - + &Media Manager &Media Manager - + Toggle Media Manager Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Theme Manager - + Toggle Theme Manager Toggle Theme Manager - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Service Manager - + Toggle Service Manager Toggle Service Manager - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Preview Panel - + Toggle Preview Panel Toggle Preview Panel - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Plugin List - + List the Plugins List the Plugins - + Alt+F7 Alt+F7 - + &User Guide &User Guide - + &About &About - + More information about OpenLP More information about OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Online Help - + &Web Site &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + OpenLP Version Updated + + + + OpenLP Main Display Blanked + OpenLP Main Display Blanked + + + + The Main Display has been blanked out + The Main Display has been blanked out + + + + Save Changes to Service? + Save Changes to Service? + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - You must select one or more items - You must select one or more items - - - - Delete the selected item - Delete the selected item - - - - &Add to Service - &Add to Service - - - - Send the selected item live - Send the selected item live - - - - Add the selected item(s) to the service - Add the selected item(s) to the service - - - - &Show Live - &Show Live - - - - Preview the selected item - Preview the selected item - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - - - - MediaPlugin.MediaItem - - - Media - Media - - - - Select Media - Select Media - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2244,7 +2259,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2252,37 +2267,47 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation Presentation - + Select Presentation(s) Select Presentation(s) - + Automatic - + Present using: Present using: - + File exists File exists - + A presentation with that filename already exists. A presentation with that filename already exists. - + + Unsupported file + + + + + This type of presentation is not supported + + + + You must select an item to delete. @@ -2290,17 +2315,17 @@ You can download the latest version from http://openlp.org PresentationPlugin.PresentationTab - + Presentations Presentations - + Available Controllers Available Controllers - + available available @@ -2352,178 +2377,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Changes to Service? Save Changes to Service? - + Open Service Open Service - + Move to top Move to top - + Create a new service Create a new service - + Save this service Save this service - + Theme: Theme: - + Delete From Service Delete From Service - + &Change Item Theme &Change Item Theme - + Save Service Save Service - + &Live Verse &Live Verse - + New Service New Service - + &Notes &Notes - + Move to end Move to end - + Select a theme for the service Select a theme for the service - + Move up order Move up order - + Move down order Move down order - + Load an existing service Load an existing service - + &Preview Verse &Preview Verse - + &Edit Item &Edit Item - + Move to &top - + Move &up - + Move &down - + Move to &bottom - + &Delete From Service - + &Add New Item - + &Add to Selected Item - + &Maintain Item - + Your service is unsaved, do you want to save those changes before creating a new one? - + OpenLP Service Files (*.osz) - + Your current service is unsaved, do you want to save the changes before opening a new one? - + Error Error - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it @@ -2539,9 +2564,9 @@ The content encoding is not UTF-8. SettingsForm - - Settings - Settings + + Configure OpenLP + @@ -2552,12 +2577,12 @@ The content encoding is not UTF-8. Move to previous - + Go to Verse Go to Verse - + Start continuous loop Start continuous loop @@ -2567,12 +2592,12 @@ The content encoding is not UTF-8. Live - + Start playing media Start playing media - + Move to live Move to live @@ -2587,12 +2612,12 @@ The content encoding is not UTF-8. Move to last - + Edit and re-preview Song Edit and re-preview Song - + Delay between slides in seconds Delay between slides in seconds @@ -2607,12 +2632,12 @@ The content encoding is not UTF-8. Move to first - + Stop continuous loop Stop continuous loop - + s s @@ -2668,58 +2693,78 @@ The content encoding is not UTF-8. SongsPlugin - + &Song &Song - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + + Open OpenSong file + + + + + Error importing OpenSong file + + + + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2735,22 +2780,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction - + Select Date Range - + to to - + Report Location Report Location @@ -2794,139 +2839,139 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? - You haven't set a display name for the author, would you like me to combine the first and last names for you? + You have not set a display name for the author, would you like me to combine the first and last names for you? + SongsPlugin.EditSongForm - + Song Editor Song Editor - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit &Edit - + Ed&it All - + &Delete - + Title && Lyrics Title && Lyrics - + Authors Authors - + &Add to Song &Add to Song - + &Remove &Remove - - &Manage Authors, Topics, Books - &Manage Authors, Topics, Books + + &Manage Authors, Topics, Song Books + - + Topic Topic - + A&dd to Song A&dd to Song - + R&emove R&emove - + Song Book Song Book - - Authors, Topics && Book - Authors, Topics && Book + + Authors, Topics && Song Book + - + Theme Theme - + New &Theme - + Copyright Information Copyright Information - + © - + CCLI Number: CCLI Number: - + Comments Comments - + Theme, Copyright Info && Comments Theme, Copyright Info && Comments @@ -3024,17 +3069,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.EditVerseForm - + Edit Verse Edit Verse - + &Verse type: - + &Insert @@ -3082,97 +3127,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Starting import... Starting import... - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source Select Import Source - + Select the import format, and where to import from. Select the import format, and where to import from. - + Format: Format: - + OpenLyrics - + OpenSong OpenSong - + CCLI - + CSV CSV - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing Importing - + Please wait while your songs are imported. - + Ready. Ready. - + %p% @@ -3180,87 +3225,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song Song - + Song Maintenance Song Maintenance - + Maintain the lists of authors, topics and books Maintain the lists of authors, topics and books - + Search: Search: - + Type: Type: - + Clear Clear - + Search Search - + Titles - + Lyrics Lyrics - + Authors Authors - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? - + Delete Confirmation - + CCLI Licence: CCLI Licence: @@ -3269,8 +3314,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - Edit Book - Edit Book + Song Book Maintenance + @@ -3325,8 +3370,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Books/Hymnals - Books/Hymnals + Song Books + @@ -3344,93 +3389,113 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Error - - Couldn't add your author. + + Could not add your author. - - Couldn't add your topic. + + This author already exists. - - Couldn't add your book. + + Could not add your topic. - - Couldn't save your author. + + This topic already exists. - - Couldn't save your topic. + + Could not add your book. - - Couldn't save your book. + + This book already exists. - + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + Delete Author Delete Author - + Are you sure you want to delete the selected author? - - This author can't be deleted, they are currently assigned to at least one song. + + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! - + Delete Topic Delete Topic - + Are you sure you want to delete the selected topic? Are you sure you want to delete the selected topic? - - This topic can't be deleted, it is currently assigned to at least one song. + + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! No topic selected! - + Delete Book Delete Book - + Are you sure you want to delete the selected book? Are you sure you want to delete the selected book? - - This book can't be deleted, it is currently assigned to at least one song. + + This book cannot be deleted, it is currently assigned to at least one song. + + + + + No book selected! @@ -3517,169 +3582,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme Import Theme - + Delete Theme Delete Theme - + Error Error - + Edit Theme Edit Theme - + Export Theme Export Theme - + Theme Exists Theme Exists - + Save Theme - (%s) Save Theme - (%s) - + Select Theme Import File Select Theme Import File - + New Theme New Theme - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - - You are unable to delete the default theme. + + Delete Confirmation - - Theme %s is use in %s plugin. + + Delete theme? + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + Theme %s is use by the service manager. - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - - A theme with this name already exists. Would you like to overwrite it? + + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_en_ZA.ts b/resources/i18n/openlp_en_ZA.ts index 2e985531e..252ad8ad8 100644 --- a/resources/i18n/openlp_en_ZA.ts +++ b/resources/i18n/openlp_en_ZA.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - + + &Alert + + + + + Show an alert message. + + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + + + + + AlertsPlugin.AlertForm + + + Alert Message + Alert Message + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + &New + + + + &Save + + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + + + + + Font + Font + + + + pt + pt + + + + Alert timeout: + + + + + s + + + + + Location: + Location: + + + + Preview + Preview + + + + Top + + + + + Middle + Middle + + + + Bottom + + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + + + + + BiblesPlugin + + + &Bible + + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + Bibles + + + + Verse Display + Verse Display + + + + Only show new chapter numbers + Only show new chapter numbers + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + Bible Import Wizard + + + + Welcome to the Bible Import Wizard + + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + + + + Select Import Source + Select Import Source + + + + Select the import format, and where to import from. + + + + + Format: + Format: + + + + OSIS + OSIS + + + + CSV + CSV + + + + OpenSong + OpenSong + + + + Web Download + Web Download + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Location: + Location: + + + + Crosswalk + Crosswalk + + + + BibleGateway + BibleGateway + + + + Bible: + Bible: + + + + Download Options + Download Options + + + + Server: + Server: + + + + Username: + Username: + + + + Password: + + + + + Proxy Server (Optional) + + + + + License Details + License Details + + + + Set up the Bible's license details. + Set up the Bible's license details. + + + + Version name: + + + + + Copyright: + Copyright: + + + + Permission: + Permission: + + + + Importing + + + + + Please wait while your Bible is imported. + + + + + Ready. + + + + + Invalid Bible Location + Invalid Bible Location + + + + You need to specify a file to import your Bible from. + + + + + Invalid Books File + + + + + You need to specify a file with books of the Bible to use in the import. + + + + + Invalid Verse File + + + + + You need to specify a file of Bible verses to import. + + + + + Invalid OpenSong Bible + Invalid OpenSong Bible + + + + You need to specify an OpenSong Bible file to import. + + + + + Empty Version Name + Empty Version Name + + + + You need to specify a version name for your Bible. + + + + + Empty Copyright + Empty Copyright + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + + + + Bible Exists + Bible Exists + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + This Bible already exists! Please import a different Bible or first delete the existing one. + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open Verses CSV File + + + + + Open OpenSong Bible + + + + + Starting import... + Starting import... + + + + Finished import. + Finished import. + + + + Your Bible import failed. + Your Bible import failed. + + + + BiblesPlugin.MediaItem + + + Bible + Bible + + + + Quick + Quick + + + + Advanced + + + + + Version: + + + + + Dual: + Dual: + + + + Search type: + + + + + Find: + Find: + + + + Search + Search + + + + Results: + Results: + + + + Book: + Book: + + + + Chapter: + Chapter: + + + + Verse: + + + + + From: + From: + + + + To: + + + + + Verse Search + Verse Search + + + + Text Search + Text Search + + + + Clear + + + + + Keep + Keep + + + + No Book Found + + + + + No matching book could be found in this Bible. + No matching book could be found in this Bible. + + + + etc + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + + + + + CustomPlugin.CustomTab + + + Custom + Custom + + + + Custom Display + Custom Display + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Edit Custom Slides + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add New + + + + + Add a new slide at bottom. + + + + + Edit + + + + + Edit the selected slide. + + + + + Edit All + + + + + Edit all the slides at once. + + + + + Save + Save + + + + Save the slide currently being edited. + + + + + Delete + + + + + Delete the selected slide. + + + + + Clear + + + + + Clear edit area + + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + + + + + Error + Error + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + Custom + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + + + + + Image Settings + Image Settings + + + + sec + sec + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + + + + + Select Image(s) + Select Image(s) + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + + + + + You must select an item to process. + + + + + MediaManagerItem + + + You must select one or more items + You must select one or more items + + + + Delete the selected item + Delete the selected item + + + + &Add to Service + + + + + Send the selected item live + Send the selected item live. + + + + Add the selected item(s) to the service + Add the selected item(s) to the service. + + + + &Show Live + + + + + Preview the selected item + + + + + No Items Selected + + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + + + + + MediaPlugin.MediaItem + + + Media + + + + + Select Media + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + About OpenLP - + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -19,12 +1108,12 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + About - + Project Lead Raoul "superfly" Snyman @@ -57,12 +1146,12 @@ Packagers - + Credits - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -197,17 +1286,17 @@ This General Public License does not permit incorporating your program into prop - + License License - + Contribute - + Close Close @@ -218,1245 +1307,437 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - Alert Message - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - &New - - - - &Save - - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - - - - - Font - Font - - - - Font Name: - Font Name: - - - - Font Color: - Font Colour: - - - - Background Color: - - - - - Font Size: - - - - - pt - pt - - - - Alert timeout: - - - - - s - - - - - Location: - Location: - - - - Preview - Preview - - - - openlp.org - - - - - Top - - - - - Middle - Middle - - - - Bottom - - - - - AmendThemeForm - - - Theme Maintenance - Theme Maintenance - - - - &Visibility: - - - - - Opaque - Opaque - - - - Transparent - Transparent - - - - Type: - Type: - - - - Solid Color - Solid Colour - - - - Gradient - - - - - Image - - - - - Image: - - - - - Gradient: - - - - - Horizontal - Horizontal - - - - Vertical - Vertical - - - - Circular - Circular - - - - &Background - - - - - Main Font - Main Font - - - - Font: - - - - - Color: - - - - - Size: - - - - - pt - pt - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Normal - Normal - - - - Bold - Bold - - - - Italics - Italics - - - - Bold/Italics - - - - - Style: - - - - - Display Location - - - - - X position: - - - - - Y position: - - - - - Width: - Width: - - - - Height: - Height: - - - - px - px - - - - &Main Font - - - - - Footer Font - Footer Font - - - - &Footer Font - - - - - Outline - Outline - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow - Shadow - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Alignment - Alignment - - - - Horizontal align: - - - - - Left - - - - - Right - Right - - - - Center - Centre - - - - Vertical align: - - - - - Top - - - - - Middle - Middle - - - - Bottom - - - - - Slide Transition - Slide Transition - - - - &Other Options - - - - - Preview - Preview - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - - - - &Bible - - - - - BiblesPlugin.BiblesTab - - - Verse Display - Verse Display - - - - Only show new chapter numbers - Only show new chapter numbers - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - Bibles - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - Bible Import Wizard - - - - Welcome to the Bible Import Wizard - - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - - - - Select Import Source - Select Import Source - - - - Select the import format, and where to import from. - - - - - Format: - Format: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - - Web Download - Web Download - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - Location: - - - - Crosswalk - Crosswalk - - - - BibleGateway - BibleGateway - - - - Bible: - Bible: - - - - Download Options - Download Options - - - - Server: - Server: - - - - Username: - Username: - - - - Password: - - - - - Proxy Server (Optional) - - - - - License Details - License Details - - - - Set up the Bible's license details. - Set up the Bible's license details. - - - - Version name: - - - - - Copyright: - Copyright: - - - - Permission: - Permission: - - - - Importing - - - - - Please wait while your Bible is imported. - - - - - Ready. - - - - - Invalid Bible Location - Invalid Bible Location - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - - - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Verse File - - - - - You need to specify a file of Bible verses to import. - - - - - Invalid OpenSong Bible - Invalid OpenSong Bible - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - Empty Version Name - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - Empty Copyright - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - - - - Bible Exists - Bible Exists - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - This Bible already exists! Please import a different Bible or first delete the existing one. - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - - - - - Starting import... - Starting import... - - - - Finished import. - Finished import. - - - - Your Bible import failed. - Your Bible import failed. - - - - BiblesPlugin.MediaItem - - - Bible - Bible - - - - Quick - Quick - - - + Advanced - - Version: + + UI Settings - - Dual: - Dual: - - - - Search type: + + Number of recent files to display: - - Find: - Find: - - - - Search - Search - - - - Results: - Results: - - - - Book: - Book: - - - - Chapter: - Chapter: - - - - Verse: + + Save currently selected media manager plugin - - From: - From: - - - - To: - - - - - Verse Search - Verse Search - - - - Text Search - Text Search - - - - Clear - - - - - Keep - Keep - - - - No Book Found - - - - - No matching book could be found in this Bible. - No matching book could be found in this Bible. - - - - etc - - - - - Bible not fully loaded. + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - - - - - CustomPlugin - - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomPlugin.CustomTab - - - Custom - Custom + + Theme Maintenance + Theme Maintenance - - Custom Display - Custom Display - - - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides - Edit Custom Slides - - - - Move slide up once position. + + Theme &name: - - Move slide down one position. + + &Visibility: - - &Title: + + Opaque + Opaque + + + + Transparent + Transparent + + + + Type: + Type: + + + + Solid Color + Solid Colour + + + + Gradient - - Add New + + Image - - Add a new slide at bottom. + + Image: - - Edit + + Gradient: - - Edit the selected slide. + + Horizontal + Horizontal + + + + Vertical + Vertical + + + + Circular + Circular + + + + &Background - - Edit All + + Main Font + Main Font + + + + Font: - - Edit all the slides at once. + + Color: - - Save - Save - - - - Save the slide currently being edited. + + Size: - - Delete + + pt + pt + + + + Wrap indentation: - - Delete the selected slide. + + Adjust line spacing: - - Clear + + Normal + Normal + + + + Bold + Bold + + + + Italics + Italics + + + + Bold/Italics - - Clear edit area + + Style: - - Split Slide + + Display Location - - Split a slide into two by inserting a slide splitter. + + Use default location - - The&me: + + X position: - - &Credits: + + Y position: - - Save && Preview - - - - - Error - Error - - - - You need to type in a title. - - - - - You need to add at least one slide - - - - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom - Custom - - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays - - - - - Default Settings - - - - - X: - - - - - Y: - - - - - Height: - Height: - - - + Width: Width: - - Custom Settings + + Height: + Height: + + + + px + px + + + + &Main Font - - Width + + Footer Font + Footer Font + + + + &Footer Font - - Override display settings + + Outline + Outline + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + Shadow + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + Alignment + + + + Horizontal align: + + + + + Left + + + + + Right + Right + + + + Center + Centre + + + + Vertical align: + + + + + Top + + + + + Middle + Middle + + + + Bottom + + + + + Slide Transition + Slide Transition + + + + Transition active + + + + + &Other Options + + + + + Preview + Preview + + + + All Files + + + + + Select Image + + + + + First color: + + + + + Second color: + + + + + Slide height is %s rows. - GeneralTab + OpenLP.GeneralTab - - CCLI Details - CCLI Details - - - - primary - primary - - - - Show blank screen warning - Show blank screen warning - - - - Application Startup - Application Startup - - - + Select monitor for output display: - Select monitor for output display: + Select monitor for output display: - - Application Settings - Application Settings + + Display if a single screen + - - SongSelect Username: - SongSelect Username: + + Application Startup + Application Startup - - CCLI Number: - CCLI Number: + + Show blank screen warning + Show blank screen warning - + Automatically open the last service - Automatically open the last service + Automatically open the last service - - Preview Next Song from Service Manager - Preview Next Song from Service Manager + + Show the splash screen + - + + Application Settings + Application Settings + + + Prompt to save Service before starting New - Prompt to save the service before starting new + Prompt to save the service before starting new + + + + Preview Next Song from Service Manager + Preview Next Song from Service Manager + + + + SongSelect Username: + SongSelect Username: + + + + SongSelect Password: + + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + @@ -1464,102 +1745,33 @@ Changes do not affect verses already in the service. - - Show the splash screen - - - - - Screen - - - - + Monitors - - SongSelect Password: + + Screen - - Display if a single screen - + + primary + primary + + + + CCLI Details + CCLI Details + + + + CCLI Number: + CCLI Number: - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - - - - - Image Settings - Image Settings - - - - Slide Loop Delay: - - - - - sec - sec - - - - ImagePlugin.MediaItem - - - Image - - - - - Select Image(s) - Select Image(s) - - - - All Files - - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - Image(s) - - - - - You must select an item to process. - - - - - LanguageManager + OpenLP.LanguageManager Language @@ -1567,42 +1779,22 @@ Changes do not affect verses already in the service. - After restart new Language settings will be used. + Please restart OpenLP to use your new language setting. - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - The Main Display has been blanked out - - - - OpenLP Version Updated - OpenLP Version Updated - - - - Save Changes to Service? - Save Changes to Service? - - - - OpenLP Main Display Blanked - + + English + English OpenLP 2.0 - - - English - English - &File @@ -1639,7 +1831,7 @@ Changes do not affect verses already in the service. &Settings - + &Language @@ -1674,515 +1866,338 @@ Changes do not affect verses already in the service. New Service - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Open - + Open Service Open Service - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save - + Save Service Save Service - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit - + Quit OpenLP Quit OpenLP - + Alt+F4 Alt+F4 - + &Theme - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager - + Toggle Theme Manager Toggle Theme Manager - + Toggle the visibility of the theme manager. - + F10 - + &Service Manager &Service Manager - + Toggle Service Manager Toggle Service Manager. - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Preview Panel - + Toggle Preview Panel Toggle Preview Panel - + Toggle the visibility of the preview panel. - + F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 - + &Plugin List - + List the Plugins List the plugins - + Alt+F7 Alt+F7 - + &User Guide &User Guide - + &About - + More information about OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help - + &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + OpenLP Version Updated + + + + OpenLP Main Display Blanked + + + + + The Main Display has been blanked out + The Main Display has been blanked out + + + + Save Changes to Service? + Save Changes to Service? + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - You must select one or more items - You must select one or more items - - - - Delete the selected item - Delete the selected item - - - - &Add to Service - - - - - Send the selected item live - Send the selected item live. - - - - Add the selected item(s) to the service - Add the selected item(s) to the service. - - - - &Show Live - - - - - Preview the selected item - - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - - - - - MediaPlugin.MediaItem - - - Media - - - - - Select Media - - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2244,7 +2259,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2252,37 +2267,47 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation Presentation - + Select Presentation(s) - + Automatic - + Present using: Present using: - + File exists - + A presentation with that filename already exists. - + + Unsupported file + + + + + This type of presentation is not supported + + + + You must select an item to delete. @@ -2290,17 +2315,17 @@ You can download the latest version from http://openlp.org PresentationPlugin.PresentationTab - + Presentations - + Available Controllers Available Controllers - + available available @@ -2352,178 +2377,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Changes to Service? Save Changes to Service? - + Open Service Open Service - + Move to top Move to top - + Create a new service Create a new service - + Save this service Save this service - + Theme: Theme: - + Delete From Service Delete From Service - + &Change Item Theme &Change Item Theme - + Save Service Save Service - + &Live Verse &Live Verse - + New Service New Service - + &Notes - + Move to end Move to the end - + Select a theme for the service Select a theme for the service. - + Move up order Move up order. - + Move down order - + Load an existing service - + &Preview Verse - + &Edit Item - + Move to &top - + Move &up - + Move &down - + Move to &bottom - + &Delete From Service - + &Add New Item - + &Add to Selected Item - + &Maintain Item - + Your service is unsaved, do you want to save those changes before creating a new one? - + OpenLP Service Files (*.osz) - + Your current service is unsaved, do you want to save the changes before opening a new one? - + Error Error - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it @@ -2539,9 +2564,9 @@ The content encoding is not UTF-8. SettingsForm - - Settings - Settings + + Configure OpenLP + @@ -2552,12 +2577,12 @@ The content encoding is not UTF-8. Move to previous - + Go to Verse Go to Verse - + Start continuous loop Start continuous loop @@ -2567,12 +2592,12 @@ The content encoding is not UTF-8. Live - + Start playing media Start playing media - + Move to live Move to live @@ -2587,12 +2612,12 @@ The content encoding is not UTF-8. Move to last - + Edit and re-preview Song Edit and re-preview Song. - + Delay between slides in seconds Delay between slides in seconds. @@ -2607,12 +2632,12 @@ The content encoding is not UTF-8. - + Stop continuous loop - + s @@ -2668,58 +2693,78 @@ The content encoding is not UTF-8. SongsPlugin - + &Song &Song - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + + Open OpenSong file + + + + + Error importing OpenSong file + + + + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2735,22 +2780,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction - + Select Date Range - + to - + Report Location Report Location @@ -2794,139 +2839,139 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? - You haven't set a display name for the author, would you like me to combine the first and last names for you? + You have not set a display name for the author, would you like me to combine the first and last names for you? + SongsPlugin.EditSongForm - + Song Editor Song Editor - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit - + Ed&it All - + &Delete - + Title && Lyrics Title && Lyrics - + Authors Authors - + &Add to Song - + &Remove &Remove - - &Manage Authors, Topics, Books + + &Manage Authors, Topics, Song Books - + Topic Topic - + A&dd to Song - + R&emove - + Song Book - - Authors, Topics && Book - Authors, Topics && Book + + Authors, Topics && Song Book + - + Theme Theme - + New &Theme - + Copyright Information Copyright Information - + © - + CCLI Number: CCLI Number: - + Comments - + Theme, Copyright Info && Comments @@ -3024,17 +3069,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.EditVerseForm - + Edit Verse Edit Verse - + &Verse type: - + &Insert @@ -3082,97 +3127,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Starting import... Starting import... - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source Select Import Source - + Select the import format, and where to import from. - + Format: Format: - + OpenLyrics - + OpenSong OpenSong - + CCLI - + CSV CSV - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing - + Please wait while your songs are imported. - + Ready. - + %p% @@ -3180,87 +3225,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song Song - + Song Maintenance - + Maintain the lists of authors, topics and books Maintain the lists of authors, topics and books - + Search: Search: - + Type: Type: - + Clear - + Search Search - + Titles Titles - + Lyrics Lyrics - + Authors Authors - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? - + Delete Confirmation - + CCLI Licence: CCLI License: @@ -3269,8 +3314,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - Edit Book - Edit Book + Song Book Maintenance + @@ -3325,7 +3370,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Books/Hymnals + Song Books @@ -3344,95 +3389,115 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Error - - Couldn't add your author. + + Could not add your author. - - Couldn't add your topic. + + This author already exists. - - Couldn't add your book. + + Could not add your topic. - - Couldn't save your author. + + This topic already exists. - - Couldn't save your topic. + + Could not add your book. - - Couldn't save your book. + + This book already exists. - + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + Delete Author - + Are you sure you want to delete the selected author? Are you sure you want to delete the selected author? - - This author can't be deleted, they are currently assigned to at least one song. + + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! No author selected! - + Delete Topic Delete Topic - + Are you sure you want to delete the selected topic? - - This topic can't be deleted, it is currently assigned to at least one song. + + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book Delete Book - + Are you sure you want to delete the selected book? Are you sure you want to delete the selected book? - - This book can't be deleted, it is currently assigned to at least one song. + + This book cannot be deleted, it is currently assigned to at least one song. + + + No book selected! + No book selected! + SongsPlugin.SongUsageDeleteForm @@ -3517,169 +3582,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme Import Theme - + Delete Theme Delete Theme - + Error Error - + Edit Theme Edit Theme - + Export Theme Export Theme - + Theme Exists Theme Exists - + Save Theme - (%s) Save Theme - (%s) - + Select Theme Import File - + New Theme - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - - You are unable to delete the default theme. + + Delete Confirmation - - Theme %s is use in %s plugin. + + Delete theme? + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + Theme %s is use by the service manager. - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - - A theme with this name already exists. Would you like to overwrite it? + + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_es.ts b/resources/i18n/openlp_es.ts index af87639a4..0eecae217 100644 --- a/resources/i18n/openlp_es.ts +++ b/resources/i18n/openlp_es.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - + + &Alert + &Alerta + + + + Show an alert message. + + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <b>Alerts Plugin</b><br>Este plugin controla la visualización de alertas en la pantalla de presentaciones + + + + AlertsPlugin.AlertForm + + + Alert Message + Mensaje de Alerta + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + &Nuevo + + + + &Save + &Guardar + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + Alertas + + + + Font + Tipo de Letra + + + + pt + pt + + + + Alert timeout: + Espera: + + + + s + s + + + + Location: + Ubicación: + + + + Preview + Vista Previa + + + + Top + + + + + Middle + Medio + + + + Bottom + + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + OpenLP 2.0 + + + + BiblesPlugin + + + &Bible + &Biblia + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bible Plugin</strong><br />Este plugin permite visualizar versículos de la Biblia en la pantalla desde distintas fuentes durante el servicio. + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + Biblias + + + + Verse Display + Visualización de versículos + + + + Only show new chapter numbers + Solo mostrar los números de capítulos nuevos + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + Asistente de Importación de Biblias + + + + Welcome to the Bible Import Wizard + Bienvenido al Asistente de Importación de Biblias + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + Este asistente le ayudará a importar Biblias en una variedad de formatos. Haga clic en el botón siguiente para empezar el proceso seleccionando un formato a importar. + + + + Select Import Source + Seleccione Origen de Importación + + + + Select the import format, and where to import from. + Seleccione el formato y el lugar del cual importar. + + + + Format: + Formato: + + + + OSIS + OSIS + + + + CSV + CSV + + + + OpenSong + OpenSong + + + + Web Download + Descarga Web + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Location: + Ubicación: + + + + Crosswalk + Crosswalk + + + + BibleGateway + BibleGateway + + + + Bible: + Biblia: + + + + Download Options + Opciones de Descarga + + + + Server: + Servidor: + + + + Username: + Usuario: + + + + Password: + Contraseña: + + + + Proxy Server (Optional) + Servidor Proxy (Opcional) + + + + License Details + Detalles de Licencia + + + + Set up the Bible's license details. + Establezca los detalles de licencia de la Biblia. + + + + Version name: + + + + + Copyright: + Derechos de autor: + + + + Permission: + Permisos: + + + + Importing + Importando + + + + Please wait while your Bible is imported. + Por favor, espere mientras que la Biblia es importada. + + + + Ready. + Listo. + + + + Invalid Bible Location + Ubicación de Biblia no válida + + + + You need to specify a file to import your Bible from. + + + + + Invalid Books File + Archivo de Libros No Válido + + + + You need to specify a file with books of the Bible to use in the import. + + + + + Invalid Verse File + Archivo de Versículo No Válido + + + + You need to specify a file of Bible verses to import. + + + + + Invalid OpenSong Bible + Biblia OpenSong No Válida + + + + You need to specify an OpenSong Bible file to import. + + + + + Empty Version Name + Nombre de Versión Vacío + + + + You need to specify a version name for your Bible. + + + + + Empty Copyright + Derechos de autor en blanco + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + ¡Tiene que establecer los derechos de autor de la Biblia! Biblias de Dominio Público deben ser marcados como tales. + + + + Bible Exists + Ya existe la Biblia + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + ¡La Biblia ya existe! Por favor, importe una diferente o borre la anterior. + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open Verses CSV File + + + + + Open OpenSong Bible + Abrir Biblia OpenSong + + + + Starting import... + Iniciando importación... + + + + Finished import. + Importación finalizada. + + + + Your Bible import failed. + La importación de su Biblia falló. + + + + BiblesPlugin.MediaItem + + + Bible + Biblia + + + + Quick + Rápida + + + + Advanced + Avanzado + + + + Version: + Versión: + + + + Dual: + Paralela: + + + + Search type: + + + + + Find: + Encontrar: + + + + Search + Buscar + + + + Results: + Resultados: + + + + Book: + Libro: + + + + Chapter: + Capítulo: + + + + Verse: + Versículo: + + + + From: + Desde: + + + + To: + Hasta: + + + + Verse Search + Búsqueda de versículo + + + + Text Search + Búsqueda de texto + + + + Clear + Limpiar + + + + Keep + Conservar + + + + No Book Found + No se encontró el libro + + + + No matching book could be found in this Bible. + No se encuentra un libro que concuerde, en esta Biblia. + + + + etc + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + Importando + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + + + + + CustomPlugin.CustomTab + + + Custom + + + + + Custom Display + Presentación Personalizada + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Editar Diapositivas Personalizadas + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add New + Agregar Nueva + + + + Add a new slide at bottom. + + + + + Edit + Editar + + + + Edit the selected slide. + + + + + Edit All + Editar Todo + + + + Edit all the slides at once. + + + + + Save + Guardar + + + + Save the slide currently being edited. + + + + + Delete + Eliminar + + + + Delete the selected slide. + + + + + Clear + Limpiar + + + + Clear edit area + Limpiar el área de edición + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + Guardar && Vista Previa + + + + Error + Error + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + Imágenes + + + + Image Settings + Preferencias de Imagen + + + + sec + seg + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + Imagen + + + + Select Image(s) + Seleccionar Imagen(es) + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + Imagen(es) + + + + You must select an item to process. + + + + + MediaManagerItem + + + You must select one or more items + Usted debe seleccionar uno o más elementos + + + + &Add to Service + &Agregar al Servicio + + + + Send the selected item live + Enviar en vivo el ítem seleccionado + + + + Add the selected item(s) to the service + Agregar el elemento(s) seleccionado al servicio + + + + Delete the selected item + Borrar el ítem seleccionado + + + + &Show Live + Mo&star En Vivo + + + + Preview the selected item + Vista Previa del ítem seleccionado + + + + No Items Selected + + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <b>Media Plugin</b><br>Este plugin permite la reproducción de medios de audio y video + + + + MediaPlugin.MediaItem + + + Media + Medios + + + + Select Media + Seleccionar Medios + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + About OpenLP Acerca de OpenLP - + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -19,12 +1108,12 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + About Acerca De - + Project Lead Raoul "superfly" Snyman @@ -57,12 +1146,12 @@ Packagers - + Credits Créditos - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -197,17 +1286,17 @@ This General Public License does not permit incorporating your program into prop - + License Licencia - + Contribute Contribuir - + Close Cerrar @@ -218,1348 +1307,471 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - &Alerta - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Alerts Plugin</b><br>Este plugin controla la visualización de alertas en la pantalla de presentaciones - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - Mensaje de Alerta - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - &Nuevo - - - - &Save - &Guardar - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - Alertas - - - - Font - Tipo de Letra - - - - Font Name: - Fuente: - - - - Font Color: - - - - - Background Color: - Color de Fondo: - - - - Font Size: - Tamaño: - - - - pt - pt - - - - Alert timeout: - Espera: - - - - s - s - - - - Location: - Ubicación: - - - - Preview - Vista Previa - - - - openlp.org - openlp.org - - - - Top - - - - - Middle - Medio - - - - Bottom - - - - - AmendThemeForm - - - Theme Maintenance - Mantenimiento de Temas - - - - &Visibility: - - - - - Opaque - Opaco - - - - Transparent - Transparente - - - - Type: - Tipo: - - - - Solid Color - Color Sólido - - - - Gradient - Gradiente - - - - Image - Imagen - - - - Image: - Imagen: - - - - Gradient: - - - - - Horizontal - Horizontal - - - - Vertical - Vertical - - - - Circular - Circular - - - - &Background - - - - - Main Font - Tipo de Letra Principal - - - - Font: - Fuente: - - - - Color: - - - - - Size: - Tamaño: - - - - pt - pt - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Normal - Normal - - - - Bold - Negrita - - - - Italics - Cursiva - - - - Bold/Italics - Negrita/Cursiva - - - - Style: - - - - - Display Location - Ubicación en la pantalla - - - - X position: - - - - - Y position: - - - - - Width: - Ancho: - - - - Height: - Altura: - - - - px - px - - - - &Main Font - - - - - Footer Font - Fuente de Pie de Página - - - - &Footer Font - - - - - Outline - Contorno - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow - Sombra - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Alignment - Alineación - - - - Horizontal align: - - - - - Left - Izquierda - - - - Right - Derecha - - - - Center - Centro - - - - Vertical align: - - - - - Top - - - - - Middle - Medio - - - - Bottom - - - - - Slide Transition - Transición de Diapositiva - - - - &Other Options - - - - - Preview - Vista Previa - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bible Plugin</strong><br />Este plugin permite visualizar versículos de la Biblia en la pantalla desde distintas fuentes durante el servicio. - - - - &Bible - &Biblia - - - - BiblesPlugin.BiblesTab - - - Verse Display - Visualización de versículos - - - - Only show new chapter numbers - Solo mostrar los números de capítulos nuevos - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - Biblias - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - Asistente de Importación de Biblias - - - - Welcome to the Bible Import Wizard - Bienvenido al Asistente de Importación de Biblias - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - Este asistente le ayudará a importar Biblias en una variedad de formatos. Haga clic en el botón siguiente para empezar el proceso seleccionando un formato a importar. - - - - Select Import Source - Seleccione Origen de Importación - - - - Select the import format, and where to import from. - Seleccione el formato y el lugar del cual importar. - - - - Format: - Formato: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - - Web Download - Descarga Web - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - Ubicación: - - - - Crosswalk - Crosswalk - - - - BibleGateway - BibleGateway - - - - Bible: - Biblia: - - - - Download Options - Opciones de Descarga - - - - Server: - Servidor: - - - - Username: - Usuario: - - - - Password: - Contraseña: - - - - Proxy Server (Optional) - Servidor Proxy (Opcional) - - - - License Details - Detalles de Licencia - - - - Set up the Bible's license details. - Establezca los detalles de licencia de la Biblia. - - - - Version name: - - - - - Copyright: - Derechos de autor: - - - - Permission: - Permiso: - - - - Importing - Importando - - - - Please wait while your Bible is imported. - Por favor, espere mientras que la Biblia es importada. - - - - Ready. - Listo. - - - - Invalid Bible Location - Ubicación de Biblia no válida - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - Archivo de Libros No Válido - - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Verse File - Archivo de Versículo No Válido - - - - You need to specify a file of Bible verses to import. - - - - - Invalid OpenSong Bible - Biblia OpenSong No Válida - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - Nombre de Versión Vacío - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - Derechos de autor en blanco - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - ¡Tiene que establecer los derechos de autor de la Biblia! Biblias de Dominio Público deben ser marcados como tales. - - - - Bible Exists - Ya existe la Biblia - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - ¡La Biblia ya existe! Por favor, importe una diferente o borre la anterior. - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - Abrir Biblia OpenSong - - - - Starting import... - Iniciando importación... - - - - Finished import. - Importación finalizada. - - - - Your Bible import failed. - La importación de su Biblia falló. - - - - BiblesPlugin.MediaItem - - - Bible - Biblia - - - - Quick - Rápida - - - + Advanced Avanzado - - Version: - Versión: - - - - Dual: - Paralela: - - - - Search type: + + UI Settings - - Find: - Encontrar: - - - - Search - Buscar - - - - Results: - Resultados: - - - - Book: - Libro: - - - - Chapter: - Capítulo: - - - - Verse: - Versículo: - - - - From: - Desde: - - - - To: - Hasta: - - - - Verse Search - Búsqueda de versículo - - - - Text Search - Búsqueda de texto - - - - Clear - Limpiar - - - - Keep - Conservar - - - - No Book Found - No se encontró el libro - - - - No matching book could be found in this Bible. - No se encuentra un libro que concuerde, en esta Biblia. - - - - etc + + Number of recent files to display: - - Bible not fully loaded. + + Save currently selected media manager plugin + + + + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - Importando + + Theme Maintenance + Mantenimiento de Temas - - - CustomPlugin - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomPlugin.CustomTab - - - Custom + + Theme &name: - - Custom Display - Presentación Personalizada - - - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides - Editar Diapositivas Personalizadas - - - - Move slide up once position. + + &Visibility: - - Move slide down one position. - + + Opaque + Opaco - - &Title: - + + Transparent + Transparente - - Add New - Agregar Nueva + + Type: + Tipo: - - Add a new slide at bottom. - + + Solid Color + Color Sólido - - Edit - Editar + + Gradient + Gradiente - - Edit the selected slide. - - - - - Edit All - Editar Todo - - - - Edit all the slides at once. - - - - - Save - Guardar - - - - Save the slide currently being edited. - - - - - Delete - Eliminar - - - - Delete the selected slide. - - - - - Clear - Limpiar - - - - Clear edit area - Limpiar el área de edición - - - - Split Slide - - - - - Split a slide into two by inserting a slide splitter. - - - - - The&me: - - - - - &Credits: - - - - - Save && Preview - Guardar && Vista Previa - - - - Error - Error - - - - You need to type in a title. - - - - - You need to add at least one slide - - - - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom - - - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays - - - - - Default Settings - - - - - X: - - - - - Y: - - - - - Height: - Altura: - - - - Width: - Ancho: - - - - Custom Settings - - - - - Width - - - - - Override display settings - - - - - GeneralTab - - - CCLI Details - Detalles de CCLI - - - - SongSelect Password: - Contraseña SongSelect: - - - - primary - primario - - - - Application Startup - Inicio de la Aplicación - - - - Select monitor for output display: - Seleccionar monitor para visualizar la salida: - - - - Application Settings - Configuración del Programa - - - - SongSelect Username: - Usuario SongSelect: - - - - CCLI Number: - Número CCLI: - - - - Automatically open the last service - Abrir automáticamente el último servicio - - - - Preview Next Song from Service Manager - Vista Previa de la Siguiente Canción del Servicio - - - - Show blank screen warning - Mostrar advertencia de pantalla en blanco - - - - Prompt to save Service before starting New - Pedir salvar el Servicio al crear uno Nuevo - - - - General - General - - - - Show the splash screen - Mostrar pantalla de bienvenida - - - - Screen - Pantalla - - - - Monitors - Monitores - - - - Display if a single screen - - - - - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - Imágenes - - - - Image Settings - Preferencias de Imagen - - - - Slide Loop Delay: - Retraso del Bucle: - - - - sec - seg - - - - ImagePlugin.MediaItem - - + Image Imagen - - Select Image(s) - Seleccionar Imagen(es) + + Image: + Imagen: - + + Gradient: + + + + + Horizontal + Horizontal + + + + Vertical + Vertical + + + + Circular + Circular + + + + &Background + + + + + Main Font + Tipo de Letra Principal + + + + Font: + Fuente: + + + + Color: + + + + + Size: + Tamaño: + + + + pt + pt + + + + Wrap indentation: + + + + + Adjust line spacing: + + + + + Normal + Normal + + + + Bold + Negrita + + + + Italics + Cursiva + + + + Bold/Italics + Negrita/Cursiva + + + + Style: + + + + + Display Location + Ubicación en la pantalla + + + + Use default location + + + + + X position: + + + + + Y position: + + + + + Width: + Ancho: + + + + Height: + Altura: + + + + px + px + + + + &Main Font + + + + + Footer Font + Fuente de Pie de Página + + + + &Footer Font + + + + + Outline + Contorno + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + Sombra + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + Alineación + + + + Horizontal align: + + + + + Left + Izquierda + + + + Right + Derecha + + + + Center + Centro + + + + Vertical align: + + + + + Top + + + + + Middle + Medio + + + + Bottom + + + + + Slide Transition + Transición de Diapositiva + + + + Transition active + + + + + &Other Options + + + + + Preview + Vista Previa + + + All Files - - Replace Live Background + + Select Image - - You must select an item to delete. + + First color: - - Image(s) - Imagen(es) + + Second color: + - - You must select an item to process. + + Slide height is %s rows. - LanguageManager + OpenLP.GeneralTab + + + Select monitor for output display: + Seleccionar monitor para visualizar la salida: + + + + Display if a single screen + + + + + Application Startup + Inicio de la Aplicación + + + + Show blank screen warning + Mostrar advertencia de pantalla en blanco + + + + Automatically open the last service + Abrir automáticamente el último servicio + + + + Show the splash screen + Mostrar pantalla de bienvenida + + + + Application Settings + Configuración del Programa + + + + Prompt to save Service before starting New + Pedir salvar el Servicio al crear uno Nuevo + + + + Preview Next Song from Service Manager + Vista Previa de la Siguiente Canción en el Servicio + + + + SongSelect Username: + Usuario SongSelect: + + + + SongSelect Password: + Contraseña SongSelect: + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + + + + General + General + + + + Monitors + Monitores + + + + Screen + Pantalla + + + + primary + primario + + + + CCLI Details + Detalles de CCLI + + + + CCLI Number: + Número CCLI: + + + + OpenLP.LanguageManager Language @@ -1567,42 +1779,22 @@ Changes do not affect verses already in the service. - After restart new Language settings will be used. + Please restart OpenLP to use your new language setting. - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - La Pantalla Principal esta en negro - - - - OpenLP Version Updated - Versión de OpenLP Actualizada - - - - Save Changes to Service? - ¿Guardar los Cambios al Servicio? - - - - OpenLP Main Display Blanked - Pantalla Principal de OpenLP en Blanco + + English + Ingles OpenLP 2.0 OpenLP 2.0 - - - English - Ingles - &File @@ -1639,7 +1831,7 @@ Changes do not affect verses already in the service. &Preferencias - + &Language &Idioma @@ -1674,515 +1866,338 @@ Changes do not affect verses already in the service. Servicio Nuevo - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Abrir - + Open Service Abrir Servicio - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Guardar - + Save Service Guardar Servicio - + Save the current service to disk. - + Ctrl+S Crtl+G - + Save &As... Guardar &Como... - + Save Service As Guardar Servicio Como - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Salir - + Quit OpenLP Salir de OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager Gestor de &Medios - + Toggle Media Manager Alternar Gestor de Medios - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager Gestor de &Temas - + Toggle Theme Manager Alternar Gestor de Temas - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager Gestor de &Servicio - + Toggle Service Manager Alternar Gestor de Servicio - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Panel de Vista Previa - + Toggle Preview Panel Alternar Panel de Vista Previa - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List Lista de &Plugins - + List the Plugins Lista de Plugins - + Alt+F7 Alt+F7 - + &User Guide Guía de &Usuario - + &About &Acerca De - + More information about OpenLP Más información acerca de OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Ayuda En Línea - + &Web Site Sitio &Web - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live En &vivo - + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + Versión de OpenLP Actualizada + + + + OpenLP Main Display Blanked + Pantalla Principal de OpenLP en Blanco + + + + The Main Display has been blanked out + La Pantalla Principal esta en negro + + + + Save Changes to Service? + + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - You must select one or more items - Usted debe seleccionar uno o más elementos - - - - &Add to Service - &Agregar al Servicio - - - - Send the selected item live - Enviar en vivo el ítem seleccionado - - - - Add the selected item(s) to the service - Agregar el elemento(s) seleccionado(s) al el servicio - - - - Delete the selected item - Borrar el ítem seleccionado - - - - &Show Live - Mo&star En Vivo - - - - Preview the selected item - Vista Previa del ítem seleccionado - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Media Plugin</b><br>Este plugin permite la reproducción de medios de audio y video - - - - MediaPlugin.MediaItem - - - Media - Medios - - - - Select Media - Seleccionar Medios - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2244,7 +2259,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2252,37 +2267,47 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation Presentación - + Select Presentation(s) Seleccionar Presentación(es) - + Automatic - + Present using: Mostrar usando: - + File exists Ya existe el Archivo - + A presentation with that filename already exists. Ya existe una presentación con ese nombre. - + + Unsupported file + + + + + This type of presentation is not supported + + + + You must select an item to delete. @@ -2290,17 +2315,17 @@ You can download the latest version from http://openlp.org PresentationPlugin.PresentationTab - + Presentations Presentaciones - + Available Controllers Controladores Disponibles - + available disponible @@ -2352,178 +2377,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Service Guardar Servicio - + Save Changes to Service? ¿Guardar cambios al Servicio? - + Open Service Abrir Servicio - + Move to top Mover al principio - + Create a new service Crear un servicio nuevo - + Save this service Guardar este servicio - + Theme: Tema: - + Delete From Service Eliminar Del Servicio - + &Change Item Theme &Cambiar Tema de Ítem - + &Preview Verse &Previzualizar Verso - + &Live Verse Verso En &Vivo - + New Service Servicio Nuevo - + &Notes &Notas - + Select a theme for the service Seleccione un tema para el servicio - + Move up order Mover hacia arriba - + Move down order Mover hacia abajo - + Load an existing service Abrir un servicio existente - + Move to end Mover al final - + &Edit Item &Editar Ítem - + Move to &top - + Move &up - + Move &down - + Move to &bottom - + &Delete From Service - + &Add New Item - + &Add to Selected Item - + &Maintain Item - + Your service is unsaved, do you want to save those changes before creating a new one? - + OpenLP Service Files (*.osz) - + Your current service is unsaved, do you want to save the changes before opening a new one? - + Error Error - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it @@ -2539,9 +2564,9 @@ The content encoding is not UTF-8. SettingsForm - - Settings - Preferencias + + Configure OpenLP + @@ -2552,22 +2577,22 @@ The content encoding is not UTF-8. Regresar al anterior - + Edit and re-preview Song Editar y re-visualizar Canción - + Delay between slides in seconds Espera entre diapositivas en segundos - + Go to Verse Ir al Verso - + Start continuous loop Iniciar bucle continuo @@ -2577,12 +2602,12 @@ The content encoding is not UTF-8. En vivo - + Start playing media Iniciar la reproducción de medios - + Move to live Proyectar en vivo @@ -2607,12 +2632,12 @@ The content encoding is not UTF-8. Vista Previa - + Stop continuous loop Detener el bucle - + s s @@ -2632,7 +2657,7 @@ The content encoding is not UTF-8. Start/Stop live song usage recording - Grabar los tiempos de la canción en vivo + Sincronizar la canción en vivo @@ -2668,58 +2693,78 @@ The content encoding is not UTF-8. SongsPlugin - + &Song &Canción - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + + Open OpenSong file + + + + + Error importing OpenSong file + + + + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2735,22 +2780,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction - + Select Date Range - + to hasta - + Report Location Ubicación de Reporte @@ -2794,139 +2839,139 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? - No se ha puesto un nombre para el autor, ¿le gustaría que el nombre y los apellidos se combinen por usted? + You have not set a display name for the author, would you like me to combine the first and last names for you? + SongsPlugin.EditSongForm - + Song Editor Editor de Canción - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit &Editar - + Ed&it All - + &Delete - + Title && Lyrics Título && Letra - + Authors Autores - + &Add to Song &Agregar a Canción - + &Remove &Quitar - - &Manage Authors, Topics, Books - Ad&ministrar Autores, Categorías, Libros + + &Manage Authors, Topics, Song Books + - + Topic Categoría - + A&dd to Song A&gregar a Canción - + R&emove &Quitar - + Song Book Himnario - - Authors, Topics && Book - Autores, Categorías && Libros + + Authors, Topics && Song Book + - + Theme Tema - + New &Theme - + Copyright Information Información de Derechos de Autor - + © - + CCLI Number: Número CCLI: - + Comments Comentarios - + Theme, Copyright Info && Comments Tema, Derechos de Autor && Comentarios @@ -3024,17 +3069,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.EditVerseForm - + Edit Verse Editar Verso - + &Verse type: - + &Insert @@ -3082,97 +3127,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Starting import... Iniciando importación... - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source Seleccione Origen de Importación - + Select the import format, and where to import from. Seleccione el formato y el lugar del cual importar. - + Format: Formato: - + OpenLyrics - + OpenSong OpenSong - + CCLI - + CSV CSV - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing Importando - + Please wait while your songs are imported. - + Ready. Listo. - + %p% @@ -3180,87 +3225,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song Canción - + Song Maintenance - + Maintain the lists of authors, topics and books Administrar la lista de autores, categorías y libros - + Search: Buscar: - + Type: Tipo: - + Clear Limpiar - + Search Buscar - + Titles Títulos - + Lyrics Letra - + Authors Autores - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? - + Delete Confirmation - + CCLI Licence: Licencia CCLI: @@ -3269,8 +3314,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - Edit Book - Editar Himnario + Song Book Maintenance + @@ -3325,8 +3370,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Books/Hymnals - Libros/Himnarios + Song Books + @@ -3344,95 +3389,115 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Error - - Couldn't add your author. + + Could not add your author. - - Couldn't add your topic. + + This author already exists. - - Couldn't add your book. + + Could not add your topic. - - Couldn't save your author. + + This topic already exists. - - Couldn't save your topic. + + Could not add your book. - - Couldn't save your book. + + This book already exists. - + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + Delete Author Borrar Autor - + Are you sure you want to delete the selected author? ¿Está seguro que desea eliminar el autor seleccionado? - - This author can't be deleted, they are currently assigned to at least one song. + + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! ¡Ningún autor seleccionado! - + Delete Topic Borrar Categoría - + Are you sure you want to delete the selected topic? ¿Está seguro que desea eliminar la categoría seleccionada? - - This topic can't be deleted, it is currently assigned to at least one song. + + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! ¡No seleccionó la categoría! - + Delete Book Eliminar Libro - + Are you sure you want to delete the selected book? ¿Está seguro de que quiere eliminar el libro seleccionado? - - This book can't be deleted, it is currently assigned to at least one song. + + This book cannot be deleted, it is currently assigned to at least one song. + + + No book selected! + ¡Ningún libro seleccionado! + SongsPlugin.SongUsageDeleteForm @@ -3517,169 +3582,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme Importar Tema - + Delete Theme Eliminar Tema - + Error Error - + Edit Theme Editar Tema - + Export Theme Exportar Tema - + Theme Exists Ya existe el Tema - + Save Theme - (%s) Guardar Tema - (%s) - + Select Theme Import File Seleccione el Archivo de Tema a Importar - + New Theme Tema Nuevo - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - - You are unable to delete the default theme. + + Delete Confirmation - - Theme %s is use in %s plugin. + + Delete theme? + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + Theme %s is use by the service manager. - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - - A theme with this name already exists. Would you like to overwrite it? + + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_et.ts b/resources/i18n/openlp_et.ts index 4836a79f2..5a41bc289 100644 --- a/resources/i18n/openlp_et.ts +++ b/resources/i18n/openlp_et.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - - About OpenLP - OpenLP-st lähemalt + + &Alert + - + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + + + + + Show an alert message. + + + + + AlertsPlugin.AlertForm + + + Alert Message + + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + &Uus + + + + &Save + &Salvesta + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + + + + + Font + + + + + pt + pt + + + + Alert timeout: + + + + + s + s + + + + Location: + + + + + Preview + Eelvaade + + + + Top + Üleval + + + + Bottom + All + + + + Middle + Keskel + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + OpenLP 2.0 + + + + BiblesPlugin + + + &Bible + + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Verse Display + + + + + Only show new chapter numbers + + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + Bibles + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + + + + + Format: + + + + + OSIS + + + + + CSV + + + + + OpenSong + + + + + Web Download + + + + + Location: + + + + + Crosswalk + + + + + BibleGateway + + + + + Bible: + + + + + Download Options + + + + + Server: + + + + + Username: + + + + + Password: + + + + + License Details + + + + + Copyright: + + + + + Permission: + + + + + Importing + + + + + Ready. + + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open OpenSong Bible + + + + + Starting import... + + + + + Welcome to the Bible Import Wizard + + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + + + + + Select Import Source + + + + + Select the import format, and where to import from. + + + + + Proxy Server (Optional) + + + + + Set up the Bible's license details. + + + + + Please wait while your Bible is imported. + + + + + Invalid Bible Location + + + + + You need to specify a file to import your Bible from. + + + + + Invalid Books File + + + + + You need to specify a file with books of the Bible to use in the import. + + + + + Invalid Verse File + + + + + You need to specify a file of Bible verses to import. + + + + + Invalid OpenSong Bible + + + + + You need to specify an OpenSong Bible file to import. + + + + + Empty Version Name + + + + + You need to specify a version name for your Bible. + + + + + Empty Copyright + + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + + + + + Bible Exists + + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + + + + + Open Verses CSV File + + + + + Finished import. + + + + + Your Bible import failed. + + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Version name: + + + + + BiblesPlugin.MediaItem + + + Bible + + + + + Quick + + + + + Advanced + + + + + Version: + Versioon: + + + + Dual: + + + + + Find: + + + + + Search + + + + + Results: + + + + + Book: + + + + + Chapter: + + + + + Verse: + + + + + From: + + + + + To: + + + + + Verse Search + + + + + Text Search + + + + + Clear + + + + + Keep + + + + + No Book Found + + + + + etc + + + + + No matching book could be found in this Bible. + + + + + Search type: + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + + + + + CustomPlugin.CustomTab + + + Custom + + + + + Custom Display + + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Kohandatud slaidide muutmine + + + + Add New + Uue lisamine + + + + Edit + Muuda + + + + Edit All + Kõigi muutmine + + + + Save + Salvesta + + + + Delete + Kustuta + + + + Clear + Puhasta + + + + Clear edit area + Muutmise ala puhastamine + + + + Split Slide + Tükelda slaid + + + + Save && Preview + Salvesta && eelvaatle + + + + Error + Viga + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add a new slide at bottom. + + + + + Edit the selected slide. + + + + + Edit all the slides at once. + + + + + Save the slide currently being edited. + + + + + Delete the selected slide. + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + Pildid + + + + Image Settings + Pildi sätted + + + + sec + s + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + Pilt + + + + Select Image(s) + Pildi (piltide) valimine + + + + All Files + + + + + Replace Live Background + Ekraani tausta asendamine + + + + You must select an item to delete. + + + + + Image(s) + Pilt(pildid) + + + + You must select an item to process. + + + + + MediaManagerItem + + + Invalid Service Item + Vigane teenistuse element + + + + No Items Selected + Ühtegi elementi pole valitud + + + + You must select one or more items + Pead valima vähemalt ühe elemendi + + + + &Add to selected Service Item + &Lisa valitud teenistuse elemendile + + + + No items selected + Ühtegi elementi pole valitud + + + + &Add to Service + &Lisa teenistusele + + + + Send the selected item live + Valitud kirje saatmine ekraanile + + + + Add the selected item(s) to the service + Valitud kirje(te) lisamine teenistusse + + + + Delete the selected item + Valitud elemendi kustutamine + + + + No Service Item Selected + Ühtegi teenistuse elementi pole valitud + + + + &Show Live + &Kuva ekraanil + + + + Preview the selected item + Valitud kirje eelvaatlus + + + + You must select one or more items. + Pead valima vähemalt ühe elemendi. + + + + You must select an existing service item to add to. + Pead valima olemasoleva teenistuse, millele lisada. + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <b>Meedia plugin</b><br>See plugin võimaldab audio ja video esitamise + + + + MediaPlugin.MediaItem + + + Media + Meedia + + + + Select Media + Meedia valimine + + + + You must select an item to delete. + + + + + Replace Live Background + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + + About OpenLP + OpenLP-st lähemalt + + + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -16,7 +1105,7 @@ OpenLP is free church presentation software, or lyrics projection software, used Find out more about OpenLP: http://openlp.org/ OpenLP is written and maintained by volunteers. If you would like to see more free Christian software being written, please consider contributing by using the button below. - OpenLP <version><revision> - avatud lähtekoodiga laulusõnade kuvaja + OpenLP <version><revision> - avatud lähtekoodiga laulusõnade kuvaja OpenLP on vaba esitlustarkvara kirikusse võib öelda ka laulusõnade projitseerimise tarkvara, mida kasutatakse lauluslaidide, piiblisalmide, videote, piltide ja isegi esitluste (kui OpenOffice.org, PowerPoint või PowerPoint Viewer on paigaldatud) kirikus installed) kuvamiseks dataprojektori kaudu kirikus. @@ -25,12 +1114,12 @@ OpenLP kohta võid lähemalt uurida aadressil: http://openlp.org/ OpenLP on kirjutatud vabatahtlike poolt. Kui sulle meeldiks näha rohkem kristlikku tarkvara, siis võid kaaluda annetamist, selleks klõpsa alumisele nupule. - + About - Programmist + Programmist - + Project Lead Raoul "superfly" Snyman @@ -60,7 +1149,7 @@ Packagers Matthias "matthub" Hub (Mac OS X) Raoul "superfly" Snyman (Windows) - Projekti juht + Projekti juht Raoul "superfly" Snyman Arendajad @@ -90,12 +1179,12 @@ Pakendajad Raoul "superfly" Snyman (Windows) - + Credits - Autorid + Autorid - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -230,19 +1319,19 @@ This General Public License does not permit incorporating your program into prop - + License - Litsents + Litsents - + Contribute - Aita kaasa + Aita kaasa - + Close - Sulge + Sulge @@ -251,1968 +1340,894 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - &Uus - - - - &Save - &Salvesta - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - - - - - Font - - - - - Font Name: - - - - - Font Color: - - - - - Background Color: - - - - - Font Size: - - - - - pt - pt - - - - Alert timeout: - - - - - s - s - - - - Location: - - - - - Preview - Eelvaade - - - - openlp.org - - - - - Top - Üleval - - - - Bottom - All - - - - Middle - Keskel - - - - AmendThemeForm - - - Theme Maintenance - Kujunduste haldus - - - - Opaque - Läbipaistmatu - - - - Transparent - Läbipaistev - - - - Solid Color - Ühtlane värv - - - - Gradient - Üleminek - - - - Image - Pilt - - - - Image: - Pilt: - - - - Horizontal - Horisontaalne - - - - Vertical - Vertikaalne - - - - Circular - Ümmargune - - - - Main Font - Peamine kirjastiil - - - - Font: - Kirjastiil: - - - - Size: - Suurus: - - - - pt - pt - - - - Normal - Tavaline - - - - Bold - Rasvane - - - - Italics - Kursiiv - - - - Bold/Italics - Rasvane/kaldkiri - - - - Display Location - Kuva asukoht - - - - Width: - Laius: - - - - Height: - Kõrgus: - - - - px - px - - - - Footer Font - Jaluse kirjatüüp - - - - Outline - Välisjoon - - - - Shadow - Vari - - - - Alignment - Joondus - - - - Left - Vasakul - - - - Right - Paremal - - - - Center - Keskel - - - - Top - Üleval - - - - Middle - Keskel - - - - Bottom - All - - - - Slide Transition - Slaidide üleminek - - - - Preview - Eelvaade - - - - Type: - Liik: - - - - Gradient: - - - - - &Background - - - - - Color: - - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Style: - - - - - X position: - - - - - Y position: - - - - - &Main Font - - - - - &Footer Font - - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Horizontal align: - - - - - Vertical align: - - - - - &Other Options - - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - &Visibility: - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - &Bible - - - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - - - - - BiblesPlugin.BiblesTab - - - Verse Display - - - - - Only show new chapter numbers - - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - - - - - Format: - - - - - OSIS - - - - - CSV - - - - - OpenSong - - - - - Web Download - - - - - Location: - - - - - Crosswalk - - - - - BibleGateway - - - - - Bible: - - - - - Download Options - - - - - Server: - - - - - Username: - - - - - Password: - - - - - License Details - - - - - Copyright: - - - - - Permission: - - - - - Importing - - - - - Ready. - - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open OpenSong Bible - - - - - Starting import... - - - - - Welcome to the Bible Import Wizard - - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - - - - - Select Import Source - - - - - Select the import format, and where to import from. - - - - - Proxy Server (Optional) - - - - - Set up the Bible's license details. - - - - - Please wait while your Bible is imported. - - - - - Invalid Bible Location - - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - - - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Verse File - - - - - You need to specify a file of Bible verses to import. - - - - - Invalid OpenSong Bible - - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - - - - - Bible Exists - - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - - - - - Open Verses CSV File - - - - - Finished import. - - - - - Your Bible import failed. - - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Version name: - - - - - BiblesPlugin.MediaItem - - - Bible - - - - - Quick - - - - + Advanced - - Version: - Versioon: - - - - Dual: + + UI Settings - - Find: + + Number of recent files to display: - - Search + + Save currently selected media manager plugin - - Results: - - - - - Book: - - - - - Chapter: - - - - - Verse: - - - - - From: - - - - - To: - - - - - Verse Search - - - - - Text Search - - - - - Clear - - - - - Keep - - - - - No Book Found - - - - - etc - - - - - No matching book could be found in this Bible. - - - - - Search type: - - - - - Bible not fully loaded. + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - + + Theme Maintenance + Kujunduste haldus - - - CustomPlugin - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomPlugin.CustomTab - - - Custom + + Theme &name: - - Custom Display + + &Visibility: - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides - Kohandatud slaidide muutmine + + Opaque + Läbipaistmatu - - Add New - Uue lisamine + + Transparent + Läbipaistev - - Edit - Muuda + + Type: + Liik: - - Edit All - Kõigi muutmine + + Solid Color + Ühtlane värv - - Save - Salvesta + + Gradient + Üleminek - - Delete - Kustuta - - - - Clear - Puhasta - - - - Clear edit area - Muutmise ala puhastamine - - - - Split Slide - Tükelda slaid - - - - Save && Preview - Salvesta && eelvaatle - - - - Error - Viga - - - - Move slide up once position. - - - - - Move slide down one position. - - - - - &Title: - - - - - Add a new slide at bottom. - - - - - Edit the selected slide. - - - - - Edit all the slides at once. - - - - - Save the slide currently being edited. - - - - - Delete the selected slide. - - - - - Split a slide into two by inserting a slide splitter. - - - - - The&me: - - - - - &Credits: - - - - - You need to type in a title. - - - - - You need to add at least one slide - - - - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom - - - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays - Kuva - - - - Default Settings - - - - - Width - - - - - X: - - - - - Y: - - - - - Height: - Kõrgus: - - - - Width: - Laius: - - - - Custom Settings - - - - - Override display settings - - - - - GeneralTab - - - CCLI Details - CCLI andmed - - - - SongSelect Password: - SongSelecti parool: - - - - primary - peamine - - - - Application Startup - Rakenduse käivitumine - - - - Select monitor for output display: - Vali väljundkuva monitor: - - - - Application Settings - Rakenduse sätted - - - - SongSelect Username: - SongSelecti kasutajanimi: - - - - CCLI Number: - CCLI number: - - - - Automatically open the last service - Automaatselt avatakse viimane teenistus - - - - Preview Next Song from Service Manager - Teenistuse haldurist kuvatakse järgmise laulu eelvaade - - - - Show blank screen warning - Kuvatakse tühja ekraani hoiatust - - - - Prompt to save Service before starting New - Uue teenistuse loomise pakutakse vana salvestamist - - - - General - Üldine - - - - Show the splash screen - Käivitumisel kuvatakse logo - - - - Screen - Ekraan - - - - Monitors - Monitorid - - - - Display if a single screen - Kuvatakse, kui on ainult üks ekraan - - - - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - Pildid - - - - Image Settings - Pildi sätted - - - - Slide Loop Delay: - Slaidide vahetuse viivitus: - - - - sec - s - - - - ImagePlugin.MediaItem - - + Image Pilt - - Select Image(s) - Pildi (piltide) valimine + + Image: + Pilt: - + + Gradient: + + + + + Horizontal + Horisontaalne + + + + Vertical + Vertikaalne + + + + Circular + Ümmargune + + + + &Background + + + + + Main Font + Peamine kirjastiil + + + + Font: + Kirjastiil: + + + + Color: + + + + + Size: + Suurus: + + + + pt + pt + + + + Wrap indentation: + + + + + Adjust line spacing: + + + + + Normal + Tavaline + + + + Bold + Rasvane + + + + Italics + Kursiiv + + + + Bold/Italics + Rasvane/kaldkiri + + + + Style: + + + + + Display Location + Kuva asukoht + + + + Use default location + + + + + X position: + + + + + Y position: + + + + + Width: + Laius: + + + + Height: + Kõrgus: + + + + px + px + + + + &Main Font + + + + + Footer Font + Jaluse kirjatüüp + + + + &Footer Font + + + + + Outline + Välisjoon + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + Vari + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + Joondus + + + + Horizontal align: + + + + + Left + Vasakul + + + + Right + Paremal + + + + Center + Keskel + + + + Vertical align: + + + + + Top + Üleval + + + + Middle + Keskel + + + + Bottom + All + + + + Slide Transition + Slaidide üleminek + + + + Transition active + + + + + &Other Options + + + + + Preview + Eelvaade + + + All Files - - Replace Live Background - Ekraani tausta asendamine - - - - You must select an item to delete. + + Select Image - - Image(s) - Pilt(pildid) + + First color: + - - You must select an item to process. + + Second color: + + + + + Slide height is %s rows. - LanguageManager + OpenLP.GeneralTab + + + Select monitor for output display: + Vali väljundkuva monitor: + + + + Display if a single screen + Kuvatakse, kui on ainult üks ekraan + + + + Application Startup + Rakenduse käivitumine + + + + Show blank screen warning + Kuvatakse tühja ekraani hoiatust + + + + Automatically open the last service + Automaatselt avatakse viimane teenistus + + + + Show the splash screen + Käivitumisel kuvatakse logo + + + + Application Settings + Rakenduse sätted + + + + Prompt to save Service before starting New + Uue teenistuse loomise pakutakse vana salvestamist + + + + Preview Next Song from Service Manager + Teenistuse haldurist kuvatakse järgmise laulu eelvaade + + + + SongSelect Username: + SongSelecti kasutajanimi: + + + + SongSelect Password: + SongSelecti parool: + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + + + + General + Üldine + + + + Monitors + Monitorid + + + + Screen + Ekraan + + + + primary + peamine + + + + CCLI Details + CCLI andmed + + + + CCLI Number: + CCLI number: + + + + OpenLP.LanguageManager Language - Keel + Keel - After restart new Language settings will be used. - Keele sätteid kasutatakse pärast taaskäivitust. + Please restart OpenLP to use your new language setting. + - MainWindow - - - The Main Display has been blanked out - Peakuva on tühi - - - - OpenLP Version Updated - OpenLP uuendus - - - - Save Changes to Service? - Kas salvestada teenistusse tehtud muudatused? - - - - OpenLP Main Display Blanked - OpenLP peakuva on tühi - - - - List the Plugins - Pluginate loend - - - - &Service Manager - &Teenistuse haldur - - - - Open Service - Teenistuse avamine - - - - Media Manager - Meediahaldur - - - - Alt+F4 - Alt+F4 - - - - &User Guide - &Kasutajajuhend - - - - &Import - &Impordi - - - - Quit OpenLP - Lahku OpenLPst - - - - &Preview Panel - &Eelvaatluspaneel - - - - &New - &Uus - - - - Ctrl+N - Ctrl+N - - - - Toggle Preview Panel - Eelvaatluspaneeli lüliti - - - - &Live - &Otse - - - - F9 - F9 - - - - F8 - F8 - - - - Add &Tool... - Lisa &tööriist... - - - - &View - &Vaade - - - - &Export - &Ekspordi - - - - &Open - &Ava - - - - Toggle Theme Manager - Kujunduse halduri lüliti - - - - &Settings - &Sätted - - - - Ctrl+S - Ctrl+S - - - - Ctrl+O - Ctrl+O - - - - &File - &Fail - - - - E&xit - &Välju - - - - &Help - A&bi - - - - Toggle Service Manager - Teenistuse halduri lüliti - - - - Ctrl+F1 - Ctrl+F1 - - - - &Web Site - &Veebileht - - - - M&ode - &Režiim - - - - Service Manager - Teenistuse haldur - - - - &Theme - &Kujundus - - - - &Language - &Keel - - - - &About - &Lähemalt - - - - &Plugin List - &Pluginate loend - + OpenLP.MainWindow English - Eesti - - - - Save Service As - Salvesta teenistus kui - - - - New Service - Uus teenistus - - - - &Online Help - &Abi veebis - - - - Save Service - Salvesta teenistus - - - - Save &As... - Salvesta &kui... - - - - F11 - F11 - - - - F10 - F10 - - - - F12 - F12 - - - - Alt+F7 - Alt+F7 - - - - Theme Manager - Kujunduse haldur - - - - &Theme Manager - &Kujunduse haldur - - - - More information about OpenLP - Lähem teave OpenLP kohta - - - - &Media Manager - &Meediahaldur - - - - &Tools - &Tööriistad - - - - Toggle Media Manager - Meediahalduri lüliti - - - - &Save - &Salvesta + Eesti OpenLP 2.0 - OpenLP 2.0 + OpenLP 2.0 - - &Auto Detect - &Isetuvastus + + &File + &Fail - - Set the interface language to %s - + + &Import + &Impordi - - Version %s of OpenLP is now available for download (you are currently running version %s). - -You can download the latest version from http://openlp.org - + + &Export + &Ekspordi - - Your service has changed. Do you want to save those changes? - + + &View + &Vaade - - Default Theme: %s - + + M&ode + &Režiim - + + &Tools + &Tööriistad + + + + &Settings + &Sätted + + + + &Language + &Keel + + + + &Help + A&bi + + + + Media Manager + Meediahaldur + + + + Service Manager + Teenistuse haldur + + + + Theme Manager + Kujunduse haldur + + + + &New + &Uus + + + + New Service + Uus teenistus + + + Create a new service. + + + Ctrl+N + Ctrl+N + + + + &Open + &Ava + + Open Service + Teenistuse avamine + + + Open an existing service. + + + Ctrl+O + Ctrl+O + + &Save + &Salvesta + + + + Save Service + Salvesta teenistus + + + Save the current service to disk. + + + Ctrl+S + Ctrl+S + + Save &As... + Salvesta &kui... + + + + Save Service As + Salvesta teenistus kui + + + Save the current service under a new name. - + Ctrl+Shift+S + + + E&xit + &Välju + + Quit OpenLP + Lahku OpenLPst + + + + Alt+F4 + Alt+F4 + + + + &Theme + &Kujundus + + + &Configure OpenLP... - + + &Media Manager + &Meediahaldur + + + + Toggle Media Manager + Meediahalduri lüliti + + + Toggle the visibility of the media manager. - + + F8 + F8 + + + + &Theme Manager + &Kujunduse haldur + + + + Toggle Theme Manager + Kujunduse halduri lüliti + + + Toggle the visibility of the theme manager. - + + F10 + F10 + + + + &Service Manager + &Teenistuse haldur + + + + Toggle Service Manager + Teenistuse halduri lüliti + + + Toggle the visibility of the service manager. - + + F9 + F9 + + + + &Preview Panel + &Eelvaatluspaneel + + + + Toggle Preview Panel + Eelvaatluspaneeli lüliti + + + Toggle the visibility of the preview panel. - + + F11 + F11 + + + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. + F12 + F12 + + + + &Plugin List + &Pluginate loend + + + + List the Plugins + Pluginate loend + + + + Alt+F7 + Alt+F7 + + + + &User Guide + &Kasutajajuhend + + + + &About + &Lähemalt + + + + More information about OpenLP + Lähem teave OpenLP kohta + + + + Ctrl+F1 + Ctrl+F1 + + + + &Online Help + &Abi veebis + + + + &Web Site + &Veebileht + + + + &Auto Detect + &Isetuvastus + + + Use the system language, if available. - + + Set the interface language to %s + + + + + Add &Tool... + Lisa &tööriist... + + + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + + &Live + &Otse + + + Set the view mode to Live. - - - MediaManagerItem - - Invalid Service Item - Vigane teenistuse element - - - - No Items Selected - Ühtegi elementi pole valitud - - - - You must select one or more items - Pead valima vähemalt ühe elemendi - - - - &Add to selected Service Item - &Lisa valitud teenistuse elemendile - - - - No items selected - Ühtegi elementi pole valitud - - - - &Add to Service - &Lisa teenistusele - - - - Send the selected item live - Valitud kirje saatmine ekraanile - - - - Add the selected item(s) to the service - Valitud kirje(te) lisamine teenistusse - - - - Delete the selected item - Valitud elemendi kustutamine - - - - No Service Item Selected - Ühtegi teenistuse elementi pole valitud - - - - &Show Live - &Kuva ekraanil - - - - Preview the selected item - Valitud kirje eelvaatlus - - - - You must select one or more items. - Pead valima vähemalt ühe elemendi. - - - - You must select an existing service item to add to. - Pead valima olemasoleva teenistuse, millele lisada. - - - - Import %s + + Version %s of OpenLP is now available for download (you are currently running version %s). + +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - - Import a %s + + OpenLP Version Updated + OpenLP uuendus + + + + OpenLP Main Display Blanked + OpenLP peakuva on tühi + + + + The Main Display has been blanked out + Peakuva on tühi + + + + Save Changes to Service? + Kas salvestada teenistusse tehtud muudatused? + + + + Your service has changed. Do you want to save those changes? - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Meedia plugin</b><br>See plugin võimaldab audio ja video esitamise - - - - MediaPlugin.MediaItem - - - Media - Meedia - - - - Select Media - Meedia valimine - - - - You must select an item to delete. - - - - - Replace Live Background - - - - - OpenLP - - - Image Files + + Default Theme: %s @@ -2277,7 +2292,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2285,55 +2300,65 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Present using: - + Presentation - + Select Presentation(s) - + Automatic - + File exists - + A presentation with that filename already exists. - + You must select an item to delete. + + + Unsupported file + + + + + This type of presentation is not supported + + PresentationPlugin.PresentationTab - + available - + Presentations - + Available Controllers @@ -2385,178 +2410,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Changes to Service? Kas salvestada teenistusse tehtud muudatused? - + Open Service Teenistuse avamine - + Move to top Tõsta üles - + Save Service Salvesta teenistus - + Create a new service Uue teenistuse loomine - + Save this service Selle teenistuse salvestamine - + Theme: Kujundus: - + Delete From Service Teenistusest kustutamine - + &Preview Verse &Salmi eelvaatlus - + &Live Verse &Otsesalm - + Move to &top Liiguta ü&lemiseks - + New Service Uus teenistus - + &Notes &Märkmed - + &Delete From Service &Kustuta teenistusest - + Move up order Järjekorras üles liigutamine - + Move down order Järjekorras alla liigutamine - + Move &down Liiguta &alla - + Load an existing service Välise teenistuse laadimine - + Move to end Viimaseks tõstmine - + &Maintain Item &Halda elementi - + Move &up Liiguta &üles - + &Edit Item &Muuda kirjet - + Move to &bottom Liiguta &alumiseks - + &Add New Item &Lisa uus element - + &Add to Selected Item &Lisa valitud elemendile - + Your service is unsaved, do you want to save those changes before creating a new one? See teenistus pole salvestatud, kas tahad selle uue avamist salvestada? - + Your current service is unsaved, do you want to save the changes before opening a new one? See teenistus pole salvestatud, kas tahad enne uue avamist muudatused salvestada? - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it Seda elementi pole võimalik näidata ekraanil, kuna puudub seda käsitsev programm - + Select a theme for the service - + &Change Item Theme - + OpenLP Service Files (*.osz) - + Error Viga - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. @@ -2572,9 +2597,9 @@ The content encoding is not UTF-8. SettingsForm - - Settings - Sätted + + Configure OpenLP + @@ -2585,12 +2610,12 @@ The content encoding is not UTF-8. Eelmisele liikumine - + Go to Verse Liikumine salmile - + Start continuous loop Katkematu korduse alustamine @@ -2600,12 +2625,12 @@ The content encoding is not UTF-8. Ekraan - + Start playing media Meediaesituse alustamine - + Move to live Tõsta ekraanile @@ -2625,7 +2650,7 @@ The content encoding is not UTF-8. Liikumine esimesele - + Delay between slides in seconds Viivitus slaidide vahel sekundites @@ -2635,17 +2660,17 @@ The content encoding is not UTF-8. Eelvaade - + Stop continuous loop Katkematu korduse lõpetamine - + s s - + Edit and re-preview Song Muuda ja kuva laulu eelvaade uuesti @@ -2701,61 +2726,81 @@ The content encoding is not UTF-8. SongsPlugin - + &Song - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + + Open OpenSong file + + + + + Error importing OpenSong file + + SongsPlugin.AuditDeleteDialog @@ -2768,22 +2813,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Select Date Range - + to - + Report Location - + Song Usage Extraction @@ -2827,124 +2872,114 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? - Sa pole sisestanud autori kuvatavat nime. Kas see tuleks kombineerida ees- ja perekonnanimest? + You have not set a display name for the author, would you like me to combine the first and last names for you? + SongsPlugin.EditSongForm - + Song Editor Lauluredaktor - + &Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit &Muuda - + Ed&it All - + &Delete &Kustuta - + Title && Lyrics Pealkiri && laulusõnad - + Authors Autorid - + &Add to Song &Lisa laulule - + &Remove &Eemalda - - &Manage Authors, Topics, Books - &Autorite, teemade, raamatute haldamine - - - + Topic Teema - + A&dd to Song L&isa laulule - + R&emove &Eemalda - + Song Book Laulik - - Authors, Topics && Book - Autorid, teemad && laulik - - - + Theme Kujundus - + Copyright Information Autoriõiguse andmed - + CCLI Number: CCLI number: - + Comments Kommentaarid - + Theme, Copyright Info && Comments Kujundus, autoriõigus && kommentaarid @@ -3004,17 +3039,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Alt&ernate Title: - + New &Theme - + © @@ -3053,21 +3088,31 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + &Manage Authors, Topics, Song Books + + + + + Authors, Topics && Song Book + + SongsPlugin.EditVerseForm - + Edit Verse - + &Verse type: - + &Insert @@ -3115,97 +3160,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source - + Select the import format, and where to import from. - + Format: - + OpenLyrics - + OpenSong - + CCLI - + CSV - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing - + Please wait while your songs are imported. - + Ready. - + %p% - + Starting import... @@ -3213,98 +3258,93 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song - + Song Maintenance - + Search: - + Type: - + Liik: - + Clear - + Search - + Titles - + Lyrics - + Authors - + %s (%s) - + Delete Confirmation - + CCLI Licence: - + Maintain the lists of authors, topics and books - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? SongsPlugin.SongBookForm - - - Edit Book - - &Name: @@ -3325,6 +3365,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R You need to type in a name for the book. + + + Song Book Maintenance + + SongsPlugin.SongImport @@ -3356,11 +3401,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Topics Teemad - - - Books/Hymnals - Laulikud - &Add @@ -3377,93 +3417,118 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Kustuta - + Delete Author - + Delete Topic - + Delete Book - + Error Viga - - Couldn't add your author. - - - - - Couldn't add your topic. - - - - - Couldn't add your book. - - - - - Couldn't save your author. - - - - - Couldn't save your topic. - - - - - Couldn't save your book. - - - - + Are you sure you want to delete the selected author? - - This author can't be deleted, they are currently assigned to at least one song. - - - - + No author selected! - + Are you sure you want to delete the selected topic? - - This topic can't be deleted, it is currently assigned to at least one song. - - - - + No topic selected! - + Are you sure you want to delete the selected book? - - This book can't be deleted, it is currently assigned to at least one song. + + Song Books + + + + + Could not add your author. + + + + + This author already exists. + + + + + Could not add your topic. + + + + + This topic already exists. + + + + + Could not add your book. + + + + + This book already exists. + + + + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + + This author cannot be deleted, they are currently assigned to at least one song. + + + + + This topic cannot be deleted, it is currently assigned to at least one song. + + + + + This book cannot be deleted, it is currently assigned to at least one song. + + + + + No book selected! @@ -3550,171 +3615,181 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme Teema importimine - + Delete Theme Teema kustutamine - + Error Viga - + Edit Theme Kujunduse muutmine - + Export Theme Kujunduse eksportimine - + You are unable to delete the default theme. Vaikimisi kujundust pole võimalik kustutada. - + File is not a valid theme. See fail ei ole sobilik kujundus. - + Theme Exists Kujundus on juba olemas - + Save Theme - (%s) Salvesta kujundus - (%s) - + Select Theme Import File Importimiseks kujunduse faili valimine - + New Theme Uus kujundus - + You have not selected a theme. Sa ei ole teemat valinud. - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + Theme %s is use in %s plugin. - + Theme %s is use by the service manager. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - - A theme with this name already exists. Would you like to overwrite it? - - - - + You must select a theme to edit. - + You must select a theme to delete. + + + Delete Confirmation + + + + + Delete theme? + + + + + A theme with this name already exists. Would you like to overwrite it? + + ThemesTab diff --git a/resources/i18n/openlp_hu.ts b/resources/i18n/openlp_hu.ts index d3500704f..499fdff57 100644 --- a/resources/i18n/openlp_hu.ts +++ b/resources/i18n/openlp_hu.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - - About OpenLP - Az OpenLP névjegye + + &Alert + &Figyelmeztetés - + + Show an alert message. + + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <b>Figyelmeztető bővítmény</b><br/>Ez a bővítmény kezeli a vetítőn megjelenő figyelmeztetéseket + + + + AlertsPlugin.AlertForm + + + Alert Message + Figyelmeztetés + + + + Alert &text: + Figyelmeztető &szöveg: + + + + &Parameter(s): + &Paraméterek: + + + + &New + &Új + + + + &Save + M&entés + + + + &Delete + &Törlés + + + + Displ&ay + &Megjelenítés + + + + Display && Cl&ose + M&egjelenítés és bezárás + + + + &Close + &Bezárás + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + Figyelmeztetések + + + + Font + Betűkészlet + + + + pt + + + + + Alert timeout: + Figyelmeztetés késleltetése: + + + + s + mp + + + + Location: + Hely: + + + + Preview + Előnézet + + + + Top + Felülre + + + + Middle + Középre + + + + Bottom + Alulra + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + + + + + BiblesPlugin + + + &Bible + &Biblia + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Biblia bővítmény</strong><br />Ez a bővítmény különféle igehelyek vetítését teszi lehetővé a szolgálat alatt. + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + Bibliák + + + + Verse Display + Vers megjelenítés + + + + Only show new chapter numbers + Csak az új fejezetszámok megjelenítése + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + Bibliaimportáló tündér + + + + Welcome to the Bible Import Wizard + Üdvözlet a Bibliaimportáló tündérben + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + A tündérrel különféle formátumú Bibliákat lehet importálni. Az alább található Tovább gombra való kattintással indítható a folyamat első lépése a formátum kiválasztásával. + + + + Select Import Source + Válassza ki az importálandó forrást + + + + Select the import format, and where to import from. + Válassza ki a importálandó forrást és a helyet, ahonnan importálja. + + + + Format: + Formátum: + + + + OSIS + OSIS + + + + CSV + + + + + OpenSong + + + + + Web Download + Web letöltés + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Location: + Hely: + + + + Crosswalk + + + + + BibleGateway + + + + + Bible: + Biblia: + + + + Download Options + Letöltési beállítások + + + + Server: + Szerver: + + + + Username: + Felhasználói név: + + + + Password: + Jelszó: + + + + Proxy Server (Optional) + Proxy szerver (választható) + + + + License Details + Licenc részletek + + + + Set up the Bible's license details. + Állítsa be a Biblia licenc részleteit. + + + + Version name: + + + + + Copyright: + Copyright: + + + + Permission: + Engedély: + + + + Importing + Importálás + + + + Please wait while your Bible is imported. + Kérem, várjon, míg a Biblia importálás alatt áll. + + + + Ready. + Kész. + + + + Invalid Bible Location + Érvénytelen a Biblia elérési útvonala + + + + You need to specify a file to import your Bible from. + Meg kell adni egy fájlt, amelyből a Bibliát importálni lehet. + + + + Invalid Books File + Érvénytelen könyv fájl + + + + You need to specify a file with books of the Bible to use in the import. + Meg kell adni egy fájlt a bibliai könyvekről az importáláshoz. + + + + Invalid Verse File + Érvénytelen versszak fájl + + + + You need to specify a file of Bible verses to import. + Meg kell adni egy fájlt a bibliai versekről az importáláshoz. + + + + Invalid OpenSong Bible + Érvénytelen OpenSong Biblia + + + + You need to specify an OpenSong Bible file to import. + Meg kell adni egy OpenSong Biblia fájlt az importáláshoz. + + + + Empty Version Name + Üres verziónév + + + + You need to specify a version name for your Bible. + Meg kell adni a Biblia verziószámát. + + + + Empty Copyright + Üres a szerzői jog + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + Meg kell adni a szerzői jogokat! A közkincs Bibliákat meg kell jelölni ilyennek. + + + + Bible Exists + Biblia létezik + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + Ez a Biblia már létezik! Kérem, importáljon egy másik Bibliát vagy előbb törölje a meglévőt. + + + + Open OSIS File + OSIS fájl megnyitása + + + + Open Books CSV File + Könyv CSV fájl megnyitása + + + + Open Verses CSV File + Versszak CSV fájl megnyitása + + + + Open OpenSong Bible + OpenSong Biblia megnyitása + + + + Starting import... + Importálás indítása... + + + + Finished import. + Az importálás befejeződött. + + + + Your Bible import failed. + A Biblia importálása nem sikerült. + + + + BiblesPlugin.MediaItem + + + Bible + Biblia + + + + Quick + Gyors + + + + Advanced + Haladó + + + + Version: + Verzió: + + + + Dual: + Második: + + + + Search type: + + + + + Find: + Keresés: + + + + Search + Keresés + + + + Results: + Eredmények: + + + + Book: + Könyv: + + + + Chapter: + Fejezet: + + + + Verse: + Vers: + + + + From: + Innentől: + + + + To: + Idáig: + + + + Verse Search + Vers keresése + + + + Text Search + Szöveg keresése + + + + Clear + + + + + Keep + Megtartása + + + + No Book Found + Nincs ilyen könyv + + + + No matching book could be found in this Bible. + Nem található ilyen könyv ebben a Bibliában. + + + + etc + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + Importálás + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <b>Egyedi bővítmény</b><br/>Ez a bővítmény dalokhoz hasonló diák vetítését teszi lehetővé. Ugyanakkor több szabadságot enged meg, mint a dalok bővítmény + + + + CustomPlugin.CustomTab + + + Custom + Egyedi + + + + Custom Display + Egyedi megjelenés + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Egyedi diák szerkesztése + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add New + Új hozzáadása + + + + Add a new slide at bottom. + + + + + Edit + Szerkesztés + + + + Edit the selected slide. + + + + + Edit All + Összes szerkesztése + + + + Edit all the slides at once. + + + + + Save + Mentés + + + + Save the slide currently being edited. + + + + + Delete + Törlés + + + + Delete the selected slide. + + + + + Clear + + + + + Clear edit area + Szerkesztő terület törlése + + + + Split Slide + Dia kettéválasztása + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + Mentés és előnézet + + + + Error + Hiba + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + Egyedi + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + Képek + + + + Image Settings + Kép beállítások + + + + sec + mp + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + Kép + + + + Select Image(s) + Kép(ek) kiválasztása + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + Kép(ek) + + + + You must select an item to process. + + + + + MediaManagerItem + + + You must select one or more items + Ki kell választani egy vagy több elemet + + + + Delete the selected item + Kiválasztott elem törlése + + + + &Add to Service + &Hozzáadás a szolgálathoz + + + + Send the selected item live + A kiválasztott elem egyenes adásba küldése + + + + Add the selected item(s) to the service + A kiválasztott elem(ek) hozzáadása a szolgálathoz + + + + &Show Live + Egyenes &adásba + + + + Preview the selected item + A kiválasztott elem előnézete + + + + &Add to selected Service Item + &Hozzáadás a kiválasztott szolgálat elemhez + + + + No Items Selected + Nincs kiválasztott elem + + + + You must select one or more items. + Ki kell választani egy vagy több elemet. + + + + No items selected + Nincs kiválasztott elem + + + + No Service Item Selected + Nincs kiválasztott szolgálat elem + + + + You must select an existing service item to add to. + Ki kell választani egy szolgálati elemet, amihez hozzá szeretné adni. + + + + Invalid Service Item + Érvénytelen szolgálat elem + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <b>Média bővítmény</b><br />Ez a bővítmény hangok és videók lejátszását teszi lehetővé + + + + MediaPlugin.MediaItem + + + Media + Média + + + + Select Media + Média kiválasztása + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + + About OpenLP + Az OpenLP névjegye + + + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -16,7 +1105,7 @@ OpenLP is free church presentation software, or lyrics projection software, used Find out more about OpenLP: http://openlp.org/ OpenLP is written and maintained by volunteers. If you would like to see more free Christian software being written, please consider contributing by using the button below. - OpenLP <version> összeállítás <revision> – Nyílt forrású dalszöveg vetítő + OpenLP <version> összeállítás <revision> – Nyílt forrású dalszöveg vetítő Az OpenLP egy templomi/gyülekezeti, ill. dalszöveg vetítő szabad szoftver, mely használható daldiák, bibliai versek, videók, képek és bemutatók (ha az OpenOffice.org, PowerPoint vagy a PowerPoint Viewer telepítve van) vetítésére a gyülekezeti dicsőítés alatt egy számítógép és egy projektor segítségével. @@ -25,12 +1114,12 @@ Többet az OpenLP-ről: http://openlp.org/ Az OpenLP-t önkéntesek készítették és tartják karban. Ha szeretne több keresztény számítógépes programot, fontolja meg a részvételt az alábbi gombbal. - + About - Névjegy + Névjegy - + Project Lead Raoul "superfly" Snyman @@ -60,7 +1149,7 @@ Packagers Matthias "matthub" Hub (Mac OS X) Raoul "superfly" Snyman (Windows) - Projektvezetés + Projektvezetés Raoul „superfly” Snyman Fejlesztők @@ -90,12 +1179,12 @@ Csomagolók Raoul „superfly” Snyman (Windows) - + Credits - Közreműködők + Közreműködők - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -227,7 +1316,7 @@ Yoyodyne, Inc., hereby disclaims all copyright interest in the program "Gno Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. - Copyright © 2004-2010 Raoul Snyman + Copyright © 2004-2010 Raoul Snyman Részleges copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard Ez a program szabad szoftver; terjeszthető illetve módosítható a Free Software Foundation által kiadott GNU General Public License dokumentumában leírtak; akár a licenc 2-es, akár (tetszőleges) későbbi változata szerint. @@ -357,19 +1446,19 @@ Aláírás: Tira Mihály, 1989. április 1. Tira Mihály ügyvezető A GNU General Public License nem engedi meg, hogy a program része legyen szellemi tulajdont képező programoknak. Ha a program egy szubrutinkönyvtár, akkor megfontolhatja, hogy nem célszerűbb-e megengedni, hogy szellemi tulajdont képező alkalmazásokkal is összefűzhető legyen a programkönyvtár. Ha ezt szeretné, akkor a GPL helyett a GNU LGPL-t kell használni. - + License - Licenc + Licenc - + Contribute - Részvétel + Részvétel - + Close - Bezárás + Bezárás @@ -378,1971 +1467,897 @@ A GNU General Public License nem engedi meg, hogy a program része legyen szelle - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - &Figyelmeztetés - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Figyelmeztető bővítmény</b><br/>Ez a bővítmény kezeli a vetítőn megjelenő figyelmeztetéseket - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - Figyelmeztetés - - - - Alert &text: - Figyelmeztető &szöveg: - - - - &Parameter(s): - &Paraméterek: - - - - &New - &Új - - - - &Save - M&entés - - - - &Delete - &Törlés - - - - Displ&ay - &Megjelenítés - - - - Display && Cl&ose - M&egjelenítés és bezárás - - - - &Close - &Bezárás - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - Figyelmeztetések - - - - Font - Betűkészlet - - - - Font Name: - Betűkészlet neve: - - - - Font Color: - Betűszín: - - - - Background Color: - Háttérszín: - - - - Font Size: - Betűméret: - - - - pt - - - - - Alert timeout: - Figyelmeztetés késleltetése: - - - - s - mp - - - - Location: - Hely: - - - - Preview - Előnézet - - - - openlp.org - openlp.org - - - - Top - Felülre - - - - Middle - Középre - - - - Bottom - Alulra - - - - AmendThemeForm - - - Theme Maintenance - Témák kezelése - - - - Opaque - Átlátszatlan - - - - Transparent - Átlátszó - - - - Solid Color - Homogén szín - - - - Gradient - Színátmenet - - - - Image - Kép - - - - Image: - Kép: - - - - Horizontal - Vízszintes - - - - Vertical - Függőleges - - - - Circular - Körkörös - - - - Main Font - Alap betűkészlet - - - - Font: - Betűkészlet: - - - - Size: - Méret: - - - - pt - - - - - Normal - Normál - - - - Bold - Félkövér - - - - Italics - Dőlt - - - - Bold/Italics - Félkövér dőlt - - - - Display Location - Hely megjelenítése - - - - Width: - Szélesség: - - - - Height: - Magasság: - - - - px - - - - - Footer Font - Lábjegyzet betűkészlete - - - - Outline - Körvonal - - - - Shadow - Árnyék - - - - Alignment - Igazítás - - - - Left - Balra zárt - - - - Right - Jobbra zárt - - - - Center - Középre igazított - - - - Top - Felülre - - - - Middle - Középre - - - - Bottom - Alulra - - - - Slide Transition - Diaátmenet - - - - Preview - Előnézet - - - - &Visibility: - - - - - Type: - Típus: - - - - Gradient: - - - - - &Background - - - - - Color: - - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Style: - - - - - X position: - - - - - Y position: - - - - - &Main Font - - - - - &Footer Font - - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Horizontal align: - - - - - Vertical align: - - - - - &Other Options - - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Biblia bővítmény</strong><br />Ez a bővítmény különféle igehelyek vetítését teszi lehetővé a szolgálat alatt. - - - - &Bible - &Biblia - - - - BiblesPlugin.BiblesTab - - - Verse Display - Vers megjelenítés - - - - Only show new chapter numbers - Csak az új fejezetszámok megjelenítése - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - Bibliák - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - Bibliaimportáló tündér - - - - Welcome to the Bible Import Wizard - Üdvözlet a Bibliaimportáló tündérben - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - A tündérrel különféle formátumú Bibliákat lehet importálni. Az alább található Tovább gombra való kattintással indítható a folyamat első lépése a formátum kiválasztásával. - - - - Select Import Source - Válassza ki az importálandó forrást - - - - Select the import format, and where to import from. - Válassza ki a importálandó forrást és a helyet, ahonnan importálja. - - - - Format: - Formátum: - - - - OSIS - OSIS - - - - CSV - - - - - OpenSong - - - - - Web Download - Web letöltés - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - Hely: - - - - Crosswalk - - - - - BibleGateway - - - - - Bible: - Biblia: - - - - Download Options - Letöltési beállítások - - - - Server: - Szerver: - - - - Username: - Felhasználói név: - - - - Password: - Jelszó: - - - - Proxy Server (Optional) - Proxy szerver (választható) - - - - License Details - Licenc részletek - - - - Set up the Bible's license details. - Állítsa be a Biblia licenc részleteit. - - - - Version name: - - - - - Copyright: - Copyright: - - - - Permission: - Engedély: - - - - Importing - Importálás - - - - Please wait while your Bible is imported. - Kérem, várjon, míg a Biblia importálás alatt áll. - - - - Ready. - Kész. - - - - Invalid Bible Location - Érvénytelen a Biblia elérési útvonala - - - - You need to specify a file to import your Bible from. - Meg kell adni egy fájlt, amelyből a Bibliát importálni lehet. - - - - Invalid Books File - Érvénytelen könyv fájl - - - - You need to specify a file with books of the Bible to use in the import. - Meg kell adni egy fájlt a bibliai könyvekről az importáláshoz. - - - - Invalid Verse File - Érvénytelen versszak fájl - - - - You need to specify a file of Bible verses to import. - Meg kell adni egy fájlt a bibliai versekről az importáláshoz. - - - - Invalid OpenSong Bible - Érvénytelen OpenSong Biblia - - - - You need to specify an OpenSong Bible file to import. - Meg kell adni egy OpenSong Biblia fájlt az importáláshoz. - - - - Empty Version Name - Üres verziónév - - - - You need to specify a version name for your Bible. - Meg kell adni a Biblia verziószámát. - - - - Empty Copyright - Üres a szerzői jog - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - Meg kell adni a szerzői jogokat! A közkincs Bibliákat meg kell jelölni ilyennek. - - - - Bible Exists - Biblia létezik - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - Ez a Biblia már létezik! Kérem, importáljon egy másik Bibliát vagy előbb törölje a meglévőt. - - - - Open OSIS File - OSIS fájl megnyitása - - - - Open Books CSV File - Könyv CSV fájl megnyitása - - - - Open Verses CSV File - Versszak CSV fájl megnyitása - - - - Open OpenSong Bible - OpenSong Biblia megnyitása - - - - Starting import... - Importálás indítása... - - - - Finished import. - Az importálás befejeződött. - - - - Your Bible import failed. - A Biblia importálása nem sikerült. - - - - BiblesPlugin.MediaItem - - - Bible - Biblia - - - - Quick - Gyors - - - + Advanced Haladó - - Version: - Verzió: - - - - Dual: - Második: - - - - Search type: + + UI Settings - - Find: - Keresés: - - - - Search - Keresés - - - - Results: - Eredmények: - - - - Book: - Könyv: - - - - Chapter: - Fejezet: - - - - Verse: - Vers: - - - - From: - Innentől: - - - - To: - Idáig: - - - - Verse Search - Vers keresése - - - - Text Search - Szöveg keresése - - - - Clear + + Number of recent files to display: - - Keep - Megtartása - - - - No Book Found - Nincs ilyen könyv - - - - No matching book could be found in this Bible. - Nem található ilyen könyv ebben a Bibliában. - - - - etc + + Save currently selected media manager plugin - - Bible not fully loaded. + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - Importálás - - - - CustomPlugin - - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - <b>Egyedi bővítmény</b><br/>Ez a bővítmény dalokhoz hasonló diák vetítését teszi lehetővé. Ugyanakkor több szabadságot enged meg, mint a dalok bővítmény - - - - CustomPlugin.CustomTab - - - Custom - Egyedi + + Theme Maintenance + Témák kezelése - - Custom Display - Egyedi megjelenés - - - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides - Egyedi diák szerkesztése - - - - Move slide up once position. + + Theme &name: - - Move slide down one position. + + &Visibility: - - &Title: - + + Opaque + Átlátszatlan - - Add New - Új hozzáadása + + Transparent + Átlátszó - - Add a new slide at bottom. - + + Type: + Típus: - - Edit - Szerkesztés + + Solid Color + Homogén szín - - Edit the selected slide. - + + Gradient + Színátmenet - - Edit All - Összes szerkesztése - - - - Edit all the slides at once. - - - - - Save - Mentés - - - - Save the slide currently being edited. - - - - - Delete - Törlés - - - - Delete the selected slide. - - - - - Clear - - - - - Clear edit area - Szerkesztő terület törlése - - - - Split Slide - Dia kettéválasztása - - - - Split a slide into two by inserting a slide splitter. - - - - - The&me: - - - - - &Credits: - - - - - Save && Preview - Mentés és előnézet - - - - Error - Hiba - - - - You need to type in a title. - - - - - You need to add at least one slide - - - - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom - Egyedi - - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays - Megjelenítők - - - - Default Settings - - - - - X: - - - - - Y: - - - - - Height: - Magasság: - - - - Width: - Szélesség: - - - - Custom Settings - - - - - Width - - - - - Override display settings - - - - - GeneralTab - - - CCLI Details - CCLI részletek - - - - primary - elsődleges - - - - Show blank screen warning - Figyelmeztetés megjelenítése a fekete képernyőről - - - - Application Startup - Alkalmazás indítása - - - - Select monitor for output display: - Válassza ki a vetítési képernyőt: - - - - Application Settings - Alkalmazás beállítások - - - - SongSelect Username: - SongSelect felhasználói név: - - - - CCLI Number: - CCLI szám: - - - - Automatically open the last service - Utolsó szolgálat automatikus megnyitása - - - - Preview Next Song from Service Manager - Következő dal előnézete a szolgálatkezelőből - - - - Prompt to save Service before starting New - Rákérdezés a szolgálat mentésére új kezdése előtt - - - - General - Általános - - - - Show the splash screen - Indító képernyő megjelenítése - - - - Screen - Képernyő - - - - Monitors - Monitorok - - - - SongSelect Password: - SongSelect jelszó: - - - - Display if a single screen - Megjelenítés egy képernyő esetén - - - - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - Képek - - - - Image Settings - Kép beállítások - - - - Slide Loop Delay: - Időzített diák késleltetése: - - - - sec - mp - - - - ImagePlugin.MediaItem - - + Image Kép - - Select Image(s) - Kép(ek) kiválasztása + + Image: + Kép: - + + Gradient: + + + + + Horizontal + Vízszintes + + + + Vertical + Függőleges + + + + Circular + Körkörös + + + + &Background + + + + + Main Font + Alap betűkészlet + + + + Font: + Betűkészlet: + + + + Color: + + + + + Size: + Méret: + + + + pt + + + + + Wrap indentation: + + + + + Adjust line spacing: + + + + + Normal + Normál + + + + Bold + Félkövér + + + + Italics + Dőlt + + + + Bold/Italics + Félkövér dőlt + + + + Style: + + + + + Display Location + Hely megjelenítése + + + + Use default location + + + + + X position: + + + + + Y position: + + + + + Width: + Szélesség: + + + + Height: + Magasság: + + + + px + + + + + &Main Font + + + + + Footer Font + Lábjegyzet betűkészlete + + + + &Footer Font + + + + + Outline + Körvonal + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + Árnyék + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + Igazítás + + + + Horizontal align: + + + + + Left + Balra zárt + + + + Right + Jobbra zárt + + + + Center + Középre igazított + + + + Vertical align: + + + + + Top + Felülre + + + + Middle + Középre + + + + Bottom + Alulra + + + + Slide Transition + Diaátmenet + + + + Transition active + + + + + &Other Options + + + + + Preview + Előnézet + + + All Files - - Replace Live Background + + Select Image - - You must select an item to delete. + + First color: - - Image(s) - Kép(ek) + + Second color: + - - You must select an item to process. + + Slide height is %s rows. - LanguageManager + OpenLP.GeneralTab + + + Select monitor for output display: + Válassza ki a vetítési képernyőt: + + + + Display if a single screen + Megjelenítés egy képernyő esetén + + + + Application Startup + Alkalmazás indítása + + + + Show blank screen warning + Figyelmeztetés megjelenítése a fekete képernyőről + + + + Automatically open the last service + Utolsó szolgálat automatikus megnyitása + + + + Show the splash screen + Indító képernyő megjelenítése + + + + Application Settings + Alkalmazás beállítások + + + + Prompt to save Service before starting New + Rákérdezés a szolgálat mentésére új kezdése előtt + + + + Preview Next Song from Service Manager + Következő dal előnézete a szolgálatkezelőből + + + + SongSelect Username: + SongSelect felhasználói név: + + + + SongSelect Password: + SongSelect jelszó: + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + + + + General + Általános + + + + Monitors + Monitorok + + + + Screen + Képernyő + + + + primary + elsődleges + + + + CCLI Details + CCLI részletek + + + + CCLI Number: + CCLI szám: + + + + OpenLP.LanguageManager Language - Nyelv + Nyelv - After restart new Language settings will be used. - Újraindítás után lépnek érvénybe a nyelvi beállítások. + Please restart OpenLP to use your new language setting. + - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - A fő képernyő el lett sötétítve - - - - OpenLP Version Updated - OpenLP verziófrissítés - - - - Save Changes to Service? - Mentsük a változásokat a szolgálatban? - - - - OpenLP Main Display Blanked - Sötét OpenLP fő képernyő + + English + Magyar OpenLP 2.0 - - - - - English - Magyar + &File - &Fájl + &Fájl &Import - &Importálás + &Importálás &Export - &Exportálás + &Exportálás &View - &Nézet + &Nézet M&ode - &Mód + &Mód &Tools - &Eszközök - - - - &Help - &Súgó - - - - Media Manager - Médiakezelő - - - - Service Manager - Szolgálatkezelő - - - - Theme Manager - Témakezelő - - - - &New - &Új - - - - New Service - Új szolgálat - - - - Ctrl+N - - - - - &Open - &Megnyitás - - - - Open Service - Szolgálat megnyitása - - - - Ctrl+O - - - - - &Save - M&entés - - - - Save Service - Szolgálat mentése - - - - Ctrl+S - - - - - Save &As... - Mentés má&sként... - - - - Save Service As - Szolgálat mentése másként - - - - F12 - - - - - E&xit - &Kilépés - - - - Quit OpenLP - OpenLP bezárása - - - - Alt+F4 - - - - - &Theme - &Téma - - - - &Language - &Nyelv + &Eszközök &Settings - &Beállítások + &Beállítások - - &Media Manager - &Médiakezelő + + &Language + &Nyelv - - Toggle Media Manager - Médiakezelő átváltása + + &Help + &Súgó - - F8 - + + Media Manager + Médiakezelő - - &Theme Manager - &Témakezelő + + Service Manager + Szolgálatkezelő - - Toggle Theme Manager - Témakezelő átváltása + + Theme Manager + Témakezelő - - F10 - + + &New + &Új - - &Service Manager - &Szolgálatkezelő + + New Service + Új szolgálat - - Toggle Service Manager - Szolgálatkezelő átváltása - - - - F9 - - - - - &Preview Panel - &Előnézet panel - - - - Toggle Preview Panel - Előnézet panel átváltása - - - - F11 - - - - - &Plugin List - &Bővítménylista - - - - List the Plugins - Bővítmények listája - - - - Alt+F7 - - - - - &User Guide - &Felhasználói kézikönyv - - - - &About - &Névjegy - - - - More information about OpenLP - Több információ az OpenLP-ről - - - - Ctrl+F1 - - - - - &Online Help - &Online súgó - - - - &Web Site - &Weboldal - - - - &Auto Detect - &Automatikus felismerés - - - - Add &Tool... - &Eszköz hozzáadása... - - - - &Live - &Egyenes adás - - - + Create a new service. + + + Ctrl+N + + + + + &Open + &Megnyitás + + Open Service + Szolgálat megnyitása + + + Open an existing service. + + + Ctrl+O + + + &Save + M&entés + + + + Save Service + Szolgálat mentése + + + Save the current service to disk. + + + Ctrl+S + + + Save &As... + Mentés má&sként... + + + + Save Service As + Szolgálat mentése másként + + + Save the current service under a new name. - + Ctrl+Shift+S + + + E&xit + &Kilépés + + Quit OpenLP + OpenLP bezárása + + + + Alt+F4 + + + + + &Theme + &Téma + + + &Configure OpenLP... - + + &Media Manager + &Médiakezelő + + + + Toggle Media Manager + Médiakezelő átváltása + + + Toggle the visibility of the media manager. - + + F8 + + + + + &Theme Manager + &Témakezelő + + + + Toggle Theme Manager + Témakezelő átváltása + + + Toggle the visibility of the theme manager. - - Toggle the visibility of the service manager. - - - - - Toggle the visibility of the preview panel. + + F10 + &Service Manager + &Szolgálatkezelő + + + + Toggle Service Manager + Szolgálatkezelő átváltása + + + + Toggle the visibility of the service manager. + + + + + F9 + + + + + &Preview Panel + &Előnézet panel + + + + Toggle Preview Panel + Előnézet panel átváltása + + + + Toggle the visibility of the preview panel. + + + + + F11 + + + + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - Use the system language, if available. + F12 + + + &Plugin List + &Bővítménylista + - Set the interface language to %s + List the Plugins + Bővítmények listája + + + + Alt+F7 - - Add an application to the list of tools. - + + &User Guide + &Felhasználói kézikönyv - &Default - + &About + &Névjegy - Set the view mode back to the default. + More information about OpenLP + Több információ az OpenLP-ről + + + + Ctrl+F1 + &Online Help + &Online súgó + + + + &Web Site + &Weboldal + + + + &Auto Detect + &Automatikus felismerés + + + + Use the system language, if available. + + + + + Set the interface language to %s + + + + + Add &Tool... + &Eszköz hozzáadása... + + + + Add an application to the list of tools. + + + + + &Default + + + + + Set the view mode back to the default. + + + + &Setup - + Set the view mode to Setup. - + + &Live + &Egyenes adás + + + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + OpenLP verziófrissítés + + + + OpenLP Main Display Blanked + Sötét OpenLP fő képernyő + + + + The Main Display has been blanked out + A fő képernyő el lett sötétítve + + + + Save Changes to Service? + + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - You must select one or more items - Ki kell választani egy vagy több elemet - - - - Delete the selected item - Kiválasztott elem törlése - - - - &Add to Service - &Hozzáadás a szolgálathoz - - - - Send the selected item live - A kiválasztott elem egyenes adásba küldése - - - - Add the selected item(s) to the service - A kiválasztott elem(ek) hozzáadása a szolgálathoz - - - - &Show Live - Egyenes &adásba - - - - Preview the selected item - A kiválasztott elem előnézete - - - - &Add to selected Service Item - &Hozzáadás a kiválasztott szolgálat elemhez - - - - No Items Selected - Nincs kiválasztott elem - - - - You must select one or more items. - Ki kell választani egy vagy több elemet. - - - - No items selected - Nincs kiválasztott elem - - - - No Service Item Selected - Nincs kiválasztott szolgálat elem - - - - You must select an existing service item to add to. - Ki kell választani egy szolgálati elemet, amihez hozzá szeretné adni. - - - - Invalid Service Item - Érvénytelen szolgálat elem - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Média bővítmény</b><br />Ez a bővítmény hangok és videók lejátszását teszi lehetővé - - - - MediaPlugin.MediaItem - - - Media - Média - - - - Select Media - Média kiválasztása - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2404,7 +2419,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. <b>Bemutató bővítmény</b><br />Különböző külső programok segítségével bemutatók megjelenítését teszi lehetővé. A prezentációs programok egy listából választhatók ki. @@ -2412,37 +2427,47 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation Bemutató - + Select Presentation(s) Bemutató(k) kiválasztása - + Automatic Automatikus - + Present using: Bemutató ezzel: - + File exists A fájl létezik - + A presentation with that filename already exists. Ilyen fájlnéven már létezik egy bemutató. - + + Unsupported file + + + + + This type of presentation is not supported + + + + You must select an item to delete. @@ -2450,17 +2475,17 @@ You can download the latest version from http://openlp.org PresentationPlugin.PresentationTab - + Presentations Bemutatók - + Available Controllers Elérhető vezérlők - + available elérhető @@ -2512,178 +2537,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Changes to Service? Változások mentése a szolgálatban? - + Open Service Szolgálat megnyitása - + Move to top Mozgatás felülre - + Create a new service Új szolgálat létrehozása - + Save this service Aktuális szolgálat mentése - + Theme: Téma: - + Delete From Service Törlés a szolgálatból - + Save Service Szolgálat mentése - + &Live Verse &Adásban lévő versszak - + New Service Új szolgálat - + &Notes &Jegyzetek - + Move to end Mozgatás a végére - + Move up order Mozgatás feljebb a sorban - + Move down order Mozgatás lejjebb a sorban - + Load an existing service Egy meglévő szolgálat betöltése - + &Preview Verse Versszak &előnézete - + &Edit Item &Elem szerkesztése - + Move to &top Mozgatás &felülre - + Move &up Mozgatás f&eljebb - + Move &down Mozgatás &lejjebb - + Move to &bottom Mozgatás &alulra - + &Delete From Service &Törlés a szolgálatból - + &Add New Item Új elem &hozzáadása - + &Add to Selected Item &Hozzáadás a kiválasztott elemhez - + &Maintain Item Elem &karbantartása - + Your service is unsaved, do you want to save those changes before creating a new one? A szolgálat nincs elmentve, szeretné menteni, mielőtt az újat létrehozná? - + Your current service is unsaved, do you want to save the changes before opening a new one? A szolgálat nincs elmentve, szeretné menteni, mielőtt az újat megnyitná? - + Missing Display Handler Hiányzó képernyő kezelő - + Your item cannot be displayed as there is no handler to display it Az elemet nem lehet megjeleníteni, mert nincs kezelő, amely megjelenítené - + Select a theme for the service - + &Change Item Theme - + OpenLP Service Files (*.osz) - + Error Hiba - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. @@ -2699,9 +2724,9 @@ The content encoding is not UTF-8. SettingsForm - - Settings - Beállítások + + Configure OpenLP + @@ -2712,12 +2737,12 @@ The content encoding is not UTF-8. Mozgatás az előzőre - + Go to Verse Ugrás versszakra - + Start continuous loop Folyamatos vetítés indítása @@ -2727,12 +2752,12 @@ The content encoding is not UTF-8. Egyenes adás - + Start playing media Médialejátszás indítása - + Move to live Mozgatás az egyenes adásban lévőre @@ -2747,12 +2772,12 @@ The content encoding is not UTF-8. Mozgatás az utolsóra - + Edit and re-preview Song Dal szerkesztése, majd újra az előnézet megnyitása - + Delay between slides in seconds Diák közötti késleltetés másodpercben @@ -2767,12 +2792,12 @@ The content encoding is not UTF-8. Mozgatás az elsőre - + Stop continuous loop Folyamatos vetítés leállítása - + s mp @@ -2828,61 +2853,81 @@ The content encoding is not UTF-8. SongsPlugin - + Open Songs of Fellowship file Songs of Fellowship fájl megnyitása - + Open documents or presentations Dokumentum vagy bemutató megnyitása - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. <strong>Dal bővítmény</strong> <br />Ez a a bővítmény dalok kezelését és vetítését teszi lehetővé. - + &Song &Dal - + Import songs using the import wizard. Dalok importálása az importálás tündérrel. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + Import Error Importálás hiba - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions + + + Open OpenSong file + + + + + Error importing OpenSong file + + SongsPlugin.AuditDeleteDialog @@ -2895,22 +2940,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction Dalstatisztika kicsomagolása - + Select Date Range Időintervallum megadása - + to - + Report Location Helyszín jelentése @@ -2954,139 +2999,139 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? - Nem állította be a megjelenített nevet. Szeretné a vezetéknevet és a keresztnevet összeilleszteni? + You have not set a display name for the author, would you like me to combine the first and last names for you? + SongsPlugin.EditSongForm - + Song Editor Dalszerkesztő - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit &Szerkesztés - + Ed&it All - + &Delete &Törlés - + Title && Lyrics Cím és dalszöveg - + Authors Szerzők - + &Add to Song &Hozzáadás dalhoz - + &Remove &Eltávolítás - - &Manage Authors, Topics, Books - &Szerzők, témakörök, könyvek kezelése + + &Manage Authors, Topics, Song Books + - + Topic Témakör - + A&dd to Song &Hozzáadás dalhoz - + R&emove &Eltávolítás - + Song Book Daloskönyv - - Authors, Topics && Book - Szerzők, témakörök és könyv + + Authors, Topics && Song Book + - + Theme Téma - + New &Theme - + Copyright Information Szerzői jogi információ - + © - + CCLI Number: CCLI szám: - + Comments Megjegyzések - + Theme, Copyright Info && Comments Téma, szerzői jogi infók és megjegyzések @@ -3184,17 +3229,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.EditVerseForm - + Edit Verse Versszak szerkesztése - + &Verse type: - + &Insert @@ -3242,97 +3287,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Meg kell adni legalább egy CSV fájlt az importáláshoz. - + Starting import... Importálás indítása... - + Song Import Wizard Dalimportáló tündér - + Welcome to the Song Import Wizard Üdvözlet a dalimportáló tündérben - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. A tündérrel különféle formátumú dalokat lehet importálni. Az alább található Tovább gombra való kattintással indítható a folyamat első lépése a formátum kiválasztásával. - + Select Import Source Válassza ki az importálandó forrást - + Select the import format, and where to import from. Válassza ki a importálandó forrást és a helyet, ahonnan importálja. - + Format: Formátum: - + OpenLyrics - + OpenSong - + CCLI - + CSV - + Add Files... Fájlok hozzáadása... - + Remove File(s) Fájlok törlése - + Filename: Fájlnév: - + Browse... Tallózás... - + Importing Importálás - + Please wait while your songs are imported. Kérem, várjon, míg a dalok importálás alatt állnak. - + Ready. Kész. - + %p% @@ -3340,87 +3385,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song Dal - + Song Maintenance Dalok kezelése - + Maintain the lists of authors, topics and books A szerzők, témakörök, könyvek listájának kezelése - + Search: Keresés: - + Type: Típus: - + Clear - + Search Keresés - + Titles Címek - + Lyrics Dalszöveg - + Authors Szerzők - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? Valóban törölhető a dal? - + Delete %d songs? Valóban törölhetők a dalok: %d? - + Delete Confirmation Törlés megerősítése - + CCLI Licence: CCLI licenc: @@ -3429,8 +3474,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - Edit Book - Könyv szerkesztése + Song Book Maintenance + @@ -3485,8 +3530,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Books/Hymnals - Énekeskönyvek + Song Books + @@ -3504,94 +3549,114 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Törlés - + Error Hiba - - Couldn't add your author. - A szerzőt nem lehet hozzáadni. + + Could not add your author. + - - Couldn't add your topic. - A témakört nem lehet hozzáadni. + + This author already exists. + - - Couldn't add your book. - A könyvet nem lehet hozzáadni. + + Could not add your topic. + - - Couldn't save your author. - A szerzőt nem lehet menteni. + + This topic already exists. + - - Couldn't save your topic. - A témakört nem lehet menteni. + + Could not add your book. + - - Couldn't save your book. - A könyvet nem lehet menteni. + + This book already exists. + - + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + Delete Author Szerző törlése - + Are you sure you want to delete the selected author? A kiválasztott szerző biztosan törölhető? - - This author can't be deleted, they are currently assigned to at least one song. - Ez a szerző nem törölhető, mivel hozzá van rendelve legalább egy dalhoz. + + This author cannot be deleted, they are currently assigned to at least one song. + - + No author selected! Nincs kiválasztott szerző! - + Delete Topic Témakör törlése - + Are you sure you want to delete the selected topic? A kiválasztott témakör biztosan törölhető? - - This topic can't be deleted, it is currently assigned to at least one song. - Ez a témakör nem törölhető, mivel hozzá van rendelve legalább egy dalhoz. + + This topic cannot be deleted, it is currently assigned to at least one song. + - + No topic selected! Nincs kiválasztott témakör! - + Delete Book Könyv törlése - + Are you sure you want to delete the selected book? A kiválasztott könyv biztosan törölhető? - - This book can't be deleted, it is currently assigned to at least one song. - Ez a könyv nem törölhető, mivel hozzá van rendelve legalább egy dalhoz. + + This book cannot be deleted, it is currently assigned to at least one song. + + + + + No book selected! + Nincs kiválasztott könyv! @@ -3677,169 +3742,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme Téma importálása - + Delete Theme Téma törlése - + Error Hiba - + Edit Theme Téma szerkesztése - + Export Theme Téma exportálása - + Theme Exists A téma már létezik - + Save Theme - (%s) Téma mentése – (%s) - + Select Theme Import File Importálandó téma fájl kiválasztása - + New Theme Új téma - + You are unable to delete the default theme. Az alapértelmezett témát nem lehet törölni. - + You have not selected a theme. Nincs kiválasztva egy téma sem. - + File is not a valid theme. Nem érvényes témafájl. - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - + + Delete Confirmation + Törlés megerősítése + + + + Delete theme? + + + + Theme %s is use in %s plugin. - + Theme %s is use by the service manager. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - - A theme with this name already exists. Would you like to overwrite it? + + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_ko.ts b/resources/i18n/openlp_ko.ts index 1299b062a..e91578cde 100644 --- a/resources/i18n/openlp_ko.ts +++ b/resources/i18n/openlp_ko.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - + + &Alert + + + + + Show an alert message. + + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + + + + + AlertsPlugin.AlertForm + + + Alert Message + + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + + + + + &Save + + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + + + + + Font + + + + + pt + + + + + Alert timeout: + + + + + s + + + + + Location: + + + + + Preview + + + + + Top + + + + + Middle + + + + + Bottom + + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + + + + + BiblesPlugin + + + &Bible + + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + + + + + Verse Display + + + + + Only show new chapter numbers + + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + + + + + Welcome to the Bible Import Wizard + + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + + + + + Select Import Source + + + + + Select the import format, and where to import from. + + + + + Format: + + + + + OSIS + + + + + CSV + + + + + OpenSong + + + + + Web Download + + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Location: + + + + + Crosswalk + + + + + BibleGateway + + + + + Bible: + + + + + Download Options + + + + + Server: + + + + + Username: + + + + + Password: + + + + + Proxy Server (Optional) + + + + + License Details + + + + + Set up the Bible's license details. + + + + + Version name: + + + + + Copyright: + + + + + Permission: + + + + + Importing + + + + + Please wait while your Bible is imported. + + + + + Ready. + + + + + Invalid Bible Location + + + + + You need to specify a file to import your Bible from. + + + + + Invalid Books File + + + + + You need to specify a file with books of the Bible to use in the import. + + + + + Invalid Verse File + + + + + You need to specify a file of Bible verses to import. + + + + + Invalid OpenSong Bible + + + + + You need to specify an OpenSong Bible file to import. + + + + + Empty Version Name + + + + + You need to specify a version name for your Bible. + + + + + Empty Copyright + + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + + + + + Bible Exists + + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open Verses CSV File + + + + + Open OpenSong Bible + + + + + Starting import... + + + + + Finished import. + + + + + Your Bible import failed. + + + + + BiblesPlugin.MediaItem + + + Bible + 성경 + + + + Quick + 즉시 + + + + Advanced + + + + + Version: + + + + + Dual: + + + + + Search type: + + + + + Find: + + + + + Search + + + + + Results: + + + + + Book: + + + + + Chapter: + + + + + Verse: + + + + + From: + + + + + To: + + + + + Verse Search + + + + + Text Search + + + + + Clear + + + + + Keep + + + + + No Book Found + + + + + No matching book could be found in this Bible. + + + + + etc + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + + + + + CustomPlugin.CustomTab + + + Custom + + + + + Custom Display + + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add New + + + + + Add a new slide at bottom. + + + + + Edit + + + + + Edit the selected slide. + + + + + Edit All + + + + + Edit all the slides at once. + + + + + Save + + + + + Save the slide currently being edited. + + + + + Delete + + + + + Delete the selected slide. + + + + + Clear + + + + + Clear edit area + + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + + + + + Error + + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + + + + + Image Settings + + + + + sec + + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + + + + + Select Image(s) + + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + + + + + You must select an item to process. + + + + + MediaManagerItem + + + No Items Selected + + + + + Delete the selected item + + + + + You must select one or more items + + + + + &Add to Service + + + + + Send the selected item live + + + + + Add the selected item(s) to the service + + + + + &Show Live + + + + + Preview the selected item + + + + + You must select one or more items. + + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + No items selected + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + + + + + MediaPlugin.MediaItem + + + Media + + + + + Select Media + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + About OpenLP - + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -19,12 +1108,12 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + About - + Project Lead Raoul "superfly" Snyman @@ -57,12 +1146,12 @@ Packagers - + Credits - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -197,17 +1286,17 @@ This General Public License does not permit incorporating your program into prop - + License - + Contribute - + Close @@ -218,1348 +1307,471 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - - - - - &Save - - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - - - - - Font - - - - - Font Name: - - - - - Font Color: - - - - - Background Color: - - - - - Font Size: - - - - - pt - - - - - Alert timeout: - - - - - s - - - - - Location: - - - - - Preview - - - - - openlp.org - - - - - Top - - - - - Middle - - - - - Bottom - - - - - AmendThemeForm - - - Theme Maintenance - - - - - &Visibility: - - - - - Opaque - - - - - Transparent - - - - - Type: - - - - - Solid Color - - - - - Gradient - - - - - Image - - - - - Image: - - - - - Gradient: - - - - - Horizontal - - - - - Vertical - - - - - Circular - - - - - &Background - - - - - Main Font - - - - - Font: - - - - - Color: - - - - - Size: - - - - - pt - - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Normal - - - - - Bold - - - - - Italics - - - - - Bold/Italics - - - - - Style: - - - - - Display Location - - - - - X position: - - - - - Y position: - - - - - Width: - - - - - Height: - - - - - px - - - - - &Main Font - - - - - Footer Font - - - - - &Footer Font - - - - - Outline - - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow - - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Alignment - - - - - Horizontal align: - - - - - Left - - - - - Right - - - - - Center - - - - - Vertical align: - - - - - Top - - - - - Middle - - - - - Bottom - - - - - Slide Transition - - - - - &Other Options - - - - - Preview - - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - - - - - &Bible - - - - - BiblesPlugin.BiblesTab - - - Verse Display - - - - - Only show new chapter numbers - - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - - - - - Welcome to the Bible Import Wizard - - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - - - - - Select Import Source - - - - - Select the import format, and where to import from. - - - - - Format: - - - - - OSIS - - - - - CSV - - - - - OpenSong - - - - - Web Download - - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - - - - - Crosswalk - - - - - BibleGateway - - - - - Bible: - - - - - Download Options - - - - - Server: - - - - - Username: - - - - - Password: - - - - - Proxy Server (Optional) - - - - - License Details - - - - - Set up the Bible's license details. - - - - - Version name: - - - - - Copyright: - - - - - Permission: - - - - - Importing - - - - - Please wait while your Bible is imported. - - - - - Ready. - - - - - Invalid Bible Location - - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - - - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Verse File - - - - - You need to specify a file of Bible verses to import. - - - - - Invalid OpenSong Bible - - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - - - - - Bible Exists - - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - - - - - Starting import... - - - - - Finished import. - - - - - Your Bible import failed. - - - - - BiblesPlugin.MediaItem - - - Bible - 성경 - - - - Quick - 즉시 - - - + Advanced - - Version: + + UI Settings - - Dual: + + Number of recent files to display: - - Search type: + + Save currently selected media manager plugin - - Find: - - - - - Search - - - - - Results: - - - - - Book: - - - - - Chapter: - - - - - Verse: - - - - - From: - - - - - To: - - - - - Verse Search - - - - - Text Search - - - - - Clear - - - - - Keep - - - - - No Book Found - - - - - No matching book could be found in this Bible. - - - - - etc - - - - - Bible not fully loaded. + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - - - - - CustomPlugin - - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomPlugin.CustomTab - - - Custom + + Theme Maintenance - - Custom Display + + Theme &name: - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides + + &Visibility: - - Move slide up once position. + + Opaque - - Move slide down one position. + + Transparent - - &Title: + + Type: - - Add New + + Solid Color - - Add a new slide at bottom. + + Gradient - - Edit + + Image - - Edit the selected slide. + + Image: - - Edit All + + Gradient: - - Edit all the slides at once. + + Horizontal - - Save + + Vertical - - Save the slide currently being edited. + + Circular - - Delete + + &Background - - Delete the selected slide. + + Main Font - - Clear + + Font: - - Clear edit area + + Color: - - Split Slide + + Size: - - Split a slide into two by inserting a slide splitter. + + pt - - The&me: + + Wrap indentation: - - &Credits: + + Adjust line spacing: - - Save && Preview + + Normal - - Error + + Bold - - You need to type in a title. + + Italics - - You need to add at least one slide + + Bold/Italics - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom + + Style: - - You haven't selected an item to edit. + + Display Location - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays + + Use default location - - Default Settings + + X position: - - X: + + Y position: - - Y: - - - - - Height: - - - - + Width: - - Custom Settings + + Height: - - Width + + px - - Override display settings + + &Main Font + + + + + Footer Font + + + + + &Footer Font + + + + + Outline + + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + + + + + Horizontal align: + + + + + Left + + + + + Right + + + + + Center + + + + + Vertical align: + + + + + Top + + + + + Middle + + + + + Bottom + + + + + Slide Transition + + + + + Transition active + + + + + &Other Options + + + + + Preview + + + + + All Files + + + + + Select Image + + + + + First color: + + + + + Second color: + + + + + Slide height is %s rows. - GeneralTab + OpenLP.GeneralTab - - CCLI Details - - - - - primary - - - - - Application Startup - - - - + Select monitor for output display: - - Application Settings + + Display if a single screen - - SongSelect Username: + + Application Startup - - CCLI Number: - - - - - Automatically open the last service - - - - - Preview Next Song from Service Manager - - - - + Show blank screen warning - + + Automatically open the last service + + + + + Show the splash screen + + + + + Application Settings + + + + Prompt to save Service before starting New + + + Preview Next Song from Service Manager + + + + + SongSelect Username: + + + + + SongSelect Password: + + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + General - - Show the splash screen - - - - - Screen - - - - + Monitors - - SongSelect Password: + + Screen - - Display if a single screen + + primary + + + + + CCLI Details + + + + + CCLI Number: - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - - - - - Image Settings - - - - - Slide Loop Delay: - - - - - sec - - - - - ImagePlugin.MediaItem - - - Image - - - - - Select Image(s) - - - - - All Files - - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - Image(s) - - - - - You must select an item to process. - - - - - LanguageManager + OpenLP.LanguageManager Language @@ -1567,30 +1779,15 @@ Changes do not affect verses already in the service. - After restart new Language settings will be used. + Please restart OpenLP to use your new language setting. - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - - - - - OpenLP Version Updated - - - - - Save Changes to Service? - - - - - OpenLP Main Display Blanked + + English @@ -1598,11 +1795,6 @@ Changes do not affect verses already in the service. OpenLP 2.0 - - - English - - &File @@ -1639,7 +1831,7 @@ Changes do not affect verses already in the service. - + &Language @@ -1674,515 +1866,338 @@ Changes do not affect verses already in the service. - + Create a new service. - + Ctrl+N - + &Open - + Open Service - + Open an existing service. - + Ctrl+O - + &Save - + Save Service - + Save the current service to disk. - + Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit - + Quit OpenLP - + Alt+F4 - + &Theme - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 - + &Theme Manager - + Toggle Theme Manager - + Toggle the visibility of the theme manager. - + F10 - + &Service Manager - + Toggle Service Manager - + Toggle the visibility of the service manager. - + F9 - + &Preview Panel - + Toggle Preview Panel - + Toggle the visibility of the preview panel. - + F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 - + &Plugin List - + List the Plugins - + Alt+F7 - + &User Guide - + &About - + More information about OpenLP - + Ctrl+F1 - + &Online Help - + &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live - + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + + + + + OpenLP Main Display Blanked + + + + + The Main Display has been blanked out + + + + + Save Changes to Service? + + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - No Items Selected - - - - - Delete the selected item - - - - - You must select one or more items - - - - - &Add to Service - - - - - Send the selected item live - - - - - Add the selected item(s) to the service - - - - - &Show Live - - - - - Preview the selected item - - - - - You must select one or more items. - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - - - - - MediaPlugin.MediaItem - - - Media - - - - - Select Media - - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2244,7 +2259,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2252,37 +2267,47 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation - + Select Presentation(s) - + Automatic - + Present using: - + File exists - + A presentation with that filename already exists. - + + Unsupported file + + + + + This type of presentation is not supported + + + + You must select an item to delete. @@ -2290,17 +2315,17 @@ You can download the latest version from http://openlp.org PresentationPlugin.PresentationTab - + Presentations - + Available Controllers - + available @@ -2352,178 +2377,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Changes to Service? - + Open Service - + Move to top - + Create a new service - + Save this service - + Theme: - + Delete From Service - + &Change Item Theme - + Save Service - + OpenLP Service Files (*.osz) - + &Live Verse - + Move to &top - + New Service - + &Notes - + Move to end - + &Delete From Service - + Select a theme for the service - + Move up order - + Move down order - + Move &down - + Load an existing service - + &Preview Verse - + Move &up - + &Edit Item - + Move to &bottom - + &Add New Item - + &Add to Selected Item - + &Maintain Item - + Your service is unsaved, do you want to save those changes before creating a new one? - + Your current service is unsaved, do you want to save the changes before opening a new one? - + Error - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it @@ -2539,8 +2564,8 @@ The content encoding is not UTF-8. SettingsForm - - Settings + + Configure OpenLP @@ -2552,12 +2577,12 @@ The content encoding is not UTF-8. - + Go to Verse - + Start continuous loop @@ -2567,12 +2592,12 @@ The content encoding is not UTF-8. - + Start playing media - + Move to live @@ -2587,12 +2612,12 @@ The content encoding is not UTF-8. - + Edit and re-preview Song - + Delay between slides in seconds @@ -2607,12 +2632,12 @@ The content encoding is not UTF-8. - + Stop continuous loop - + s @@ -2668,58 +2693,78 @@ The content encoding is not UTF-8. SongsPlugin - + &Song - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + + Open OpenSong file + + + + + Error importing OpenSong file + + + + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2735,22 +2780,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction - + Select Date Range - + to - + Report Location @@ -2794,139 +2839,139 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? + You have not set a display name for the author, would you like me to combine the first and last names for you? SongsPlugin.EditSongForm - + Song Editor - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit - + Ed&it All - + &Delete - + Title && Lyrics - + Authors - + &Add to Song - + &Remove - - &Manage Authors, Topics, Books + + &Manage Authors, Topics, Song Books - + Topic - + A&dd to Song - + R&emove - + Song Book - - Authors, Topics && Book + + Authors, Topics && Song Book - + Theme - + New &Theme - + Copyright Information - + © - + CCLI Number: - + Comments - + Theme, Copyright Info && Comments @@ -3024,17 +3069,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.EditVerseForm - + Edit Verse - + &Verse type: - + &Insert @@ -3082,97 +3127,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Starting import... - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source - + Select the import format, and where to import from. - + Format: - + OpenLyrics - + OpenSong - + CCLI - + CSV - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing - + Please wait while your songs are imported. - + Ready. - + %p% @@ -3180,87 +3225,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song - + Song Maintenance - + Maintain the lists of authors, topics and books - + Search: - + Type: - + Clear - + Search - + Titles - + Lyrics - + Authors - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? - + Delete Confirmation - + CCLI Licence: @@ -3269,7 +3314,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - Edit Book + Song Book Maintenance @@ -3325,7 +3370,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Books/Hymnals + Song Books @@ -3344,93 +3389,113 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error - - Couldn't add your author. + + Could not add your author. - - Couldn't add your topic. + + This author already exists. - - Couldn't add your book. + + Could not add your topic. - - Couldn't save your author. + + This topic already exists. - - Couldn't save your topic. + + Could not add your book. - - Couldn't save your book. + + This book already exists. - + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + Delete Author - + Are you sure you want to delete the selected author? - - This author can't be deleted, they are currently assigned to at least one song. + + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! - + Delete Topic - + Are you sure you want to delete the selected topic? - - This topic can't be deleted, it is currently assigned to at least one song. + + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book - + Are you sure you want to delete the selected book? - - This book can't be deleted, it is currently assigned to at least one song. + + This book cannot be deleted, it is currently assigned to at least one song. + + + + + No book selected! @@ -3517,169 +3582,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme - + Delete Theme - + Error - + File is not a valid theme. - + Edit Theme - + Export Theme - + You are unable to delete the default theme. - + Theme Exists - + Save Theme - (%s) - + Select Theme Import File - + New Theme - + You have not selected a theme. - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - + + Delete Confirmation + + + + + Delete theme? + + + + Theme %s is use in %s plugin. - + Theme %s is use by the service manager. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - - A theme with this name already exists. Would you like to overwrite it? + + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_nb.ts b/resources/i18n/openlp_nb.ts index e730187fc..f9a72ab34 100644 --- a/resources/i18n/openlp_nb.ts +++ b/resources/i18n/openlp_nb.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - + + &Alert + + + + + Show an alert message. + + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + + + + + AlertsPlugin.AlertForm + + + Alert Message + Varsel-melding + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + &Ny + + + + &Save + &Lagre + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + + + + + Font + Skrifttype + + + + pt + + + + + Alert timeout: + + + + + s + + + + + Location: + + + + + Preview + + + + + Top + Topp + + + + Middle + Midtstilt + + + + Bottom + + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + OpenLP 2.0 + + + + BiblesPlugin + + + &Bible + + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bibel-tillegg</strong><br /> Dette tillegget gjør det mulig at bibelvers fra ulike kilder vises på skjermen under møtet. + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + Bibler + + + + Verse Display + + + + + Only show new chapter numbers + + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + Bibelimporteringsverktøy + + + + Welcome to the Bible Import Wizard + + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + Denne veiviseren vil hjelpe deg å importere Bibler fra en rekke ulike formater. Klikk på neste-knappen under for å starte prosessen ved å velge et format å importere fra. + + + + Select Import Source + Velg importeringskilde + + + + Select the import format, and where to import from. + + + + + Format: + Format: + + + + OSIS + + + + + CSV + + + + + OpenSong + OpenSong + + + + Web Download + + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Location: + + + + + Crosswalk + + + + + BibleGateway + BibleGateway + + + + Bible: + Bibel: + + + + Download Options + Nedlastingsalternativer + + + + Server: + Server: + + + + Username: + Brukernavn: + + + + Password: + + + + + Proxy Server (Optional) + + + + + License Details + Lisensdetaljer + + + + Set up the Bible's license details. + Skriv inn Bibelens lisensdetaljer. + + + + Version name: + + + + + Copyright: + Copyright: + + + + Permission: + Tillatelse: + + + + Importing + + + + + Please wait while your Bible is imported. + + + + + Ready. + Klar. + + + + Invalid Bible Location + Ugyldig Bibelplassering + + + + You need to specify a file to import your Bible from. + + + + + Invalid Books File + + + + + You need to specify a file with books of the Bible to use in the import. + Du må angi en fil som inneholder bøkene i Bibelen. + + + + Invalid Verse File + + + + + You need to specify a file of Bible verses to import. + Du må angi en fil med bibelvers som skal importeres. + + + + Invalid OpenSong Bible + Ugyldig OpenSong Bibel + + + + You need to specify an OpenSong Bible file to import. + + + + + Empty Version Name + Tomt versjonnavn + + + + You need to specify a version name for your Bible. + + + + + Empty Copyright + Tom copyright + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + Du må angi hvem som har opphavsrett til denne bibelutgaven! Bibler som ikke er tilknyttet noen opphavsrett må bli merket med dette. + + + + Bible Exists + Bibelen eksisterer + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open Verses CSV File + + + + + Open OpenSong Bible + + + + + Starting import... + + + + + Finished import. + Import fullført. + + + + Your Bible import failed. + Bibelimporteringen mislyktes. + + + + BiblesPlugin.MediaItem + + + Bible + Bibel + + + + Quick + Rask + + + + Advanced + Avansert + + + + Version: + + + + + Dual: + Dobbel: + + + + Search type: + + + + + Find: + Finn: + + + + Search + Søk + + + + Results: + Resultat: + + + + Book: + Bok: + + + + Chapter: + Kapittel + + + + Verse: + + + + + From: + Fra: + + + + To: + Til: + + + + Verse Search + Søk i vers + + + + Text Search + Tekstsøk + + + + Clear + + + + + Keep + Behold + + + + No Book Found + Ingen bøker funnet + + + + No matching book could be found in this Bible. + Finner ingen matchende bøker i denne Bibelen. + + + + etc + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + + + + + CustomPlugin.CustomTab + + + Custom + + + + + Custom Display + Tilpasset visning + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Rediger egendefinerte lysbilder + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add New + Legg til Ny + + + + Add a new slide at bottom. + + + + + Edit + + + + + Edit the selected slide. + + + + + Edit All + + + + + Edit all the slides at once. + + + + + Save + Lagre + + + + Save the slide currently being edited. + + + + + Delete + + + + + Delete the selected slide. + + + + + Clear + + + + + Clear edit area + + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + + + + + Error + Feil + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + + + + + Image Settings + Bildeinnstillinger + + + + sec + sek + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + + + + + Select Image(s) + Velg bilde(r) + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + Bilde(r) + + + + You must select an item to process. + + + + + MediaManagerItem + + + You must select one or more items + Du må velge ett eller flere elementer + + + + &Add to Service + &Legg til i møteplan + + + + Send the selected item live + + + + + Add the selected item(s) to the service + + + + + Delete the selected item + + + + + &Show Live + + + + + Preview the selected item + + + + + No Items Selected + + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <b>Media-tillegg</b><br> Dette tillegget spiller av lyd og video. + + + + MediaPlugin.MediaItem + + + Media + + + + + Select Media + Velg media + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + About OpenLP - + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -19,12 +1108,12 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + About Om - + Project Lead Raoul "superfly" Snyman @@ -57,12 +1146,12 @@ Packagers - + Credits - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -197,17 +1286,17 @@ This General Public License does not permit incorporating your program into prop - + License Lisens - + Contribute - + Close Lukk @@ -218,1348 +1307,471 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - Varsel-melding - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - &Ny - - - - &Save - &Lagre - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - - - - - Font - Skrifttype - - - - Font Name: - - - - - Font Color: - - - - - Background Color: - - - - - Font Size: - - - - - pt - - - - - Alert timeout: - - - - - s - - - - - Location: - - - - - Preview - - - - - openlp.org - - - - - Top - Topp - - - - Middle - Midtstilt - - - - Bottom - - - - - AmendThemeForm - - - Theme Maintenance - Vedlikehold av tema - - - - &Visibility: - - - - - Opaque - Gjennomsiktighet - - - - Transparent - Gjennomsiktig - - - - Type: - Type: - - - - Solid Color - Ensfarget - - - - Gradient - - - - - Image - - - - - Image: - - - - - Gradient: - - - - - Horizontal - - - - - Vertical - Vertikal - - - - Circular - - - - - &Background - - - - - Main Font - Hovedskrifttype - - - - Font: - - - - - Color: - - - - - Size: - Størrelse: - - - - pt - - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Normal - Normal - - - - Bold - Fet - - - - Italics - Kursiv - - - - Bold/Italics - - - - - Style: - - - - - Display Location - - - - - X position: - - - - - Y position: - - - - - Width: - Bredde: - - - - Height: - Høyde: - - - - px - - - - - &Main Font - - - - - Footer Font - Skrifttype bunntekst - - - - &Footer Font - - - - - Outline - Omriss - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow - Skygge - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Alignment - Justering - - - - Horizontal align: - - - - - Left - - - - - Right - - - - - Center - Sentrert - - - - Vertical align: - - - - - Top - Topp - - - - Middle - Midtstilt - - - - Bottom - - - - - Slide Transition - Lysbildeovergang - - - - &Other Options - - - - - Preview - - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bibel-tillegg</strong><br /> Dette tillegget gjør det mulig at bibelvers fra ulike kilder vises på skjermen under møtet. - - - - &Bible - - - - - BiblesPlugin.BiblesTab - - - Verse Display - - - - - Only show new chapter numbers - - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - Bibler - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - Bibelimporteringsverktøy - - - - Welcome to the Bible Import Wizard - - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - Denne veiviseren vil hjelpe deg å importere Bibler fra en rekke ulike formater. Klikk på neste-knappen under for å starte prosessen ved å velge et format å importere fra. - - - - Select Import Source - Velg importeringskilde - - - - Select the import format, and where to import from. - - - - - Format: - Format: - - - - OSIS - - - - - CSV - - - - - OpenSong - OpenSong - - - - Web Download - - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - - - - - Crosswalk - - - - - BibleGateway - BibleGateway - - - - Bible: - Bibel: - - - - Download Options - Nedlastingsalternativer - - - - Server: - Server: - - - - Username: - Brukernavn: - - - - Password: - - - - - Proxy Server (Optional) - - - - - License Details - Lisensdetaljer - - - - Set up the Bible's license details. - Skriv inn Bibelens lisensdetaljer. - - - - Version name: - - - - - Copyright: - Copyright: - - - - Permission: - Tillatelse: - - - - Importing - - - - - Please wait while your Bible is imported. - - - - - Ready. - Klar. - - - - Invalid Bible Location - Ugyldig Bibelplassering - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - - - - - You need to specify a file with books of the Bible to use in the import. - Du må angi en fil som inneholder bøkene i Bibelen. - - - - Invalid Verse File - - - - - You need to specify a file of Bible verses to import. - Du må angi en fil med bibelvers som skal importeres. - - - - Invalid OpenSong Bible - Ugyldig OpenSong Bibel - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - Tomt versjonnavn - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - Tom copyright - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - Du må angi hvem som har opphavsrett til denne bibelutgaven! Bibler som ikke er tilknyttet noen opphavsrett må bli merket med dette. - - - - Bible Exists - Bibelen eksisterer - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - - - - - Starting import... - - - - - Finished import. - Import fullført. - - - - Your Bible import failed. - Bibelimporteringen mislyktes. - - - - BiblesPlugin.MediaItem - - - Bible - Bibel - - - - Quick - Rask - - - + Advanced Avansert - - Version: + + UI Settings - - Dual: - Dobbel: - - - - Search type: + + Number of recent files to display: - - Find: - Finn: - - - - Search - Søk - - - - Results: - Resultat: - - - - Book: - Bok: - - - - Chapter: - Kapittel - - - - Verse: + + Save currently selected media manager plugin - - From: - Fra: - - - - To: - Til: - - - - Verse Search - Søk i vers - - - - Text Search - Tekstsøk - - - - Clear - - - - - Keep - Behold - - - - No Book Found - Ingen bøker funnet - - - - No matching book could be found in this Bible. - Finner ingen matchende bøker i denne Bibelen. - - - - etc - - - - - Bible not fully loaded. + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - + + Theme Maintenance + Vedlikehold av tema - - - CustomPlugin - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomPlugin.CustomTab - - - Custom + + Theme &name: - - Custom Display - Tilpasset visning - - - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides - Rediger egendefinerte lysbilder - - - - Move slide up once position. + + &Visibility: - - Move slide down one position. + + Opaque + Gjennomsiktighet + + + + Transparent + Gjennomsiktig + + + + Type: + Type: + + + + Solid Color + Ensfarget + + + + Gradient - - &Title: + + Image - - Add New - Legg til Ny - - - - Add a new slide at bottom. + + Image: - - Edit + + Gradient: - - Edit the selected slide. + + Horizontal - - Edit All + + Vertical + Vertikal + + + + Circular - - Edit all the slides at once. + + &Background - - Save - Lagre + + Main Font + Hovedskrifttype - - Save the slide currently being edited. + + Font: - - Delete + + Color: - - Delete the selected slide. + + Size: + Størrelse: + + + + pt - - Clear + + Wrap indentation: - - Clear edit area + + Adjust line spacing: - - Split Slide + + Normal + Normal + + + + Bold + Fet + + + + Italics + Kursiv + + + + Bold/Italics - - Split a slide into two by inserting a slide splitter. + + Style: - - The&me: + + Display Location - - &Credits: + + Use default location - - Save && Preview + + X position: - - Error - Feil - - - - You need to type in a title. + + Y position: - - You need to add at least one slide - - - - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom - - - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays - - - - - Default Settings - - - - - X: - - - - - Y: - - - - - Height: - Høyde: - - - + Width: Bredde: - - Custom Settings + + Height: + Høyde: + + + + px - - Width + + &Main Font - - Override display settings + + Footer Font + Skrifttype bunntekst + + + + &Footer Font + + + + + Outline + Omriss + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + Skygge + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + Justering + + + + Horizontal align: + + + + + Left + + + + + Right + + + + + Center + Sentrert + + + + Vertical align: + + + + + Top + Topp + + + + Middle + Midtstilt + + + + Bottom + + + + + Slide Transition + Lysbildeovergang + + + + Transition active + + + + + &Other Options + + + + + Preview + + + + + All Files + + + + + Select Image + + + + + First color: + + + + + Second color: + + + + + Slide height is %s rows. - GeneralTab + OpenLP.GeneralTab - - CCLI Details - CCLI-detaljer - - - - SongSelect Password: - SongSelect-passord: - - - - primary - primær - - - - Application Startup - Programoppstart - - - + Select monitor for output display: Velg hvilken skjerm som skal brukes til fremvisning: - - Application Settings - Programinnstillinger + + Display if a single screen + - - SongSelect Username: - SongSelect-brukernavn: + + Application Startup + Programoppstart - - CCLI Number: - CCLI-nummer: - - - - Automatically open the last service - Åpne forrige møteplan automatisk - - - - Preview Next Song from Service Manager - Forhåndsvis neste sang i møteplanen - - - + Show blank screen warning - + + Automatically open the last service + Åpne forrige møteplan automatisk + + + + Show the splash screen + + + + + Application Settings + Programinnstillinger + + + Prompt to save Service before starting New + + + Preview Next Song from Service Manager + Forhåndsvis neste sang i møteplanen + + + + SongSelect Username: + SongSelect-brukernavn: + + + + SongSelect Password: + SongSelect-passord: + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + General - - Show the splash screen - - - - - Screen - - - - + Monitors - - Display if a single screen + + Screen + + + primary + primær + + + + CCLI Details + CCLI-detaljer + + + + CCLI Number: + CCLI-nummer: + - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - - - - - Image Settings - Bildeinnstillinger - - - - Slide Loop Delay: - - - - - sec - sek - - - - ImagePlugin.MediaItem - - - Image - - - - - Select Image(s) - Velg bilde(r) - - - - All Files - - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - Image(s) - Bilde(r) - - - - You must select an item to process. - - - - - LanguageManager + OpenLP.LanguageManager Language @@ -1567,42 +1779,22 @@ Changes do not affect verses already in the service. - After restart new Language settings will be used. + Please restart OpenLP to use your new language setting. - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - - - - - OpenLP Version Updated - OpenLP versjonen har blitt oppdatert - - - - Save Changes to Service? - Lagre endringer til møteplanen? - - - - OpenLP Main Display Blanked - + + English + Norsk OpenLP 2.0 OpenLP 2.0 - - - English - Norsk - &File @@ -1639,7 +1831,7 @@ Changes do not affect verses already in the service. &Innstillinger - + &Language &Språk @@ -1674,515 +1866,338 @@ Changes do not affect verses already in the service. Ny møteplan - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Åpne - + Open Service Åpne møteplan - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Lagre - + Save Service Lagre møte - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Avslutt - + Quit OpenLP Avslutt OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager - + Toggle Theme Manager Åpne tema-behandler - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager - + Toggle Service Manager Vis møteplanlegger - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Forhåndsvisningspanel - + Toggle Preview Panel Vis forhåndsvisningspanel - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Tillegsliste - + List the Plugins Hent liste over tillegg - + Alt+F7 ALT+F7 - + &User Guide &Brukerveiledning - + &About &Om - + More information about OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help - + &Web Site &Internett side - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... Legg til & Verktøy... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Direkte - + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + OpenLP versjonen har blitt oppdatert + + + + OpenLP Main Display Blanked + + + + + The Main Display has been blanked out + + + + + Save Changes to Service? + Lagre endringer til møteplanen? + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - You must select one or more items - Du må velge ett eller flere elementer - - - - &Add to Service - &Legg til i møteplan - - - - Send the selected item live - - - - - Add the selected item(s) to the service - - - - - Delete the selected item - - - - - &Show Live - - - - - Preview the selected item - - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Media-tillegg</b><br> Dette tillegget spiller av lyd og video. - - - - MediaPlugin.MediaItem - - - Media - - - - - Select Media - Velg media - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2244,7 +2259,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. <b>Presentasjonstillegg</b> <br> Gir deg mulighet til å vise presentasjoner ved hjelp av en rekke ulike programmer. Programmene som er tilgjengelige finner du i rullemenyen. @@ -2252,37 +2267,47 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation Presentasjon - + Select Presentation(s) Velg presentasjon(er) - + Automatic Automatisk - + Present using: Presenter ved hjelp av: - + File exists Filen eksisterer - + A presentation with that filename already exists. - + + Unsupported file + + + + + This type of presentation is not supported + + + + You must select an item to delete. @@ -2290,17 +2315,17 @@ You can download the latest version from http://openlp.org PresentationPlugin.PresentationTab - + Presentations - + Available Controllers - + available @@ -2352,178 +2377,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Service Lagre møte - + Save Changes to Service? Lagre endringer til møteplanen? - + Open Service Åpne møteplan - + Move to top Flytt til toppen - + Create a new service Opprett ny møteplan - + Save this service Lagre møteplan - + Theme: Tema: - + Delete From Service Slett fra møteplan - + &Change Item Theme &Bytt objekttema - + &Preview Verse &Forhåndsvis vers - + OpenLP Service Files (*.osz) OpenLP møteplan (*.osz) - + &Live Verse &Direktevers - + Move to &top Flytt til &toppen - + New Service Ny møteplan - + &Notes &Notis - + &Delete From Service - + Select a theme for the service - + Move up order - + Move down order - + Move &down - + Load an existing service - + Move to end - + Move &up - + &Edit Item - + Move to &bottom - + &Add New Item - + &Add to Selected Item - + &Maintain Item - + Your service is unsaved, do you want to save those changes before creating a new one? - + Your current service is unsaved, do you want to save the changes before opening a new one? - + Error Feil - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it @@ -2539,9 +2564,9 @@ The content encoding is not UTF-8. SettingsForm - - Settings - Innstillinger + + Configure OpenLP + @@ -2552,22 +2577,22 @@ The content encoding is not UTF-8. Flytt til forrige - + Edit and re-preview Song Endre og forhåndsvis sang - + Delay between slides in seconds Forsinkelse mellom lysbilder i sekund - + Go to Verse Gå til vers - + Start continuous loop Start kontinuerlig løkke @@ -2577,12 +2602,12 @@ The content encoding is not UTF-8. Direkte - + Start playing media Start avspilling av media - + Move to live @@ -2607,12 +2632,12 @@ The content encoding is not UTF-8. - + Stop continuous loop - + s @@ -2668,58 +2693,78 @@ The content encoding is not UTF-8. SongsPlugin - + &Song &Sang - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + + Open OpenSong file + + + + + Error importing OpenSong file + + + + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2735,22 +2780,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction - + Select Date Range Velg dato-område - + to til - + Report Location @@ -2794,139 +2839,139 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? - Du har ikke angitt et visningsnavn for forfatteren, vil du bruke forfatterens fulle navn som visningsnavn? + You have not set a display name for the author, would you like me to combine the first and last names for you? + SongsPlugin.EditSongForm - + Song Editor Sangredigeringsverktøy - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit &Rediger - + Ed&it All - + &Delete - + Title && Lyrics Tittel && Sangtekst - + Authors - + &Add to Song - + &Remove &Fjern - - &Manage Authors, Topics, Books + + &Manage Authors, Topics, Song Books - + Topic Emne - + A&dd to Song - + R&emove &Fjern - + Song Book - - Authors, Topics && Book - Forfatter, Emne && Bok + + Authors, Topics && Song Book + - + Theme Tema - + New &Theme - + Copyright Information Copyright-informasjon - + © - + CCLI Number: CCLI-nummer: - + Comments - + Theme, Copyright Info && Comments @@ -3024,17 +3069,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.EditVerseForm - + Edit Verse Rediger Vers - + &Verse type: - + &Insert @@ -3082,97 +3127,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Starting import... - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source Velg importeringskilde - + Select the import format, and where to import from. - + Format: Format: - + OpenLyrics - + OpenSong OpenSong - + CCLI - + CSV - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing - + Please wait while your songs are imported. - + Ready. Klar. - + %p% @@ -3180,87 +3225,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song Sang - + Song Maintenance - + Maintain the lists of authors, topics and books Rediger liste over forfattere, emner og bøker. - + Search: Søk: - + Type: Type: - + Clear - + Search Søk - + Titles Titler - + Lyrics - + Authors - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? - + Delete Confirmation - + CCLI Licence: CCLI lisens: @@ -3269,8 +3314,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - Edit Book - Rediger bok + Song Book Maintenance + @@ -3325,7 +3370,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Books/Hymnals + Song Books @@ -3344,94 +3389,114 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Feil - - Couldn't add your author. - Kunne ikke legge til forfatteren. - - - - Couldn't add your topic. - Kunne ikke legge til emnet. - - - - Couldn't add your book. - Kunne ikke legge til boken. - - - - Couldn't save your author. - Kunne ikke lagre forfatteren - - - - Couldn't save your topic. - Kunne ikke lagre emnet. - - - - Couldn't save your book. + + Could not add your author. - + + This author already exists. + + + + + Could not add your topic. + + + + + This topic already exists. + + + + + Could not add your book. + + + + + This book already exists. + + + + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + Delete Author - + Are you sure you want to delete the selected author? Er du sikker på at du vil slette den valgte forfatteren? - - This author can't be deleted, they are currently assigned to at least one song. - Denne forfatteren kan ikke slettes, den er knyttet til minst én sang. + + This author cannot be deleted, they are currently assigned to at least one song. + - + No author selected! Ingen forfatter er valgt! - + Delete Topic Slett emne - + Are you sure you want to delete the selected topic? - - This topic can't be deleted, it is currently assigned to at least one song. + + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book Slett bok - + Are you sure you want to delete the selected book? Er du sikker på at du vil slette den merkede boken? - - This book can't be deleted, it is currently assigned to at least one song. - Denne boken kan ikke slettes, den er tilknyttet minst én sang. + + This book cannot be deleted, it is currently assigned to at least one song. + + + + + No book selected! + Ingen bok er valgt! @@ -3517,169 +3582,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme Importer tema - + Delete Theme Slett tema - + Error Feil - + Edit Theme Endre tema - + Export Theme Eksporter tema - + You are unable to delete the default theme. Du kan ikke slette det globale temaet - + File is not a valid theme. Filen er ikke et gyldig tema. - + Theme Exists Temaet eksisterer - + Save Theme - (%s) - + Select Theme Import File - + New Theme - + You have not selected a theme. - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - + + Delete Confirmation + + + + + Delete theme? + + + + Theme %s is use in %s plugin. - + Theme %s is use by the service manager. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - - A theme with this name already exists. Would you like to overwrite it? + + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_pt_BR.ts b/resources/i18n/openlp_pt_BR.ts index 440c20ff0..06bb39e03 100644 --- a/resources/i18n/openlp_pt_BR.ts +++ b/resources/i18n/openlp_pt_BR.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - + + &Alert + &Alerta + + + + Show an alert message. + + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <b>Plugin de Alertas</b><br>Este plugin controla a exibição de alertas na tela de apresentação + + + + AlertsPlugin.AlertForm + + + Alert Message + Mensagem de Alerta + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + &Novo + + + + &Save + &Salvar + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + Alertas + + + + Font + Fonte + + + + pt + pt + + + + Alert timeout: + Tempo Limite para o Alerta: + + + + s + s + + + + Location: + Localização: + + + + Preview + Pré-Visualizar + + + + Top + Topo + + + + Middle + Meio + + + + Bottom + + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + OpenLP 2.0 + + + + BiblesPlugin + + + &Bible + &Bíblia + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Plugin da Bíblia</strong>Este plugin permite exibir na tela versículos bíblicos de diferentes versões durante o culto. + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + Bíblias + + + + Verse Display + Exibição do Versículo + + + + Only show new chapter numbers + Somente mostre números de capítulos novos + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + Assistente de Importação da Bíblia + + + + Welcome to the Bible Import Wizard + Bem Vindo ao assistente de Importação de Bíblias + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + Este assistente irá ajudá-lo a importar Bíblias de uma variedade de formatos. Clique no botão próximo abaixo para comecar o processo selecionando o formato a ser importado. + + + + Select Import Source + Selecionar Origem da Importação + + + + Select the import format, and where to import from. + Selecione o formato e de onde será a importação + + + + Format: + Formato: + + + + OSIS + OSIS + + + + CSV + CSV + + + + OpenSong + OpenSong + + + + Web Download + Download da Internet + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Location: + Localização: + + + + Crosswalk + Crosswalk + + + + BibleGateway + BibleGateway + + + + Bible: + Bíblia: + + + + Download Options + Opções de Download + + + + Server: + Servidor: + + + + Username: + Nome de Usuário: + + + + Password: + Senha: + + + + Proxy Server (Optional) + Servidor Proxy (Opcional) + + + + License Details + Detalhes da Licença + + + + Set up the Bible's license details. + Configurar detalhes de licença da Bíblia. + + + + Version name: + + + + + Copyright: + Direito Autoral: + + + + Permission: + Permissão: + + + + Importing + Importando + + + + Please wait while your Bible is imported. + Por favor aguarde enquanto a sua Bíblia é importada. + + + + Ready. + Pronto. + + + + Invalid Bible Location + Localização da Bíblia Inválida + + + + You need to specify a file to import your Bible from. + + + + + Invalid Books File + Arquivo de Livros Inválido + + + + You need to specify a file with books of the Bible to use in the import. + + + + + Invalid Verse File + Arquivo de Versículo Inválido + + + + You need to specify a file of Bible verses to import. + + + + + Invalid OpenSong Bible + Bíblia do OpenSong Inválida + + + + You need to specify an OpenSong Bible file to import. + + + + + Empty Version Name + Nome da Versão Vazio + + + + You need to specify a version name for your Bible. + + + + + Empty Copyright + Limpar Direito Autoral + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + Você precisa definir um direito autoral para a sua Bíblia! Bíblias em Domínio Público necessitam ser marcadas como tal. + + + + Bible Exists + Bíblia Existe + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + A Bíblia já existe! Por favor importe uma Bíblia diferente ou primeiro delete a existente. + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open Verses CSV File + + + + + Open OpenSong Bible + Abrir Biblia do OpenSong + + + + Starting import... + Iniciando importação... + + + + Finished import. + Importação Finalizada. + + + + Your Bible import failed. + A sua Importação da Bíblia falhou. + + + + BiblesPlugin.MediaItem + + + Bible + Bíblia + + + + Quick + Rápido + + + + Advanced + Avançado + + + + Version: + Versão: + + + + Dual: + Duplo: + + + + Search type: + + + + + Find: + Buscar: + + + + Search + Buscar + + + + Results: + Resultados: + + + + Book: + Livro: + + + + Chapter: + Capítulo: + + + + Verse: + Versículo: + + + + From: + De: + + + + To: + Para: + + + + Verse Search + Busca de Versículos + + + + Text Search + Busca de Texto + + + + Clear + Limpar + + + + Keep + Manter + + + + No Book Found + Nenhum Livro Encontrado + + + + No matching book could be found in this Bible. + Nenhum livro foi encontrado nesta Bíblia + + + + etc + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + Importando + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + + + + + CustomPlugin.CustomTab + + + Custom + Customizado + + + + Custom Display + Exibição Customizada + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Editar Slides Customizados + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add New + Adicionar Novo + + + + Add a new slide at bottom. + + + + + Edit + Editar + + + + Edit the selected slide. + + + + + Edit All + Editar Todos + + + + Edit all the slides at once. + + + + + Save + Salvar + + + + Save the slide currently being edited. + + + + + Delete + Deletar + + + + Delete the selected slide. + + + + + Clear + Limpar + + + + Clear edit area + Limpar área de edição + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + Salvar && Pré-Visualizar + + + + Error + Erro + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + Customizado + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + Imagens + + + + Image Settings + Configurações de Imagem + + + + sec + seg + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + Imagem + + + + Select Image(s) + Selecionar Imagem(s) + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + Imagem(s) + + + + You must select an item to process. + + + + + MediaManagerItem + + + You must select one or more items + Você precisa selecionar um ou mais itens + + + + Delete the selected item + Deletar o item selecionado + + + + &Add to Service + &Adicionar ao Culto + + + + Send the selected item live + Enviar o item selecionado para o ao vivo + + + + Add the selected item(s) to the service + Adicionar o item selecionado ao culto + + + + &Show Live + &Mostrar Ao Vivo + + + + Preview the selected item + Pré-Visualizar o item selecionado + + + + No Items Selected + + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <br>Plugin de Mídia</b><br>Este plugin permite a execução de audio e vídeo + + + + MediaPlugin.MediaItem + + + Media + Mídia + + + + Select Media + Selecionar Mídia + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + About OpenLP Sobre o OpenLP - + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -19,12 +1108,12 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + About Sobre - + Project Lead Raoul "superfly" Snyman @@ -57,12 +1146,12 @@ Packagers - + Credits Créditos - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -197,17 +1286,17 @@ This General Public License does not permit incorporating your program into prop - + License Licença - + Contribute Contribuir - + Close Fechar @@ -218,1348 +1307,471 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - &Alerta - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Plugin de Alertas</b><br>Este plugin controla a exibição de alertas na tela de apresentação - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - Mensagem de Alerta - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - &Novo - - - - &Save - &Salvar - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - Alertas - - - - Font - Fonte - - - - Font Name: - Nome da Fonte: - - - - Font Color: - Cor da Fonte: - - - - Background Color: - Cor do Plano de Fundo: - - - - Font Size: - Tamanho da Fonte: - - - - pt - pt - - - - Alert timeout: - Tempo Limite para o Alerta: - - - - s - s - - - - Location: - Localização: - - - - Preview - Pré-Visualizar - - - - openlp.org - openlp.org - - - - Top - Topo - - - - Middle - Meio - - - - Bottom - - - - - AmendThemeForm - - - Theme Maintenance - Manutenção do Tema - - - - &Visibility: - - - - - Opaque - Opaco - - - - Transparent - Transparente - - - - Type: - Tipo: - - - - Solid Color - Cor Sólida - - - - Gradient - Gradiente - - - - Image - Imagem - - - - Image: - Imagem: - - - - Gradient: - - - - - Horizontal - Horizontal - - - - Vertical - Vertical - - - - Circular - Circular - - - - &Background - - - - - Main Font - Fonte Principal - - - - Font: - Fonte: - - - - Color: - - - - - Size: - Tamanho: - - - - pt - pt - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Normal - Normal - - - - Bold - Negrito - - - - Italics - Itálico - - - - Bold/Italics - Negrito/Itálico - - - - Style: - - - - - Display Location - Local de Exibição - - - - X position: - - - - - Y position: - - - - - Width: - Largura: - - - - Height: - Altura: - - - - px - px - - - - &Main Font - - - - - Footer Font - Fonte do Rodapé - - - - &Footer Font - - - - - Outline - Esboço - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow - Sombra - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Alignment - Alinhamento - - - - Horizontal align: - - - - - Left - Esquerda - - - - Right - Direita - - - - Center - Centralizar - - - - Vertical align: - - - - - Top - Topo - - - - Middle - Meio - - - - Bottom - - - - - Slide Transition - Transição do Slide - - - - &Other Options - - - - - Preview - Pré-Visualizar - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Plugin da Bíblia</strong>Este plugin permite exibir na tela versículos bíblicos de diferentes versões durante o culto. - - - - &Bible - &Bíblia - - - - BiblesPlugin.BiblesTab - - - Verse Display - Exibição do Versículo - - - - Only show new chapter numbers - Somente mostre números de capítulos novos - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - Bíblias - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - Assistente de Importação da Bíblia - - - - Welcome to the Bible Import Wizard - Bem Vindo ao assistente de Importação de Bíblias - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - Este assistente irá ajudá-lo a importar Bíblias de uma variedade de formatos. Clique no botão próximo abaixo para comecar o processo selecionando o formato a ser importado. - - - - Select Import Source - Selecionar Origem da Importação - - - - Select the import format, and where to import from. - Selecione o formato e de onde será a importação - - - - Format: - Formato: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - - Web Download - Download da Internet - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - Localização: - - - - Crosswalk - Crosswalk - - - - BibleGateway - BibleGateway - - - - Bible: - Bíblia: - - - - Download Options - Opções de Download - - - - Server: - Servidor: - - - - Username: - Nome de Usuário: - - - - Password: - Senha: - - - - Proxy Server (Optional) - Servidor Proxy (Opcional) - - - - License Details - Detalhes da Licença - - - - Set up the Bible's license details. - Configurar detalhes de licença da Bíblia. - - - - Version name: - - - - - Copyright: - Direito Autoral: - - - - Permission: - Permissão: - - - - Importing - Importando - - - - Please wait while your Bible is imported. - Por favor aguarde enquanto a sua Bíblia é importada. - - - - Ready. - Pronto. - - - - Invalid Bible Location - Localização da Bíblia Inválida - - - - You need to specify a file to import your Bible from. - - - - - Invalid Books File - Arquivo de Livros Inválido - - - - You need to specify a file with books of the Bible to use in the import. - - - - - Invalid Verse File - Arquivo de Versículo Inválido - - - - You need to specify a file of Bible verses to import. - - - - - Invalid OpenSong Bible - Bíblia do OpenSong Inválida - - - - You need to specify an OpenSong Bible file to import. - - - - - Empty Version Name - Nome da Versão Vazio - - - - You need to specify a version name for your Bible. - - - - - Empty Copyright - Limpar Direito Autoral - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - Você precisa definir um direito autoral para a sua Bíblia! Bíblias em Domínio Público necessitam ser marcadas como tal. - - - - Bible Exists - Bíblia Existe - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - A Bíblia já existe! Por favor importe uma Bíblia diferente ou primeiro delete a existente. - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - Abrir Biblia do OpenSong - - - - Starting import... - Iniciando importação... - - - - Finished import. - Importação Finalizada. - - - - Your Bible import failed. - A sua Importação da Bíblia falhou. - - - - BiblesPlugin.MediaItem - - - Bible - Bíblia - - - - Quick - Rápido - - - + Advanced Avançado - - Version: - Versão: - - - - Dual: - Duplo: - - - - Search type: + + UI Settings - - Find: - Buscar: - - - - Search - Buscar - - - - Results: - Resultados: - - - - Book: - Livro: - - - - Chapter: - Capítulo: - - - - Verse: - Versículo: - - - - From: - De: - - - - To: - Para: - - - - Verse Search - Busca de Versículos - - - - Text Search - Busca de Texto - - - - Clear - Limpar - - - - Keep - Manter - - - - No Book Found - Nenhum Livro Encontrado - - - - No matching book could be found in this Bible. - Nenhum livro foi encontrado nesta Bíblia - - - - etc + + Number of recent files to display: - - Bible not fully loaded. + + Save currently selected media manager plugin + + + + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - Importando - - - - CustomPlugin - - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - - - - - CustomPlugin.CustomTab - - - Custom - Customizado + + Theme Maintenance + Manutenção do Tema - - Custom Display - Exibição Customizada - - - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides - Editar Slides Customizados - - - - Move slide up once position. + + Theme &name: - - Move slide down one position. + + &Visibility: - - &Title: - + + Opaque + Opaco - - Add New - Adicionar Novo + + Transparent + Transparente - - Add a new slide at bottom. - + + Type: + Tipo: - - Edit - Editar + + Solid Color + Cor Sólida - - Edit the selected slide. - + + Gradient + Gradiente - - Edit All - Editar Todos - - - - Edit all the slides at once. - - - - - Save - Salvar - - - - Save the slide currently being edited. - - - - - Delete - Deletar - - - - Delete the selected slide. - - - - - Clear - Limpar - - - - Clear edit area - Limpar área de edição - - - - Split Slide - - - - - Split a slide into two by inserting a slide splitter. - - - - - The&me: - - - - - &Credits: - - - - - Save && Preview - Salvar && Pré-Visualizar - - - - Error - Erro - - - - You need to type in a title. - - - - - You need to add at least one slide - - - - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom - Customizado - - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays - - - - - Default Settings - - - - - X: - - - - - Y: - - - - - Height: - Altura: - - - - Width: - Largura: - - - - Custom Settings - - - - - Width - - - - - Override display settings - - - - - GeneralTab - - - CCLI Details - Detalhes de CCLI - - - - primary - principal - - - - Show blank screen warning - Exibir alerta de tela em branco - - - - Application Startup - Inicialização da Aplicação - - - - Select monitor for output display: - Selecione um monitor para exibição: - - - - Application Settings - Configurações da Aplicação - - - - SongSelect Username: - Usuário do SongSelect: - - - - CCLI Number: - Número CCLI: - - - - Automatically open the last service - Abrir o último culto automaticamente - - - - Preview Next Song from Service Manager - Pré-Visualizar Próxima Música do Gerenciamento de Culto - - - - Prompt to save Service before starting New - Perguntar para salvar o Culto antes de começar um Novo - - - - General - Geral - - - - Show the splash screen - Exibir a tela inicial - - - - Screen - Tela - - - - Monitors - Monitores - - - - SongSelect Password: - Senha do SongSelect: - - - - Display if a single screen - - - - - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - Imagens - - - - Image Settings - Configurações de Imagem - - - - Slide Loop Delay: - Intervalo para Repetição do Slide: - - - - sec - seg - - - - ImagePlugin.MediaItem - - + Image Imagem - - Select Image(s) - Selecionar Imagem(s) + + Image: + Imagem: - + + Gradient: + + + + + Horizontal + Horizontal + + + + Vertical + Vertical + + + + Circular + Circular + + + + &Background + + + + + Main Font + Fonte Principal + + + + Font: + Fonte: + + + + Color: + + + + + Size: + Tamanho: + + + + pt + pt + + + + Wrap indentation: + + + + + Adjust line spacing: + + + + + Normal + Normal + + + + Bold + Negrito + + + + Italics + Itálico + + + + Bold/Italics + Negrito/Itálico + + + + Style: + + + + + Display Location + Local de Exibição + + + + Use default location + + + + + X position: + + + + + Y position: + + + + + Width: + Largura: + + + + Height: + Altura: + + + + px + px + + + + &Main Font + + + + + Footer Font + Fonte do Rodapé + + + + &Footer Font + + + + + Outline + Esboço + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + Sombra + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + Alinhamento + + + + Horizontal align: + + + + + Left + Esquerda + + + + Right + Direita + + + + Center + Centralizar + + + + Vertical align: + + + + + Top + Topo + + + + Middle + Meio + + + + Bottom + + + + + Slide Transition + Transição do Slide + + + + Transition active + + + + + &Other Options + + + + + Preview + Pré-Visualizar + + + All Files - - Replace Live Background + + Select Image - - You must select an item to delete. + + First color: - - Image(s) - Imagem(s) + + Second color: + - - You must select an item to process. + + Slide height is %s rows. - LanguageManager + OpenLP.GeneralTab + + + Select monitor for output display: + Selecione um monitor para exibição: + + + + Display if a single screen + + + + + Application Startup + Inicialização da Aplicação + + + + Show blank screen warning + Exibir alerta de tela em branco + + + + Automatically open the last service + Abrir o último culto automaticamente + + + + Show the splash screen + Exibir a tela inicial + + + + Application Settings + Configurações da Aplicação + + + + Prompt to save Service before starting New + Perguntar para salvar o Culto antes de começar um Novo + + + + Preview Next Song from Service Manager + Pré-Visualizar Próxima Música do Gerenciamento de Culto + + + + SongSelect Username: + Usuário do SongSelect: + + + + SongSelect Password: + Senha do SongSelect: + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + + + + General + Geral + + + + Monitors + Monitores + + + + Screen + Tela + + + + primary + principal + + + + CCLI Details + Detalhes de CCLI + + + + CCLI Number: + Número CCLI: + + + + OpenLP.LanguageManager Language @@ -1567,42 +1779,22 @@ Changes do not affect verses already in the service. - After restart new Language settings will be used. + Please restart OpenLP to use your new language setting. - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - A Tela Principal foi apagada - - - - OpenLP Version Updated - Versão do OpenLP Atualizada - - - - Save Changes to Service? - Salvar Mudanças no Culto? - - - - OpenLP Main Display Blanked - Tela Principal do OpenLP em Branco + + English + Inglês OpenLP 2.0 OpenLP 2.0 - - - English - Inglês - &File @@ -1639,7 +1831,7 @@ Changes do not affect verses already in the service. &Configurações - + &Language &Idioma @@ -1674,515 +1866,338 @@ Changes do not affect verses already in the service. Novo Culto - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Abrir - + Open Service Abrir Culto - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Salvar - + Save Service Salvar Culto - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... Salvar &Como... - + Save Service As Salvar Culto Como - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit S&air - + Quit OpenLP Fechar o OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager &Gerenciador de Mídia - + Toggle Media Manager Alternar Gerenciador de Mídia - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Gerenciador de Temas - + Toggle Theme Manager Alternar para Gerenciamento de Temas - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Gerenciador de Culto - + Toggle Service Manager Alternar para o Gerenciador de Cultos - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Painel de Pré-Visualização - + Toggle Preview Panel Alternar para Painel de Pré-Visualização - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Lista de Plugin - + List the Plugins Listar os Plugins - + Alt+F7 Alt+F7 - + &User Guide &Guia do Usuário - + &About &Sobre - + More information about OpenLP Mais informações sobre o OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Ajuda Online - + &Web Site &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Ao Vivo - + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + Versão do OpenLP Atualizada + + + + OpenLP Main Display Blanked + Tela Principal do OpenLP em Branco + + + + The Main Display has been blanked out + A Tela Principal foi apagada + + + + Save Changes to Service? + Salvar Mudanças no Culto? + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - You must select one or more items - Você precisa selecionar um ou mais itens - - - - Delete the selected item - Deletar o item selecionado - - - - &Add to Service - &Adicionar ao Culto - - - - Send the selected item live - Enviar o item selecionado para o ao vivo - - - - Add the selected item(s) to the service - Adicionar o item selecionado ao culto - - - - &Show Live - &Mostrar Ao Vivo - - - - Preview the selected item - Pré-Visualizar o item selecionado - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <br>Plugin de Mídia</b><br>Este plugin permite a execução de audio e vídeo - - - - MediaPlugin.MediaItem - - - Media - Mídia - - - - Select Media - Selecionar Mídia - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2244,7 +2259,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2252,37 +2267,47 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation Apresentação - + Select Presentation(s) Selecionar Apresentação(ões) - + Automatic - + Present using: Apresentar usando: - + File exists Arquivo existe - + A presentation with that filename already exists. Uma apresentação com este nome já existe. - + + Unsupported file + + + + + This type of presentation is not supported + + + + You must select an item to delete. @@ -2290,17 +2315,17 @@ You can download the latest version from http://openlp.org PresentationPlugin.PresentationTab - + Presentations Apresentações - + Available Controllers Controladores Disponíveis - + available disponível @@ -2352,178 +2377,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Changes to Service? Salvar Mudanças no Culto? - + Open Service Abrir Culto - + Move to top Mover para o topo - + Create a new service Criar um novo culto - + Save this service Salvar este culto - + Theme: Tema: - + Delete From Service Deletar do Culto - + &Change Item Theme &Alterar Tema do Item - + Save Service Salvar Culto - + &Live Verse &Versículo Ao Vivo - + New Service Novo Culto - + &Notes &Notas - + Move to end Mover para o fim - + Select a theme for the service Selecione um tema para o culto - + Move up order Mover ordem para cima - + Move down order Mover ordem para baixo - + Load an existing service Carregar um culto existente - + &Preview Verse &Pré-Visualizar Versículo - + &Edit Item &Editar Item - + Move to &top - + Move &up - + Move &down - + Move to &bottom - + &Delete From Service - + &Add New Item - + &Add to Selected Item - + &Maintain Item - + Your service is unsaved, do you want to save those changes before creating a new one? - + OpenLP Service Files (*.osz) - + Your current service is unsaved, do you want to save the changes before opening a new one? - + Error Erro - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it @@ -2539,9 +2564,9 @@ The content encoding is not UTF-8. SettingsForm - - Settings - Configurações + + Configure OpenLP + @@ -2552,12 +2577,12 @@ The content encoding is not UTF-8. Mover para o anterior - + Go to Verse Ir ao Versículo - + Start continuous loop Iniciar repetição contínua @@ -2567,12 +2592,12 @@ The content encoding is not UTF-8. Ao Vivo - + Start playing media Iniciar a reprodução de mídia - + Move to live Mover para ao vivo @@ -2587,12 +2612,12 @@ The content encoding is not UTF-8. Mover para o último - + Edit and re-preview Song Editar e pré-visualizar Música novamente - + Delay between slides in seconds Intervalo entre slides em segundos @@ -2607,12 +2632,12 @@ The content encoding is not UTF-8. Mover para o primeiro - + Stop continuous loop Parar repetição contínua - + s s @@ -2668,58 +2693,78 @@ The content encoding is not UTF-8. SongsPlugin - + &Song &Música - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + + Open OpenSong file + + + + + Error importing OpenSong file + + + + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2735,22 +2780,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction - + Select Date Range - + to para - + Report Location Localização do Relatório @@ -2794,139 +2839,139 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? - Você não configurou um nome de exibição para o autor. Você quer que eu combine o primeiro e ultimo nomes para você? + You have not set a display name for the author, would you like me to combine the first and last names for you? + SongsPlugin.EditSongForm - + Song Editor Editor de Músicas - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit &Editar - + Ed&it All - + &Delete - + Title && Lyrics Título && Letras - + Authors Autores - + &Add to Song &Adicionar à Música - + &Remove &Remover - - &Manage Authors, Topics, Books - &Gerenciar Autores, Tópicos e Livros + + &Manage Authors, Topics, Song Books + - + Topic Tópico - + A&dd to Song A&dicionar uma Música - + R&emove R&emover - + Song Book Livro de Músicas - - Authors, Topics && Book - Autores, Tópicos && Livro + + Authors, Topics && Song Book + - + Theme Tema - + New &Theme - + Copyright Information Informação de Direitos Autorais - + © - + CCLI Number: Número CCLI: - + Comments Comentários - + Theme, Copyright Info && Comments Tema, Direitos Autorais && Comentários @@ -3024,17 +3069,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.EditVerseForm - + Edit Verse Editar Versículo - + &Verse type: - + &Insert @@ -3082,97 +3127,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Starting import... Iniciando importação... - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source Selecionar Origem da Importação - + Select the import format, and where to import from. Selecione o formato e de onde será a importação - + Format: Formato: - + OpenLyrics - + OpenSong OpenSong - + CCLI - + CSV CSV - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing Importando - + Please wait while your songs are imported. - + Ready. Pronto. - + %p% @@ -3180,87 +3225,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song Música - + Song Maintenance Manutenção de Músicas - + Maintain the lists of authors, topics and books Gerenciar as listas de autores, tópicos e livros - + Search: Buscar: - + Type: Tipo: - + Clear Limpar - + Search Buscar - + Titles Títulos - + Lyrics Letras - + Authors Autores - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? - + Delete Confirmation - + CCLI Licence: Licença CCLI: @@ -3269,8 +3314,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - Edit Book - Editar Livro + Song Book Maintenance + @@ -3325,8 +3370,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Books/Hymnals - Livros/Hinários + Song Books + @@ -3344,95 +3389,115 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Erro - - Couldn't add your author. + + Could not add your author. - - Couldn't add your topic. + + This author already exists. - - Couldn't add your book. + + Could not add your topic. - - Couldn't save your author. + + This topic already exists. - - Couldn't save your topic. + + Could not add your book. - - Couldn't save your book. + + This book already exists. - + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + Delete Author Deletar Autor - + Are you sure you want to delete the selected author? Você tem certeza que deseja deletar o autor selecionado? - - This author can't be deleted, they are currently assigned to at least one song. + + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Nenhum autor selecionado! - + Delete Topic Deletar Tópico - + Are you sure you want to delete the selected topic? Você tem certeza que deseja deletar o tópico selecionado? - - This topic can't be deleted, it is currently assigned to at least one song. + + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! Nenhum tópico selecionado! - + Delete Book Deletar Livro - + Are you sure you want to delete the selected book? Você tem certeza que deseja deletar o livro selecionado? - - This book can't be deleted, it is currently assigned to at least one song. + + This book cannot be deleted, it is currently assigned to at least one song. + + + No book selected! + Nenhum livro selecionado! + SongsPlugin.SongUsageDeleteForm @@ -3517,169 +3582,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme Importar Tema - + Delete Theme Deletar Tema - + Error Erro - + Edit Theme Editar Tema - + Export Theme Exportar Tema - + Theme Exists Tema Existe - + Save Theme - (%s) Salvar Tema - (%s) - + Select Theme Import File Selecionar Arquivo de Importação de Tema - + New Theme Novo Tema - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - - You are unable to delete the default theme. + + Delete Confirmation - - Theme %s is use in %s plugin. + + Delete theme? + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + Theme %s is use by the service manager. - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - - A theme with this name already exists. Would you like to overwrite it? + + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_sv.ts b/resources/i18n/openlp_sv.ts index a9c64667d..e70656674 100644 --- a/resources/i18n/openlp_sv.ts +++ b/resources/i18n/openlp_sv.ts @@ -1,14 +1,1103 @@ - AboutForm + AlertsPlugin - + + &Alert + &Alarm + + + + Show an alert message. + + + + + <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <b>Alarm Plugin</b><br>Den här plugin:en kontrollerar visning av alarm på presentationsbilden + + + + AlertsPlugin.AlertForm + + + Alert Message + Larmmeddelande + + + + Alert &text: + + + + + &Parameter(s): + + + + + &New + &Ny + + + + &Save + &Spara + + + + &Delete + + + + + Displ&ay + + + + + Display && Cl&ose + + + + + &Close + + + + + New Alert + + + + + You haven't specified any text for your alert. Please type in some text before clicking New. + + + + + AlertsPlugin.AlertsManager + + + Alert message created and displayed. + + + + + AlertsPlugin.AlertsTab + + + Alerts + Alarm + + + + Font + Font + + + + pt + pt + + + + Alert timeout: + Alarm timeout: + + + + s + s + + + + Location: + + + + + Preview + Förhandsgranska + + + + Top + Topp + + + + Middle + Mitten + + + + Bottom + + + + + Font name: + + + + + Font color: + + + + + Background color: + + + + + Font size: + + + + + OpenLP 2.0 + OpenLP 2.0 + + + + BiblesPlugin + + + &Bible + &Bibel + + + + <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bibel Plugin</strong><br /> Det här pluginprogrammet visar Bibelverser från olika källor på skärmen. + + + + BiblesPlugin.BibleDB + + + Book not found + + + + + The book you requested could not be found in this bible. Please check your spelling and that this is a complete bible not just one testament. + + + + + BiblesPlugin.BiblesTab + + + Bibles + Biblar + + + + Verse Display + Versvisning + + + + Only show new chapter numbers + Visa bara nya kapitelnummer + + + + Layout style: + + + + + Display style: + + + + + Bible theme: + + + + + Verse Per Slide + + + + + Verse Per Line + + + + + Continuous + + + + + No Brackets + + + + + ( And ) + + + + + { And } + + + + + [ And ] + + + + + Note: +Changes do not affect verses already in the service. + + + + + Display dual Bible verses + + + + + BiblesPlugin.ImportWizardForm + + + Bible Import Wizard + Bibelimport-guide + + + + Welcome to the Bible Import Wizard + Välkommen till guiden för Bibelimport + + + + This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. + Den här guiden hjälper dig importera biblar från en mängd olika format. Klicka på nästa-knappen nedan för att börja proceduren genom att välja ett format att importera från. + + + + Select Import Source + Välj importkälla + + + + Select the import format, and where to import from. + Välj format för import, och plats att importera från. + + + + Format: + Format: + + + + OSIS + OSIS + + + + CSV + CSV + + + + OpenSong + OpenSong + + + + Web Download + Webbnedladdning + + + + File location: + + + + + Books location: + + + + + Verse location: + + + + + Bible filename: + + + + + Location: + + + + + Crosswalk + Crosswalk + + + + BibleGateway + BibleGateway + + + + Bible: + Bibel: + + + + Download Options + Alternativ för nedladdning + + + + Server: + Server: + + + + Username: + Användarnamn: + + + + Password: + Lösenord: + + + + Proxy Server (Optional) + Proxyserver (Frivilligt) + + + + License Details + Licensdetaljer + + + + Set up the Bible's license details. + Skriv in Bibelns licensdetaljer. + + + + Version name: + + + + + Copyright: + Copyright: + + + + Permission: + Rättigheter: + + + + Importing + Importerar + + + + Please wait while your Bible is imported. + Vänligen vänta medan din Bibel importeras. + + + + Ready. + Redo. + + + + Invalid Bible Location + Felaktig bibelplacering + + + + You need to specify a file to import your Bible from. + Du måste ange en fil att importera dina Biblar från. + + + + Invalid Books File + Ogiltig bokfil + + + + You need to specify a file with books of the Bible to use in the import. + Du måste välja en fil med Bibelböcker att använda i importen. + + + + Invalid Verse File + Ogiltid versfil + + + + You need to specify a file of Bible verses to import. + Du måste specificera en fil med Bibelverser att importera. + + + + Invalid OpenSong Bible + Ogiltig OpenSong-bibel + + + + You need to specify an OpenSong Bible file to import. + Du måste ange en OpenSong Bibel-fil att importera. + + + + Empty Version Name + Tomt versionsnamn + + + + You need to specify a version name for your Bible. + Du måste ange ett versionsnamn för din Bibel. + + + + Empty Copyright + Tom copyright-information + + + + You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. + Du måste infoga copyright-information för din Bibel! Biblar i den publika domänen måste innehålla det. + + + + Bible Exists + Bibel existerar + + + + This Bible already exists! Please import a different Bible or first delete the existing one. + Bibeln existerar redan! Importera en annan BIbel eller ta bort den som finns. + + + + Open OSIS File + + + + + Open Books CSV File + + + + + Open Verses CSV File + + + + + Open OpenSong Bible + Öppna OpenSong Bibel + + + + Starting import... + Påbörjar import... + + + + Finished import. + Importen är färdig. + + + + Your Bible import failed. + Din Bibelimport misslyckades. + + + + BiblesPlugin.MediaItem + + + Bible + Bibel + + + + Quick + Snabb + + + + Advanced + Avancerat + + + + Version: + Version: + + + + Dual: + Dubbel: + + + + Search type: + + + + + Find: + Hitta: + + + + Search + Sök + + + + Results: + Resultat: + + + + Book: + Bok: + + + + Chapter: + Kapitel: + + + + Verse: + Vers: + + + + From: + Från: + + + + To: + Till: + + + + Verse Search + Sök vers + + + + Text Search + Textsökning + + + + Clear + + + + + Keep + Behåll + + + + No Book Found + Ingen bok hittades + + + + No matching book could be found in this Bible. + Ingen matchande bok kunde hittas i den här Bibeln. + + + + etc + + + + + Bible not fully loaded. + + + + + BiblesPlugin.Opensong + + + Importing + Importerar + + + + CustomPlugin + + + <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <b>Anpassad Plugin</b><br>Det här pluginprogrammet tillåter visning av bilder på samma sätt som sånger. Den ger större frihet över sångpluginprogrammet.<br> + + + + CustomPlugin.CustomTab + + + Custom + + + + + Custom Display + Anpassad Visning + + + + Display footer + + + + + CustomPlugin.EditCustomForm + + + Edit Custom Slides + Redigera anpassad bild + + + + Move slide up once position. + + + + + Move slide down one position. + + + + + &Title: + + + + + Add New + Lägg till ny + + + + Add a new slide at bottom. + + + + + Edit + Redigera + + + + Edit the selected slide. + + + + + Edit All + Redigera alla + + + + Edit all the slides at once. + + + + + Save + Spara + + + + Save the slide currently being edited. + + + + + Delete + Ta bort + + + + Delete the selected slide. + + + + + Clear + + + + + Clear edit area + Töm redigeringsområde + + + + Split Slide + + + + + Split a slide into two by inserting a slide splitter. + + + + + The&me: + + + + + &Credits: + + + + + Save && Preview + Spara && förhandsgranska + + + + Error + Fel + + + + You need to type in a title. + + + + + You need to add at least one slide + + + + + You have one or more unsaved slides, please either save your slide(s) or clear your changes. + + + + + CustomPlugin.MediaItem + + + Custom + + + + + You haven't selected an item to edit. + + + + + You haven't selected an item to delete. + + + + + ImagePlugin + + + <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + + + + + ImagePlugin.ImageTab + + + Images + Bilder + + + + Image Settings + Bildinställningar + + + + sec + sek + + + + Slide loop delay: + + + + + ImagePlugin.MediaItem + + + Image + Bild + + + + Select Image(s) + Välj bild(er) + + + + All Files + + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + Image(s) + Bilder + + + + You must select an item to process. + + + + + MediaManagerItem + + + You must select one or more items + Du måste välja ett eller flera objekt + + + + Delete the selected item + Ta bort det valda objektet + + + + &Add to Service + &Lägg till i mötesplanering + + + + Send the selected item live + Skicka det valda objektet till live + + + + Add the selected item(s) to the service + Lägg till valda objekt till planeringen + + + + &Show Live + &Visa Live + + + + Preview the selected item + Förhandsgranska det valda objektet + + + + No Items Selected + + + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Preview %s + + + + + Add %s to Service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Add to selected Service Item + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + MediaPlugin + + + <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <b>Media Plugin</b><br>Den här plugin:en tillåter uppspelning av ljud och video + + + + MediaPlugin.MediaItem + + + Media + Media + + + + Select Media + Välj media + + + + Replace Live Background + + + + + You must select an item to delete. + + + + + OpenLP + + + Image Files + + + + + OpenLP.AboutForm + + About OpenLP Om OpenLP - + OpenLP <version><revision> - Open Source Lyrics Projection 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) for church worship using a computer and a data projector. @@ -19,12 +1108,12 @@ OpenLP is written and maintained by volunteers. If you would like to see more fr - + About Om - + Project Lead Raoul "superfly" Snyman @@ -57,12 +1146,12 @@ Packagers - + Credits Credits - + Copyright © 2004-2010 Raoul Snyman Portions copyright © 2004-2010 Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Carsten Tinggaard @@ -197,17 +1286,17 @@ This General Public License does not permit incorporating your program into prop - + License Licens - + Contribute Bidra - + Close Stäng @@ -218,1348 +1307,471 @@ This General Public License does not permit incorporating your program into prop - AlertsPlugin + OpenLP.AdvancedTab - - &Alert - &Alarm - - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Alarm Plugin</b><br>Den här plugin:en kontrollerar visning av alarm på presentationsbilden - - - - Show an alert message. - - - - - AlertsPlugin.AlertForm - - - Alert Message - Larmmeddelande - - - - Alert &text: - - - - - &Parameter(s): - - - - - &New - &Ny - - - - &Save - &Spara - - - - &Delete - - - - - Displ&ay - - - - - Display && Cl&ose - - - - - &Close - - - - - New Alert - - - - - You haven't specified any text for your alert. Please type in some text before clicking New. - - - - - AlertsPlugin.AlertsManager - - - Alert message created and displayed. - - - - - AlertsPlugin.AlertsTab - - - Alerts - Alarm - - - - Font - Font - - - - Font Name: - Fontnamn: - - - - Font Color: - Fontfärg: - - - - Background Color: - Bakgrundsfärg: - - - - Font Size: - Fontstorlek: - - - - pt - pt - - - - Alert timeout: - Alarm timeout: - - - - s - s - - - - Location: - - - - - Preview - Förhandsgranska - - - - openlp.org - openlp.org - - - - Top - Topp - - - - Middle - Mitten - - - - Bottom - - - - - AmendThemeForm - - - Theme Maintenance - Temaunderhåll - - - - &Visibility: - - - - - Opaque - Ogenomskinlig - - - - Transparent - Genomskinlig - - - - Type: - Typ: - - - - Solid Color - Solid Färg - - - - Gradient - Stegvis - - - - Image - Bild - - - - Image: - Bild: - - - - Gradient: - - - - - Horizontal - Horisontellt - - - - Vertical - Vertikal - - - - Circular - Cirkulär - - - - &Background - - - - - Main Font - Huvudfont - - - - Font: - Font: - - - - Color: - - - - - Size: - Storlek: - - - - pt - pt - - - - Wrap indentation: - - - - - Adjust line spacing: - - - - - Normal - Normal - - - - Bold - Fetstil - - - - Italics - Kursiv - - - - Bold/Italics - Fetstil/kursiv - - - - Style: - - - - - Display Location - Visa plats - - - - X position: - - - - - Y position: - - - - - Width: - Bredd: - - - - Height: - Höjd: - - - - px - px - - - - &Main Font - - - - - Footer Font - Sidfot-font - - - - &Footer Font - - - - - Outline - Kontur - - - - Outline size: - - - - - Outline color: - - - - - Show outline: - - - - - Shadow - Skugga - - - - Shadow size: - - - - - Shadow color: - - - - - Show shadow: - - - - - Alignment - Justering - - - - Horizontal align: - - - - - Left - Vänster - - - - Right - Höger - - - - Center - Centrera - - - - Vertical align: - - - - - Top - Topp - - - - Middle - Mitten - - - - Bottom - - - - - Slide Transition - Bildövergång - - - - &Other Options - - - - - Preview - Förhandsgranska - - - - All Files - - - - - Select Image - - - - - First color: - - - - - Second color: - - - - - Slide height is %s rows. - - - - - Theme &name: - - - - - Use default location - - - - - Transition active - - - - - BibleDB - - - Book not found - - - - - BiblePlugin - - - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bibel Plugin</strong><br /> Det här pluginprogrammet visar Bibelverser från olika källor på skärmen. - - - - &Bible - &Bibel - - - - BiblesPlugin.BiblesTab - - - Verse Display - Versvisning - - - - Only show new chapter numbers - Visa bara nya kapitelnummer - - - - Layout style: - - - - - Display style: - - - - - Bible theme: - - - - - Verse Per Slide - - - - - Verse Per Line - - - - - Continuous - - - - - No Brackets - - - - - ( And ) - - - - - { And } - - - - - [ And ] - - - - - Note: -Changes do not affect verses already in the service. - - - - - Display dual Bible verses - - - - - Bibles - Biblar - - - - BiblesPlugin.ImportWizardForm - - - Bible Import Wizard - Bibelimport-guide - - - - Welcome to the Bible Import Wizard - Välkommen till guiden för Bibelimport - - - - This wizard will help you to import Bibles from a variety of formats. Click the next button below to start the process by selecting a format to import from. - Den här guiden hjälper dig importera biblar från en mängd olika format. Klicka på nästa-knappen nedan för att börja proceduren genom att välja ett format att importera från. - - - - Select Import Source - Välj importkälla - - - - Select the import format, and where to import from. - Välj format för import, och plats att importera från. - - - - Format: - Format: - - - - OSIS - OSIS - - - - CSV - CSV - - - - OpenSong - OpenSong - - - - Web Download - Webbnedladdning - - - - File location: - - - - - Books location: - - - - - Verse location: - - - - - Bible filename: - - - - - Location: - - - - - Crosswalk - Crosswalk - - - - BibleGateway - BibleGateway - - - - Bible: - Bibel: - - - - Download Options - Alternativ för nedladdning - - - - Server: - Server: - - - - Username: - Användarnamn: - - - - Password: - Lösenord: - - - - Proxy Server (Optional) - Proxyserver (Frivilligt) - - - - License Details - Licensdetaljer - - - - Set up the Bible's license details. - Skriv in Bibelns licensdetaljer. - - - - Version name: - - - - - Copyright: - Copyright: - - - - Permission: - Rättigheter: - - - - Importing - Importerar - - - - Please wait while your Bible is imported. - Vänligen vänta medan din Bibel importeras. - - - - Ready. - Redo. - - - - Invalid Bible Location - Felaktig bibelplacering - - - - You need to specify a file to import your Bible from. - Du måste ange en fil att importera dina Biblar från. - - - - Invalid Books File - Ogiltig bokfil - - - - You need to specify a file with books of the Bible to use in the import. - Du måste välja en fil med Bibelböcker att använda i importen. - - - - Invalid Verse File - Ogiltid versfil - - - - You need to specify a file of Bible verses to import. - Du måste specificera en fil med Bibelverser att importera. - - - - Invalid OpenSong Bible - Ogiltig OpenSong-bibel - - - - You need to specify an OpenSong Bible file to import. - Du måste ange en OpenSong Bibel-fil att importera. - - - - Empty Version Name - Tomt versionsnamn - - - - You need to specify a version name for your Bible. - Du måste ange ett versionsnamn för din Bibel. - - - - Empty Copyright - Tom copyright-information - - - - You need to set a copyright for your Bible! Bibles in the Public Domain need to be marked as such. - Du måste infoga copyright-information för din Bibel! Biblar i den publika domänen måste innehålla det. - - - - Bible Exists - Bibel existerar - - - - This Bible already exists! Please import a different Bible or first delete the existing one. - Bibeln existerar redan! Importera en annan BIbel eller ta bort den som finns. - - - - Open OSIS File - - - - - Open Books CSV File - - - - - Open Verses CSV File - - - - - Open OpenSong Bible - Öppna OpenSong Bibel - - - - Starting import... - Påbörjar import... - - - - Finished import. - Importen är färdig. - - - - Your Bible import failed. - Din Bibelimport misslyckades. - - - - BiblesPlugin.MediaItem - - - Bible - Bibel - - - - Quick - Snabb - - - + Advanced Avancerat - - Version: - Version: - - - - Dual: - Dubbel: - - - - Search type: + + UI Settings - - Find: - Hitta: - - - - Search - Sök - - - - Results: - Resultat: - - - - Book: - Bok: - - - - Chapter: - Kapitel: - - - - Verse: - Vers: - - - - From: - Från: - - - - To: - Till: - - - - Verse Search - Sök vers - - - - Text Search - Textsökning - - - - Clear + + Number of recent files to display: - - Keep - Behåll - - - - No Book Found - Ingen bok hittades - - - - No matching book could be found in this Bible. - Ingen matchande bok kunde hittas i den här Bibeln. - - - - etc + + Save currently selected media manager plugin - - Bible not fully loaded. + + Double-click to send items straight to live (requires restart) - BiblesPlugin.Opensong + OpenLP.AmendThemeForm - - Importing - Importerar + + Theme Maintenance + Temaunderhåll - - - CustomPlugin - - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - <b>Anpassad Plugin</b><br>Det här pluginprogrammet tillåter visning av bilder på samma sätt som sånger. Den ger större frihet över sångpluginprogrammet.<br> - - - - CustomPlugin.CustomTab - - - Custom + + Theme &name: - - Custom Display - Anpassad Visning - - - - Display footer - - - - - CustomPlugin.EditCustomForm - - - Edit Custom Slides - Redigera anpassad bild - - - - Move slide up once position. + + &Visibility: - - Move slide down one position. - + + Opaque + Ogenomskinlig - - &Title: - + + Transparent + Genomskinlig - - Add New - Lägg till ny + + Type: + Typ: - - Add a new slide at bottom. - + + Solid Color + Solid Färg - - Edit - Redigera + + Gradient + Stegvis - - Edit the selected slide. - - - - - Edit All - Redigera alla - - - - Edit all the slides at once. - - - - - Save - Spara - - - - Save the slide currently being edited. - - - - - Delete - Ta bort - - - - Delete the selected slide. - - - - - Clear - - - - - Clear edit area - Töm redigeringsområde - - - - Split Slide - - - - - Split a slide into two by inserting a slide splitter. - - - - - The&me: - - - - - &Credits: - - - - - Save && Preview - Spara && förhandsgranska - - - - Error - Fel - - - - You need to type in a title. - - - - - You need to add at least one slide - - - - - You have one or more unsaved slides, please either save your slide(s) or clear your changes. - - - - - CustomPlugin.MediaItem - - - Custom - - - - - You haven't selected an item to edit. - - - - - You haven't selected an item to delete. - - - - - DisplayTab - - - Displays - - - - - Default Settings - - - - - X: - - - - - Y: - - - - - Height: - Höjd: - - - - Width: - Bredd: - - - - Custom Settings - - - - - Width - - - - - Override display settings - - - - - GeneralTab - - - CCLI Details - CCLI-detaljer - - - - primary - primär - - - - Application Startup - Programstart - - - - Select monitor for output display: - Välj skärm för utsignal: - - - - Application Settings - Programinställningar - - - - SongSelect Username: - SongSelect Användarnamn: - - - - CCLI Number: - CCLI-nummer: - - - - Automatically open the last service - Öppna automatiskt den senaste planeringen - - - - Preview Next Song from Service Manager - Förhandsgranska nästa sång från mötesplaneringen - - - - Show blank screen warning - Visa varning vid tom skärm - - - - Prompt to save Service before starting New - Fråga om att spara mötesplanering innan en ny skapas - - - - General - Allmänt - - - - Show the splash screen - Visa startbilden - - - - Screen - Skärm - - - - Monitors - Skärmar - - - - SongSelect Password: - SongSelect-lösenord: - - - - Display if a single screen - - - - - ImagePlugin - - - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> - - - - - ImagePlugin.ImageTab - - - Images - Bilder - - - - Image Settings - Bildinställningar - - - - Slide Loop Delay: - Fördröjning av bild-loop: - - - - sec - sek - - - - ImagePlugin.MediaItem - - + Image Bild - - Select Image(s) - Välj bild(er) + + Image: + Bild: - + + Gradient: + + + + + Horizontal + Horisontellt + + + + Vertical + Vertikal + + + + Circular + Cirkulär + + + + &Background + + + + + Main Font + Huvudfont + + + + Font: + Font: + + + + Color: + + + + + Size: + Storlek: + + + + pt + pt + + + + Wrap indentation: + + + + + Adjust line spacing: + + + + + Normal + Normal + + + + Bold + Fetstil + + + + Italics + Kursiv + + + + Bold/Italics + Fetstil/kursiv + + + + Style: + + + + + Display Location + Visa plats + + + + Use default location + + + + + X position: + + + + + Y position: + + + + + Width: + Bredd: + + + + Height: + Höjd: + + + + px + px + + + + &Main Font + + + + + Footer Font + Sidfot-font + + + + &Footer Font + + + + + Outline + Kontur + + + + Outline size: + + + + + Outline color: + + + + + Show outline: + + + + + Shadow + Skugga + + + + Shadow size: + + + + + Shadow color: + + + + + Show shadow: + + + + + Alignment + Justering + + + + Horizontal align: + + + + + Left + Vänster + + + + Right + Höger + + + + Center + Centrera + + + + Vertical align: + + + + + Top + Topp + + + + Middle + Mitten + + + + Bottom + + + + + Slide Transition + Bildövergång + + + + Transition active + + + + + &Other Options + + + + + Preview + Förhandsgranska + + + All Files - - Replace Live Background + + Select Image - - You must select an item to delete. + + First color: - - Image(s) - Bilder + + Second color: + - - You must select an item to process. + + Slide height is %s rows. - LanguageManager + OpenLP.GeneralTab + + + Select monitor for output display: + Välj skärm för utsignal: + + + + Display if a single screen + + + + + Application Startup + Programstart + + + + Show blank screen warning + Visa varning vid tom skärm + + + + Automatically open the last service + Öppna automatiskt den senaste planeringen + + + + Show the splash screen + Visa startbilden + + + + Application Settings + Programinställningar + + + + Prompt to save Service before starting New + Fråga om att spara mötesplanering innan en ny skapas + + + + Preview Next Song from Service Manager + Förhandsgranska nästa sång från mötesplaneringen + + + + SongSelect Username: + SongSelect Användarnamn: + + + + SongSelect Password: + SongSelect-lösenord: + + + + Display Position + + + + + X + + + + + Y + + + + + Height + + + + + Width + + + + + Override display position + + + + + General + Allmänt + + + + Monitors + Skärmar + + + + Screen + Skärm + + + + primary + primär + + + + CCLI Details + CCLI-detaljer + + + + CCLI Number: + CCLI-nummer: + + + + OpenLP.LanguageManager Language @@ -1567,42 +1779,22 @@ Changes do not affect verses already in the service. - After restart new Language settings will be used. + Please restart OpenLP to use your new language setting. - MainWindow + OpenLP.MainWindow - - The Main Display has been blanked out - Huvuddisplayen har rensats - - - - OpenLP Version Updated - OpenLP-version uppdaterad - - - - Save Changes to Service? - Spara ändringar till mötesplanering? - - - - OpenLP Main Display Blanked - OpenLP huvuddisplay tömd + + English + Engelska OpenLP 2.0 OpenLP 2.0 - - - English - Engelska - &File @@ -1639,7 +1831,7 @@ Changes do not affect verses already in the service. &Inställningar - + &Language &Språk @@ -1674,515 +1866,338 @@ Changes do not affect verses already in the service. Ny mötesplanering - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Öppna - + Open Service Öppna Mötesplanering - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Spara - + Save Service Spara Mötesplanering - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... S&para som... - + Save Service As Spara mötesplanering som... - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Avsluta - + Quit OpenLP Stäng OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager &Mediahanterare - + Toggle Media Manager Växla mediahanterare - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Temahanterare - + Toggle Theme Manager Växla temahanteraren - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Mötesplaneringshanterare - + Toggle Service Manager Växla mötesplaneringshanterare - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Förhandsgranskning - + Toggle Preview Panel Växla förhandsgranskningspanel - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Pluginlista - + List the Plugins Lista Plugin - + Alt+F7 Alt+F7 - + &User Guide &Användarguide - + &About &Om - + More information about OpenLP Mer information om OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Online-hjälp - + &Web Site &Webbsida - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. - - Version %s of OpenLP is now available for download (you are currently running version %s). + + Version %s of OpenLP is now available for download (you are currently running version %s). -You can download the latest version from http://openlp.org +You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + + OpenLP Version Updated + OpenLP-version uppdaterad + + + + OpenLP Main Display Blanked + OpenLP huvuddisplay tömd + + + + The Main Display has been blanked out + Huvuddisplayen har rensats + + + + Save Changes to Service? + + + + Your service has changed. Do you want to save those changes? - + Default Theme: %s - - MediaManagerItem - - - You must select one or more items - Du måste välja ett eller flera objekt - - - - Delete the selected item - Ta bort det valda objektet - - - - &Add to Service - &Lägg till i mötesplanering - - - - Send the selected item live - Skicka det valda objektet till live - - - - Add the selected item(s) to the service - Lägg till valda objekt till planeringen - - - - &Show Live - &Visa Live - - - - Preview the selected item - Förhandsgranska det valda objektet - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. - - - - - MediaPlugin - - - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Media Plugin</b><br>Den här plugin:en tillåter uppspelning av ljud och video - - - - MediaPlugin.MediaItem - - - Media - Media - - - - Select Media - Välj media - - - - Replace Live Background - - - - - You must select an item to delete. - - - - - OpenLP - - - Image Files - - - PluginForm @@ -2244,7 +2259,7 @@ You can download the latest version from http://openlp.org PresentationPlugin - + <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. <b>Presentations Plugin</b> <br> Ger möjlighet att visa presentationer genom olika program. Tillgängliga presentationsprogram finns i en drop-down meny. @@ -2252,37 +2267,47 @@ You can download the latest version from http://openlp.org PresentationPlugin.MediaItem - + Presentation Presentation - + Select Presentation(s) Välj presentation(er) - + Automatic Automatisk - + Present using: Presentera genom: - + File exists Fil finns - + A presentation with that filename already exists. En presentation med det namnet finns redan. - + + Unsupported file + + + + + This type of presentation is not supported + + + + You must select an item to delete. @@ -2290,17 +2315,17 @@ You can download the latest version from http://openlp.org PresentationPlugin.PresentationTab - + Presentations Presentationer - + Available Controllers Tillgängliga Presentationsprogram - + available tillgänglig @@ -2352,178 +2377,178 @@ You can download the latest version from http://openlp.org ServiceManager - + Save Changes to Service? Spara Ändringar till Planering? - + Open Service Öppna Mötesplanering - + Move to top Flytta längst upp - + Create a new service Skapa en ny mötesplanering - + Save this service Spara denna mötesplanering - + Theme: Tema: - + Delete From Service Ta bort från mötesplanering - + &Change Item Theme &Byt objektets tema - + Save Service Spara Mötesplanering - + &Live Verse &Live-vers - + Move to &top Flytta till &toppen - + New Service Ny mötesplanering - + &Notes &Anteckningar - + Move to end Flytta till slutet - + &Delete From Service &Ta bort från mötesplanering - + Select a theme for the service Välj ett tema för planeringen - + Move up order Flytta upp order - + Move down order Flytta ner order - + Move &down Flytta &ner - + Load an existing service Ladda en planering - + &Preview Verse &Förhandsgranska Vers - + Move &up Flytta &upp - + &Edit Item &Redigera objekt - + Move to &bottom Flytta längst &ner - + &Add New Item - + &Add to Selected Item - + &Maintain Item - + Your service is unsaved, do you want to save those changes before creating a new one? - + OpenLP Service Files (*.osz) - + Your current service is unsaved, do you want to save the changes before opening a new one? - + Error Fel - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it @@ -2539,9 +2564,9 @@ The content encoding is not UTF-8. SettingsForm - - Settings - Alternativ + + Configure OpenLP + @@ -2552,12 +2577,12 @@ The content encoding is not UTF-8. Flytta till föregående - + Go to Verse Hoppa till vers - + Start continuous loop Börja oändlig loop @@ -2567,12 +2592,12 @@ The content encoding is not UTF-8. Live - + Start playing media Börja spela media - + Move to live Flytta till live @@ -2587,12 +2612,12 @@ The content encoding is not UTF-8. Flytta till sist - + Edit and re-preview Song Ändra och åter-förhandsgranska sång - + Delay between slides in seconds Fördröjning mellan bilder, i sekunder @@ -2607,12 +2632,12 @@ The content encoding is not UTF-8. Flytta till första - + Stop continuous loop Stoppa upprepad loop - + s s @@ -2668,58 +2693,78 @@ The content encoding is not UTF-8. SongsPlugin - + &Song &Sång - + Import songs using the import wizard. - + Songs of Fellowship (temp menu item) - + Import songs from the VOLS1_2.RTF, sof3words.rtf and sof4words.rtf supplied with the music books - + Generic Document/Presentation Import (temp menu item) - + Import songs from Word/Writer/Powerpoint/Impress - + + OpenSong (temp menu item) + + + + + Import songs from OpenSong files(either raw text or ZIPfiles) + + + + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + + Open OpenSong file + + + + + Error importing OpenSong file + + + + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2735,22 +2780,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.AuditDetailDialog - + Song Usage Extraction Sånganvändningsutdrag - + Select Date Range Välj datumspann - + to till - + Report Location Rapportera placering @@ -2794,139 +2839,139 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - You haven't set a display name for the author, would you like me to combine the first and last names for you? - Du har inte ställt in ett visningsnamn för låtskrivaren, vill du att programmet kombinerar förnamnet och efternamnet åt dig? + You have not set a display name for the author, would you like me to combine the first and last names for you? + SongsPlugin.EditSongForm - + Song Editor Sångredigerare - + &Title: - + Alt&ernate Title: - + &Lyrics: - + &Verse Order: - + &Add - + &Edit &Redigera - + Ed&it All - + &Delete - + Title && Lyrics Titel && Sångtexter - + Authors - + &Add to Song &Lägg till i sång - + &Remove &Ta bort - - &Manage Authors, Topics, Books - &Hantera författare, ämnen, böcker + + &Manage Authors, Topics, Song Books + - + Topic Ämne - + A&dd to Song Lägg till i sång - + R&emove Ta &bort - + Song Book Sångbok - - Authors, Topics && Book - Författare, ämnen && bok + + Authors, Topics && Song Book + - + Theme Tema - + New &Theme - + Copyright Information Copyright-information - + © - + CCLI Number: CCLI-nummer: - + Comments Kommentarer - + Theme, Copyright Info && Comments Tema, copyright-info && kommentarer @@ -3024,17 +3069,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.EditVerseForm - + Edit Verse Redigera vers - + &Verse type: - + &Insert @@ -3082,97 +3127,97 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Starting import... Påbörjar import... - + Song Import Wizard - + Welcome to the Song Import Wizard - + This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Select Import Source Välj importkälla - + Select the import format, and where to import from. Välj format för import, och plats att importera från. - + Format: Format: - + OpenLyrics - + OpenSong OpenSong - + CCLI - + CSV CSV - + Add Files... - + Remove File(s) - + Filename: - + Browse... - + Importing Importerar - + Please wait while your songs are imported. - + Ready. Redo. - + %p% @@ -3180,87 +3225,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.MediaItem - + Song Sång - + Song Maintenance Sångunderhåll - + Maintain the lists of authors, topics and books Hantera listorna över författare, ämnen och böcker - + Search: Sök: - + Type: Typ: - + Clear - + Search Sök - + Titles Titlar - + Lyrics Sångtexter - + Authors - + %s (%s) - + You must select an item to edit. - + You must select an item to delete. - + Delete song? - + Delete %d songs? - + Delete Confirmation - + CCLI Licence: CCLI-licens: @@ -3269,8 +3314,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - Edit Book - Redigera bok + Song Book Maintenance + @@ -3325,8 +3370,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Books/Hymnals - Böcker/psalmböcker + Song Books + @@ -3344,94 +3389,114 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Fel - - Couldn't add your author. - Kunde inte lägga till din låtskrivare. + + Could not add your author. + - - Couldn't add your topic. - Kunde inte lägga till ditt ämne. + + This author already exists. + - - Couldn't add your book. - Kunde inte lägga till din bok. + + Could not add your topic. + - - Couldn't save your author. - Kunde inte spara din låtskrivare. + + This topic already exists. + - - Couldn't save your topic. - Kunde inte spara ditt ämne. + + Could not add your book. + - - Couldn't save your book. - Kunde inte spara din bok. + + This book already exists. + - + + Could not save your changes. + + + + + Could not save your modified author, because he already exists. + + + + + Could not save your modified topic, because it already exists. + + + + Delete Author Ta bort låtskrivare - + Are you sure you want to delete the selected author? Är du säker på att du vill ta bort den valda låtskrivaren? - - This author can't be deleted, they are currently assigned to at least one song. - Låtskrivaren kan inte tas bort, den är associerad med åtminstone en sång. + + This author cannot be deleted, they are currently assigned to at least one song. + - + No author selected! Ingen författare vald! - + Delete Topic Ta bort ämne - + Are you sure you want to delete the selected topic? Är du säker på att du vill ta bort valt ämne? - - This topic can't be deleted, it is currently assigned to at least one song. - Ämnet kan inte tas bort, den är associerad med åtminstone en sång. + + This topic cannot be deleted, it is currently assigned to at least one song. + - + No topic selected! Inget ämne valt! - + Delete Book Ta bort bok - + Are you sure you want to delete the selected book? Är du säker på att du vill ta bort vald bok? - - This book can't be deleted, it is currently assigned to at least one song. - Boken kan inte tas bort, den är associerad med åtminstone en sång. + + This book cannot be deleted, it is currently assigned to at least one song. + + + + + No book selected! + Ingen bok vald! @@ -3517,169 +3582,179 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R ThemeManager - + Import Theme Importera tema - + Delete Theme Ta bort tema - + Error Fel - + File is not a valid theme. Filen är inte ett giltigt tema. - + Edit Theme Redigera tema - + Export Theme Exportera tema - + You are unable to delete the default theme. Du kan inte ta bort standardtemat. - + Theme Exists Temat finns - + Save Theme - (%s) Spara tema - (%s) - + Select Theme Import File Välj tema importfil - + New Theme Nytt Tema - + You have not selected a theme. Du har inte valt ett tema. - + Create a new theme. - + Edit a theme. - + Delete a theme. - + Import a theme. - + Export a theme. - + &Edit Theme - + &Delete Theme - + Set As &Global Default - + E&xport Theme - + %s (default) - + You must select a theme to edit. - + You must select a theme to delete. - + + Delete Confirmation + + + + + Delete theme? + + + + Theme %s is use in %s plugin. - + Theme %s is use by the service manager. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - - A theme with this name already exists. Would you like to overwrite it? + + A theme with this name already exists. Would you like to overwrite it? From 2efb7cd34a4e4ea3a5af16c433843f4d3c79bcd4 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Wed, 21 Jul 2010 08:24:32 +0200 Subject: [PATCH 074/148] Update more strings, and just tweak the display of the remotes plugin settings tab. --- openlp/core/lib/__init__.py | 2 +- openlp/core/lib/mediamanageritem.py | 67 +- openlp/core/ui/advancedtab.py | 2 +- openlp/core/ui/generaltab.py | 6 +- openlp/core/ui/pluginform.py | 25 +- openlp/plugins/images/lib/mediaitem.py | 10 +- openlp/plugins/media/lib/mediaitem.py | 9 +- openlp/plugins/presentations/lib/mediaitem.py | 9 +- .../presentations/lib/presentationtab.py | 4 +- openlp/plugins/remotes/lib/remotetab.py | 53 +- resources/i18n/openlp_af.ts | 584 +++++++++-------- resources/i18n/openlp_de.ts | 580 +++++++++-------- resources/i18n/openlp_en.ts | 578 +++++++++-------- resources/i18n/openlp_en_GB.ts | 582 +++++++++-------- resources/i18n/openlp_en_ZA.ts | 582 +++++++++-------- resources/i18n/openlp_es.ts | 584 +++++++++-------- resources/i18n/openlp_et.ts | 606 +++++++++-------- resources/i18n/openlp_hu.ts | 612 ++++++++++-------- resources/i18n/openlp_ko.ts | 578 +++++++++-------- resources/i18n/openlp_nb.ts | 580 +++++++++-------- resources/i18n/openlp_pt_BR.ts | 582 +++++++++-------- resources/i18n/openlp_sv.ts | 584 +++++++++-------- 22 files changed, 3981 insertions(+), 3238 deletions(-) diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py index f62778820..6eb60b20f 100644 --- a/openlp/core/lib/__init__.py +++ b/openlp/core/lib/__init__.py @@ -200,7 +200,7 @@ def check_item_selected(list_widget, message): """ if not list_widget.selectedIndexes(): QtGui.QMessageBox.information(list_widget.parent(), - translate('MediaManagerItem', 'No Items Selected'), message) + translate('OpenLP.MediaManagerItem', 'No Items Selected'), message) return False return True diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index cad0b35cb..8c7dd52bd 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -208,61 +208,61 @@ class MediaManagerItem(QtGui.QWidget): ## Import Button ## if self.hasImportIcon: self.addToolbarButton( - unicode(translate('MediaManagerItem', 'Import %s')) % + unicode(translate('OpenLP.MediaManagerItem', 'Import %s')) % self.PluginNameShort, - unicode(translate('MediaManagerItem', 'Import a %s')) % + unicode(translate('OpenLP.MediaManagerItem', 'Import a %s')) % self.pluginNameVisible, u':/general/general_import.png', self.onImportClick) ## File Button ## if self.hasFileIcon: self.addToolbarButton( - unicode(translate('MediaManagerItem', 'Load %s')) % + unicode(translate('OpenLP.MediaManagerItem', 'Load %s')) % self.PluginNameShort, - unicode(translate('MediaManagerItem', 'Load a new %s')) % + unicode(translate('OpenLP.MediaManagerItem', 'Load a new %s')) % self.pluginNameVisible, u':/general/general_open.png', self.onFileClick) ## New Button ## if self.hasNewIcon: self.addToolbarButton( - unicode(translate('MediaManagerItem', 'New %s')) % + unicode(translate('OpenLP.MediaManagerItem', 'New %s')) % self.PluginNameShort, - unicode(translate('MediaManagerItem', 'Add a new %s')) % + unicode(translate('OpenLP.MediaManagerItem', 'Add a new %s')) % self.pluginNameVisible, u':/general/general_new.png', self.onNewClick) ## Edit Button ## if self.hasEditIcon: self.addToolbarButton( - unicode(translate('MediaManagerItem', 'Edit %s')) % + unicode(translate('OpenLP.MediaManagerItem', 'Edit %s')) % self.PluginNameShort, unicode(translate( - 'MediaManagerItem', 'Edit the selected %s')) % + 'OpenLP.MediaManagerItem', 'Edit the selected %s')) % self.pluginNameVisible, u':/general/general_edit.png', self.onEditClick) ## Delete Button ## if self.hasDeleteIcon: self.addToolbarButton( - unicode(translate('MediaManagerItem', 'Delete %s')) % + unicode(translate('OpenLP.MediaManagerItem', 'Delete %s')) % self.PluginNameShort, - translate('MediaManagerItem', 'Delete the selected item'), + translate('OpenLP.MediaManagerItem', 'Delete the selected item'), u':/general/general_delete.png', self.onDeleteClick) ## Separator Line ## self.addToolbarSeparator() ## Preview ## self.addToolbarButton( - unicode(translate('MediaManagerItem', 'Preview %s')) % + unicode(translate('OpenLP.MediaManagerItem', 'Preview %s')) % self.PluginNameShort, - translate('MediaManagerItem', 'Preview the selected item'), + translate('OpenLP.MediaManagerItem', 'Preview the selected item'), u':/general/general_preview.png', self.onPreviewClick) ## Live Button ## self.addToolbarButton( u'Go Live', - translate('MediaManagerItem', 'Send the selected item live'), + translate('OpenLP.MediaManagerItem', 'Send the selected item live'), u':/general/general_live.png', self.onLiveClick) ## Add to service Button ## self.addToolbarButton( - unicode(translate('MediaManagerItem', 'Add %s to Service')) % + unicode(translate('OpenLP.MediaManagerItem', 'Add %s to Service')) % self.PluginNameShort, - translate('MediaManagerItem', + translate('OpenLP.MediaManagerItem', 'Add the selected item(s) to the service'), u':/general/general_add.png', self.onAddClick) @@ -288,7 +288,7 @@ class MediaManagerItem(QtGui.QWidget): self.listView.addAction( context_menu_action( self.listView, u':/general/general_edit.png', - unicode(translate('MediaManagerItem', '&Edit %s')) % + unicode(translate('OpenLP.MediaManagerItem', '&Edit %s')) % self.pluginNameVisible, self.onEditClick)) self.listView.addAction(context_menu_separator(self.listView)) @@ -296,31 +296,31 @@ class MediaManagerItem(QtGui.QWidget): self.listView.addAction( context_menu_action( self.listView, u':/general/general_delete.png', - unicode(translate('MediaManagerItem', '&Delete %s')) % + unicode(translate('OpenLP.MediaManagerItem', '&Delete %s')) % self.pluginNameVisible, self.onDeleteClick)) self.listView.addAction(context_menu_separator(self.listView)) self.listView.addAction( context_menu_action( self.listView, u':/general/general_preview.png', - unicode(translate('MediaManagerItem', '&Preview %s')) % + unicode(translate('OpenLP.MediaManagerItem', '&Preview %s')) % self.pluginNameVisible, self.onPreviewClick)) self.listView.addAction( context_menu_action( self.listView, u':/general/general_live.png', - translate('MediaManagerItem', '&Show Live'), + translate('OpenLP.MediaManagerItem', '&Show Live'), self.onLiveClick)) self.listView.addAction( context_menu_action( self.listView, u':/general/general_add.png', - translate('MediaManagerItem', '&Add to Service'), + translate('OpenLP.MediaManagerItem', '&Add to Service'), self.onAddClick)) if self.addToServiceItem: self.listView.addAction( context_menu_action( self.listView, u':/general/general_add.png', - translate('MediaManagerItem', + translate('OpenLP.MediaManagerItem', '&Add to selected Service Item'), self.onAddEditClick)) if QtCore.QSettings().value(u'advanced/double click live', @@ -440,8 +440,8 @@ class MediaManagerItem(QtGui.QWidget): """ if not self.listView.selectedIndexes() and not self.remoteTriggered: QtGui.QMessageBox.information(self, - translate('MediaManagerItem', 'No Items Selected'), - translate('MediaManagerItem', + translate('OpenLP.MediaManagerItem', 'No Items Selected'), + translate('OpenLP.MediaManagerItem', 'You must select one or more items to preview.')) else: log.debug(self.PluginNameShort + u' Preview requested') @@ -457,8 +457,8 @@ class MediaManagerItem(QtGui.QWidget): """ if not self.listView.selectedIndexes(): QtGui.QMessageBox.information(self, - translate('MediaManagerItem', 'No Items Selected'), - translate('MediaManagerItem', + translate('OpenLP.MediaManagerItem', 'No Items Selected'), + translate('OpenLP.MediaManagerItem', 'You must select one or more items to send live.')) else: log.debug(self.PluginNameShort + u' Live requested') @@ -473,8 +473,8 @@ class MediaManagerItem(QtGui.QWidget): """ if not self.listView.selectedIndexes() and not self.remoteTriggered: QtGui.QMessageBox.information(self, - translate('MediaManagerItem', 'No Items Selected'), - translate('MediaManagerItem', + translate('OpenLP.MediaManagerItem', 'No Items Selected'), + translate('OpenLP.MediaManagerItem', 'You must select one or more items.')) else: #Is it posssible to process multiple list items to generate multiple @@ -500,16 +500,16 @@ class MediaManagerItem(QtGui.QWidget): """ if not self.listView.selectedIndexes() and not self.remoteTriggered: QtGui.QMessageBox.information(self, - translate('MediaManagerItem', 'No items selected'), - translate('MediaManagerItem', + translate('OpenLP.MediaManagerItem', 'No items selected'), + translate('OpenLP.MediaManagerItem', 'You must select one or more items')) else: log.debug(self.PluginNameShort + u' Add requested') service_item = self.parent.serviceManager.getServiceItem() if not service_item: QtGui.QMessageBox.information(self, - translate('MediaManagerItem', 'No Service Item Selected'), - translate('MediaManagerItem', + translate('OpenLP.MediaManagerItem', 'No Service Item Selected'), + translate('OpenLP.MediaManagerItem', 'You must select an existing service item to add to.')) elif self.title.lower() == service_item.name.lower(): self.generateSlideData(service_item) @@ -518,8 +518,8 @@ class MediaManagerItem(QtGui.QWidget): else: #Turn off the remote edit update message indicator QtGui.QMessageBox.information(self, - translate('MediaManagerItem', 'Invalid Service Item'), - unicode(translate('MediaManagerItem', + translate('OpenLP.MediaManagerItem', 'Invalid Service Item'), + unicode(translate('OpenLP.MediaManagerItem', 'You must select a %s service item.')) % self.title) def buildServiceItem(self, item=None): @@ -535,3 +535,4 @@ class MediaManagerItem(QtGui.QWidget): return service_item else: return None + diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index fba71f9d4..a32dee333 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -135,7 +135,7 @@ class AdvancedTab(SettingsTab): self.recentLabel.setText( translate('OpenLP.AdvancedTab', 'Number of recent files to display:')) self.mediaPluginCheckBox.setText(translate('OpenLP.AdvancedTab', - 'Save currently selected media manager plugin')) + 'Remember active media manager tab on startup')) self.doubleClickLiveCheckBox.setText(translate('OpenLP.AdvancedTab', 'Double-click to send items straight to live (requires restart)')) # self.sharedDirGroupBox.setTitle( diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 408509605..4aa3e7c0b 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -308,11 +308,11 @@ class GeneralTab(SettingsTab): self.CCLIGroupBox.setTitle( translate('OpenLP.GeneralTab', 'CCLI Details')) self.NumberLabel.setText( - translate('OpenLP.GeneralTab', 'CCLI Number:')) + translate('OpenLP.GeneralTab', 'CCLI number:')) self.UsernameLabel.setText( - translate('OpenLP.GeneralTab', 'SongSelect Username:')) + translate('OpenLP.GeneralTab', 'SongSelect username:')) self.PasswordLabel.setText( - translate('OpenLP.GeneralTab', 'SongSelect Password:')) + translate('OpenLP.GeneralTab', 'SongSelect password:')) # Moved from display tab self.displayGroupBox.setTitle( translate('OpenLP.GeneralTab', 'Display Position')) diff --git a/openlp/core/ui/pluginform.py b/openlp/core/ui/pluginform.py index 77ce458f4..f1111ff85 100644 --- a/openlp/core/ui/pluginform.py +++ b/openlp/core/ui/pluginform.py @@ -63,15 +63,17 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): # sometimes when it's loaded from the config, it isn't cast to int. plugin.status = int(plugin.status) # Set the little status text in brackets next to the plugin name. - status_text = unicode(translate('PluginForm', '%s (Inactive)')) + status_text = unicode( + translate('OpenLP.PluginForm', '%s (Inactive)')) if plugin.status == PluginStatus.Active: - status_text = unicode(translate('PluginForm', '%s (Active)')) + status_text = unicode( + translate('OpenLP.PluginForm', '%s (Active)')) elif plugin.status == PluginStatus.Inactive: status_text = unicode( - translate('PluginForm', '%s (Inactive)')) + translate('OpenLP.PluginForm', '%s (Inactive)')) elif plugin.status == PluginStatus.Disabled: status_text = unicode( - translate('PluginForm', '%s (Disabled)')) + translate('OpenLP.PluginForm', '%s (Disabled)')) item.setText(status_text % plugin.name) # If the plugin has an icon, set it! if plugin.icon: @@ -120,12 +122,17 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): else: self.activePlugin.toggleStatus(PluginStatus.Inactive) self.activePlugin.finalise() - status_text = 'Inactive' + status_text = unicode( + translate('OpenLP.PluginForm', '%s (Inactive)')) if self.activePlugin.status == PluginStatus.Active: - status_text = 'Active' + status_text = unicode( + translate('OpenLP.PluginForm', '%s (Active)')) elif self.activePlugin.status == PluginStatus.Inactive: - status_text = 'Inactive' + status_text = unicode( + translate('OpenLP.PluginForm', '%s (Inactive)')) elif self.activePlugin.status == PluginStatus.Disabled: - status_text = 'Disabled' + status_text = unicode( + translate('OpenLP.PluginForm', '%s (Disabled)')) self.PluginListWidget.currentItem().setText( - u'%s (%s)' % (self.activePlugin.name, status_text)) \ No newline at end of file + status_text % self.activePlugin.name) + diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index 802ed8d71..51e06be3f 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -105,9 +105,10 @@ class ImageMediaItem(MediaManagerItem): self.ImageWidget.setSizePolicy(sizePolicy) self.ImageWidget.setObjectName(u'ImageWidget') self.blankButton = self.toolbar.addToolbarButton( - u'Replace Background', u':/slides/slide_blank.png', + translate('ImagePlugin.MediaItem', 'Replace Background'), + u':/slides/slide_blank.png', translate('ImagePlugin.MediaItem', 'Replace Live Background'), - self.onReplaceClick, False) + self.onReplaceClick, False) # Add the song widget to the page layout self.pageLayout.addWidget(self.ImageWidget) @@ -116,7 +117,7 @@ class ImageMediaItem(MediaManagerItem): Remove an image item from the list """ if check_item_selected(self.listView, translate('ImagePlugin.MediaItem', - 'You must select an item to delete.')): + 'You must select an image to delete.')): row_list = [item.row() for item in self.listView.selectedIndexes()] row_list.sort(reverse=True) for row in row_list: @@ -170,7 +171,7 @@ class ImageMediaItem(MediaManagerItem): def onReplaceClick(self): if check_item_selected(self.listView, translate('ImagePlugin.MediaItem', - 'You must select an item to process.')): + 'You must select an image to replace the background with.')): items = self.listView.selectedIndexes() for item in items: bitem = self.listView.item(item.row()) @@ -180,3 +181,4 @@ class ImageMediaItem(MediaManagerItem): def onPreviewClick(self): MediaManagerItem.onPreviewClick(self) + diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 082d9b3fd..b295d7b70 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -92,17 +92,17 @@ class MediaMediaItem(MediaManagerItem): self.ImageWidget.setObjectName(u'ImageWidget') #Replace backgrounds do not work at present so remove functionality. self.blankButton = self.toolbar.addToolbarButton( - u'Replace Background', u':/slides/slide_blank.png', + translate('MediaPlugin.MediaItem', 'Replace Background'), + u':/slides/slide_blank.png', translate('MediaPlugin.MediaItem', 'Replace Live Background'), self.onReplaceClick, False) # Add the song widget to the page layout self.pageLayout.addWidget(self.ImageWidget) def onReplaceClick(self): - if check_item_selected(self.listView, translate('ImagePlugin.MediaItem', - 'You must select an item to process.')): + 'You must select a media file to replace the background with.')): item = self.listView.currentItem() filename = unicode(item.data(QtCore.Qt.UserRole).toString()) self.parent.displayManager.displayVideo(filename) @@ -133,7 +133,7 @@ class MediaMediaItem(MediaManagerItem): Remove a media item from the list """ if check_item_selected(self.listView, translate('MediaPlugin.MediaItem', - 'You must select an item to delete.')): + 'You must select a media file to delete.')): row_list = [item.row() for item in self.listView.selectedIndexes()] row_list.sort(reverse=True) for row in row_list: @@ -149,3 +149,4 @@ class MediaMediaItem(MediaManagerItem): item_name.setIcon(build_icon(img)) item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file)) self.listView.addItem(item_name) + diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index b9ee2b79f..ca103f3d8 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -155,9 +155,9 @@ class PresentationMediaItem(MediaManagerItem): filename = os.path.split(unicode(file))[1] if titles.count(filename) > 0: if not initialLoad: - QtGui.QMessageBox.critical( - self, translate('PresentationPlugin.MediaItem', - 'File exists'), + QtGui.QMessageBox.critical(self, + translate('PresentationPlugin.MediaItem', + 'File Exists'), translate('PresentationPlugin.MediaItem', 'A presentation with that filename already exists.'), QtGui.QMessageBox.Ok) @@ -182,7 +182,7 @@ class PresentationMediaItem(MediaManagerItem): else: QtGui.QMessageBox.critical( self, translate('PresentationPlugin.MediaItem', - 'Unsupported file'), + 'Unsupported File'), translate('PresentationPlugin.MediaItem', 'This type of presentation is not supported'), QtGui.QMessageBox.Ok) @@ -270,3 +270,4 @@ class PresentationMediaItem(MediaManagerItem): if filetype in self.controllers[controller].alsosupports: return controller return None + diff --git a/openlp/plugins/presentations/lib/presentationtab.py b/openlp/plugins/presentations/lib/presentationtab.py index 980c62f47..0cc8734cc 100644 --- a/openlp/plugins/presentations/lib/presentationtab.py +++ b/openlp/plugins/presentations/lib/presentationtab.py @@ -104,9 +104,7 @@ class PresentationTab(SettingsTab): for key in self.controllers: controller = self.controllers[key] checkbox = self.PresenterCheckboxes[controller.name] - checkbox.setText( - u'%s %s' % (controller.name, - translate('PresentationPlugin.PresentationTab', 'available'))) + checkbox.setText(controller.name) def load(self): """ diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index 83f335382..7400875ee 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -37,30 +37,43 @@ class RemoteTab(SettingsTab): def setupUi(self): self.setObjectName(u'RemoteTab') self.tabTitleVisible = translate('RemotePlugin.RemoteTab', 'Remotes') - self.RemoteLayout = QtGui.QFormLayout(self) - self.RemoteLayout.setObjectName(u'RemoteLayout') - self.RemoteModeGroupBox = QtGui.QGroupBox(self) - self.RemoteModeGroupBox.setObjectName(u'RemoteModeGroupBox') - self.RemoteModeLayout = QtGui.QVBoxLayout(self.RemoteModeGroupBox) - self.RemoteModeLayout.setSpacing(8) - self.RemoteModeLayout.setMargin(8) - self.RemoteModeLayout.setObjectName(u'RemoteModeLayout') - self.RemotePortSpinBox = QtGui.QSpinBox(self.RemoteModeGroupBox) - self.RemotePortSpinBox.setObjectName(u'RemotePortSpinBox') - self.RemotePortSpinBox.setMaximum(32767) - self.RemoteModeLayout.addWidget(self.RemotePortSpinBox) - self.RemoteLayout.setWidget( - 0, QtGui.QFormLayout.LabelRole, self.RemoteModeGroupBox) + self.remoteLayout = QtGui.QFormLayout(self) + self.remoteLayout.setObjectName(u'remoteLayout') + self.serverSettingsGroupBox = QtGui.QGroupBox(self) + self.serverSettingsGroupBox.setObjectName(u'serverSettingsGroupBox') + self.serverSettingsLayout = QtGui.QFormLayout(self.serverSettingsGroupBox) + self.serverSettingsLayout.setSpacing(8) + self.serverSettingsLayout.setMargin(8) + self.serverSettingsLayout.setObjectName(u'serverSettingsLayout') + self.addressEdit = QtGui.QLineEdit(self.serverSettingsGroupBox) + self.addressEdit.setObjectName(u'addressEdit') + self.serverSettingsLayout.addRow( + translate('RemotePlugin.RemoteTab', 'Serve on IP address:'), + self.addressEdit) + self.portSpinBox = QtGui.QSpinBox(self.serverSettingsGroupBox) + self.portSpinBox.setObjectName(u'portSpinBox') + self.portSpinBox.setMaximum(32767) + self.serverSettingsLayout.addRow( + translate('RemotePlugin.RemoteTab', 'Port number:'), + self.portSpinBox) + self.remoteLayout.setWidget( + 0, QtGui.QFormLayout.LabelRole, self.serverSettingsGroupBox) def retranslateUi(self): - self.RemoteModeGroupBox.setTitle( - translate('RemotePlugin.RemoteTab', 'Remotes Receiver Port')) + self.serverSettingsGroupBox.setTitle( + translate('RemotePlugin.RemoteTab', 'Server Settings')) def load(self): - self.RemotePortSpinBox.setValue( - QtCore.QSettings().value(self.settingsSection + u'/remote port', + self.portSpinBox.setValue( + QtCore.QSettings().value(self.settingsSection + u'/port', QtCore.QVariant(4316)).toInt()[0]) + self.addressEdit.setText( + QtCore.QSettings().value(self.settingsSection + u'/ip address', + QtCore.QVariant(u'0.0.0.0')).toString()) def save(self): - QtCore.QSettings().setValue(self.settingsSection + u'/remote port', - QtCore.QVariant(self.RemotePortSpinBox.value())) \ No newline at end of file + QtCore.QSettings().setValue(self.settingsSection + u'/port', + QtCore.QVariant(self.portSpinBox.value())) + QtCore.QSettings().setValue(self.settingsSection + u'/ip address', + QtCore.QVariant(self.addressEdit.text())) + diff --git a/resources/i18n/openlp_af.ts b/resources/i18n/openlp_af.ts index e7e879480..79fc66234 100644 --- a/resources/i18n/openlp_af.ts +++ b/resources/i18n/openlp_af.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) Beeld(e) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - You must select one or more items - P moet meer as een item selekteer - - - - Delete the selected item - Wis geselekteerde item uit - - - - &Add to Service - &Voeg by Diens - - - - Send the selected item live - Stuur die geselekteerde item na regstreekse vertoning - - - - Add the selected item(s) to the service - Voeg die geselekteerde item(s) by die diens - - - - &Show Live - &Vertoon Regstreeks - - - - Preview the selected item - Voorskou die geselekteerde item - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1075,9 +927,14 @@ Changes do not affect verses already in the service. Replace Live Background + + + Replace Background + + - You must select an item to delete. + You must select a media file to delete. @@ -1324,13 +1181,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1699,16 +1556,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager Sien Voorskou van Volgende Lied vanaf Diens Bestuurder - - - SongSelect Username: - SongSelect Gebruikers naam: - - - - SongSelect Password: - SongSelect Wagwoord: - Display Position @@ -1766,8 +1613,18 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: - CCLI Nommer: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: + @@ -2185,7 +2042,7 @@ You can download the latest version from <a href="http://openlp.org/&quo Save Changes to Service? - + Stoor Veranderinge aan Diens? @@ -2199,7 +2056,165 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + Wis geselekteerde item uit + + + + Preview %s + + + + + Preview the selected item + Voorskou die geselekteerde item + + + + Send the selected item live + Stuur die geselekteerde item na regstreekse vertoning + + + + Add %s to Service + + + + + Add the selected item(s) to the service + Voeg die geselekteerde item(s) by die diens + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + &Vertoon Regstreeks + + + + &Add to Service + &Voeg by Diens + + + + &Add to selected Service Item + + + + + No Items Selected + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + You must select one or more items + P moet meer as een item selekteer + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List @@ -2221,37 +2236,37 @@ You can download the latest version from <a href="http://openlp.org/&quo TeksEtiket - + About: Aangaande: - + Status: Status: - + Active Aktief - + Inactive Onaktief - + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2286,21 +2301,11 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: Bied aan met: - - - File exists - Lêer bestaan - A presentation with that filename already exists. 'n Voorstelling met daardie lêernaam bestaan reeds. - - - Unsupported file - - This type of presentation is not supported @@ -2311,6 +2316,16 @@ You can download the latest version from <a href="http://openlp.org/&quo You must select an item to delete. + + + File Exists + + + + + Unsupported File + + PresentationPlugin.PresentationTab @@ -2324,11 +2339,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers Beskikbare Beheerders - - - available - beskikbaar - RemotePlugin @@ -2345,10 +2355,20 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes Afstandbehere + + + Serve on IP address: + + - Remotes Receiver Port - Afstandbeheer Ontvanger Poort + Port number: + + + + + Server Settings + @@ -2733,41 +2753,71 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open OpenSong file - + Error importing OpenSong file - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2981,90 +3031,100 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Stoor && Voorskou - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Fout - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3313,17 +3373,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -3389,112 +3449,112 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Fout - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + Delete Author Wis Skrywer Uit - + Are you sure you want to delete the selected author? Is u seker u wil die geselekteerde skrywer uitwis? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Geen skrywer geselekteer nie! - + Delete Topic Wis Onderwerp Uit - + Are you sure you want to delete the selected topic? Is u seker u wil die geselekteerde onderwerp uitwis? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! Geen onderwerp geselekteer nie! - + Delete Book Wis Boek Uit - + Are you sure you want to delete the selected book? Is jy seker jy wil die geselekteerde boek uitwis? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! Geen boek geselekteer nie! @@ -3502,12 +3562,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? - + Are you sure you want to delete selected Song Usage data? @@ -3515,7 +3575,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location Uitvoer Lêer Ligging diff --git a/resources/i18n/openlp_de.ts b/resources/i18n/openlp_de.ts index 60aff291d..a969f6d77 100644 --- a/resources/i18n/openlp_de.ts +++ b/resources/i18n/openlp_de.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) Bild(er) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - You must select one or more items - Sie müssen mindestens ein Element markieren - - - - Delete the selected item - Markiertes Element löschen - - - - &Add to Service - &Zum Ablauf hinzufügen - - - - Send the selected item live - Ausgewähltes Element Live anzeigen - - - - Add the selected item(s) to the service - Füge Element(e) zum Ablauf hinzu - - - - &Show Live - &Zeige Live - - - - Preview the selected item - Zeige das auswählte Element in der Vorschau an - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1071,13 +923,18 @@ Changes do not affect verses already in the service. Medien auswählen - - You must select an item to delete. + + Replace Live Background - Replace Live Background + Replace Background + + + + + You must select a media file to delete. @@ -1324,13 +1181,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1699,16 +1556,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager Vorschau des nächsten Lieds - - - SongSelect Username: - SongSelect-Benutzername: - - - - SongSelect Password: - SongSelect-Passwort: - Display Position @@ -1766,8 +1613,18 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: - CCLI-Nummer: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: + @@ -2199,7 +2056,165 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + Markiertes Element löschen + + + + Preview %s + + + + + Preview the selected item + Zeige das auswählte Element in der Vorschau an + + + + Send the selected item live + Ausgewähltes Element Live anzeigen + + + + Add %s to Service + + + + + Add the selected item(s) to the service + Füge Element(e) zum Ablauf hinzu + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + &Zeige Live + + + + &Add to Service + &Zum Ablauf hinzufügen + + + + &Add to selected Service Item + + + + + No Items Selected + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + You must select one or more items + Sie müssen mindestens ein Element markieren + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List @@ -2221,37 +2236,37 @@ You can download the latest version from <a href="http://openlp.org/&quo Text Beschriftung - + About: Über: - + Status: Status: - + Active Aktiv - + Inactive Inaktiv - + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2286,11 +2301,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: Anzeigen mit: - - - File exists - Datei existiert bereits - A presentation with that filename already exists. @@ -2303,12 +2313,17 @@ You can download the latest version from <a href="http://openlp.org/&quo - Unsupported file + This type of presentation is not supported + + + + + File Exists - This type of presentation is not supported + Unsupported File @@ -2324,11 +2339,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers Verfügbare Präsentationsprogramme: - - - available - verfügbar - RemotePlugin @@ -2345,10 +2355,20 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes Fernprojektion + + + Serve on IP address: + + - Remotes Receiver Port - Fernprojektionsport + Port number: + + + + + Server Settings + @@ -2723,28 +2743,28 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2759,15 +2779,45 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Open OpenSong file - + Error importing OpenSong file + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2971,87 +3021,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Speichern && Vorschau - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Fehler - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? @@ -3065,6 +3115,16 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Authors, Topics && Song Book + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3313,12 +3373,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + &Name: - + &Publisher: @@ -3333,7 +3393,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Song Book Maintenance @@ -3384,52 +3444,52 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Fehler - + Delete Author Lösche Autor - + Are you sure you want to delete the selected author? Sind Sie sicher, dass Sie den ausgewählten Autor löschen wollen? - + No author selected! Sie haben keinen Autor ausgewählt! - + Delete Topic Lösche Thema - + Are you sure you want to delete the selected topic? Soll der gewählte Eintrag wirklich gelöscht werden? - + No topic selected! Kein Thema ausgewählt! - + Delete Book Buch löschen - + Are you sure you want to delete the selected book? Sind Sie sicher, dass das markierte Buch wirklich gelöscht werden soll? - + No book selected! Kein Buch ausgewählt! @@ -3439,62 +3499,62 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + This author cannot be deleted, they are currently assigned to at least one song. - + This topic cannot be deleted, it is currently assigned to at least one song. - + This book cannot be deleted, it is currently assigned to at least one song. @@ -3502,12 +3562,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? - + Are you sure you want to delete selected Song Usage data? @@ -3515,7 +3575,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location Ablageort für Aufnahme wählen diff --git a/resources/i18n/openlp_en.ts b/resources/i18n/openlp_en.ts index 13d05084a..3a8d0f94a 100644 --- a/resources/i18n/openlp_en.ts +++ b/resources/i18n/openlp_en.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - You must select one or more items - - - - - &Add to Service - - - - - Send the selected item live - - - - - Add the selected item(s) to the service - - - - - Delete the selected item - - - - - &Show Live - - - - - Preview the selected item - - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1075,9 +927,14 @@ Changes do not affect verses already in the service. Replace Live Background + + + Replace Background + + - You must select an item to delete. + You must select a media file to delete. @@ -1324,13 +1181,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1699,16 +1556,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager - - - SongSelect Username: - - - - - SongSelect Password: - - Display Position @@ -1766,7 +1613,17 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: @@ -2199,7 +2056,165 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + + + + + Preview %s + + + + + Preview the selected item + + + + + Send the selected item live + + + + + Add %s to Service + + + + + Add the selected item(s) to the service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + + + + + &Add to Service + + + + + &Add to selected Service Item + + + + + No Items Selected + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + You must select one or more items + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List @@ -2221,37 +2236,37 @@ You can download the latest version from <a href="http://openlp.org/&quo - + About: - + Status: - + Active - + Inactive - + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2286,21 +2301,11 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: - - - File exists - - A presentation with that filename already exists. - - - Unsupported file - - This type of presentation is not supported @@ -2311,6 +2316,16 @@ You can download the latest version from <a href="http://openlp.org/&quo You must select an item to delete. + + + File Exists + + + + + Unsupported File + + PresentationPlugin.PresentationTab @@ -2324,11 +2339,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers - - - available - - RemotePlugin @@ -2345,9 +2355,19 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes + + + Serve on IP address: + + - Remotes Receiver Port + Port number: + + + + + Server Settings @@ -2733,41 +2753,71 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open OpenSong file - + Error importing OpenSong file - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2981,90 +3031,100 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3313,17 +3373,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -3389,112 +3449,112 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + Delete Author - + Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! - + Delete Topic - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book - + Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! @@ -3502,12 +3562,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? - + Are you sure you want to delete selected Song Usage data? @@ -3515,7 +3575,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location diff --git a/resources/i18n/openlp_en_GB.ts b/resources/i18n/openlp_en_GB.ts index 377e26d3d..51263dbd2 100644 --- a/resources/i18n/openlp_en_GB.ts +++ b/resources/i18n/openlp_en_GB.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) Image(s) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - You must select one or more items - You must select one or more items - - - - Delete the selected item - Delete the selected item - - - - &Add to Service - &Add to Service - - - - Send the selected item live - Send the selected item live - - - - Add the selected item(s) to the service - Add the selected item(s) to the service - - - - &Show Live - &Show Live - - - - Preview the selected item - Preview the selected item - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1075,9 +927,14 @@ Changes do not affect verses already in the service. Replace Live Background + + + Replace Background + + - You must select an item to delete. + You must select a media file to delete. @@ -1324,13 +1181,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1699,16 +1556,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager Preview Next Song from Service Manager - - - SongSelect Username: - SongSelect Username: - - - - SongSelect Password: - SongSelect Password: - Display Position @@ -1766,8 +1613,18 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: - CCLI Number: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: + @@ -2199,7 +2056,165 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + Delete the selected item + + + + Preview %s + + + + + Preview the selected item + Preview the selected item + + + + Send the selected item live + Send the selected item live + + + + Add %s to Service + + + + + Add the selected item(s) to the service + Add the selected item(s) to the service + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + &Show Live + + + + &Add to Service + &Add to Service + + + + &Add to selected Service Item + + + + + No Items Selected + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + You must select one or more items + You must select one or more items + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List @@ -2221,37 +2236,37 @@ You can download the latest version from <a href="http://openlp.org/&quo TextLabel - + About: About: - + Status: Status: - + Active Active - + Inactive Inactive - + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2286,21 +2301,11 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: Present using: - - - File exists - File exists - A presentation with that filename already exists. A presentation with that filename already exists. - - - Unsupported file - - This type of presentation is not supported @@ -2311,6 +2316,16 @@ You can download the latest version from <a href="http://openlp.org/&quo You must select an item to delete. + + + File Exists + + + + + Unsupported File + + PresentationPlugin.PresentationTab @@ -2324,11 +2339,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers Available Controllers - - - available - available - RemotePlugin @@ -2345,10 +2355,20 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes Remotes + + + Serve on IP address: + + - Remotes Receiver Port - Remotes Receiver Port + Port number: + + + + + Server Settings + @@ -2733,41 +2753,71 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open OpenSong file - + Error importing OpenSong file - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2981,90 +3031,100 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Save && Preview - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Error - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3313,17 +3373,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -3389,112 +3449,112 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Error - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + Delete Author Delete Author - + Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! - + Delete Topic Delete Topic - + Are you sure you want to delete the selected topic? Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! No topic selected! - + Delete Book Delete Book - + Are you sure you want to delete the selected book? Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! @@ -3502,12 +3562,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? - + Are you sure you want to delete selected Song Usage data? @@ -3515,7 +3575,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location Output File Location diff --git a/resources/i18n/openlp_en_ZA.ts b/resources/i18n/openlp_en_ZA.ts index 252ad8ad8..4e2e6f001 100644 --- a/resources/i18n/openlp_en_ZA.ts +++ b/resources/i18n/openlp_en_ZA.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - You must select one or more items - You must select one or more items - - - - Delete the selected item - Delete the selected item - - - - &Add to Service - - - - - Send the selected item live - Send the selected item live. - - - - Add the selected item(s) to the service - Add the selected item(s) to the service. - - - - &Show Live - - - - - Preview the selected item - - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1075,9 +927,14 @@ Changes do not affect verses already in the service. Replace Live Background + + + Replace Background + + - You must select an item to delete. + You must select a media file to delete. @@ -1324,13 +1181,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1699,16 +1556,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager Preview Next Song from Service Manager - - - SongSelect Username: - SongSelect Username: - - - - SongSelect Password: - - Display Position @@ -1766,8 +1613,18 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: - CCLI Number: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: + @@ -2199,7 +2056,165 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + Delete the selected item + + + + Preview %s + + + + + Preview the selected item + + + + + Send the selected item live + Send the selected item live. + + + + Add %s to Service + + + + + Add the selected item(s) to the service + Add the selected item(s) to the service. + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + + + + + &Add to Service + + + + + &Add to selected Service Item + + + + + No Items Selected + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + You must select one or more items + You must select one or more items + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List @@ -2221,37 +2236,37 @@ You can download the latest version from <a href="http://openlp.org/&quo - + About: - + Status: Status: - + Active Active - + Inactive - + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2286,21 +2301,11 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: Present using: - - - File exists - - A presentation with that filename already exists. - - - Unsupported file - - This type of presentation is not supported @@ -2311,6 +2316,16 @@ You can download the latest version from <a href="http://openlp.org/&quo You must select an item to delete. + + + File Exists + + + + + Unsupported File + + PresentationPlugin.PresentationTab @@ -2324,11 +2339,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers Available Controllers - - - available - available - RemotePlugin @@ -2345,10 +2355,20 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes Remotes + + + Serve on IP address: + + - Remotes Receiver Port - Remotes Receiver Port + Port number: + + + + + Server Settings + @@ -2733,41 +2753,71 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open OpenSong file - + Error importing OpenSong file - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2981,90 +3031,100 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Error - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3313,17 +3373,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -3389,112 +3449,112 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Error - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + Delete Author - + Are you sure you want to delete the selected author? Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! No author selected! - + Delete Topic Delete Topic - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book Delete Book - + Are you sure you want to delete the selected book? Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! No book selected! @@ -3502,12 +3562,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? - + Are you sure you want to delete selected Song Usage data? @@ -3515,7 +3575,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location Output File Location diff --git a/resources/i18n/openlp_es.ts b/resources/i18n/openlp_es.ts index 0eecae217..8f0be7388 100644 --- a/resources/i18n/openlp_es.ts +++ b/resources/i18n/openlp_es.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) Imagen(es) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - You must select one or more items - Usted debe seleccionar uno o más elementos - - - - &Add to Service - &Agregar al Servicio - - - - Send the selected item live - Enviar en vivo el ítem seleccionado - - - - Add the selected item(s) to the service - Agregar el elemento(s) seleccionado al servicio - - - - Delete the selected item - Borrar el ítem seleccionado - - - - &Show Live - Mo&star En Vivo - - - - Preview the selected item - Vista Previa del ítem seleccionado - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1075,9 +927,14 @@ Changes do not affect verses already in the service. Replace Live Background + + + Replace Background + + - You must select an item to delete. + You must select a media file to delete. @@ -1324,13 +1181,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1699,16 +1556,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager Vista Previa de la Siguiente Canción en el Servicio - - - SongSelect Username: - Usuario SongSelect: - - - - SongSelect Password: - Contraseña SongSelect: - Display Position @@ -1766,8 +1613,18 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: - Número CCLI: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: + @@ -2185,7 +2042,7 @@ You can download the latest version from <a href="http://openlp.org/&quo Save Changes to Service? - + ¿Guardar cambios al Servicio? @@ -2199,7 +2056,165 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + Borrar el ítem seleccionado + + + + Preview %s + + + + + Preview the selected item + Vista Previa del ítem seleccionado + + + + Send the selected item live + Enviar en vivo el ítem seleccionado + + + + Add %s to Service + + + + + Add the selected item(s) to the service + Agregar el elemento(s) seleccionado al servicio + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + Mo&star En Vivo + + + + &Add to Service + &Agregar al Servicio + + + + &Add to selected Service Item + + + + + No Items Selected + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + You must select one or more items + Usted debe seleccionar uno o más elementos + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List @@ -2221,37 +2236,37 @@ You can download the latest version from <a href="http://openlp.org/&quo TextLabel - + About: Acerca de: - + Status: Estado: - + Active Activo - + Inactive Inactivo - + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2286,21 +2301,11 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: Mostrar usando: - - - File exists - Ya existe el Archivo - A presentation with that filename already exists. Ya existe una presentación con ese nombre. - - - Unsupported file - - This type of presentation is not supported @@ -2311,6 +2316,16 @@ You can download the latest version from <a href="http://openlp.org/&quo You must select an item to delete. + + + File Exists + + + + + Unsupported File + + PresentationPlugin.PresentationTab @@ -2324,11 +2339,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers Controladores Disponibles - - - available - disponible - RemotePlugin @@ -2345,10 +2355,20 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes Remotas + + + Serve on IP address: + + - Remotes Receiver Port - Puerto de Recepción + Port number: + + + + + Server Settings + @@ -2733,41 +2753,71 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open OpenSong file - + Error importing OpenSong file - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2981,90 +3031,100 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Guardar && Vista Previa - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Error - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3313,17 +3373,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -3389,112 +3449,112 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Error - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + Delete Author Borrar Autor - + Are you sure you want to delete the selected author? ¿Está seguro que desea eliminar el autor seleccionado? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! ¡Ningún autor seleccionado! - + Delete Topic Borrar Categoría - + Are you sure you want to delete the selected topic? ¿Está seguro que desea eliminar la categoría seleccionada? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! ¡No seleccionó la categoría! - + Delete Book Eliminar Libro - + Are you sure you want to delete the selected book? ¿Está seguro de que quiere eliminar el libro seleccionado? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! ¡Ningún libro seleccionado! @@ -3502,12 +3562,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? - + Are you sure you want to delete selected Song Usage data? @@ -3515,7 +3575,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location Archivo de Salida diff --git a/resources/i18n/openlp_et.ts b/resources/i18n/openlp_et.ts index 5a41bc289..70811cb25 100644 --- a/resources/i18n/openlp_et.ts +++ b/resources/i18n/openlp_et.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. Ekraani tausta asendamine - - You must select an item to delete. - - - - + Image(s) Pilt(pildid) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - Invalid Service Item - Vigane teenistuse element - - - - No Items Selected - Ühtegi elementi pole valitud - - - - You must select one or more items - Pead valima vähemalt ühe elemendi - - - - &Add to selected Service Item - &Lisa valitud teenistuse elemendile - - - - No items selected - Ühtegi elementi pole valitud - - - - &Add to Service - &Lisa teenistusele - - - - Send the selected item live - Valitud kirje saatmine ekraanile - - - - Add the selected item(s) to the service - Valitud kirje(te) lisamine teenistusse - - - - Delete the selected item - Valitud elemendi kustutamine - - - - No Service Item Selected - Ühtegi teenistuse elementi pole valitud - - - - &Show Live - &Kuva ekraanil - - - - Preview the selected item - Valitud kirje eelvaatlus - - - - You must select one or more items. - Pead valima vähemalt ühe elemendi. - - - - You must select an existing service item to add to. - Pead valima olemasoleva teenistuse, millele lisada. - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1071,13 +923,18 @@ Changes do not affect verses already in the service. Meedia valimine - - You must select an item to delete. + + Replace Live Background - Replace Live Background + Replace Background + + + + + You must select a media file to delete. @@ -1357,13 +1214,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1732,16 +1589,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager Teenistuse haldurist kuvatakse järgmise laulu eelvaade - - - SongSelect Username: - SongSelecti kasutajanimi: - - - - SongSelect Password: - SongSelecti parool: - Display Position @@ -1799,8 +1646,18 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: - CCLI number: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: + @@ -2232,59 +2089,217 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + Valitud elemendi kustutamine + + + + Preview %s + + + + + Preview the selected item + Valitud kirje eelvaatlus + + + + Send the selected item live + Valitud kirje saatmine ekraanile + + + + Add %s to Service + + + + + Add the selected item(s) to the service + Valitud kirje(te) lisamine teenistusse + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + &Kuva ekraanil + + + + &Add to Service + &Lisa teenistusele + + + + &Add to selected Service Item + &Lisa valitud teenistuse elemendile + + + + No Items Selected + Ühtegi elementi pole valitud + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + Pead valima vähemalt ühe elemendi. + + + + No items selected + Ühtegi elementi pole valitud + + + + You must select one or more items + Pead valima vähemalt ühe elemendi + + + + No Service Item Selected + Ühtegi teenistuse elementi pole valitud + + + + You must select an existing service item to add to. + Pead valima olemasoleva teenistuse, millele lisada. + + + + Invalid Service Item + Vigane teenistuse element + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List - Pluginate loend + Pluginate loend Plugin Details - Plugina andmed + Plugina andmed Version: - Versioon: + Versioon: TextLabel - TekstiPealdis - - - - About: - Kirjeldus: + TekstiPealdis - Status: - Olek: - - - - Active - Aktiivne + About: + Kirjeldus: - Inactive - Pole aktiivne + Status: + Olek: - + + Active + Aktiivne + + + + Inactive + Pole aktiivne + + + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2319,11 +2334,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Automatic - - - File exists - - A presentation with that filename already exists. @@ -2336,22 +2346,22 @@ You can download the latest version from <a href="http://openlp.org/&quo - Unsupported file + This type of presentation is not supported + + + + + File Exists - This type of presentation is not supported + Unsupported File PresentationPlugin.PresentationTab - - - available - - Presentations @@ -2378,9 +2388,19 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes + + + Serve on IP address: + + - Remotes Receiver Port + Port number: + + + + + Server Settings @@ -2756,28 +2776,28 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. @@ -2792,15 +2812,45 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Open OpenSong file - + Error importing OpenSong file + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2984,57 +3034,57 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Kujundus, autoriõigus && kommentaarid - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. @@ -3059,32 +3109,32 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Viga - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? @@ -3098,6 +3148,16 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Authors, Topics && Song Book + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3346,12 +3406,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + &Name: - + &Publisher: @@ -3366,7 +3426,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Song Book Maintenance @@ -3417,47 +3477,47 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Kustuta - + Delete Author - + Delete Topic - + Delete Book - + Error Viga - + Are you sure you want to delete the selected author? - + No author selected! - + Are you sure you want to delete the selected topic? - + No topic selected! - + Are you sure you want to delete the selected book? @@ -3467,67 +3527,67 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + This author cannot be deleted, they are currently assigned to at least one song. - + This topic cannot be deleted, it is currently assigned to at least one song. - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! @@ -3535,12 +3595,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? - + Are you sure you want to delete selected Song Usage data? @@ -3548,7 +3608,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location diff --git a/resources/i18n/openlp_hu.ts b/resources/i18n/openlp_hu.ts index 499fdff57..5f5e01045 100644 --- a/resources/i18n/openlp_hu.ts +++ b/resources/i18n/openlp_hu.ts @@ -66,12 +66,12 @@ &Bezárás - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) Kép(ek) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - You must select one or more items - Ki kell választani egy vagy több elemet - - - - Delete the selected item - Kiválasztott elem törlése - - - - &Add to Service - &Hozzáadás a szolgálathoz - - - - Send the selected item live - A kiválasztott elem egyenes adásba küldése - - - - Add the selected item(s) to the service - A kiválasztott elem(ek) hozzáadása a szolgálathoz - - - - &Show Live - Egyenes &adásba - - - - Preview the selected item - A kiválasztott elem előnézete - - - - &Add to selected Service Item - &Hozzáadás a kiválasztott szolgálat elemhez - - - - No Items Selected - Nincs kiválasztott elem - - - - You must select one or more items. - Ki kell választani egy vagy több elemet. - - - - No items selected - Nincs kiválasztott elem - - - - No Service Item Selected - Nincs kiválasztott szolgálat elem - - - - You must select an existing service item to add to. - Ki kell választani egy szolgálati elemet, amihez hozzá szeretné adni. - - - - Invalid Service Item - Érvénytelen szolgálat elem - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1075,9 +927,14 @@ Changes do not affect verses already in the service. Replace Live Background + + + Replace Background + + - You must select an item to delete. + You must select a media file to delete. @@ -1484,13 +1341,13 @@ A GNU General Public License nem engedi meg, hogy a program része legyen szelle - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1859,16 +1716,6 @@ A GNU General Public License nem engedi meg, hogy a program része legyen szelle Preview Next Song from Service Manager Következő dal előnézete a szolgálatkezelőből - - - SongSelect Username: - SongSelect felhasználói név: - - - - SongSelect Password: - SongSelect jelszó: - Display Position @@ -1926,8 +1773,18 @@ A GNU General Public License nem engedi meg, hogy a program része legyen szelle - CCLI Number: - CCLI szám: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: + @@ -2345,7 +2202,7 @@ You can download the latest version from <a href="http://openlp.org/&quo Save Changes to Service? - + Változások mentése a szolgálatban? @@ -2359,59 +2216,217 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + Kiválasztott elem törlése + + + + Preview %s + + + + + Preview the selected item + A kiválasztott elem előnézete + + + + Send the selected item live + A kiválasztott elem egyenes adásba küldése + + + + Add %s to Service + + + + + Add the selected item(s) to the service + A kiválasztott elem(ek) hozzáadása a szolgálathoz + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + Egyenes &adásba + + + + &Add to Service + &Hozzáadás a szolgálathoz + + + + &Add to selected Service Item + &Hozzáadás a kiválasztott szolgálat elemhez + + + + No Items Selected + Nincs kiválasztott elem + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + Ki kell választani egy vagy több elemet. + + + + No items selected + Nincs kiválasztott elem + + + + You must select one or more items + Ki kell választani egy vagy több elemet + + + + No Service Item Selected + Nincs kiválasztott szolgálat elem + + + + You must select an existing service item to add to. + Ki kell választani egy szolgálati elemet, amihez hozzá szeretné adni. + + + + Invalid Service Item + Érvénytelen szolgálat elem + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List - Bővítménylista + Bővítménylista Plugin Details - Bővítmény részletei + Bővítmény részletei Version: - Verzió: + Verzió: TextLabel - Szövegcímke - - - - About: - Névjegy: + Szövegcímke - Status: - Állapot: - - - - Active - Aktív + About: + Névjegy: - Inactive - Inaktív + Status: + Állapot: - + + Active + Aktív + + + + Inactive + Inaktív + + + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2446,21 +2461,11 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: Bemutató ezzel: - - - File exists - A fájl létezik - A presentation with that filename already exists. Ilyen fájlnéven már létezik egy bemutató. - - - Unsupported file - - This type of presentation is not supported @@ -2471,6 +2476,16 @@ You can download the latest version from <a href="http://openlp.org/&quo You must select an item to delete. + + + File Exists + + + + + Unsupported File + + PresentationPlugin.PresentationTab @@ -2484,11 +2499,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers Elérhető vezérlők - - - available - elérhető - RemotePlugin @@ -2505,10 +2515,20 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes Távvezérlés + + + Serve on IP address: + + - Remotes Receiver Port - Távvezérlést fogadó port + Port number: + + + + + Server Settings + @@ -2853,17 +2873,17 @@ The content encoding is not UTF-8. SongsPlugin - + Open Songs of Fellowship file Songs of Fellowship fájl megnyitása - + Open documents or presentations Dokumentum vagy bemutató megnyitása - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. <strong>Dal bővítmény</strong> <br />Ez a a bővítmény dalok kezelését és vetítését teszi lehetővé. @@ -2908,26 +2928,56 @@ The content encoding is not UTF-8. - + Import Error Importálás hiba - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open OpenSong file - + Error importing OpenSong file + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -3141,90 +3191,100 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Mentés és előnézet - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Hiba - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3473,17 +3533,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -3549,112 +3609,112 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Törlés - + Error Hiba - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + Delete Author Szerző törlése - + Are you sure you want to delete the selected author? A kiválasztott szerző biztosan törölhető? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Nincs kiválasztott szerző! - + Delete Topic Témakör törlése - + Are you sure you want to delete the selected topic? A kiválasztott témakör biztosan törölhető? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! Nincs kiválasztott témakör! - + Delete Book Könyv törlése - + Are you sure you want to delete the selected book? A kiválasztott könyv biztosan törölhető? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! Nincs kiválasztott könyv! @@ -3662,12 +3722,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? Valóban törölhetők a kiválasztott dalstatisztika események? - + Are you sure you want to delete selected Song Usage data? Valóban törölhetők a kiválasztott dalstatisztika adatok? @@ -3675,7 +3735,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location Kimeneti fájl elérési útvonala diff --git a/resources/i18n/openlp_ko.ts b/resources/i18n/openlp_ko.ts index e91578cde..16cb6d358 100644 --- a/resources/i18n/openlp_ko.ts +++ b/resources/i18n/openlp_ko.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - No Items Selected - - - - - Delete the selected item - - - - - You must select one or more items - - - - - &Add to Service - - - - - Send the selected item live - - - - - Add the selected item(s) to the service - - - - - &Show Live - - - - - Preview the selected item - - - - - You must select one or more items. - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1075,9 +927,14 @@ Changes do not affect verses already in the service. Replace Live Background + + + Replace Background + + - You must select an item to delete. + You must select a media file to delete. @@ -1324,13 +1181,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1699,16 +1556,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager - - - SongSelect Username: - - - - - SongSelect Password: - - Display Position @@ -1766,7 +1613,17 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: @@ -2199,7 +2056,165 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + + + + + Preview %s + + + + + Preview the selected item + + + + + Send the selected item live + + + + + Add %s to Service + + + + + Add the selected item(s) to the service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + + + + + &Add to Service + + + + + &Add to selected Service Item + + + + + No Items Selected + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + You must select one or more items + + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List @@ -2221,37 +2236,37 @@ You can download the latest version from <a href="http://openlp.org/&quo - + About: - + Status: - + Active - + Inactive - + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2286,21 +2301,11 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: - - - File exists - - A presentation with that filename already exists. - - - Unsupported file - - This type of presentation is not supported @@ -2311,6 +2316,16 @@ You can download the latest version from <a href="http://openlp.org/&quo You must select an item to delete. + + + File Exists + + + + + Unsupported File + + PresentationPlugin.PresentationTab @@ -2324,11 +2339,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers - - - available - - RemotePlugin @@ -2345,9 +2355,19 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes + + + Serve on IP address: + + - Remotes Receiver Port + Port number: + + + + + Server Settings @@ -2733,41 +2753,71 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open OpenSong file - + Error importing OpenSong file - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2981,90 +3031,100 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3313,17 +3373,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -3389,112 +3449,112 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + Delete Author - + Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! - + Delete Topic - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book - + Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! @@ -3502,12 +3562,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? - + Are you sure you want to delete selected Song Usage data? @@ -3515,7 +3575,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location diff --git a/resources/i18n/openlp_nb.ts b/resources/i18n/openlp_nb.ts index f9a72ab34..da8f4dc89 100644 --- a/resources/i18n/openlp_nb.ts +++ b/resources/i18n/openlp_nb.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) Bilde(r) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - You must select one or more items - Du må velge ett eller flere elementer - - - - &Add to Service - &Legg til i møteplan - - - - Send the selected item live - - - - - Add the selected item(s) to the service - - - - - Delete the selected item - - - - - &Show Live - - - - - Preview the selected item - - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1075,9 +927,14 @@ Changes do not affect verses already in the service. Replace Live Background + + + Replace Background + + - You must select an item to delete. + You must select a media file to delete. @@ -1324,13 +1181,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1699,16 +1556,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager Forhåndsvis neste sang i møteplanen - - - SongSelect Username: - SongSelect-brukernavn: - - - - SongSelect Password: - SongSelect-passord: - Display Position @@ -1766,8 +1613,18 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: - CCLI-nummer: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: + @@ -2199,7 +2056,165 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + + + + + Preview %s + + + + + Preview the selected item + + + + + Send the selected item live + + + + + Add %s to Service + + + + + Add the selected item(s) to the service + + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + + + + + &Add to Service + &Legg til i møteplan + + + + &Add to selected Service Item + + + + + No Items Selected + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + You must select one or more items + Du må velge ett eller flere elementer + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List @@ -2221,37 +2236,37 @@ You can download the latest version from <a href="http://openlp.org/&quo - + About: Om: - + Status: Status: - + Active Aktiv - + Inactive - + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2286,21 +2301,11 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: Presenter ved hjelp av: - - - File exists - Filen eksisterer - A presentation with that filename already exists. - - - Unsupported file - - This type of presentation is not supported @@ -2311,6 +2316,16 @@ You can download the latest version from <a href="http://openlp.org/&quo You must select an item to delete. + + + File Exists + + + + + Unsupported File + + PresentationPlugin.PresentationTab @@ -2324,11 +2339,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers - - - available - - RemotePlugin @@ -2345,9 +2355,19 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes Fjernmeldinger + + + Serve on IP address: + + - Remotes Receiver Port + Port number: + + + + + Server Settings @@ -2733,41 +2753,71 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open OpenSong file - + Error importing OpenSong file - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2981,90 +3031,100 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Feil - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3313,17 +3373,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -3389,112 +3449,112 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Feil - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + Delete Author - + Are you sure you want to delete the selected author? Er du sikker på at du vil slette den valgte forfatteren? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Ingen forfatter er valgt! - + Delete Topic Slett emne - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book Slett bok - + Are you sure you want to delete the selected book? Er du sikker på at du vil slette den merkede boken? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! Ingen bok er valgt! @@ -3502,12 +3562,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? - + Are you sure you want to delete selected Song Usage data? @@ -3515,7 +3575,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location diff --git a/resources/i18n/openlp_pt_BR.ts b/resources/i18n/openlp_pt_BR.ts index 06bb39e03..a09a4f824 100644 --- a/resources/i18n/openlp_pt_BR.ts +++ b/resources/i18n/openlp_pt_BR.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) Imagem(s) + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - You must select one or more items - Você precisa selecionar um ou mais itens - - - - Delete the selected item - Deletar o item selecionado - - - - &Add to Service - &Adicionar ao Culto - - - - Send the selected item live - Enviar o item selecionado para o ao vivo - - - - Add the selected item(s) to the service - Adicionar o item selecionado ao culto - - - - &Show Live - &Mostrar Ao Vivo - - - - Preview the selected item - Pré-Visualizar o item selecionado - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1075,9 +927,14 @@ Changes do not affect verses already in the service. Replace Live Background + + + Replace Background + + - You must select an item to delete. + You must select a media file to delete. @@ -1324,13 +1181,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1699,16 +1556,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager Pré-Visualizar Próxima Música do Gerenciamento de Culto - - - SongSelect Username: - Usuário do SongSelect: - - - - SongSelect Password: - Senha do SongSelect: - Display Position @@ -1766,8 +1613,18 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: - Número CCLI: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: + @@ -2199,7 +2056,165 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + Deletar o item selecionado + + + + Preview %s + + + + + Preview the selected item + Pré-Visualizar o item selecionado + + + + Send the selected item live + Enviar o item selecionado para o ao vivo + + + + Add %s to Service + + + + + Add the selected item(s) to the service + Adicionar o item selecionado ao culto + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + &Mostrar Ao Vivo + + + + &Add to Service + &Adicionar ao Culto + + + + &Add to selected Service Item + + + + + No Items Selected + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + You must select one or more items + Você precisa selecionar um ou mais itens + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List @@ -2221,37 +2236,37 @@ You can download the latest version from <a href="http://openlp.org/&quo TextLabel - + About: Sobre: - + Status: Status: - + Active Ativo - + Inactive Inativo - + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2286,21 +2301,11 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: Apresentar usando: - - - File exists - Arquivo existe - A presentation with that filename already exists. Uma apresentação com este nome já existe. - - - Unsupported file - - This type of presentation is not supported @@ -2311,6 +2316,16 @@ You can download the latest version from <a href="http://openlp.org/&quo You must select an item to delete. + + + File Exists + + + + + Unsupported File + + PresentationPlugin.PresentationTab @@ -2324,11 +2339,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers Controladores Disponíveis - - - available - disponível - RemotePlugin @@ -2345,10 +2355,20 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes Remoto + + + Serve on IP address: + + - Remotes Receiver Port - Porta Recebedora Remota + Port number: + + + + + Server Settings + @@ -2733,41 +2753,71 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open OpenSong file - + Error importing OpenSong file - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2981,90 +3031,100 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Salvar && Pré-Visualizar - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Erro - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3313,17 +3373,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -3389,112 +3449,112 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Erro - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + Delete Author Deletar Autor - + Are you sure you want to delete the selected author? Você tem certeza que deseja deletar o autor selecionado? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Nenhum autor selecionado! - + Delete Topic Deletar Tópico - + Are you sure you want to delete the selected topic? Você tem certeza que deseja deletar o tópico selecionado? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! Nenhum tópico selecionado! - + Delete Book Deletar Livro - + Are you sure you want to delete the selected book? Você tem certeza que deseja deletar o livro selecionado? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! Nenhum livro selecionado! @@ -3502,12 +3562,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? - + Are you sure you want to delete selected Song Usage data? @@ -3515,7 +3575,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location Local do arquivo de saída diff --git a/resources/i18n/openlp_sv.ts b/resources/i18n/openlp_sv.ts index e70656674..2b11c553d 100644 --- a/resources/i18n/openlp_sv.ts +++ b/resources/i18n/openlp_sv.ts @@ -66,12 +66,12 @@ - + New Alert - + You haven't specified any text for your alert. Please type in some text before clicking New. @@ -877,176 +877,28 @@ Changes do not affect verses already in the service. - - You must select an item to delete. - - - - + Image(s) Bilder + + + Replace Background + + + + + You must select an image to delete. + + + + + You must select an image to replace the background with. + + - You must select an item to process. - - - - - MediaManagerItem - - - You must select one or more items - Du måste välja ett eller flera objekt - - - - Delete the selected item - Ta bort det valda objektet - - - - &Add to Service - &Lägg till i mötesplanering - - - - Send the selected item live - Skicka det valda objektet till live - - - - Add the selected item(s) to the service - Lägg till valda objekt till planeringen - - - - &Show Live - &Visa Live - - - - Preview the selected item - Förhandsgranska det valda objektet - - - - No Items Selected - - - - - Import %s - - - - - Import a %s - - - - - Load %s - - - - - Load a new %s - - - - - New %s - - - - - Add a new %s - - - - - Edit %s - - - - - Edit the selected %s - - - - - Delete %s - - - - - Preview %s - - - - - Add %s to Service - - - - - &Edit %s - - - - - &Delete %s - - - - - &Preview %s - - - - - &Add to selected Service Item - - - - - You must select one or more items to preview. - - - - - You must select one or more items to send live. - - - - - You must select one or more items. - - - - - No items selected - - - - - No Service Item Selected - - - - - You must select an existing service item to add to. - - - - - Invalid Service Item - - - - - You must select a %s service item. + You must select a media file to replace the background with. @@ -1075,9 +927,14 @@ Changes do not affect verses already in the service. Replace Live Background + + + Replace Background + + - You must select an item to delete. + You must select a media file to delete. @@ -1324,13 +1181,13 @@ This General Public License does not permit incorporating your program into prop - - Save currently selected media manager plugin + + Double-click to send items straight to live (requires restart) - - Double-click to send items straight to live (requires restart) + + Remember active media manager tab on startup @@ -1699,16 +1556,6 @@ This General Public License does not permit incorporating your program into prop Preview Next Song from Service Manager Förhandsgranska nästa sång från mötesplaneringen - - - SongSelect Username: - SongSelect Användarnamn: - - - - SongSelect Password: - SongSelect-lösenord: - Display Position @@ -1766,8 +1613,18 @@ This General Public License does not permit incorporating your program into prop - CCLI Number: - CCLI-nummer: + CCLI number: + + + + + SongSelect username: + + + + + SongSelect password: + @@ -2185,7 +2042,7 @@ You can download the latest version from <a href="http://openlp.org/&quo Save Changes to Service? - + Spara Ändringar till Planering? @@ -2199,7 +2056,165 @@ You can download the latest version from <a href="http://openlp.org/&quo - PluginForm + OpenLP.MediaManagerItem + + + Import %s + + + + + Import a %s + + + + + Load %s + + + + + Load a new %s + + + + + New %s + + + + + Add a new %s + + + + + Edit %s + + + + + Edit the selected %s + + + + + Delete %s + + + + + Delete the selected item + Ta bort det valda objektet + + + + Preview %s + + + + + Preview the selected item + Förhandsgranska det valda objektet + + + + Send the selected item live + Skicka det valda objektet till live + + + + Add %s to Service + + + + + Add the selected item(s) to the service + Lägg till valda objekt till planeringen + + + + &Edit %s + + + + + &Delete %s + + + + + &Preview %s + + + + + &Show Live + &Visa Live + + + + &Add to Service + &Lägg till i mötesplanering + + + + &Add to selected Service Item + + + + + No Items Selected + + + + + You must select one or more items to preview. + + + + + You must select one or more items to send live. + + + + + You must select one or more items. + + + + + No items selected + + + + + You must select one or more items + Du måste välja ett eller flera objekt + + + + No Service Item Selected + + + + + You must select an existing service item to add to. + + + + + Invalid Service Item + + + + + You must select a %s service item. + + + + + OpenLP.PluginForm Plugin List @@ -2221,37 +2236,37 @@ You can download the latest version from <a href="http://openlp.org/&quo TextLabel - + About: Om: - + Status: Status: - + Active Aktiv - + Inactive Inaktiv - + %s (Inactive) - + %s (Active) - + %s (Disabled) @@ -2286,21 +2301,11 @@ You can download the latest version from <a href="http://openlp.org/&quo Present using: Presentera genom: - - - File exists - Fil finns - A presentation with that filename already exists. En presentation med det namnet finns redan. - - - Unsupported file - - This type of presentation is not supported @@ -2311,6 +2316,16 @@ You can download the latest version from <a href="http://openlp.org/&quo You must select an item to delete. + + + File Exists + + + + + Unsupported File + + PresentationPlugin.PresentationTab @@ -2324,11 +2339,6 @@ You can download the latest version from <a href="http://openlp.org/&quo Available Controllers Tillgängliga Presentationsprogram - - - available - tillgänglig - RemotePlugin @@ -2345,10 +2355,20 @@ You can download the latest version from <a href="http://openlp.org/&quo Remotes Fjärrstyrningar + + + Serve on IP address: + + - Remotes Receiver Port - Mottagarport för fjärrstyrning + Port number: + + + + + Server Settings + @@ -2733,41 +2753,71 @@ The content encoding is not UTF-8. - + Open Songs of Fellowship file - + Import Error - + Error importing Songs of Fellowship file. OpenOffice.org must be installed and you must be using an unedited copy of the RTF included with the Songs of Fellowship Music Editions - + Open OpenSong file - + Error importing OpenSong file - + Open documents or presentations - + <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + + + OpenLP v2 Songs (temporary) + + + + + Import an OpenLP v2 song database + + + + + Select OpenLP database(s) to import... + + + + + Database(s) imported + + + + + Your OpenLP v2 song databases have been successfully imported + + + + + Error importing OpenLP v2 database(s) + + SongsPlugin.AuditDeleteDialog @@ -2981,90 +3031,100 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Spara && förhandsgranska - + Add Author - + This author does not exist, do you want to add them? - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Fel - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? + + + This author is already in the list. + + + + + This topic is already in the list. + + SongsPlugin.EditVerseForm @@ -3313,17 +3373,17 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongBookForm - + Song Book Maintenance - + &Name: - + &Publisher: @@ -3389,112 +3449,112 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Fel - + Could not add your author. - + This author already exists. - + Could not add your topic. - + This topic already exists. - + Could not add your book. - + This book already exists. - + Could not save your changes. - + Could not save your modified author, because he already exists. - + Could not save your modified topic, because it already exists. - + Delete Author Ta bort låtskrivare - + Are you sure you want to delete the selected author? Är du säker på att du vill ta bort den valda låtskrivaren? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Ingen författare vald! - + Delete Topic Ta bort ämne - + Are you sure you want to delete the selected topic? Är du säker på att du vill ta bort valt ämne? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! Inget ämne valt! - + Delete Book Ta bort bok - + Are you sure you want to delete the selected book? Är du säker på att du vill ta bort vald bok? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! Ingen bok vald! @@ -3502,12 +3562,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDeleteForm - + Delete Selected Song Usage Events? Ta bort valda sånganvändningsdata? - + Are you sure you want to delete selected Song Usage data? Vill du verkligen ta bort vald sånganvändningsdata? @@ -3515,7 +3575,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R SongsPlugin.SongUsageDetailForm - + Output File Location Utfil sökväg From 42619d455b03a2852c9102c26b4571ba6237bdee Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Wed, 21 Jul 2010 10:52:00 +0100 Subject: [PATCH 075/148] deleteTheme cleanups --- openlp/core/ui/thememanager.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 5f4b934c4..4deea519f 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -1,3 +1,4 @@ +import os.path # -*- coding: utf-8 -*- # vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 @@ -253,15 +254,14 @@ class ThemeManager(QtGui.QWidget): The theme to delete. """ self.themelist.remove(theme) - th = theme + u'.png' + thumb = theme + u'.png' try: - os.remove(os.path.join(self.path, th)) - os.remove(os.path.join(self.thumbPath, th)) + os.remove(os.path.join(self.path, thumb)) + os.remove(os.path.join(self.thumbPath, thumb)) encoding = get_filesystem_encoding() shutil.rmtree(os.path.join(self.path, theme).encode(encoding)) except OSError: - #if not present do not worry - pass + log.exception(u'Error deleting theme %s', theme) # As we do not reload the themes push out the change # Reaload the list as the internal lists and events need # to be triggered From 2691636e716183dabcc7fcc8eec08125986443d3 Mon Sep 17 00:00:00 2001 From: andreas Date: Wed, 21 Jul 2010 12:30:29 +0200 Subject: [PATCH 076/148] fixed Song Book publisher fixed Authors like "0123hallo" which cannot be splitted --- openlp/plugins/songs/forms/editsongform.py | 63 +++++++++++----------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index c61b2435f..65e997a56 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -48,7 +48,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): """ QtGui.QDialog.__init__(self, parent) self.parent = parent - #can this be automated? + # can this be automated? self.width = 400 self.setupUi(self) # Connecting signals and slots @@ -171,7 +171,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.loadAuthors() self.loadTopics() self.loadBooks() - #it's a new song to preview is not possible + # it's a new song to preview is not possible self.previewButton.setVisible(False) def loadSong(self, id, preview): @@ -221,7 +221,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): self.CCLNumberEdit.setText(self.song.ccli_number) else: self.CCLNumberEdit.setText(u'') - #lazy xml migration for now + # lazy xml migration for now self.VerseListWidget.clear() self.VerseListWidget.setRowCount(0) self.VerseListWidget.setColumnWidth(0, self.width) @@ -263,7 +263,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): topic_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(topic.id)) self.TopicsListView.addItem(topic_name) self.TitleEditItem.setFocus(QtCore.Qt.OtherFocusReason) - #if not preview hide the preview button + # if not preview hide the preview button self.previewButton.setVisible(False) if preview: self.previewButton.setVisible(True) @@ -288,11 +288,15 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): if QtGui.QMessageBox.question(self, translate('SongsPlugin.EditSongForm', 'Add Author'), translate('SongsPlugin.EditSongForm', 'This author does not ' - 'exist, do you want to add them?'), + 'exist, do you want to add them?'), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes: - author = Author.populate(first_name=text.rsplit(u' ', 1)[0], - last_name=text.rsplit(u' ', 1)[1], display_name=text) + if text.find(' ') == -1: + author = Author.populate(first_name=u'', last_name=u'', + display_name=text) + else: + author = Author.populate(first_name=text.rsplit(u' ', 1)[0], + last_name=text.rsplit(u' ', 1)[1], display_name=text) self.songmanager.save_object(author, False) self.song.authors.append(author) author_item = QtGui.QListWidgetItem( @@ -324,9 +328,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): QtGui.QMessageBox.warning(self, translate('SongsPlugin.EditSongForm', 'No Author Selected'), translate('SongsPlugin.EditSongForm', 'You have not selected ' - 'a valid author. Either select an author from the list, ' - 'or type in a new author and click the "Add Author to ' - 'Song" button to add the new author.'), + 'a valid author. Either select an author from the list, ' + 'or type in a new author and click the "Add Author to ' + 'Song" button to add the new author.'), QtGui.QMessageBox.Ok, QtGui.QMessageBox.Ok) def onAuthorsListViewPressed(self): @@ -349,7 +353,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): if QtGui.QMessageBox.question(self, translate('SongsPlugin.EditSongForm', 'Add Topic'), translate('SongsPlugin.EditSongForm', 'This topic does not ' - 'exist, do you want to add it?'), + 'exist, do you want to add it?'), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes: topic = Topic.populate(name=text) @@ -382,9 +386,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): QtGui.QMessageBox.warning(self, translate('SongsPlugin.EditSongForm', 'No Topic Selected'), translate('SongsPlugin.EditSongForm', 'You have not selected ' - 'a valid topic. Either select a topic from the list, or ' - 'type in a new topic and click the "Add Topic to Song" ' - 'button to add the new topic.'), + 'a valid topic. Either select a topic from the list, or ' + 'type in a new topic and click the "Add Topic to Song" ' + 'button to add the new topic.'), QtGui.QMessageBox.Ok, QtGui.QMessageBox.Ok) def onTopicListViewPressed(self): @@ -408,7 +412,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def onThemeComboChanged(self, item): if item == 0: - #None means no Theme + # None means no Theme self.song.theme_name = None else: them_name = unicode(self.ThemeSelectionComboItem.itemText(item)) @@ -445,7 +449,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): data = u'%s:%s' % (verse, subVerse) item.setData(QtCore.Qt.UserRole, QtCore.QVariant(data)) item.setText(afterText) - #number of lines has change so repaint the list moving the data + # number of lines has change so repaint the list moving the data if len(tempText.split(u'\n')) != len(afterText.split(u'\n')): tempList = {} tempId = {} @@ -484,7 +488,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): for count, parts in enumerate(match.split(u']---\n')): if len(parts) > 1: if count == 0: - #make sure the tag is correctly cased + # make sure the tag is correctly cased variant = u'%s%s' % \ (parts[0:1].upper(), parts[1:].lower()) else: @@ -521,7 +525,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): QtGui.QMessageBox.critical(self, translate('SongsPlugin.EditSongForm', 'Error'), translate('SongsPlugin.EditSongForm', - 'You need to type in a song title.')) + 'You need to type in a song title.')) return False if self.VerseListWidget.rowCount() == 0: self.SongTabWidget.setCurrentIndex(0) @@ -529,7 +533,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): QtGui.QMessageBox.critical(self, translate('SongsPlugin.EditSongForm', 'Error'), translate('SongsPlugin.EditSongForm', - 'You need to type in at least one verse.')) + 'You need to type in at least one verse.')) return False if self.AuthorsListView.count() == 0: self.SongTabWidget.setCurrentIndex(1) @@ -537,8 +541,8 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): answer = QtGui.QMessageBox.warning(self, translate('SongsPlugin.EditSongForm', 'Warning'), translate('SongsPlugin.EditSongForm', - 'You have not added any authors for this song. Do you ' - 'want to add an author now?'), + 'You have not added any authors for this song. Do you ' + 'want to add an author now?'), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) if answer == QtGui.QMessageBox.Yes: return False @@ -569,9 +573,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): QtGui.QMessageBox.critical(self, translate('SongsPlugin.EditSongForm', 'Error'), unicode(translate('SongsPlugin.EditSongForm', - 'The verse order is invalid. There is no verse ' - 'corresponding to %s. Valid entries are %s.')) % \ - (order_names[count], valid)) + 'The verse order is invalid. There is no verse ' + 'corresponding to %s. Valid entries are %s.')) % \ + (order_names[count], valid)) return False for count, verse in enumerate(verses): if verse not in order: @@ -580,10 +584,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): answer = QtGui.QMessageBox.warning(self, translate('SongsPlugin.EditSongForm', 'Warning'), unicode(translate('SongsPlugin.EditSongForm', - 'You have not used %s anywhere in the verse ' - 'order. Are you sure you want to save the song ' - 'like this?')) % \ - verse_names[count].replace(u':', u' '), + 'You have not used %s anywhere in the verse ' + 'order. Are you sure you want to save the song ' + 'like this?')) % verse_names[count].replace(u':', u' '), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) if answer == QtGui.QMessageBox.No: return False @@ -624,10 +627,10 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): if QtGui.QMessageBox.question(self, translate('SongsPlugin.EditSongForm', 'Add Book'), translate('SongsPlugin.EditSongForm', 'This song book does ' - 'not exist, do you want to add it?'), + 'not exist, do you want to add it?'), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes: - book = Book.populate(name=text) + book = Book.populate(name=text, publisher=u'') self.songmanager.save_object(book) self.song.book = book self.loadBooks() From cf02c7100126e24d52e3be32322ba53867b337b5 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Wed, 21 Jul 2010 13:11:32 +0100 Subject: [PATCH 077/148] Fix v2 song DB importing --- openlp/plugins/songs/lib/olpimport.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/olpimport.py b/openlp/plugins/songs/lib/olpimport.py index a73684e00..a2044b497 100644 --- a/openlp/plugins/songs/lib/olpimport.py +++ b/openlp/plugins/songs/lib/olpimport.py @@ -169,7 +169,7 @@ class OpenLPSongImport(object): else: new_song.authors.append(Author.populate( display_name=u'Author Unknown')) - if song.song_book_id != 0: + if song.book: existing_song_book = self.master_manager.get_object_filtered( Book, Book.name == song.book.name) if existing_song_book: From d368f15713b8d05c82c6068fca16f373ac8c0a07 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Wed, 21 Jul 2010 13:28:41 +0100 Subject: [PATCH 078/148] Import fix --- openlp/core/ui/thememanager.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 4deea519f..1745e6030 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -1,4 +1,3 @@ -import os.path # -*- coding: utf-8 -*- # vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 From c4a59586a665984c3da5ac16765592e839d30b7e Mon Sep 17 00:00:00 2001 From: andreas Date: Wed, 21 Jul 2010 15:13:03 +0200 Subject: [PATCH 079/148] improvement + fix --- openlp/plugins/songs/forms/editsongform.py | 2 +- openlp/plugins/songs/forms/songmaintenanceform.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 65e997a56..440371c83 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -291,7 +291,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): 'exist, do you want to add them?'), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.Yes) == QtGui.QMessageBox.Yes: - if text.find(' ') == -1: + if text.find(u' ') == -1: author = Author.populate(first_name=u'', last_name=u'', display_name=text) else: diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index 67f60bfee..e0506e5bc 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -350,6 +350,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book_id = self._getCurrentItemId(self.BooksListWidget) if book_id != -1: book = self.songmanager.get_object(Book, book_id) + if book.publisher is None: + book.publisher = u'' self.bookform.NameEdit.setText(book.name) self.bookform.PublisherEdit.setText(book.publisher) # Save the book's name and publisher for the case that they have to From 66fcf1db40923ff91bc523fb20d42eb0234bee54 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Wed, 21 Jul 2010 14:41:10 +0100 Subject: [PATCH 080/148] Another importer fix --- openlp/plugins/songs/lib/olpimport.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/olpimport.py b/openlp/plugins/songs/lib/olpimport.py index a2044b497..e4a58277c 100644 --- a/openlp/plugins/songs/lib/olpimport.py +++ b/openlp/plugins/songs/lib/olpimport.py @@ -140,7 +140,11 @@ class OpenLPSongImport(object): if has_media_files: new_song.alternate_title = song.alternate_title else: - new_song.alternate_title = u'' + old_titles = song.search_title.split(u'@') + if len(old_titles) > 1: + new_song.alternate_title = old_titles[1] + else: + new_song.alternate_title = u'' new_song.search_title = song.search_title new_song.song_number = song.song_number new_song.lyrics = song.lyrics From d105ee8dfb029044b3a1c15ee0190c411ca64531 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Wed, 21 Jul 2010 23:27:36 +0200 Subject: [PATCH 081/148] Playing some more with the tabs of the media manager. --- openlp/core/ui/mainwindow.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 7e735a434..d162a804d 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -41,15 +41,14 @@ log = logging.getLogger(__name__) MEDIA_MANAGER_STYLE = """ QToolBox::tab:selected { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 palette(mid), stop: 0.4999 palette(button), stop: 0.5 palette(dark), stop: 1.0 palette(mid)); + stop: 0 palette(light), stop: 0.5 palette(button), stop: 1.0 palette(dark)); + border: 1px groove palette(dark); } QToolBox::tab { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 palette(button), stop: 0.4999 palette(light), stop: 0.5 palette(mid), stop: 1.0 palette(button)); - border-width: 1px; - border-style: outset; - border-color: palette(dark); - border-radius: 5px; + stop: 0 palette(midlight), stop: 0.5 palette(button), stop: 1.0 palette(mid)); + border: 1px groove palette(mid); + border-radius: 6px; } """ class VersionThread(QtCore.QThread): From 475bab8215791f8d749b606b63db3adf1f7f6812 Mon Sep 17 00:00:00 2001 From: Jonathan Corwin Date: Wed, 21 Jul 2010 23:46:25 +0100 Subject: [PATCH 082/148] [Bug 608149] [NEW] Presentations are not intuitive --- openlp/plugins/presentations/lib/mediaitem.py | 30 ++++++++++--- .../lib/presentationcontroller.py | 19 +++++--- .../presentations/lib/presentationtab.py | 44 ++++++++++++++++--- .../presentations/presentationplugin.py | 4 +- 4 files changed, 77 insertions(+), 20 deletions(-) diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index b9ee2b79f..b63214ec2 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -29,7 +29,7 @@ import os from PyQt4 import QtCore, QtGui from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \ - SettingsManager, translate, check_item_selected + SettingsManager, translate, check_item_selected, Receiver from openlp.plugins.presentations.lib import MessageListener log = logging.getLogger(__name__) @@ -67,7 +67,9 @@ class PresentationMediaItem(MediaManagerItem): self.ListViewWithDnD_class = PresentationListView MediaManagerItem.__init__(self, parent, icon, title) self.message_listener = MessageListener(self) - + QtCore.QObject.connect(Receiver.get_receiver(), + QtCore.SIGNAL(u'mediaitem_presentation_rebuild'), self.rebuild) + def retranslateUi(self): """ The name of the plugin media displayed in UI @@ -76,9 +78,12 @@ class PresentationMediaItem(MediaManagerItem): 'Select Presentation(s)') self.Automatic = translate('PresentationPlugin.MediaItem', 'Automatic') + self.buildFileMaskString() + + def buildFileMaskString(self): fileType = u'' for controller in self.controllers: - if self.controllers[controller].enabled: + if self.controllers[controller].enabled(): types = self.controllers[controller].supports + \ self.controllers[controller].alsosupports for type in types: @@ -131,13 +136,26 @@ class PresentationMediaItem(MediaManagerItem): list = SettingsManager.load_list( self.settingsSection, u'presentations') self.loadList(list, True) + self.populateDisplayTypes() + + def rebuild(self): + self.populateDisplayTypes() + self.buildFileMaskString() + + def populateDisplayTypes(self): + self.DisplayTypeComboBox.clear() for item in self.controllers: #load the drop down selection - if self.controllers[item].enabled: + if self.controllers[item].enabled(): self.DisplayTypeComboBox.addItem(item) if self.DisplayTypeComboBox.count() > 1: self.DisplayTypeComboBox.insertItem(0, self.Automatic) self.DisplayTypeComboBox.setCurrentIndex(0) + if QtCore.QSettings().value(self.settingsSection + u'/override app', + QtCore.QVariant(QtCore.Qt.Unchecked)) == QtCore.Qt.Checked: + self.PresentationWidget.show() + else: + self.PresentationWidget.hide() def loadList(self, list, initialLoad=False): """ @@ -262,11 +280,11 @@ class PresentationMediaItem(MediaManagerItem): if not filetype: return None for controller in self.controllers: - if self.controllers[controller].enabled: + if self.controllers[controller].enabled(): if filetype in self.controllers[controller].supports: return controller for controller in self.controllers: - if self.controllers[controller].enabled: + if self.controllers[controller].enabled(): if filetype in self.controllers[controller].alsosupports: return controller return None diff --git a/openlp/plugins/presentations/lib/presentationcontroller.py b/openlp/plugins/presentations/lib/presentationcontroller.py index ed4081ed6..15d58c206 100644 --- a/openlp/plugins/presentations/lib/presentationcontroller.py +++ b/openlp/plugins/presentations/lib/presentationcontroller.py @@ -109,13 +109,6 @@ class PresentationController(object): self.name = name self.settings_section = self.plugin.settingsSection self.available = self.check_available() - if self.available: - self.enabled = QtCore.QSettings().value( - self.settings_section + u'/' + name, - QtCore.QVariant(QtCore.Qt.Unchecked)).toInt()[0] == \ - QtCore.Qt.Checked - else: - self.enabled = False self.temp_folder = os.path.join( AppLocation.get_section_data_path(self.settings_section), name) self.thumbnail_folder = os.path.join( @@ -127,6 +120,18 @@ class PresentationController(object): if not os.path.isdir(self.temp_folder): os.makedirs(self.temp_folder) + def enabled(self): + """ + Return whether the controller is currently enabled + """ + if self.available: + return QtCore.QSettings().value( + self.settings_section + u'/' + self.name, + QtCore.QVariant(QtCore.Qt.Checked)).toInt()[0] == \ + QtCore.Qt.Checked + else: + return False + def check_available(self): """ Presentation app is able to run on this machine diff --git a/openlp/plugins/presentations/lib/presentationtab.py b/openlp/plugins/presentations/lib/presentationtab.py index 980c62f47..1b9b3bb55 100644 --- a/openlp/plugins/presentations/lib/presentationtab.py +++ b/openlp/plugins/presentations/lib/presentationtab.py @@ -25,7 +25,7 @@ from PyQt4 import QtCore, QtGui -from openlp.core.lib import SettingsTab, translate +from openlp.core.lib import Receiver, SettingsTab, translate class PresentationTab(SettingsTab): """ @@ -77,7 +77,17 @@ class PresentationTab(SettingsTab): self.PresentationThemeLayout.setSpacing(8) self.PresentationThemeLayout.setMargin(0) self.PresentationThemeLayout.setObjectName(u'PresentationThemeLayout') + self.AdvancedGroupBox = QtGui.QGroupBox(self) + self.AdvancedGroupBox.setObjectName(u'AdvancedGroupBox') + self.AdvancedLayout = QtGui.QVBoxLayout(self.AdvancedGroupBox) + self.AdvancedLayout.setSpacing(8) + self.AdvancedLayout.setMargin(8) + self.AdvancedLayout.setObjectName(u'AdvancedLayout') + self.OverrideAppCheckBox = QtGui.QCheckBox(self.AdvancedGroupBox) + self.OverrideAppCheckBox.setObjectName(u'OverrideAppCheckBox') + self.AdvancedLayout.addWidget(self.OverrideAppCheckBox) self.PresentationLeftLayout.addWidget(self.VerseDisplayGroupBox) + self.PresentationLeftLayout.addWidget(self.AdvancedGroupBox) self.PresentationLeftSpacer = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.PresentationLeftLayout.addItem(self.PresentationLeftSpacer) @@ -107,6 +117,12 @@ class PresentationTab(SettingsTab): checkbox.setText( u'%s %s' % (controller.name, translate('PresentationPlugin.PresentationTab', 'available'))) + self.AdvancedGroupBox.setTitle( + translate('PresentationPlugin.PresentationTab', + 'Advanced')) + self.OverrideAppCheckBox.setText( + translate('PresentationPlugin.PresentationTab', + 'Allow presentation application to be overriden')) def load(self): """ @@ -118,15 +134,33 @@ class PresentationTab(SettingsTab): checkbox = self.PresenterCheckboxes[controller.name] checkbox.setChecked(QtCore.QSettings().value( self.settingsSection + u'/' + controller.name, - QtCore.QVariant(0)).toInt()[0]) + QtCore.QVariant(QtCore.Qt.Checked)).toInt()[0]) + self.OverrideAppCheckBox.setChecked(QtCore.QSettings().value( + self.settingsSection + u'/override app', + QtCore.QVariant(QtCore.Qt.Unchecked)).toInt()[0]) def save(self): """ Save the settings. """ + changed = False for key in self.controllers: controller = self.controllers[key] checkbox = self.PresenterCheckboxes[controller.name] - QtCore.QSettings().setValue( - self.settingsSection + u'/' + controller.name, - QtCore.QVariant(checkbox.checkState())) + setting_key = self.settingsSection + u'/' + controller.name + if QtCore.QSettings().value(setting_key) != checkbox.checkState(): + changed = True + QtCore.QSettings().setValue(setting_key, + QtCore.QVariant(checkbox.checkState())) + if checkbox.checkState() == QtCore.Qt.Checked: + controller.start_process() + else: + controller.kill() + setting_key = self.settingsSection + u'/override app' + if QtCore.QSettings().value(setting_key) != \ + self.OverrideAppCheckBox.checkState(): + QtCore.QSettings().setValue(setting_key, + QtCore.QVariant(self.OverrideAppCheckBox.checkState())) + changed = True + if changed: + Receiver.send_message(u'mediaitem_presentation_rebuild') diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index 50784ed51..dabe5becd 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -67,7 +67,7 @@ class PresentationPlugin(Plugin): Plugin.initialise(self) self.insertToolboxItem() for controller in self.controllers: - if self.controllers[controller].enabled: + if self.controllers[controller].enabled(): self.controllers[controller].start_process() def finalise(self): @@ -79,7 +79,7 @@ class PresentationPlugin(Plugin): #Ask each controller to tidy up for key in self.controllers: controller = self.controllers[key] - if controller.enabled: + if controller.enabled(): controller.kill() Plugin.finalise(self) From d2372850e4779204f18211cd8a4ebab0be52d30f Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Thu, 22 Jul 2010 01:28:56 +0100 Subject: [PATCH 083/148] DocStrings --- openlp/plugins/presentations/presentationplugin.py | 5 ++++- openlp/plugins/songs/lib/olpimport.py | 11 +++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index 50784ed51..58e033ae6 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -22,7 +22,10 @@ # with this program; if not, write to the Free Software Foundation, Inc., 59 # # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### - +""" +The :mod:`presentationplugin` module provides the ability for OpenLP to display +presentations from a variety of document formats. +""" import os import logging diff --git a/openlp/plugins/songs/lib/olpimport.py b/openlp/plugins/songs/lib/olpimport.py index e4a58277c..5056f6534 100644 --- a/openlp/plugins/songs/lib/olpimport.py +++ b/openlp/plugins/songs/lib/olpimport.py @@ -70,11 +70,18 @@ class OldTopic(BaseModel): class OpenLPSongImport(object): """ - + The :class:`OpenLPSongImport` class provides OpenLP with the ability to + import song databases from other installations of OpenLP. """ def __init__(self, master_manager, source_db): """ + Initialise the import. + ``master_manager`` + The song manager for the running OpenLP installation. + + ``source_db`` + The database providing the data to import. """ self.master_manager = master_manager self.import_source = source_db @@ -82,7 +89,7 @@ class OpenLPSongImport(object): def import_source_v2_db(self): """ - + Run the import for an OpenLP version 2 song database. """ engine = create_engine(self.import_source) source_meta = MetaData() From d232133b35a5e07a6fdabe8e48b7fdbca636fe1b Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Thu, 22 Jul 2010 01:39:00 +0100 Subject: [PATCH 084/148] Remove wildcard import --- openlp/plugins/presentations/presentationplugin.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index 50784ed51..dd2cdad03 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -28,7 +28,8 @@ import logging from openlp.core.lib import Plugin, build_icon, PluginStatus, translate from openlp.core.utils import AppLocation -from openlp.plugins.presentations.lib import * +from openlp.plugins.presentations.lib import PresentationController, \ + PresentationMediaItem, PresentationTab log = logging.getLogger(__name__) From 2c7fcef2af64ceee3cc7e32512aa0e438a18592b Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Thu, 22 Jul 2010 08:02:31 +0200 Subject: [PATCH 085/148] More string updated. --- openlp/core/ui/serviceitemeditdialog.py | 8 +- openlp/core/ui/servicemanager.py | 91 +- openlp/core/ui/servicenotedialog.py | 2 +- openlp/core/ui/settingsdialog.py | 2 +- openlp/core/ui/slidecontroller.py | 38 +- .../songusage/forms/songusagedeletedialog.py | 2 +- .../songusage/forms/songusagedeleteform.py | 5 +- .../songusage/forms/songusagedetaildialog.py | 8 +- .../songusage/forms/songusagedetailform.py | 2 +- resources/i18n/openlp_af.ts | 800 +++++++++--------- resources/i18n/openlp_de.ts | 800 +++++++++--------- resources/i18n/openlp_en.ts | 800 +++++++++--------- resources/i18n/openlp_en_GB.ts | 800 +++++++++--------- resources/i18n/openlp_en_ZA.ts | 800 +++++++++--------- resources/i18n/openlp_es.ts | 800 +++++++++--------- resources/i18n/openlp_et.ts | 800 +++++++++--------- resources/i18n/openlp_hu.ts | 800 +++++++++--------- resources/i18n/openlp_ko.ts | 800 +++++++++--------- resources/i18n/openlp_nb.ts | 800 +++++++++--------- resources/i18n/openlp_pt_BR.ts | 800 +++++++++--------- resources/i18n/openlp_sv.ts | 800 +++++++++--------- 21 files changed, 4883 insertions(+), 4875 deletions(-) diff --git a/openlp/core/ui/serviceitemeditdialog.py b/openlp/core/ui/serviceitemeditdialog.py index ef041972b..a32abce37 100644 --- a/openlp/core/ui/serviceitemeditdialog.py +++ b/openlp/core/ui/serviceitemeditdialog.py @@ -68,9 +68,9 @@ class Ui_ServiceItemEditDialog(object): def retranslateUi(self, ServiceItemEditDialog): ServiceItemEditDialog.setWindowTitle( - translate('ServiceItemEditForm', 'Service Item Maintenance')) - self.upButton.setText(translate('ServiceItemEditForm', 'Up')) - self.deleteButton.setText(translate('ServiceItemEditForm', 'Delete')) - self.downButton.setText(translate('ServiceItemEditForm', 'Down')) + translate('OpenLP.ServiceItemEditForm', 'Reorder Service Item')) + self.upButton.setText(translate('OpenLP.ServiceItemEditForm', 'Up')) + self.deleteButton.setText(translate('OpenLP.ServiceItemEditForm', 'Delete')) + self.downButton.setText(translate('OpenLP.ServiceItemEditForm', 'Down')) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 19811b979..85193d82d 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -117,27 +117,27 @@ class ServiceManager(QtGui.QWidget): # Create the top toolbar self.Toolbar = OpenLPToolbar(self) self.Toolbar.addToolbarButton( - translate('ServiceManager', 'New Service'), + translate('OpenLP.ServiceManager', 'New Service'), u':/general/general_new.png', - translate('ServiceManager', 'Create a new service'), + translate('OpenLP.ServiceManager', 'Create a new service'), self.onNewService) self.Toolbar.addToolbarButton( - translate('ServiceManager', 'Open Service'), + translate('OpenLP.ServiceManager', 'Open Service'), u':/general/general_open.png', - translate('ServiceManager', 'Load an existing service'), + translate('OpenLP.ServiceManager', 'Load an existing service'), self.onLoadService) self.Toolbar.addToolbarButton( - translate('ServiceManager', 'Save Service'), + translate('OpenLP.ServiceManager', 'Save Service'), u':/general/general_save.png', - translate('ServiceManager', 'Save this service'), + translate('OpenLP.ServiceManager', 'Save this service'), self.onQuickSaveService) self.Toolbar.addSeparator() - self.ThemeLabel = QtGui.QLabel(translate('ServiceManager', 'Theme:'), + self.ThemeLabel = QtGui.QLabel(translate('OpenLP.ServiceManager', 'Theme:'), self) self.ThemeLabel.setMargin(3) self.Toolbar.addToolbarWidget(u'ThemeLabel', self.ThemeLabel) self.ThemeComboBox = QtGui.QComboBox(self.Toolbar) - self.ThemeComboBox.setToolTip(translate('ServiceManager', + self.ThemeComboBox.setToolTip(translate('OpenLP.ServiceManager', 'Select a theme for the service')) self.ThemeComboBox.setSizeAdjustPolicy( QtGui.QComboBox.AdjustToContents) @@ -168,28 +168,35 @@ class ServiceManager(QtGui.QWidget): # Add the bottom toolbar self.OrderToolbar = OpenLPToolbar(self) self.OrderToolbar.addToolbarButton( - translate('ServiceManager', 'Move to &top'), + translate('OpenLP.ServiceManager', 'Move to &top'), u':/services/service_top.png', - translate('ServiceManager', 'Move to top'), self.onServiceTop) + translate('OpenLP.ServiceManager', + 'Move item to the top of the service.'), + self.onServiceTop) self.OrderToolbar.addToolbarButton( - translate('ServiceManager', 'Move &up'), + translate('OpenLP.ServiceManager', 'Move &up'), u':/services/service_up.png', - translate('ServiceManager', 'Move up order'), self.onServiceUp) + translate('OpenLP.ServiceManager', + 'Move item up one position in the service.'), + self.onServiceUp) self.OrderToolbar.addToolbarButton( - translate('ServiceManager', 'Move &down'), + translate('OpenLP.ServiceManager', 'Move &down'), u':/services/service_down.png', - translate('ServiceManager', 'Move down order'), + translate('OpenLP.ServiceManager', + 'Move item down one position in the service.'), self.onServiceDown) self.OrderToolbar.addToolbarButton( - translate('ServiceManager', 'Move to &bottom'), + translate('OpenLP.ServiceManager', 'Move to &bottom'), u':/services/service_bottom.png', - translate('ServiceManager', 'Move to end'), + translate('OpenLP.ServiceManager', + 'Move item to the end of the service.'), self.onServiceEnd) self.OrderToolbar.addSeparator() self.OrderToolbar.addToolbarButton( - translate('ServiceManager', '&Delete From Service'), + translate('OpenLP.ServiceManager', '&Delete From Service'), u':/general/general_delete.png', - translate('ServiceManager', 'Delete From Service'), + translate('OpenLP.ServiceManager', + 'Delete the selected item from the service.'), self.onDeleteFromService) self.Layout.addWidget(self.OrderToolbar) # Connect up our signals and slots @@ -223,37 +230,37 @@ class ServiceManager(QtGui.QWidget): #build the drag and drop context menu self.dndMenu = QtGui.QMenu() self.newAction = self.dndMenu.addAction( - translate('ServiceManager', '&Add New Item')) + translate('OpenLP.ServiceManager', '&Add New Item')) self.newAction.setIcon(build_icon(u':/general/general_edit.png')) self.addToAction = self.dndMenu.addAction( - translate('ServiceManager', '&Add to Selected Item')) + translate('OpenLP.ServiceManager', '&Add to Selected Item')) self.addToAction.setIcon(build_icon(u':/general/general_edit.png')) #build the context menu self.menu = QtGui.QMenu() self.editAction = self.menu.addAction( - translate('ServiceManager', '&Edit Item')) + translate('OpenLP.ServiceManager', '&Edit Item')) self.editAction.setIcon(build_icon(u':/general/general_edit.png')) self.maintainAction = self.menu.addAction( - translate('ServiceManager', '&Maintain Item')) + translate('OpenLP.ServiceManager', '&Reorder Item')) self.maintainAction.setIcon(build_icon(u':/general/general_edit.png')) self.notesAction = self.menu.addAction( - translate('ServiceManager', '&Notes')) + translate('OpenLP.ServiceManager', '&Notes')) self.notesAction.setIcon(build_icon(u':/services/service_notes.png')) self.deleteAction = self.menu.addAction( - translate('ServiceManager', '&Delete From Service')) + translate('OpenLP.ServiceManager', '&Delete From Service')) self.deleteAction.setIcon(build_icon(u':/general/general_delete.png')) self.sep1 = self.menu.addAction(u'') self.sep1.setSeparator(True) self.previewAction = self.menu.addAction( - translate('ServiceManager', '&Preview Verse')) + translate('OpenLP.ServiceManager', '&Preview Verse')) self.previewAction.setIcon(build_icon(u':/general/general_preview.png')) self.liveAction = self.menu.addAction( - translate('ServiceManager', '&Live Verse')) + translate('OpenLP.ServiceManager', '&Live Verse')) self.liveAction.setIcon(build_icon(u':/general/general_live.png')) self.sep2 = self.menu.addAction(u'') self.sep2.setSeparator(True) self.themeMenu = QtGui.QMenu( - translate('ServiceManager', '&Change Item Theme')) + translate('OpenLP.ServiceManager', '&Change Item Theme')) self.menu.addMenu(self.themeMenu) def supportedSuffixes(self, suffix): @@ -485,8 +492,8 @@ class ServiceManager(QtGui.QWidget): self.parent.generalSettingsSection + u'/save prompt', QtCore.QVariant(False)).toBool(): ret = QtGui.QMessageBox.question(self, - translate('ServiceManager', 'Save Changes to Service?'), - translate('ServiceManager', + translate('OpenLP.ServiceManager', 'Save Changes to Service?'), + translate('OpenLP.ServiceManager', 'Your service is unsaved, do you want to save ' 'those changes before creating a new one?'), QtGui.QMessageBox.StandardButtons( @@ -571,9 +578,9 @@ class ServiceManager(QtGui.QWidget): log.debug(u'onSaveService') if not quick or self.isNew: filename = QtGui.QFileDialog.getSaveFileName(self, - translate('ServiceManager', 'Save Service'), + translate('OpenLP.ServiceManager', 'Save Service'), SettingsManager.get_last_dir(self.parent.serviceSettingsSection), - translate('ServiceManager', 'OpenLP Service Files (*.osz)')) + translate('OpenLP.ServiceManager', 'OpenLP Service Files (*.osz)')) else: filename = os.path.join(SettingsManager.get_last_dir( self.parent.serviceSettingsSection), self.serviceName) @@ -629,7 +636,7 @@ class ServiceManager(QtGui.QWidget): filename = self.parent.recentFiles[0] else: filename = QtGui.QFileDialog.getOpenFileName( - self, translate('ServiceManager', 'Open Service'), + self, translate('OpenLP.ServiceManager', 'Open Service'), SettingsManager.get_last_dir( self.parent.serviceSettingsSection), u'Services (*.osz)') filename = QtCore.QDir.toNativeSeparators(filename) @@ -643,8 +650,8 @@ class ServiceManager(QtGui.QWidget): """ if self.parent.serviceNotSaved: ret = QtGui.QMessageBox.question(self, - translate('ServiceManager', 'Save Changes to Service?'), - translate('ServiceManager', + translate('OpenLP.ServiceManager', 'Save Changes to Service?'), + translate('OpenLP.ServiceManager', 'Your current service is unsaved, do you want to ' 'save the changes before opening a new one?'), QtGui.QMessageBox.StandardButtons( @@ -673,8 +680,8 @@ class ServiceManager(QtGui.QWidget): ucsfile = file.decode(u'utf-8') except UnicodeDecodeError: QtGui.QMessageBox.critical( - self, translate('ServiceManager', 'Error'), - translate('ServiceManager', + self, translate('OpenLP.ServiceManager', 'Error'), + translate('OpenLP.ServiceManager', 'File is not a valid service.\n' 'The content encoding is not UTF-8.')) log.exception(u'Filename "%s" is not valid UTF-8' % @@ -708,8 +715,8 @@ class ServiceManager(QtGui.QWidget): log.exception(u'Failed to remove osd file') else: QtGui.QMessageBox.critical( - self, translate('ServiceManager', 'Error'), - translate('ServiceManager', + self, translate('OpenLP.ServiceManager', 'Error'), + translate('OpenLP.ServiceManager', 'File is not a valid service.')) log.exception(u'File contains no service data') except (IOError, NameError): @@ -837,8 +844,8 @@ class ServiceManager(QtGui.QWidget): self.serviceItems[item][u'service_item'], count) else: QtGui.QMessageBox.critical(self, - translate('ServiceManager', 'Missing Display Handler'), - translate('ServiceManager', 'Your item cannot be displayed ' + translate('OpenLP.ServiceManager', 'Missing Display Handler'), + translate('OpenLP.ServiceManager', 'Your item cannot be displayed ' 'as there is no handler to display it'), QtGui.QMessageBox.StandardButtons( QtGui.QMessageBox.Ok), @@ -873,8 +880,8 @@ class ServiceManager(QtGui.QWidget): self.serviceItems[item][u'service_item'], 0) else: QtGui.QMessageBox.critical(self, - translate('ServiceManager', 'Missing Display Handler'), - translate('ServiceManager', 'Your item cannot be displayed ' + translate('OpenLP.ServiceManager', 'Missing Display Handler'), + translate('OpenLP.ServiceManager', 'Your item cannot be displayed ' 'as there is no handler to display it'), QtGui.QMessageBox.StandardButtons( QtGui.QMessageBox.Ok), diff --git a/openlp/core/ui/servicenotedialog.py b/openlp/core/ui/servicenotedialog.py index 740d304f4..a5977a2de 100644 --- a/openlp/core/ui/servicenotedialog.py +++ b/openlp/core/ui/servicenotedialog.py @@ -49,4 +49,4 @@ class Ui_ServiceNoteEdit(object): def retranslateUi(self, ServiceNoteEdit): ServiceNoteEdit.setWindowTitle( - translate('ServiceNoteForm', 'Service Item Notes')) + translate('OpenLP.ServiceNoteForm', 'Service Item Notes')) diff --git a/openlp/core/ui/settingsdialog.py b/openlp/core/ui/settingsdialog.py index c337ccc48..36e6304e5 100644 --- a/openlp/core/ui/settingsdialog.py +++ b/openlp/core/ui/settingsdialog.py @@ -63,5 +63,5 @@ class Ui_SettingsDialog(object): QtCore.QMetaObject.connectSlotsByName(SettingsDialog) def retranslateUi(self, SettingsDialog): - SettingsDialog.setWindowTitle(translate('SettingsForm', + SettingsDialog.setWindowTitle(translate('OpenLP.SettingsForm', 'Configure OpenLP')) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 70ec3ac6e..b1539c20c 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -128,11 +128,11 @@ class SlideController(QtGui.QWidget): # Type label for the top of the slide controller self.TypeLabel = QtGui.QLabel(self.Panel) if self.isLive: - self.TypeLabel.setText(translate('SlideController', 'Live')) + self.TypeLabel.setText(translate('OpenLP.SlideController', 'Live')) self.split = 1 self.typePrefix = u'live' else: - self.TypeLabel.setText(translate('SlideController', 'Preview')) + self.TypeLabel.setText(translate('OpenLP.SlideController', 'Preview')) self.split = 0 self.typePrefix = u'preview' self.TypeLabel.setStyleSheet(u'font-weight: bold; font-size: 12pt;') @@ -179,29 +179,29 @@ class SlideController(QtGui.QWidget): if self.isLive: self.Toolbar.addToolbarButton( u'First Slide', u':/slides/slide_first.png', - translate('SlideController', 'Move to first'), + translate('OpenLP.SlideController', 'Move to first'), self.onSlideSelectedFirst) self.Toolbar.addToolbarButton( u'Previous Slide', u':/slides/slide_previous.png', - translate('SlideController', 'Move to previous'), + translate('OpenLP.SlideController', 'Move to previous'), self.onSlideSelectedPrevious) self.Toolbar.addToolbarButton( u'Next Slide', u':/slides/slide_next.png', - translate('SlideController', 'Move to next'), + translate('OpenLP.SlideController', 'Move to next'), self.onSlideSelectedNext) if self.isLive: self.Toolbar.addToolbarButton( u'Last Slide', u':/slides/slide_last.png', - translate('SlideController', 'Move to last'), + translate('OpenLP.SlideController', 'Move to last'), self.onSlideSelectedLast) if self.isLive: self.Toolbar.addToolbarSeparator(u'Close Separator') self.HideMenu = QtGui.QToolButton(self.Toolbar) - self.HideMenu.setText(translate('SlideController', 'Hide')) + self.HideMenu.setText(translate('OpenLP.SlideController', 'Hide')) self.HideMenu.setPopupMode(QtGui.QToolButton.MenuButtonPopup) self.Toolbar.addToolbarWidget(u'Hide Menu', self.HideMenu) self.HideMenu.setMenu(QtGui.QMenu( - translate('SlideController', 'Hide'), self.Toolbar)) + translate('OpenLP.SlideController', 'Hide'), self.Toolbar)) self.BlankScreen = QtGui.QAction(QtGui.QIcon( u':/slides/slide_blank.png'), u'Blank Screen', self.HideMenu) self.BlankScreen.setCheckable(True) @@ -225,44 +225,44 @@ class SlideController(QtGui.QWidget): self.Toolbar.addToolbarSeparator(u'Close Separator') self.Toolbar.addToolbarButton( u'Go Live', u':/general/general_live.png', - translate('SlideController', 'Move to live'), self.onGoLive) + translate('OpenLP.SlideController', 'Move to live'), self.onGoLive) self.Toolbar.addToolbarSeparator(u'Close Separator') self.Toolbar.addToolbarButton( u'Edit Song', u':/general/general_edit.png', - translate('SlideController', 'Edit and re-preview Song'), + translate('OpenLP.SlideController', 'Edit and re-preview Song'), self.onEditSong) if isLive: self.Toolbar.addToolbarSeparator(u'Loop Separator') self.Toolbar.addToolbarButton( u'Start Loop', u':/media/media_time.png', - translate('SlideController', 'Start continuous loop'), + translate('OpenLP.SlideController', 'Start continuous loop'), self.onStartLoop) self.Toolbar.addToolbarButton( u'Stop Loop', u':/media/media_stop.png', - translate('SlideController', 'Stop continuous loop'), + translate('OpenLP.SlideController', 'Stop continuous loop'), self.onStopLoop) self.DelaySpinBox = QtGui.QSpinBox() self.DelaySpinBox.setMinimum(1) self.DelaySpinBox.setMaximum(180) self.Toolbar.addToolbarWidget( u'Image SpinBox', self.DelaySpinBox) - self.DelaySpinBox.setSuffix(translate('SlideController', 's')) - self.DelaySpinBox.setToolTip(translate('SlideController', + self.DelaySpinBox.setSuffix(translate('OpenLP.SlideController', 's')) + self.DelaySpinBox.setToolTip(translate('OpenLP.SlideController', 'Delay between slides in seconds')) self.ControllerLayout.addWidget(self.Toolbar) #Build a Media ToolBar self.Mediabar = OpenLPToolbar(self) self.Mediabar.addToolbarButton( u'Media Start', u':/slides/media_playback_start.png', - translate('SlideController', 'Start playing media'), + translate('OpenLP.SlideController', 'Start playing media'), self.onMediaPlay) self.Mediabar.addToolbarButton( u'Media Pause', u':/slides/media_playback_pause.png', - translate('SlideController', 'Start playing media'), + translate('OpenLP.SlideController', 'Start playing media'), self.onMediaPause) self.Mediabar.addToolbarButton( u'Media Stop', u':/slides/media_playback_stop.png', - translate('SlideController', 'Start playing media'), + translate('OpenLP.SlideController', 'Start playing media'), self.onMediaStop) if not self.isLive: self.seekSlider = Phonon.SeekSlider() @@ -278,11 +278,11 @@ class SlideController(QtGui.QWidget): # Build the Song Toolbar if isLive: self.SongMenu = QtGui.QToolButton(self.Toolbar) - self.SongMenu.setText(translate('SlideController', 'Go to Verse')) + self.SongMenu.setText(translate('OpenLP.SlideController', 'Go to Verse')) self.SongMenu.setPopupMode(QtGui.QToolButton.InstantPopup) self.Toolbar.addToolbarWidget(u'Song Menu', self.SongMenu) self.SongMenu.setMenu(QtGui.QMenu( - translate('SlideController', 'Go to Verse'), self.Toolbar)) + translate('OpenLP.SlideController', 'Go to Verse'), self.Toolbar)) self.Toolbar.makeWidgetsInvisible([u'Song Menu']) # Screen preview area self.PreviewFrame = QtGui.QFrame(self.Splitter) diff --git a/openlp/plugins/songusage/forms/songusagedeletedialog.py b/openlp/plugins/songusage/forms/songusagedeletedialog.py index e7216d479..90fd314ed 100644 --- a/openlp/plugins/songusage/forms/songusagedeletedialog.py +++ b/openlp/plugins/songusage/forms/songusagedeletedialog.py @@ -59,4 +59,4 @@ class Ui_SongUsageDeleteDialog(object): def retranslateUi(self, SongUsageDeleteDialog): SongUsageDeleteDialog.setWindowTitle( - translate('SongsPlugin.AuditDeleteDialog', 'Song Usage Delete')) \ No newline at end of file + translate('SongUsagePlugin.AuditDeleteDialog', 'Delete Song Usage Data')) diff --git a/openlp/plugins/songusage/forms/songusagedeleteform.py b/openlp/plugins/songusage/forms/songusagedeleteform.py index 4ded872f0..e97f58878 100644 --- a/openlp/plugins/songusage/forms/songusagedeleteform.py +++ b/openlp/plugins/songusage/forms/songusagedeleteform.py @@ -43,9 +43,9 @@ class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog): def accept(self): ret = QtGui.QMessageBox.question(self, - translate('SongsPlugin.SongUsageDeleteForm', + translate('SongUsagePlugin.SongUsageDeleteForm', 'Delete Selected Song Usage Events?'), - translate('SongsPlugin.SongUsageDeleteForm', + translate('SongUsagePlugin.SongUsageDeleteForm', 'Are you sure you want to delete selected Song Usage data?'), QtGui.QMessageBox.StandardButtons( QtGui.QMessageBox.Ok | @@ -56,3 +56,4 @@ class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog): self.songusagemanager.delete_all_objects(SongUsageItem, SongUsageItem.usagedate <= deleteDate) self.close() + diff --git a/openlp/plugins/songusage/forms/songusagedetaildialog.py b/openlp/plugins/songusage/forms/songusagedetaildialog.py index fc7f8af7c..41736f763 100644 --- a/openlp/plugins/songusage/forms/songusagedetaildialog.py +++ b/openlp/plugins/songusage/forms/songusagedetaildialog.py @@ -86,11 +86,11 @@ class Ui_SongUsageDetailDialog(object): def retranslateUi(self, SongUsageDetailDialog): SongUsageDetailDialog.setWindowTitle( - translate('SongsPlugin.AuditDetailDialog', + translate('SongUsagePlugin.AuditDetailDialog', 'Song Usage Extraction')) self.DateRangeGroupBox.setTitle( - translate('SongsPlugin.AuditDetailDialog', 'Select Date Range')) + translate('SongUsagePlugin.AuditDetailDialog', 'Select Date Range')) self.ToLabel.setText( - translate('SongsPlugin.AuditDetailDialog', 'to')) + translate('SongUsagePlugin.AuditDetailDialog', 'to')) self.FileGroupBox.setTitle( - translate('SongsPlugin.AuditDetailDialog', 'Report Location')) + translate('SongUsagePlugin.AuditDetailDialog', 'Report Location')) diff --git a/openlp/plugins/songusage/forms/songusagedetailform.py b/openlp/plugins/songusage/forms/songusagedetailform.py index ac65ce857..67c2935eb 100644 --- a/openlp/plugins/songusage/forms/songusagedetailform.py +++ b/openlp/plugins/songusage/forms/songusagedetailform.py @@ -62,7 +62,7 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog): def defineOutputLocation(self): path = QtGui.QFileDialog.getExistingDirectory(self, - translate('SongsPlugin.SongUsageDetailForm', + translate('SongUsagePlugin.SongUsageDetailForm', 'Output File Location'), SettingsManager.get_last_dir(self.parent.settingsSection, 1)) path = unicode(path) diff --git a/resources/i18n/openlp_af.ts b/resources/i18n/openlp_af.ts index 79fc66234..67e34785d 100644 --- a/resources/i18n/openlp_af.ts +++ b/resources/i18n/openlp_af.ts @@ -2271,6 +2271,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + + + + + Delete + + + + + Down + + + + + OpenLP.ServiceManager + + + New Service + Nuwe Diens + + + + Create a new service + Skep 'n nuwe diens + + + + Open Service + Maak Diens Oop + + + + Load an existing service + Laai 'n bestaande diens + + + + Save Service + Stoor Diens + + + + Save this service + Stoor hierdie diens + + + + Theme: + Tema: + + + + Select a theme for the service + Selekteer 'n tema vir die diens + + + + Move to &top + + + + + Move &up + + + + + Move &down + + + + + Move to &bottom + + + + + &Delete From Service + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + R&edigeer Item + + + + &Reorder Item + + + + + &Notes + &Notas + + + + &Preview Verse + Vers V&oorsig + + + + &Live Verse + &Lewendige Vers + + + + &Change Item Theme + &Verander Item Tema + + + + Save Changes to Service? + Stoor Veranderinge aan Diens? + + + + Your service is unsaved, do you want to save those changes before creating a new one? + + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + + + + + Error + Fout + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Diens Item Notas + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + Regstreeks + + + + Preview + Voorskou + + + + Move to first + Verskuif na eerste + + + + Move to previous + Beweeg na vorige + + + + Move to next + Verskuif na volgende + + + + Move to last + Verskuif na laaste posisie + + + + Hide + + + + + Move to live + Verskuif na regstreekse skerm + + + + Edit and re-preview Song + Redigeer en sien weer 'n voorskou van die Lied + + + + Start continuous loop + Begin aaneenlopende lus + + + + Stop continuous loop + Stop deurlopende lus + + + + s + s + + + + Delay between slides in seconds + Vertraging in sekondes tussen skyfies + + + + Start playing media + Begin media speel + + + + Go to Verse + Gaan na Vers + + PresentationPlugin @@ -2371,302 +2667,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - - - - - Up - - - - - Delete - - - - - Down - - - - - ServiceManager - - - Save Changes to Service? - Stoor Veranderinge aan Diens? - - - - Open Service - Maak Diens Oop - - - - Move to top - Skuif na bo - - - - Create a new service - Skep 'n nuwe diens - - - - Save this service - Stoor hierdie diens - - - - Theme: - Tema: - - - - Delete From Service - Verwyder Van Diens - - - - &Change Item Theme - &Verander Item Tema - - - - Save Service - Stoor Diens - - - - &Live Verse - &Lewendige Vers - - - - New Service - Nuwe Diens - - - - &Notes - &Notas - - - - Move to end - Verskuif na einde - - - - Select a theme for the service - Selekteer 'n tema vir die diens - - - - Move up order - Verskuif orde op - - - - Move down order - Verskuif orde af - - - - Load an existing service - Laai 'n bestaande diens - - - - &Preview Verse - Vers V&oorsig - - - - &Edit Item - R&edigeer Item - - - - Move to &top - - - - - Move &up - - - - - Move &down - - - - - Move to &bottom - - - - - &Delete From Service - - - - - &Add New Item - - - - - &Add to Selected Item - - - - - &Maintain Item - - - - - Your service is unsaved, do you want to save those changes before creating a new one? - - - - - OpenLP Service Files (*.osz) - - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - - - - - Error - Fout - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - - - - - ServiceNoteForm - - - Service Item Notes - Diens Item Notas - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - Beweeg na vorige - - - - Go to Verse - Gaan na Vers - - - - Start continuous loop - Begin aaneenlopende lus - - - - Live - Regstreeks - - - - Start playing media - Begin media speel - - - - Move to live - Verskuif na regstreekse skerm - - - - Preview - Voorskou - - - - Move to last - Verskuif na laaste posisie - - - - Edit and re-preview Song - Redigeer en sien weer 'n voorskou van die Lied - - - - Delay between slides in seconds - Vertraging in sekondes tussen skyfies - - - - Move to next - Verskuif na volgende - - - - Move to first - Verskuif na eerste - - - - Stop continuous loop - Stop deurlopende lus - - - - s - s - - - - Hide - - - SongUsagePlugin @@ -2710,6 +2710,58 @@ The content encoding is not UTF-8. &Lied Gebruik + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + aan + + + + Report Location + Rapporteer Ligging + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + Uitvoer Lêer Ligging + + SongsPlugin @@ -2819,37 +2871,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - aan - - - - Report Location - Rapporteer Ligging - - SongsPlugin.AuthorsForm @@ -2991,37 +3012,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Tema - + New &Theme - + Copyright Information Kopiereg Informasie - + © - + CCLI Number: CCLI Nommer: - + Comments Kommentaar - + Theme, Copyright Info && Comments Tema, Kopiereg Informasie && Kommentaar @@ -3041,87 +3062,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Fout - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + This author is already in the list. - + This topic is already in the list. @@ -3449,7 +3470,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Fout @@ -3484,7 +3505,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3499,87 +3520,66 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Delete Author Wis Skrywer Uit - + Are you sure you want to delete the selected author? Is u seker u wil die geselekteerde skrywer uitwis? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Geen skrywer geselekteer nie! - + Delete Topic Wis Onderwerp Uit - + Are you sure you want to delete the selected topic? Is u seker u wil die geselekteerde onderwerp uitwis? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! Geen onderwerp geselekteer nie! - + Delete Book Wis Boek Uit - + Are you sure you want to delete the selected book? Is jy seker jy wil die geselekteerde boek uitwis? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! Geen boek geselekteer nie! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - Uitvoer Lêer Ligging - - SongsPlugin.SongsTab @@ -3652,7 +3652,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Wis Tema Uit - + Error Fout @@ -3667,22 +3667,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Voer Tema Uit - + Theme Exists Tema Bestaan - + Save Theme - (%s) Stoor Tema - (%s) - + Select Theme Import File Kies Tema Invoer Lêer - + New Theme Nuwe Tema @@ -3772,48 +3772,48 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_de.ts b/resources/i18n/openlp_de.ts index a969f6d77..03d274adc 100644 --- a/resources/i18n/openlp_de.ts +++ b/resources/i18n/openlp_de.ts @@ -2271,6 +2271,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + + + + + Delete + Löschen + + + + Down + + + + + OpenLP.ServiceManager + + + New Service + Neuer Ablauf + + + + Create a new service + Erstelle neuen Ablauf + + + + Open Service + Öffnen Ablauf + + + + Load an existing service + Öffne Ablauf + + + + Save Service + Ablauf speichern + + + + Save this service + Ablauf speichern + + + + Theme: + Design: + + + + Select a theme for the service + Design für den Ablauf auswählen + + + + Move to &top + + + + + Move &up + + + + + Move &down + + + + + Move to &bottom + + + + + &Delete From Service + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + &Bearbeite Element + + + + &Reorder Item + + + + + &Notes + &Notizen + + + + &Preview Verse + Vers in der &Vorschau zeigen + + + + &Live Verse + Vers &Live zeigen + + + + &Change Item Theme + &Design des Elements ändern + + + + Save Changes to Service? + Änderungen am Ablauf speichern? + + + + Your service is unsaved, do you want to save those changes before creating a new one? + + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + + + + + Error + Fehler + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Elementnotiz + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + Live + + + + Preview + Vorschau + + + + Move to first + Ganz nach vorn verschieben + + + + Move to previous + Vorherige Folie anzeigen + + + + Move to next + Verschiebe zum Nächsten + + + + Move to last + Zur letzten Folie + + + + Hide + + + + + Move to live + Verschieben zur Live Ansicht + + + + Edit and re-preview Song + Lied bearbeiten und wieder anzeigen + + + + Start continuous loop + Endlosschleife starten + + + + Stop continuous loop + Endlosschleife beenden + + + + s + s + + + + Delay between slides in seconds + Pause zwischen den Folien in Sekunden + + + + Start playing media + Abspielen + + + + Go to Verse + Springe zu + + PresentationPlugin @@ -2371,302 +2667,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - - - - - Up - - - - - Delete - Löschen - - - - Down - - - - - ServiceManager - - - Save Changes to Service? - Änderungen am Ablauf speichern? - - - - Open Service - Öffnen Ablauf - - - - Move to top - Nach oben verschieben - - - - Create a new service - Erstelle neuen Ablauf - - - - Save this service - Ablauf speichern - - - - Theme: - Design: - - - - Delete From Service - Aus dem Ablauf entfernen - - - - &Change Item Theme - &Design des Elements ändern - - - - Save Service - Ablauf speichern - - - - &Live Verse - Vers &Live zeigen - - - - New Service - Neuer Ablauf - - - - &Notes - &Notizen - - - - Move to end - Zum Ende schieben - - - - Select a theme for the service - Design für den Ablauf auswählen - - - - Move up order - Verschiebe Reihenfolge nach oben - - - - Move down order - Verschiebe Reihenfolge nach unten - - - - Load an existing service - Öffne Ablauf - - - - &Preview Verse - Vers in der &Vorschau zeigen - - - - &Edit Item - &Bearbeite Element - - - - Move to &top - - - - - Move &up - - - - - Move &down - - - - - Move to &bottom - - - - - &Delete From Service - - - - - &Add New Item - - - - - &Add to Selected Item - - - - - &Maintain Item - - - - - Your service is unsaved, do you want to save those changes before creating a new one? - - - - - OpenLP Service Files (*.osz) - - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - - - - - Error - Fehler - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - - - - - ServiceNoteForm - - - Service Item Notes - Elementnotiz - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - Vorherige Folie anzeigen - - - - Go to Verse - Springe zu - - - - Start continuous loop - Endlosschleife starten - - - - Live - Live - - - - Start playing media - Abspielen - - - - Move to live - Verschieben zur Live Ansicht - - - - Preview - Vorschau - - - - Move to last - Zur letzten Folie - - - - Edit and re-preview Song - Lied bearbeiten und wieder anzeigen - - - - Delay between slides in seconds - Pause zwischen den Folien in Sekunden - - - - Move to next - Verschiebe zum Nächsten - - - - Move to first - Ganz nach vorn verschieben - - - - Stop continuous loop - Endlosschleife beenden - - - - s - s - - - - Hide - - - SongUsagePlugin @@ -2710,6 +2710,58 @@ The content encoding is not UTF-8. Lieder Statistik + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + zu + + + + Report Location + Speicherort für die Statistiken + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + Ablageort für Aufnahme wählen + + SongsPlugin @@ -2819,37 +2871,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - zu - - - - Report Location - Speicherort für die Statistiken - - SongsPlugin.AuthorsForm @@ -2981,37 +3002,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Liederbuch - + Theme Design - + New &Theme - + Copyright Information Copyright Angaben - + © - + CCLI Number: CCLI-Nummer: - + Comments Kommentare - + Theme, Copyright Info && Comments Design, Copyrightinformationen && Kommentare @@ -3031,77 +3052,77 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Fehler - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? @@ -3116,12 +3137,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + This author is already in the list. - + This topic is already in the list. @@ -3444,52 +3465,52 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Fehler - + Delete Author Lösche Autor - + Are you sure you want to delete the selected author? Sind Sie sicher, dass Sie den ausgewählten Autor löschen wollen? - + No author selected! Sie haben keinen Autor ausgewählt! - + Delete Topic Lösche Thema - + Are you sure you want to delete the selected topic? Soll der gewählte Eintrag wirklich gelöscht werden? - + No topic selected! Kein Thema ausgewählt! - + Delete Book Buch löschen - + Are you sure you want to delete the selected book? Sind Sie sicher, dass das markierte Buch wirklich gelöscht werden soll? - + No book selected! Kein Buch ausgewählt! @@ -3529,7 +3550,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3544,42 +3565,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + This author cannot be deleted, they are currently assigned to at least one song. - + This topic cannot be deleted, it is currently assigned to at least one song. - + This book cannot be deleted, it is currently assigned to at least one song. - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - Ablageort für Aufnahme wählen - - SongsPlugin.SongsTab @@ -3652,7 +3652,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Design löschen - + Error Fehler @@ -3667,22 +3667,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Design exportieren - + Theme Exists Design existiert - + Save Theme - (%s) Speichere Design - (%s) - + Select Theme Import File Wähle Datei für Design Import - + New Theme Neues Design @@ -3762,43 +3762,43 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. @@ -3813,7 +3813,7 @@ The content encoding is not UTF-8. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_en.ts b/resources/i18n/openlp_en.ts index 3a8d0f94a..362ee9c05 100644 --- a/resources/i18n/openlp_en.ts +++ b/resources/i18n/openlp_en.ts @@ -2271,6 +2271,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + + + + + Delete + + + + + Down + + + + + OpenLP.ServiceManager + + + New Service + + + + + Create a new service + + + + + Open Service + + + + + Load an existing service + + + + + Save Service + + + + + Save this service + + + + + Theme: + + + + + Select a theme for the service + + + + + Move to &top + + + + + Move &up + + + + + Move &down + + + + + Move to &bottom + + + + + &Delete From Service + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + + + + + &Reorder Item + + + + + &Notes + + + + + &Preview Verse + + + + + &Live Verse + + + + + &Change Item Theme + + + + + Save Changes to Service? + + + + + Your service is unsaved, do you want to save those changes before creating a new one? + + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + + + + + Error + + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + + + + + Preview + + + + + Move to first + + + + + Move to previous + + + + + Move to next + + + + + Move to last + + + + + Hide + + + + + Move to live + + + + + Edit and re-preview Song + + + + + Start continuous loop + + + + + Stop continuous loop + + + + + s + + + + + Delay between slides in seconds + + + + + Start playing media + + + + + Go to Verse + + + PresentationPlugin @@ -2371,302 +2667,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - - - - - Up - - - - - Delete - - - - - Down - - - - - ServiceManager - - - Save Service - - - - - Save Changes to Service? - - - - - Open Service - - - - - Move to top - - - - - Create a new service - - - - - Save this service - - - - - Theme: - - - - - Delete From Service - - - - - &Change Item Theme - - - - - &Preview Verse - - - - - &Live Verse - - - - - New Service - - - - - &Notes - - - - - Select a theme for the service - - - - - Move up order - - - - - Move down order - - - - - Load an existing service - - - - - Move to end - - - - - &Edit Item - - - - - Move to &top - - - - - Move &up - - - - - Move &down - - - - - Move to &bottom - - - - - &Delete From Service - - - - - &Add New Item - - - - - &Add to Selected Item - - - - - &Maintain Item - - - - - Your service is unsaved, do you want to save those changes before creating a new one? - - - - - OpenLP Service Files (*.osz) - - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - - - - - Error - - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - - - - - ServiceNoteForm - - - Service Item Notes - - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - - - - - Edit and re-preview Song - - - - - Delay between slides in seconds - - - - - Go to Verse - - - - - Start continuous loop - - - - - Live - - - - - Start playing media - - - - - Move to live - - - - - Move to last - - - - - Move to next - - - - - Move to first - - - - - Preview - - - - - Stop continuous loop - - - - - s - - - - - Hide - - - SongUsagePlugin @@ -2710,6 +2710,58 @@ The content encoding is not UTF-8. + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + + + SongsPlugin @@ -2819,37 +2871,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - - - - - Report Location - - - SongsPlugin.AuthorsForm @@ -2991,37 +3012,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme - + New &Theme - + Copyright Information - + © - + CCLI Number: - + Comments - + Theme, Copyright Info && Comments @@ -3041,87 +3062,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + This author is already in the list. - + This topic is already in the list. @@ -3449,7 +3470,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error @@ -3484,7 +3505,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3499,87 +3520,66 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Delete Author - + Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! - + Delete Topic - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book - + Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - - - SongsPlugin.SongsTab @@ -3652,7 +3652,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error @@ -3667,22 +3667,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Exists - + Save Theme - (%s) - + Select Theme Import File - + New Theme @@ -3772,48 +3772,48 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_en_GB.ts b/resources/i18n/openlp_en_GB.ts index 51263dbd2..e6cfa79ad 100644 --- a/resources/i18n/openlp_en_GB.ts +++ b/resources/i18n/openlp_en_GB.ts @@ -2271,6 +2271,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + + + + + Delete + Delete + + + + Down + + + + + OpenLP.ServiceManager + + + New Service + New Service + + + + Create a new service + Create a new service + + + + Open Service + Open Service + + + + Load an existing service + Load an existing service + + + + Save Service + Save Service + + + + Save this service + Save this service + + + + Theme: + Theme: + + + + Select a theme for the service + Select a theme for the service + + + + Move to &top + + + + + Move &up + + + + + Move &down + + + + + Move to &bottom + + + + + &Delete From Service + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + &Edit Item + + + + &Reorder Item + + + + + &Notes + &Notes + + + + &Preview Verse + &Preview Verse + + + + &Live Verse + &Live Verse + + + + &Change Item Theme + &Change Item Theme + + + + Save Changes to Service? + Save Changes to Service? + + + + Your service is unsaved, do you want to save those changes before creating a new one? + + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + + + + + Error + Error + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Service Item Notes + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + Live + + + + Preview + Preview + + + + Move to first + Move to first + + + + Move to previous + Move to previous + + + + Move to next + Move to next + + + + Move to last + Move to last + + + + Hide + + + + + Move to live + Move to live + + + + Edit and re-preview Song + Edit and re-preview Song + + + + Start continuous loop + Start continuous loop + + + + Stop continuous loop + Stop continuous loop + + + + s + s + + + + Delay between slides in seconds + Delay between slides in seconds + + + + Start playing media + Start playing media + + + + Go to Verse + Go to Verse + + PresentationPlugin @@ -2371,302 +2667,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - - - - - Up - - - - - Delete - Delete - - - - Down - - - - - ServiceManager - - - Save Changes to Service? - Save Changes to Service? - - - - Open Service - Open Service - - - - Move to top - Move to top - - - - Create a new service - Create a new service - - - - Save this service - Save this service - - - - Theme: - Theme: - - - - Delete From Service - Delete From Service - - - - &Change Item Theme - &Change Item Theme - - - - Save Service - Save Service - - - - &Live Verse - &Live Verse - - - - New Service - New Service - - - - &Notes - &Notes - - - - Move to end - Move to end - - - - Select a theme for the service - Select a theme for the service - - - - Move up order - Move up order - - - - Move down order - Move down order - - - - Load an existing service - Load an existing service - - - - &Preview Verse - &Preview Verse - - - - &Edit Item - &Edit Item - - - - Move to &top - - - - - Move &up - - - - - Move &down - - - - - Move to &bottom - - - - - &Delete From Service - - - - - &Add New Item - - - - - &Add to Selected Item - - - - - &Maintain Item - - - - - Your service is unsaved, do you want to save those changes before creating a new one? - - - - - OpenLP Service Files (*.osz) - - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - - - - - Error - Error - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - - - - - ServiceNoteForm - - - Service Item Notes - Service Item Notes - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - Move to previous - - - - Go to Verse - Go to Verse - - - - Start continuous loop - Start continuous loop - - - - Live - Live - - - - Start playing media - Start playing media - - - - Move to live - Move to live - - - - Preview - Preview - - - - Move to last - Move to last - - - - Edit and re-preview Song - Edit and re-preview Song - - - - Delay between slides in seconds - Delay between slides in seconds - - - - Move to next - Move to next - - - - Move to first - Move to first - - - - Stop continuous loop - Stop continuous loop - - - - s - s - - - - Hide - - - SongUsagePlugin @@ -2710,6 +2710,58 @@ The content encoding is not UTF-8. &Song Usage + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + to + + + + Report Location + Report Location + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + Output File Location + + SongsPlugin @@ -2819,37 +2871,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - to - - - - Report Location - Report Location - - SongsPlugin.AuthorsForm @@ -2991,37 +3012,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Theme - + New &Theme - + Copyright Information Copyright Information - + © - + CCLI Number: CCLI Number: - + Comments Comments - + Theme, Copyright Info && Comments Theme, Copyright Info && Comments @@ -3041,87 +3062,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Error - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + This author is already in the list. - + This topic is already in the list. @@ -3449,7 +3470,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Error @@ -3484,7 +3505,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3499,87 +3520,66 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Delete Author Delete Author - + Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! - + Delete Topic Delete Topic - + Are you sure you want to delete the selected topic? Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! No topic selected! - + Delete Book Delete Book - + Are you sure you want to delete the selected book? Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - Output File Location - - SongsPlugin.SongsTab @@ -3652,7 +3652,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Delete Theme - + Error Error @@ -3667,22 +3667,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Export Theme - + Theme Exists Theme Exists - + Save Theme - (%s) Save Theme - (%s) - + Select Theme Import File Select Theme Import File - + New Theme New Theme @@ -3772,48 +3772,48 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_en_ZA.ts b/resources/i18n/openlp_en_ZA.ts index 4e2e6f001..6ac46f2ad 100644 --- a/resources/i18n/openlp_en_ZA.ts +++ b/resources/i18n/openlp_en_ZA.ts @@ -2271,6 +2271,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + + + + + Delete + + + + + Down + + + + + OpenLP.ServiceManager + + + New Service + New Service + + + + Create a new service + Create a new service + + + + Open Service + Open Service + + + + Load an existing service + + + + + Save Service + Save Service + + + + Save this service + Save this service + + + + Theme: + Theme: + + + + Select a theme for the service + Select a theme for the service. + + + + Move to &top + + + + + Move &up + + + + + Move &down + + + + + Move to &bottom + + + + + &Delete From Service + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + + + + + &Reorder Item + + + + + &Notes + + + + + &Preview Verse + + + + + &Live Verse + &Live Verse + + + + &Change Item Theme + &Change Item Theme + + + + Save Changes to Service? + Save Changes to Service? + + + + Your service is unsaved, do you want to save those changes before creating a new one? + + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + + + + + Error + Error + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Service Item Notes + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + Live + + + + Preview + Preview + + + + Move to first + + + + + Move to previous + Move to previous + + + + Move to next + Move to next slide. + + + + Move to last + Move to last + + + + Hide + + + + + Move to live + Move to live + + + + Edit and re-preview Song + Edit and re-preview Song. + + + + Start continuous loop + Start continuous loop + + + + Stop continuous loop + + + + + s + + + + + Delay between slides in seconds + Delay between slides in seconds. + + + + Start playing media + Start playing media + + + + Go to Verse + Go to Verse + + PresentationPlugin @@ -2371,302 +2667,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - - - - - Up - - - - - Delete - - - - - Down - - - - - ServiceManager - - - Save Changes to Service? - Save Changes to Service? - - - - Open Service - Open Service - - - - Move to top - Move to top - - - - Create a new service - Create a new service - - - - Save this service - Save this service - - - - Theme: - Theme: - - - - Delete From Service - Delete From Service - - - - &Change Item Theme - &Change Item Theme - - - - Save Service - Save Service - - - - &Live Verse - &Live Verse - - - - New Service - New Service - - - - &Notes - - - - - Move to end - Move to the end - - - - Select a theme for the service - Select a theme for the service. - - - - Move up order - Move up order. - - - - Move down order - - - - - Load an existing service - - - - - &Preview Verse - - - - - &Edit Item - - - - - Move to &top - - - - - Move &up - - - - - Move &down - - - - - Move to &bottom - - - - - &Delete From Service - - - - - &Add New Item - - - - - &Add to Selected Item - - - - - &Maintain Item - - - - - Your service is unsaved, do you want to save those changes before creating a new one? - - - - - OpenLP Service Files (*.osz) - - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - - - - - Error - Error - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - - - - - ServiceNoteForm - - - Service Item Notes - Service Item Notes - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - Move to previous - - - - Go to Verse - Go to Verse - - - - Start continuous loop - Start continuous loop - - - - Live - Live - - - - Start playing media - Start playing media - - - - Move to live - Move to live - - - - Preview - Preview - - - - Move to last - Move to last - - - - Edit and re-preview Song - Edit and re-preview Song. - - - - Delay between slides in seconds - Delay between slides in seconds. - - - - Move to next - Move to next slide. - - - - Move to first - - - - - Stop continuous loop - - - - - s - - - - - Hide - - - SongUsagePlugin @@ -2710,6 +2710,58 @@ The content encoding is not UTF-8. + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + Report Location + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + Output File Location + + SongsPlugin @@ -2819,37 +2871,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - - - - - Report Location - Report Location - - SongsPlugin.AuthorsForm @@ -2991,37 +3012,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Theme - + New &Theme - + Copyright Information Copyright Information - + © - + CCLI Number: CCLI Number: - + Comments - + Theme, Copyright Info && Comments @@ -3041,87 +3062,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Error - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + This author is already in the list. - + This topic is already in the list. @@ -3449,7 +3470,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Error @@ -3484,7 +3505,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3499,87 +3520,66 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Delete Author - + Are you sure you want to delete the selected author? Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! No author selected! - + Delete Topic Delete Topic - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book Delete Book - + Are you sure you want to delete the selected book? Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! No book selected! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - Output File Location - - SongsPlugin.SongsTab @@ -3652,7 +3652,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Delete Theme - + Error Error @@ -3667,22 +3667,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Export Theme - + Theme Exists Theme Exists - + Save Theme - (%s) Save Theme - (%s) - + Select Theme Import File - + New Theme @@ -3772,48 +3772,48 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_es.ts b/resources/i18n/openlp_es.ts index 8f0be7388..351e91afe 100644 --- a/resources/i18n/openlp_es.ts +++ b/resources/i18n/openlp_es.ts @@ -2271,6 +2271,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + + + + + Delete + Eliminar + + + + Down + + + + + OpenLP.ServiceManager + + + New Service + Servicio Nuevo + + + + Create a new service + Crear un servicio nuevo + + + + Open Service + Abrir Servicio + + + + Load an existing service + Abrir un servicio existente + + + + Save Service + Guardar Servicio + + + + Save this service + Guardar este servicio + + + + Theme: + Tema: + + + + Select a theme for the service + Seleccione un tema para el servicio + + + + Move to &top + + + + + Move &up + + + + + Move &down + + + + + Move to &bottom + + + + + &Delete From Service + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + &Editar Ítem + + + + &Reorder Item + + + + + &Notes + &Notas + + + + &Preview Verse + &Previzualizar Verso + + + + &Live Verse + Verso En &Vivo + + + + &Change Item Theme + &Cambiar Tema de Ítem + + + + Save Changes to Service? + ¿Guardar cambios al Servicio? + + + + Your service is unsaved, do you want to save those changes before creating a new one? + + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + + + + + Error + Error + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Notas de Elemento de Servicio + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + En vivo + + + + Preview + Vista Previa + + + + Move to first + Ir al principio + + + + Move to previous + Regresar al anterior + + + + Move to next + Ir al siguiente + + + + Move to last + Mover al final + + + + Hide + + + + + Move to live + Proyectar en vivo + + + + Edit and re-preview Song + Editar y re-visualizar Canción + + + + Start continuous loop + Iniciar bucle continuo + + + + Stop continuous loop + Detener el bucle + + + + s + s + + + + Delay between slides in seconds + Espera entre diapositivas en segundos + + + + Start playing media + Iniciar la reproducción de medios + + + + Go to Verse + Ir al Verso + + PresentationPlugin @@ -2371,302 +2667,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - - - - - Up - - - - - Delete - Eliminar - - - - Down - - - - - ServiceManager - - - Save Service - Guardar Servicio - - - - Save Changes to Service? - ¿Guardar cambios al Servicio? - - - - Open Service - Abrir Servicio - - - - Move to top - Mover al principio - - - - Create a new service - Crear un servicio nuevo - - - - Save this service - Guardar este servicio - - - - Theme: - Tema: - - - - Delete From Service - Eliminar Del Servicio - - - - &Change Item Theme - &Cambiar Tema de Ítem - - - - &Preview Verse - &Previzualizar Verso - - - - &Live Verse - Verso En &Vivo - - - - New Service - Servicio Nuevo - - - - &Notes - &Notas - - - - Select a theme for the service - Seleccione un tema para el servicio - - - - Move up order - Mover hacia arriba - - - - Move down order - Mover hacia abajo - - - - Load an existing service - Abrir un servicio existente - - - - Move to end - Mover al final - - - - &Edit Item - &Editar Ítem - - - - Move to &top - - - - - Move &up - - - - - Move &down - - - - - Move to &bottom - - - - - &Delete From Service - - - - - &Add New Item - - - - - &Add to Selected Item - - - - - &Maintain Item - - - - - Your service is unsaved, do you want to save those changes before creating a new one? - - - - - OpenLP Service Files (*.osz) - - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - - - - - Error - Error - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - - - - - ServiceNoteForm - - - Service Item Notes - Notas de Elemento de Servicio - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - Regresar al anterior - - - - Edit and re-preview Song - Editar y re-visualizar Canción - - - - Delay between slides in seconds - Espera entre diapositivas en segundos - - - - Go to Verse - Ir al Verso - - - - Start continuous loop - Iniciar bucle continuo - - - - Live - En vivo - - - - Start playing media - Iniciar la reproducción de medios - - - - Move to live - Proyectar en vivo - - - - Move to last - Mover al final - - - - Move to next - Ir al siguiente - - - - Move to first - Ir al principio - - - - Preview - Vista Previa - - - - Stop continuous loop - Detener el bucle - - - - s - s - - - - Hide - - - SongUsagePlugin @@ -2710,6 +2710,58 @@ The content encoding is not UTF-8. &Uso de las Canciones + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + hasta + + + + Report Location + Ubicación de Reporte + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + Archivo de Salida + + SongsPlugin @@ -2819,37 +2871,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - hasta - - - - Report Location - Ubicación de Reporte - - SongsPlugin.AuthorsForm @@ -2991,37 +3012,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Tema - + New &Theme - + Copyright Information Información de Derechos de Autor - + © - + CCLI Number: Número CCLI: - + Comments Comentarios - + Theme, Copyright Info && Comments Tema, Derechos de Autor && Comentarios @@ -3041,87 +3062,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Error - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + This author is already in the list. - + This topic is already in the list. @@ -3449,7 +3470,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Error @@ -3484,7 +3505,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3499,87 +3520,66 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Delete Author Borrar Autor - + Are you sure you want to delete the selected author? ¿Está seguro que desea eliminar el autor seleccionado? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! ¡Ningún autor seleccionado! - + Delete Topic Borrar Categoría - + Are you sure you want to delete the selected topic? ¿Está seguro que desea eliminar la categoría seleccionada? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! ¡No seleccionó la categoría! - + Delete Book Eliminar Libro - + Are you sure you want to delete the selected book? ¿Está seguro de que quiere eliminar el libro seleccionado? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! ¡Ningún libro seleccionado! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - Archivo de Salida - - SongsPlugin.SongsTab @@ -3652,7 +3652,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Eliminar Tema - + Error Error @@ -3667,22 +3667,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Exportar Tema - + Theme Exists Ya existe el Tema - + Save Theme - (%s) Guardar Tema - (%s) - + Select Theme Import File Seleccione el Archivo de Tema a Importar - + New Theme Tema Nuevo @@ -3772,48 +3772,48 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_et.ts b/resources/i18n/openlp_et.ts index 70811cb25..e244f8adf 100644 --- a/resources/i18n/openlp_et.ts +++ b/resources/i18n/openlp_et.ts @@ -2304,6 +2304,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + Üles + + + + Delete + Kustuta + + + + Down + Alla + + + + OpenLP.ServiceManager + + + New Service + Uus teenistus + + + + Create a new service + Uue teenistuse loomine + + + + Open Service + Teenistuse avamine + + + + Load an existing service + Välise teenistuse laadimine + + + + Save Service + Salvesta teenistus + + + + Save this service + Selle teenistuse salvestamine + + + + Theme: + Kujundus: + + + + Select a theme for the service + + + + + Move to &top + Liiguta ü&lemiseks + + + + Move &up + Liiguta &üles + + + + Move &down + Liiguta &alla + + + + Move to &bottom + Liiguta &alumiseks + + + + &Delete From Service + &Kustuta teenistusest + + + + &Add New Item + &Lisa uus element + + + + &Add to Selected Item + &Lisa valitud elemendile + + + + &Edit Item + &Muuda kirjet + + + + &Reorder Item + + + + + &Notes + &Märkmed + + + + &Preview Verse + &Salmi eelvaatlus + + + + &Live Verse + &Otsesalm + + + + &Change Item Theme + + + + + Save Changes to Service? + Kas salvestada teenistusse tehtud muudatused? + + + + Your service is unsaved, do you want to save those changes before creating a new one? + See teenistus pole salvestatud, kas tahad selle uue avamist salvestada? + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + See teenistus pole salvestatud, kas tahad enne uue avamist muudatused salvestada? + + + + Error + Viga + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + Seda elementi pole võimalik näidata ekraanil, kuna puudub seda käsitsev programm + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Teenistuse elemendi märkmed + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + Ekraan + + + + Preview + Eelvaade + + + + Move to first + Liikumine esimesele + + + + Move to previous + Eelmisele liikumine + + + + Move to next + Liikumine järgmisele + + + + Move to last + Liikumine viimasele + + + + Hide + + + + + Move to live + Tõsta ekraanile + + + + Edit and re-preview Song + Muuda ja kuva laulu eelvaade uuesti + + + + Start continuous loop + Katkematu korduse alustamine + + + + Stop continuous loop + Katkematu korduse lõpetamine + + + + s + s + + + + Delay between slides in seconds + Viivitus slaidide vahel sekundites + + + + Start playing media + Meediaesituse alustamine + + + + Go to Verse + Liikumine salmile + + PresentationPlugin @@ -2404,302 +2700,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - Teenistuse elementide haldus - - - - Up - Üles - - - - Delete - Kustuta - - - - Down - Alla - - - - ServiceManager - - - Save Changes to Service? - Kas salvestada teenistusse tehtud muudatused? - - - - Open Service - Teenistuse avamine - - - - Move to top - Tõsta üles - - - - Save Service - Salvesta teenistus - - - - Create a new service - Uue teenistuse loomine - - - - Save this service - Selle teenistuse salvestamine - - - - Theme: - Kujundus: - - - - Delete From Service - Teenistusest kustutamine - - - - &Preview Verse - &Salmi eelvaatlus - - - - &Live Verse - &Otsesalm - - - - Move to &top - Liiguta ü&lemiseks - - - - New Service - Uus teenistus - - - - &Notes - &Märkmed - - - - &Delete From Service - &Kustuta teenistusest - - - - Move up order - Järjekorras üles liigutamine - - - - Move down order - Järjekorras alla liigutamine - - - - Move &down - Liiguta &alla - - - - Load an existing service - Välise teenistuse laadimine - - - - Move to end - Viimaseks tõstmine - - - - &Maintain Item - &Halda elementi - - - - Move &up - Liiguta &üles - - - - &Edit Item - &Muuda kirjet - - - - Move to &bottom - Liiguta &alumiseks - - - - &Add New Item - &Lisa uus element - - - - &Add to Selected Item - &Lisa valitud elemendile - - - - Your service is unsaved, do you want to save those changes before creating a new one? - See teenistus pole salvestatud, kas tahad selle uue avamist salvestada? - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - See teenistus pole salvestatud, kas tahad enne uue avamist muudatused salvestada? - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - Seda elementi pole võimalik näidata ekraanil, kuna puudub seda käsitsev programm - - - - Select a theme for the service - - - - - &Change Item Theme - - - - - OpenLP Service Files (*.osz) - - - - - Error - Viga - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - ServiceNoteForm - - - Service Item Notes - Teenistuse elemendi märkmed - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - Eelmisele liikumine - - - - Go to Verse - Liikumine salmile - - - - Start continuous loop - Katkematu korduse alustamine - - - - Live - Ekraan - - - - Start playing media - Meediaesituse alustamine - - - - Move to live - Tõsta ekraanile - - - - Move to last - Liikumine viimasele - - - - Move to next - Liikumine järgmisele - - - - Move to first - Liikumine esimesele - - - - Delay between slides in seconds - Viivitus slaidide vahel sekundites - - - - Preview - Eelvaade - - - - Stop continuous loop - Katkematu korduse lõpetamine - - - - s - s - - - - Edit and re-preview Song - Muuda ja kuva laulu eelvaade uuesti - - - - Hide - - - SongUsagePlugin @@ -2743,6 +2743,58 @@ The content encoding is not UTF-8. + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + + + SongsPlugin @@ -2852,37 +2904,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - - - - - SongsPlugin.AuditDetailDialog - - - Select Date Range - - - - - to - - - - - Report Location - - - - - Song Usage Extraction - - - SongsPlugin.AuthorsForm @@ -3009,27 +3030,27 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Laulik - + Theme Kujundus - + Copyright Information Autoriõiguse andmed - + CCLI Number: CCLI number: - + Comments Kommentaarid - + Theme, Copyright Info && Comments Kujundus, autoriõigus && kommentaarid @@ -3044,47 +3065,47 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. @@ -3094,12 +3115,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + New &Theme - + © @@ -3109,32 +3130,32 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Viga - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? @@ -3149,12 +3170,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + This author is already in the list. - + This topic is already in the list. @@ -3477,47 +3498,47 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Kustuta - + Delete Author - + Delete Topic - + Delete Book - + Error Viga - + Are you sure you want to delete the selected author? - + No author selected! - + Are you sure you want to delete the selected topic? - + No topic selected! - + Are you sure you want to delete the selected book? @@ -3557,7 +3578,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3572,47 +3593,26 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + This author cannot be deleted, they are currently assigned to at least one song. - + This topic cannot be deleted, it is currently assigned to at least one song. - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - - - SongsPlugin.SongsTab @@ -3685,7 +3685,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Teema kustutamine - + Error Viga @@ -3705,32 +3705,32 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Vaikimisi kujundust pole võimalik kustutada. - + File is not a valid theme. See fail ei ole sobilik kujundus. - + Theme Exists Kujundus on juba olemas - + Save Theme - (%s) Salvesta kujundus - (%s) - + Select Theme Import File Importimiseks kujunduse faili valimine - + New Theme Uus kujundus - + You have not selected a theme. Sa ei ole teemat valinud. @@ -3795,32 +3795,32 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. @@ -3846,7 +3846,7 @@ The content encoding is not UTF-8. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_hu.ts b/resources/i18n/openlp_hu.ts index 5f5e01045..ab4ebfee7 100644 --- a/resources/i18n/openlp_hu.ts +++ b/resources/i18n/openlp_hu.ts @@ -2431,6 +2431,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + Fel + + + + Delete + Törlés + + + + Down + Le + + + + OpenLP.ServiceManager + + + New Service + Új szolgálat + + + + Create a new service + Új szolgálat létrehozása + + + + Open Service + Szolgálat megnyitása + + + + Load an existing service + Egy meglévő szolgálat betöltése + + + + Save Service + Szolgálat mentése + + + + Save this service + Aktuális szolgálat mentése + + + + Theme: + Téma: + + + + Select a theme for the service + + + + + Move to &top + Mozgatás &felülre + + + + Move &up + Mozgatás f&eljebb + + + + Move &down + Mozgatás &lejjebb + + + + Move to &bottom + Mozgatás &alulra + + + + &Delete From Service + &Törlés a szolgálatból + + + + &Add New Item + Új elem &hozzáadása + + + + &Add to Selected Item + &Hozzáadás a kiválasztott elemhez + + + + &Edit Item + &Elem szerkesztése + + + + &Reorder Item + + + + + &Notes + &Jegyzetek + + + + &Preview Verse + Versszak &előnézete + + + + &Live Verse + &Adásban lévő versszak + + + + &Change Item Theme + + + + + Save Changes to Service? + Változások mentése a szolgálatban? + + + + Your service is unsaved, do you want to save those changes before creating a new one? + A szolgálat nincs elmentve, szeretné menteni, mielőtt az újat létrehozná? + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + A szolgálat nincs elmentve, szeretné menteni, mielőtt az újat megnyitná? + + + + Error + Hiba + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + Hiányzó képernyő kezelő + + + + Your item cannot be displayed as there is no handler to display it + Az elemet nem lehet megjeleníteni, mert nincs kezelő, amely megjelenítené + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Szolgálat elem jegyzetek + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + Egyenes adás + + + + Preview + Előnézet + + + + Move to first + Mozgatás az elsőre + + + + Move to previous + Mozgatás az előzőre + + + + Move to next + Mozgatás a következőre + + + + Move to last + Mozgatás az utolsóra + + + + Hide + + + + + Move to live + Mozgatás az egyenes adásban lévőre + + + + Edit and re-preview Song + Dal szerkesztése, majd újra az előnézet megnyitása + + + + Start continuous loop + Folyamatos vetítés indítása + + + + Stop continuous loop + Folyamatos vetítés leállítása + + + + s + mp + + + + Delay between slides in seconds + Diák közötti késleltetés másodpercben + + + + Start playing media + Médialejátszás indítása + + + + Go to Verse + Ugrás versszakra + + PresentationPlugin @@ -2531,302 +2827,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - Szolgálati elem kezelése - - - - Up - Fel - - - - Delete - Törlés - - - - Down - Le - - - - ServiceManager - - - Save Changes to Service? - Változások mentése a szolgálatban? - - - - Open Service - Szolgálat megnyitása - - - - Move to top - Mozgatás felülre - - - - Create a new service - Új szolgálat létrehozása - - - - Save this service - Aktuális szolgálat mentése - - - - Theme: - Téma: - - - - Delete From Service - Törlés a szolgálatból - - - - Save Service - Szolgálat mentése - - - - &Live Verse - &Adásban lévő versszak - - - - New Service - Új szolgálat - - - - &Notes - &Jegyzetek - - - - Move to end - Mozgatás a végére - - - - Move up order - Mozgatás feljebb a sorban - - - - Move down order - Mozgatás lejjebb a sorban - - - - Load an existing service - Egy meglévő szolgálat betöltése - - - - &Preview Verse - Versszak &előnézete - - - - &Edit Item - &Elem szerkesztése - - - - Move to &top - Mozgatás &felülre - - - - Move &up - Mozgatás f&eljebb - - - - Move &down - Mozgatás &lejjebb - - - - Move to &bottom - Mozgatás &alulra - - - - &Delete From Service - &Törlés a szolgálatból - - - - &Add New Item - Új elem &hozzáadása - - - - &Add to Selected Item - &Hozzáadás a kiválasztott elemhez - - - - &Maintain Item - Elem &karbantartása - - - - Your service is unsaved, do you want to save those changes before creating a new one? - A szolgálat nincs elmentve, szeretné menteni, mielőtt az újat létrehozná? - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - A szolgálat nincs elmentve, szeretné menteni, mielőtt az újat megnyitná? - - - - Missing Display Handler - Hiányzó képernyő kezelő - - - - Your item cannot be displayed as there is no handler to display it - Az elemet nem lehet megjeleníteni, mert nincs kezelő, amely megjelenítené - - - - Select a theme for the service - - - - - &Change Item Theme - - - - - OpenLP Service Files (*.osz) - - - - - Error - Hiba - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - ServiceNoteForm - - - Service Item Notes - Szolgálat elem jegyzetek - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - Mozgatás az előzőre - - - - Go to Verse - Ugrás versszakra - - - - Start continuous loop - Folyamatos vetítés indítása - - - - Live - Egyenes adás - - - - Start playing media - Médialejátszás indítása - - - - Move to live - Mozgatás az egyenes adásban lévőre - - - - Preview - Előnézet - - - - Move to last - Mozgatás az utolsóra - - - - Edit and re-preview Song - Dal szerkesztése, majd újra az előnézet megnyitása - - - - Delay between slides in seconds - Diák közötti késleltetés másodpercben - - - - Move to next - Mozgatás a következőre - - - - Move to first - Mozgatás az elsőre - - - - Stop continuous loop - Folyamatos vetítés leállítása - - - - s - mp - - - - Hide - - - SongUsagePlugin @@ -2870,6 +2870,58 @@ The content encoding is not UTF-8. Élő dalstatisztika rögzítésének indítása/leállítása + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + Dalstatisztika kicsomagolása + + + + Select Date Range + Időintervallum megadása + + + + to + + + + + Report Location + Helyszín jelentése + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + Valóban törölhetők a kiválasztott dalstatisztika események? + + + + Are you sure you want to delete selected Song Usage data? + Valóban törölhetők a kiválasztott dalstatisztika adatok? + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + Kimeneti fájl elérési útvonala + + SongsPlugin @@ -2979,37 +3031,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - Dalstatisztika törlése - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - Dalstatisztika kicsomagolása - - - - Select Date Range - Időintervallum megadása - - - - to - - - - - Report Location - Helyszín jelentése - - SongsPlugin.AuthorsForm @@ -3151,37 +3172,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Téma - + New &Theme - + Copyright Information Szerzői jogi információ - + © - + CCLI Number: CCLI szám: - + Comments Megjegyzések - + Theme, Copyright Info && Comments Téma, szerzői jogi infók és megjegyzések @@ -3201,87 +3222,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Hiba - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + This author is already in the list. - + This topic is already in the list. @@ -3609,7 +3630,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Törlés - + Error Hiba @@ -3644,7 +3665,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3659,87 +3680,66 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Delete Author Szerző törlése - + Are you sure you want to delete the selected author? A kiválasztott szerző biztosan törölhető? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Nincs kiválasztott szerző! - + Delete Topic Témakör törlése - + Are you sure you want to delete the selected topic? A kiválasztott témakör biztosan törölhető? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! Nincs kiválasztott témakör! - + Delete Book Könyv törlése - + Are you sure you want to delete the selected book? A kiválasztott könyv biztosan törölhető? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! Nincs kiválasztott könyv! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - Valóban törölhetők a kiválasztott dalstatisztika események? - - - - Are you sure you want to delete selected Song Usage data? - Valóban törölhetők a kiválasztott dalstatisztika adatok? - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - Kimeneti fájl elérési útvonala - - SongsPlugin.SongsTab @@ -3812,7 +3812,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Téma törlése - + Error Hiba @@ -3827,22 +3827,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Téma exportálása - + Theme Exists A téma már létezik - + Save Theme - (%s) Téma mentése – (%s) - + Select Theme Import File Importálandó téma fájl kiválasztása - + New Theme Új téma @@ -3852,12 +3852,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Az alapértelmezett témát nem lehet törölni. - + You have not selected a theme. Nincs kiválasztva egy téma sem. - + File is not a valid theme. Nem érvényes témafájl. @@ -3942,38 +3942,38 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_ko.ts b/resources/i18n/openlp_ko.ts index 16cb6d358..58c2807fd 100644 --- a/resources/i18n/openlp_ko.ts +++ b/resources/i18n/openlp_ko.ts @@ -2271,6 +2271,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + + + + + Delete + + + + + Down + + + + + OpenLP.ServiceManager + + + New Service + + + + + Create a new service + + + + + Open Service + + + + + Load an existing service + + + + + Save Service + + + + + Save this service + + + + + Theme: + + + + + Select a theme for the service + + + + + Move to &top + + + + + Move &up + + + + + Move &down + + + + + Move to &bottom + + + + + &Delete From Service + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + + + + + &Reorder Item + + + + + &Notes + + + + + &Preview Verse + + + + + &Live Verse + + + + + &Change Item Theme + + + + + Save Changes to Service? + + + + + Your service is unsaved, do you want to save those changes before creating a new one? + + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + + + + + Error + + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + + + + + Preview + + + + + Move to first + + + + + Move to previous + + + + + Move to next + + + + + Move to last + + + + + Hide + + + + + Move to live + + + + + Edit and re-preview Song + + + + + Start continuous loop + + + + + Stop continuous loop + + + + + s + + + + + Delay between slides in seconds + + + + + Start playing media + + + + + Go to Verse + + + PresentationPlugin @@ -2371,302 +2667,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - - - - - Up - - - - - Delete - - - - - Down - - - - - ServiceManager - - - Save Changes to Service? - - - - - Open Service - - - - - Move to top - - - - - Create a new service - - - - - Save this service - - - - - Theme: - - - - - Delete From Service - - - - - &Change Item Theme - - - - - Save Service - - - - - OpenLP Service Files (*.osz) - - - - - &Live Verse - - - - - Move to &top - - - - - New Service - - - - - &Notes - - - - - Move to end - - - - - &Delete From Service - - - - - Select a theme for the service - - - - - Move up order - - - - - Move down order - - - - - Move &down - - - - - Load an existing service - - - - - &Preview Verse - - - - - Move &up - - - - - &Edit Item - - - - - Move to &bottom - - - - - &Add New Item - - - - - &Add to Selected Item - - - - - &Maintain Item - - - - - Your service is unsaved, do you want to save those changes before creating a new one? - - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - - - - - Error - - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - - - - - ServiceNoteForm - - - Service Item Notes - - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - - - - - Go to Verse - - - - - Start continuous loop - - - - - Live - - - - - Start playing media - - - - - Move to live - - - - - Preview - - - - - Move to last - - - - - Edit and re-preview Song - - - - - Delay between slides in seconds - - - - - Move to next - - - - - Move to first - - - - - Stop continuous loop - - - - - s - - - - - Hide - - - SongUsagePlugin @@ -2710,6 +2710,58 @@ The content encoding is not UTF-8. + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + + + SongsPlugin @@ -2819,37 +2871,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - - - - - Report Location - - - SongsPlugin.AuthorsForm @@ -2991,37 +3012,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme - + New &Theme - + Copyright Information - + © - + CCLI Number: - + Comments - + Theme, Copyright Info && Comments @@ -3041,87 +3062,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + This author is already in the list. - + This topic is already in the list. @@ -3449,7 +3470,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error @@ -3484,7 +3505,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3499,87 +3520,66 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Delete Author - + Are you sure you want to delete the selected author? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! - + Delete Topic - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book - + Are you sure you want to delete the selected book? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - - - SongsPlugin.SongsTab @@ -3652,12 +3652,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error - + File is not a valid theme. @@ -3677,27 +3677,27 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Exists - + Save Theme - (%s) - + Select Theme Import File - + New Theme - + You have not selected a theme. @@ -3782,38 +3782,38 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_nb.ts b/resources/i18n/openlp_nb.ts index da8f4dc89..1099391b9 100644 --- a/resources/i18n/openlp_nb.ts +++ b/resources/i18n/openlp_nb.ts @@ -2271,6 +2271,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + + + + + Delete + + + + + Down + + + + + OpenLP.ServiceManager + + + New Service + Ny møteplan + + + + Create a new service + Opprett ny møteplan + + + + Open Service + Åpne møteplan + + + + Load an existing service + + + + + Save Service + Lagre møte + + + + Save this service + Lagre møteplan + + + + Theme: + Tema: + + + + Select a theme for the service + + + + + Move to &top + Flytt til &toppen + + + + Move &up + + + + + Move &down + + + + + Move to &bottom + + + + + &Delete From Service + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + + + + + &Reorder Item + + + + + &Notes + &Notis + + + + &Preview Verse + &Forhåndsvis vers + + + + &Live Verse + &Direktevers + + + + &Change Item Theme + &Bytt objekttema + + + + Save Changes to Service? + Lagre endringer til møteplanen? + + + + Your service is unsaved, do you want to save those changes before creating a new one? + + + + + OpenLP Service Files (*.osz) + OpenLP møteplan (*.osz) + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + + + + + Error + Feil + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + Direkte + + + + Preview + + + + + Move to first + + + + + Move to previous + Flytt til forrige + + + + Move to next + + + + + Move to last + Flytt til sist + + + + Hide + + + + + Move to live + + + + + Edit and re-preview Song + Endre og forhåndsvis sang + + + + Start continuous loop + Start kontinuerlig løkke + + + + Stop continuous loop + + + + + s + + + + + Delay between slides in seconds + Forsinkelse mellom lysbilder i sekund + + + + Start playing media + Start avspilling av media + + + + Go to Verse + Gå til vers + + PresentationPlugin @@ -2371,302 +2667,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - - - - - Up - - - - - Delete - - - - - Down - - - - - ServiceManager - - - Save Service - Lagre møte - - - - Save Changes to Service? - Lagre endringer til møteplanen? - - - - Open Service - Åpne møteplan - - - - Move to top - Flytt til toppen - - - - Create a new service - Opprett ny møteplan - - - - Save this service - Lagre møteplan - - - - Theme: - Tema: - - - - Delete From Service - Slett fra møteplan - - - - &Change Item Theme - &Bytt objekttema - - - - &Preview Verse - &Forhåndsvis vers - - - - OpenLP Service Files (*.osz) - OpenLP møteplan (*.osz) - - - - &Live Verse - &Direktevers - - - - Move to &top - Flytt til &toppen - - - - New Service - Ny møteplan - - - - &Notes - &Notis - - - - &Delete From Service - - - - - Select a theme for the service - - - - - Move up order - - - - - Move down order - - - - - Move &down - - - - - Load an existing service - - - - - Move to end - - - - - Move &up - - - - - &Edit Item - - - - - Move to &bottom - - - - - &Add New Item - - - - - &Add to Selected Item - - - - - &Maintain Item - - - - - Your service is unsaved, do you want to save those changes before creating a new one? - - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - - - - - Error - Feil - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - - - - - ServiceNoteForm - - - Service Item Notes - - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - Flytt til forrige - - - - Edit and re-preview Song - Endre og forhåndsvis sang - - - - Delay between slides in seconds - Forsinkelse mellom lysbilder i sekund - - - - Go to Verse - Gå til vers - - - - Start continuous loop - Start kontinuerlig løkke - - - - Live - Direkte - - - - Start playing media - Start avspilling av media - - - - Move to live - - - - - Move to last - Flytt til sist - - - - Move to next - - - - - Move to first - - - - - Preview - - - - - Stop continuous loop - - - - - s - - - - - Hide - - - SongUsagePlugin @@ -2710,6 +2710,58 @@ The content encoding is not UTF-8. + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + + + + + Select Date Range + Velg dato-område + + + + to + til + + + + Report Location + + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + + + SongsPlugin @@ -2819,37 +2871,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - Slett registrert sangbruk - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - Velg dato-område - - - - to - til - - - - Report Location - - - SongsPlugin.AuthorsForm @@ -2991,37 +3012,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Tema - + New &Theme - + Copyright Information Copyright-informasjon - + © - + CCLI Number: CCLI-nummer: - + Comments - + Theme, Copyright Info && Comments @@ -3041,87 +3062,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Feil - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + This author is already in the list. - + This topic is already in the list. @@ -3449,7 +3470,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Feil @@ -3484,7 +3505,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3499,87 +3520,66 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Delete Author - + Are you sure you want to delete the selected author? Er du sikker på at du vil slette den valgte forfatteren? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Ingen forfatter er valgt! - + Delete Topic Slett emne - + Are you sure you want to delete the selected topic? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! - + Delete Book Slett bok - + Are you sure you want to delete the selected book? Er du sikker på at du vil slette den merkede boken? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! Ingen bok er valgt! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - - - SongsPlugin.SongsTab @@ -3652,7 +3652,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Slett tema - + Error Feil @@ -3672,32 +3672,32 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Du kan ikke slette det globale temaet - + File is not a valid theme. Filen er ikke et gyldig tema. - + Theme Exists Temaet eksisterer - + Save Theme - (%s) - + Select Theme Import File - + New Theme - + You have not selected a theme. @@ -3782,38 +3782,38 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_pt_BR.ts b/resources/i18n/openlp_pt_BR.ts index a09a4f824..95ab77bc1 100644 --- a/resources/i18n/openlp_pt_BR.ts +++ b/resources/i18n/openlp_pt_BR.ts @@ -2271,6 +2271,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + + + + + Delete + Deletar + + + + Down + + + + + OpenLP.ServiceManager + + + New Service + Novo Culto + + + + Create a new service + Criar um novo culto + + + + Open Service + Abrir Culto + + + + Load an existing service + Carregar um culto existente + + + + Save Service + Salvar Culto + + + + Save this service + Salvar este culto + + + + Theme: + Tema: + + + + Select a theme for the service + Selecione um tema para o culto + + + + Move to &top + + + + + Move &up + + + + + Move &down + + + + + Move to &bottom + + + + + &Delete From Service + + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + &Editar Item + + + + &Reorder Item + + + + + &Notes + &Notas + + + + &Preview Verse + &Pré-Visualizar Versículo + + + + &Live Verse + &Versículo Ao Vivo + + + + &Change Item Theme + &Alterar Tema do Item + + + + Save Changes to Service? + Salvar Mudanças no Culto? + + + + Your service is unsaved, do you want to save those changes before creating a new one? + + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + + + + + Error + Erro + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Item de Notas de Culto + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + Ao Vivo + + + + Preview + Pré-Visualizar + + + + Move to first + Mover para o primeiro + + + + Move to previous + Mover para o anterior + + + + Move to next + Mover para o próximo + + + + Move to last + Mover para o último + + + + Hide + + + + + Move to live + Mover para ao vivo + + + + Edit and re-preview Song + Editar e pré-visualizar Música novamente + + + + Start continuous loop + Iniciar repetição contínua + + + + Stop continuous loop + Parar repetição contínua + + + + s + s + + + + Delay between slides in seconds + Intervalo entre slides em segundos + + + + Start playing media + Iniciar a reprodução de mídia + + + + Go to Verse + Ir ao Versículo + + PresentationPlugin @@ -2371,302 +2667,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - - - - - Up - - - - - Delete - Deletar - - - - Down - - - - - ServiceManager - - - Save Changes to Service? - Salvar Mudanças no Culto? - - - - Open Service - Abrir Culto - - - - Move to top - Mover para o topo - - - - Create a new service - Criar um novo culto - - - - Save this service - Salvar este culto - - - - Theme: - Tema: - - - - Delete From Service - Deletar do Culto - - - - &Change Item Theme - &Alterar Tema do Item - - - - Save Service - Salvar Culto - - - - &Live Verse - &Versículo Ao Vivo - - - - New Service - Novo Culto - - - - &Notes - &Notas - - - - Move to end - Mover para o fim - - - - Select a theme for the service - Selecione um tema para o culto - - - - Move up order - Mover ordem para cima - - - - Move down order - Mover ordem para baixo - - - - Load an existing service - Carregar um culto existente - - - - &Preview Verse - &Pré-Visualizar Versículo - - - - &Edit Item - &Editar Item - - - - Move to &top - - - - - Move &up - - - - - Move &down - - - - - Move to &bottom - - - - - &Delete From Service - - - - - &Add New Item - - - - - &Add to Selected Item - - - - - &Maintain Item - - - - - Your service is unsaved, do you want to save those changes before creating a new one? - - - - - OpenLP Service Files (*.osz) - - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - - - - - Error - Erro - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - - - - - ServiceNoteForm - - - Service Item Notes - Item de Notas de Culto - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - Mover para o anterior - - - - Go to Verse - Ir ao Versículo - - - - Start continuous loop - Iniciar repetição contínua - - - - Live - Ao Vivo - - - - Start playing media - Iniciar a reprodução de mídia - - - - Move to live - Mover para ao vivo - - - - Preview - Pré-Visualizar - - - - Move to last - Mover para o último - - - - Edit and re-preview Song - Editar e pré-visualizar Música novamente - - - - Delay between slides in seconds - Intervalo entre slides em segundos - - - - Move to next - Mover para o próximo - - - - Move to first - Mover para o primeiro - - - - Stop continuous loop - Parar repetição contínua - - - - s - s - - - - Hide - - - SongUsagePlugin @@ -2710,6 +2710,58 @@ The content encoding is not UTF-8. &Uso das Músicas + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + para + + + + Report Location + Localização do Relatório + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + + + + + Are you sure you want to delete selected Song Usage data? + + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + Local do arquivo de saída + + SongsPlugin @@ -2819,37 +2871,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - para - - - - Report Location - Localização do Relatório - - SongsPlugin.AuthorsForm @@ -2991,37 +3012,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Tema - + New &Theme - + Copyright Information Informação de Direitos Autorais - + © - + CCLI Number: Número CCLI: - + Comments Comentários - + Theme, Copyright Info && Comments Tema, Direitos Autorais && Comentários @@ -3041,87 +3062,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Erro - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + This author is already in the list. - + This topic is already in the list. @@ -3449,7 +3470,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Erro @@ -3484,7 +3505,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3499,87 +3520,66 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Delete Author Deletar Autor - + Are you sure you want to delete the selected author? Você tem certeza que deseja deletar o autor selecionado? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Nenhum autor selecionado! - + Delete Topic Deletar Tópico - + Are you sure you want to delete the selected topic? Você tem certeza que deseja deletar o tópico selecionado? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! Nenhum tópico selecionado! - + Delete Book Deletar Livro - + Are you sure you want to delete the selected book? Você tem certeza que deseja deletar o livro selecionado? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! Nenhum livro selecionado! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - - - - - Are you sure you want to delete selected Song Usage data? - - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - Local do arquivo de saída - - SongsPlugin.SongsTab @@ -3652,7 +3652,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Deletar Tema - + Error Erro @@ -3667,22 +3667,22 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Exportar Tema - + Theme Exists Tema Existe - + Save Theme - (%s) Salvar Tema - (%s) - + Select Theme Import File Selecionar Arquivo de Importação de Tema - + New Theme Novo Tema @@ -3772,48 +3772,48 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + You have not selected a theme. - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - + A theme with this name already exists. Would you like to overwrite it? diff --git a/resources/i18n/openlp_sv.ts b/resources/i18n/openlp_sv.ts index 2b11c553d..11d08139f 100644 --- a/resources/i18n/openlp_sv.ts +++ b/resources/i18n/openlp_sv.ts @@ -2271,6 +2271,302 @@ You can download the latest version from <a href="http://openlp.org/&quo + + OpenLP.ServiceItemEditForm + + + Reorder Service Item + + + + + Up + + + + + Delete + Ta bort + + + + Down + + + + + OpenLP.ServiceManager + + + New Service + Ny mötesplanering + + + + Create a new service + Skapa en ny mötesplanering + + + + Open Service + Öppna Mötesplanering + + + + Load an existing service + Ladda en planering + + + + Save Service + Spara Mötesplanering + + + + Save this service + Spara denna mötesplanering + + + + Theme: + Tema: + + + + Select a theme for the service + Välj ett tema för planeringen + + + + Move to &top + Flytta till &toppen + + + + Move &up + Flytta &upp + + + + Move &down + Flytta &ner + + + + Move to &bottom + Flytta längst &ner + + + + &Delete From Service + &Ta bort från mötesplanering + + + + &Add New Item + + + + + &Add to Selected Item + + + + + &Edit Item + &Redigera objekt + + + + &Reorder Item + + + + + &Notes + &Anteckningar + + + + &Preview Verse + &Förhandsgranska Vers + + + + &Live Verse + &Live-vers + + + + &Change Item Theme + &Byt objektets tema + + + + Save Changes to Service? + Spara Ändringar till Planering? + + + + Your service is unsaved, do you want to save those changes before creating a new one? + + + + + OpenLP Service Files (*.osz) + + + + + Your current service is unsaved, do you want to save the changes before opening a new one? + + + + + Error + Fel + + + + File is not a valid service. +The content encoding is not UTF-8. + + + + + File is not a valid service. + + + + + Missing Display Handler + + + + + Your item cannot be displayed as there is no handler to display it + + + + + Move item to the top of the service. + + + + + Move item up one position in the service. + + + + + Move item down one position in the service. + + + + + Move item to the end of the service. + + + + + Delete the selected item from the service. + + + + + OpenLP.ServiceNoteForm + + + Service Item Notes + Mötesanteckningar + + + + OpenLP.SettingsForm + + + Configure OpenLP + + + + + OpenLP.SlideController + + + Live + Live + + + + Preview + Förhandsgranska + + + + Move to first + Flytta till första + + + + Move to previous + Flytta till föregående + + + + Move to next + Flytta till nästa + + + + Move to last + Flytta till sist + + + + Hide + + + + + Move to live + Flytta till live + + + + Edit and re-preview Song + Ändra och åter-förhandsgranska sång + + + + Start continuous loop + Börja oändlig loop + + + + Stop continuous loop + Stoppa upprepad loop + + + + s + s + + + + Delay between slides in seconds + Fördröjning mellan bilder, i sekunder + + + + Start playing media + Börja spela media + + + + Go to Verse + Hoppa till vers + + PresentationPlugin @@ -2371,302 +2667,6 @@ You can download the latest version from <a href="http://openlp.org/&quo - - ServiceItemEditForm - - - Service Item Maintenance - - - - - Up - - - - - Delete - Ta bort - - - - Down - - - - - ServiceManager - - - Save Changes to Service? - Spara Ändringar till Planering? - - - - Open Service - Öppna Mötesplanering - - - - Move to top - Flytta längst upp - - - - Create a new service - Skapa en ny mötesplanering - - - - Save this service - Spara denna mötesplanering - - - - Theme: - Tema: - - - - Delete From Service - Ta bort från mötesplanering - - - - &Change Item Theme - &Byt objektets tema - - - - Save Service - Spara Mötesplanering - - - - &Live Verse - &Live-vers - - - - Move to &top - Flytta till &toppen - - - - New Service - Ny mötesplanering - - - - &Notes - &Anteckningar - - - - Move to end - Flytta till slutet - - - - &Delete From Service - &Ta bort från mötesplanering - - - - Select a theme for the service - Välj ett tema för planeringen - - - - Move up order - Flytta upp order - - - - Move down order - Flytta ner order - - - - Move &down - Flytta &ner - - - - Load an existing service - Ladda en planering - - - - &Preview Verse - &Förhandsgranska Vers - - - - Move &up - Flytta &upp - - - - &Edit Item - &Redigera objekt - - - - Move to &bottom - Flytta längst &ner - - - - &Add New Item - - - - - &Add to Selected Item - - - - - &Maintain Item - - - - - Your service is unsaved, do you want to save those changes before creating a new one? - - - - - OpenLP Service Files (*.osz) - - - - - Your current service is unsaved, do you want to save the changes before opening a new one? - - - - - Error - Fel - - - - File is not a valid service. -The content encoding is not UTF-8. - - - - - File is not a valid service. - - - - - Missing Display Handler - - - - - Your item cannot be displayed as there is no handler to display it - - - - - ServiceNoteForm - - - Service Item Notes - Mötesanteckningar - - - - SettingsForm - - - Configure OpenLP - - - - - SlideController - - - Move to previous - Flytta till föregående - - - - Go to Verse - Hoppa till vers - - - - Start continuous loop - Börja oändlig loop - - - - Live - Live - - - - Start playing media - Börja spela media - - - - Move to live - Flytta till live - - - - Preview - Förhandsgranska - - - - Move to last - Flytta till sist - - - - Edit and re-preview Song - Ändra och åter-förhandsgranska sång - - - - Delay between slides in seconds - Fördröjning mellan bilder, i sekunder - - - - Move to next - Flytta till nästa - - - - Move to first - Flytta till första - - - - Stop continuous loop - Stoppa upprepad loop - - - - s - s - - - - Hide - - - SongUsagePlugin @@ -2710,6 +2710,58 @@ The content encoding is not UTF-8. &Sånganvändning + + SongUsagePlugin.AuditDeleteDialog + + + Delete Song Usage Data + + + + + SongUsagePlugin.AuditDetailDialog + + + Song Usage Extraction + Sånganvändningsutdrag + + + + Select Date Range + Välj datumspann + + + + to + till + + + + Report Location + Rapportera placering + + + + SongUsagePlugin.SongUsageDeleteForm + + + Delete Selected Song Usage Events? + Ta bort valda sånganvändningsdata? + + + + Are you sure you want to delete selected Song Usage data? + Vill du verkligen ta bort vald sånganvändningsdata? + + + + SongUsagePlugin.SongUsageDetailForm + + + Output File Location + Utfil sökväg + + SongsPlugin @@ -2819,37 +2871,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - SongsPlugin.AuditDeleteDialog - - - Song Usage Delete - Ta bort inspelad sånganvändning - - - - SongsPlugin.AuditDetailDialog - - - Song Usage Extraction - Sånganvändningsutdrag - - - - Select Date Range - Välj datumspann - - - - to - till - - - - Report Location - Rapportera placering - - SongsPlugin.AuthorsForm @@ -2991,37 +3012,37 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Tema - + New &Theme - + Copyright Information Copyright-information - + © - + CCLI Number: CCLI-nummer: - + Comments Kommentarer - + Theme, Copyright Info && Comments Tema, copyright-info && kommentarer @@ -3041,87 +3062,87 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + No Author Selected - + You have not selected a valid author. Either select an author from the list, or type in a new author and click the "Add Author to Song" button to add the new author. - + Add Topic - + This topic does not exist, do you want to add it? - + No Topic Selected - + You have not selected a valid topic. Either select a topic from the list, or type in a new topic and click the "Add Topic to Song" button to add the new topic. - + Add Book - + This song book does not exist, do you want to add it? - + Error Fel - + You need to type in a song title. - + You need to type in at least one verse. - + Warning - + You have not added any authors for this song. Do you want to add an author now? - + The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - + You have not used %s anywhere in the verse order. Are you sure you want to save the song like this? - + This author is already in the list. - + This topic is already in the list. @@ -3449,7 +3470,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Error Fel @@ -3484,7 +3505,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Could not save your changes. @@ -3499,87 +3520,66 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Delete Author Ta bort låtskrivare - + Are you sure you want to delete the selected author? Är du säker på att du vill ta bort den valda låtskrivaren? - + This author cannot be deleted, they are currently assigned to at least one song. - + No author selected! Ingen författare vald! - + Delete Topic Ta bort ämne - + Are you sure you want to delete the selected topic? Är du säker på att du vill ta bort valt ämne? - + This topic cannot be deleted, it is currently assigned to at least one song. - + No topic selected! Inget ämne valt! - + Delete Book Ta bort bok - + Are you sure you want to delete the selected book? Är du säker på att du vill ta bort vald bok? - + This book cannot be deleted, it is currently assigned to at least one song. - + No book selected! Ingen bok vald! - - SongsPlugin.SongUsageDeleteForm - - - Delete Selected Song Usage Events? - Ta bort valda sånganvändningsdata? - - - - Are you sure you want to delete selected Song Usage data? - Vill du verkligen ta bort vald sånganvändningsdata? - - - - SongsPlugin.SongUsageDetailForm - - - Output File Location - Utfil sökväg - - SongsPlugin.SongsTab @@ -3652,12 +3652,12 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Ta bort tema - + Error Fel - + File is not a valid theme. Filen är inte ett giltigt tema. @@ -3677,27 +3677,27 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Du kan inte ta bort standardtemat. - + Theme Exists Temat finns - + Save Theme - (%s) Spara tema - (%s) - + Select Theme Import File Välj tema importfil - + New Theme Nytt Tema - + You have not selected a theme. Du har inte valt ett tema. @@ -3782,38 +3782,38 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + Theme Exported - + Your theme has been successfully exported. - + Theme Export Failed - + Your theme could not be exported due to an error. - + Theme (*.*) - + File is not a valid theme. The content encoding is not UTF-8. - + A theme with this name already exists. Would you like to overwrite it? From efdc2bcb0d84dc755042ddcd1220c7a28c79fff7 Mon Sep 17 00:00:00 2001 From: Jonathan Corwin Date: Thu, 22 Jul 2010 08:32:55 +0100 Subject: [PATCH 086/148] Presentations no longer startup blanked --- openlp/core/ui/slidecontroller.py | 10 +++++----- openlp/plugins/presentations/lib/mediaitem.py | 11 +++++++++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 70ec3ac6e..4791df129 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -532,12 +532,12 @@ class SlideController(QtGui.QWidget): self.onMediaStop() if serviceItem.is_media(): self.onMediaStart(serviceItem) -# if self.isLive: -# blanked = self.blankButton.isChecked() -# else: -# blanked = False + if self.isLive: + blanked = self.BlankScreen.isChecked() + else: + blanked = False Receiver.send_message(u'%s_start' % serviceItem.name.lower(), - [serviceItem, self.isLive, True, slideno]) + [serviceItem, self.isLive, blanked, slideno]) self.slideList = {} width = self.parent.ControlSplitter.sizes()[self.split] #Set pointing cursor when we have somthing to point at diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index 9d83d4c57..33d4d2ab2 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -81,6 +81,9 @@ class PresentationMediaItem(MediaManagerItem): self.buildFileMaskString() def buildFileMaskString(self): + """ + Build the list of file extensions to be used in the Open file dialog + """ fileType = u'' for controller in self.controllers: if self.controllers[controller].enabled(): @@ -139,10 +142,18 @@ class PresentationMediaItem(MediaManagerItem): self.populateDisplayTypes() def rebuild(self): + """ + Rebuild the tab in the media manager when changes are made in + the settings + """ self.populateDisplayTypes() self.buildFileMaskString() def populateDisplayTypes(self): + """ + Load the combobox with the enabled presentation controllers, + allowing user to select a specific app if settings allow + """ self.DisplayTypeComboBox.clear() for item in self.controllers: #load the drop down selection From 4263d541dc438cf0ef60d8b7061c87cd5d5e952b Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Thu, 22 Jul 2010 21:30:16 +0200 Subject: [PATCH 087/148] Minor tweak to make the active tab's text bold in Windows. --- openlp/core/ui/mainwindow.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 14bd19dc7..87603e2d2 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -49,6 +49,7 @@ MEDIA_MANAGER_STYLE = """ background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 palette(light), stop: 0.5 palette(midlight), stop: 1.0 palette(dark)); border: 1px groove palette(dark); + font-weight: bold; } """ class VersionThread(QtCore.QThread): From 306a403195c9ffbc238e890d1eea9409b4fa7e42 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Thu, 22 Jul 2010 21:55:09 +0200 Subject: [PATCH 088/148] Another tweak for Windows. --- openlp/core/ui/mainwindow.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 87603e2d2..f08fe4dff 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -39,6 +39,9 @@ from openlp.core.utils import check_latest_version, AppLocation, add_actions, \ log = logging.getLogger(__name__) MEDIA_MANAGER_STYLE = """ + QToolBox { + padding-bottom: 2px; + } QToolBox::tab { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 palette(button), stop: 0.5 palette(button), stop: 1.0 palette(mid)); From f3b44b40be461769c68805d430910aa5b1b3b28e Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Thu, 22 Jul 2010 22:01:03 +0200 Subject: [PATCH 089/148] Some newlines to make Jon T happy. --- openlp/core/ui/mainwindow.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index f08fe4dff..d78788203 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -44,13 +44,15 @@ MEDIA_MANAGER_STYLE = """ } QToolBox::tab { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 palette(button), stop: 0.5 palette(button), stop: 1.0 palette(mid)); + stop: 0 palette(button), stop: 0.5 palette(button), + stop: 1.0 palette(mid)); border: 1px groove palette(mid); border-radius: 5px; } QToolBox::tab:selected { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, - stop: 0 palette(light), stop: 0.5 palette(midlight), stop: 1.0 palette(dark)); + stop: 0 palette(light), stop: 0.5 palette(midlight), + stop: 1.0 palette(dark)); border: 1px groove palette(dark); font-weight: bold; } From b5ceb59e27a35777309ecb4c94de19bfb778e278 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Fri, 23 Jul 2010 01:01:06 +0100 Subject: [PATCH 090/148] Cleanup getters and setters --- openlp/core/lib/settingsmanager.py | 29 --------- openlp/core/ui/mainwindow.py | 22 +++---- openlp/core/utils/languagemanager.py | 1 - openlp/plugins/bibles/lib/common.py | 19 ------ openlp/plugins/bibles/lib/http.py | 20 +------ openlp/plugins/bibles/lib/manager.py | 2 +- openlp/plugins/songs/lib/songxml.py | 89 +--------------------------- 7 files changed, 18 insertions(+), 164 deletions(-) diff --git a/openlp/core/lib/settingsmanager.py b/openlp/core/lib/settingsmanager.py index a8c8e7c50..d4569a647 100644 --- a/openlp/core/lib/settingsmanager.py +++ b/openlp/core/lib/settingsmanager.py @@ -57,34 +57,6 @@ class SettingsManager(object): self.mainwindow_left + self.mainwindow_right) - 100 ) / 2 self.slidecontroller_image = self.slidecontroller - 50 - def get_preview_visibility(self): - """ - Return the preview panel's visibility. - """ - return QtCore.QSettings().value(u'user interface/preview panel', - QtCore.QVariant(True)).toBool() - - def set_preview_visibility(self, visible): - """ - Set the preview panel's visibility. - """ - QtCore.QSettings().setValue(u'user interface/preview panel', - QtCore.QVariant(visible)) - - def get_live_visibility(self): - """ - Return the live panel's visibility. - """ - return QtCore.QSettings().value(u'user interface/live panel', - QtCore.QVariant(True)).toBool() - - def set_live_visibility(self, visible): - """ - Set the live panel's visibility. - """ - QtCore.QSettings().setValue(u'user interface/live panel', - QtCore.QVariant(visible)) - @staticmethod def get_last_dir(section, num=None): """ @@ -206,4 +178,3 @@ class SettingsManager(object): else: # no filtering required return files - diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index ec34a483b..c7082ddf9 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -303,18 +303,18 @@ class Ui_MainWindow(object): self.ToolsAddToolItem.setObjectName(u'ToolsAddToolItem') self.ViewPreviewPanel = QtGui.QAction(MainWindow) self.ViewPreviewPanel.setCheckable(True) - self.ViewPreviewPanel.setChecked( - self.settingsmanager.get_preview_visibility()) + previewVisible = QtCore.QSettings().value( + u'user interface/preview panel', QtCore.QVariant(True)).toBool() + self.ViewPreviewPanel.setChecked(previewVisible) self.ViewPreviewPanel.setObjectName(u'ViewPreviewPanel') - self.PreviewController.Panel.setVisible( - self.settingsmanager.get_preview_visibility()) + self.PreviewController.Panel.setVisible(previewVisible) self.ViewLivePanel = QtGui.QAction(MainWindow) self.ViewLivePanel.setCheckable(True) - self.ViewLivePanel.setChecked( - self.settingsmanager.get_live_visibility()) + liveVisible = QtCore.QSettings().value(u'user interface/live panel', + QtCore.QVariant(True)).toBool() + self.ViewLivePanel.setChecked(liveVisible) self.ViewLivePanel.setObjectName(u'ViewLivePanel') - self.LiveController.Panel.setVisible( - self.settingsmanager.get_live_visibility()) + self.LiveController.Panel.setVisible(liveVisible) self.ModeDefaultItem = QtGui.QAction(MainWindow) self.ModeDefaultItem.setCheckable(True) self.ModeDefaultItem.setObjectName(u'ModeDefaultItem') @@ -890,7 +890,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): False - Hidden """ self.PreviewController.Panel.setVisible(visible) - self.settingsmanager.set_preview_visibility(visible) + QtCore.QSettings().setValue(u'user interface/preview panel', + QtCore.QVariant(visible)) self.ViewPreviewPanel.setChecked(visible) def setLivePanelVisibility(self, visible): @@ -904,7 +905,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): False - Hidden """ self.LiveController.Panel.setVisible(visible) - self.settingsmanager.set_live_visibility(visible) + QtCore.QSettings().setValue(u'user interface/live panel', + QtCore.QVariant(visible)) self.ViewLivePanel.setChecked(visible) def loadSettings(self): diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index c0315559f..9cb87e891 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -143,4 +143,3 @@ class LanguageManager(object): if LanguageManager.__qmList__ is None: LanguageManager.init_qm_list() return LanguageManager.__qmList__ - diff --git a/openlp/plugins/bibles/lib/common.py b/openlp/plugins/bibles/lib/common.py index 30777b3a2..a4cd2a42a 100644 --- a/openlp/plugins/bibles/lib/common.py +++ b/openlp/plugins/bibles/lib/common.py @@ -138,24 +138,6 @@ class SearchResults(object): self.chapter = chapter self.verselist = verselist - def get_verselist(self): - """ - Returns the list of verses. - """ - return self.verselist - - def get_book(self): - """ - Returns the book of the Bible. - """ - return self.book - - def get_chapter(self): - """ - Returns the chapter of the book. - """ - return self.chapter - def has_verselist(self): """ Returns whether or not the verse list contains verses. @@ -277,4 +259,3 @@ def unescape(text): pass return text # leave as is return re.sub(u'&#?\w+;', fixup, text) - diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 8bf7ac63e..dc3e8f906 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -178,7 +178,6 @@ class BGExtract(BibleCommon): """ Extract verses from BibleGateway """ - def __init__(self, proxyurl=None): log.debug(u'init %s', proxyurl) self.proxyurl = proxyurl @@ -269,7 +268,6 @@ class CWExtract(BibleCommon): """ Extract verses from CrossWalk/BibleStudyTools """ - def __init__(self, proxyurl=None): log.debug(u'init %s', proxyurl) self.proxyurl = proxyurl @@ -429,13 +427,12 @@ class HTTPBible(BibleDB): ## if it was there. By reusing the returned book name ## we get a correct book. For example it is possible ## to request ac and get Acts back. - bookname = search_results.get_book() + bookname = search_results.book Receiver.send_message(u'openlp_process_events') # check to see if book/chapter exists db_book = self.get_book(bookname) - self.create_chapter(db_book.id, - search_results.get_chapter(), - search_results.get_verselist()) + self.create_chapter(db_book.id, search_results.chapter, + search_results.verselist) Receiver.send_message(u'openlp_process_events') Receiver.send_message(u'bibles_hideprogress') Receiver.send_message(u'openlp_process_events') @@ -487,14 +484,3 @@ class HTTPBible(BibleDB): The chapter whose verses are being counted. """ return HTTPBooks.get_verse_count(book, chapter) - - def set_proxy_server(self, server): - """ - Sets the proxy server. - - **Note: This is not actually used.** - - ``server`` - The hostname or IP address of the proxy server. - """ - self.proxy_server = server diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index f862e1d1c..a252c2632 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -148,7 +148,7 @@ class BibleManager(object): file=filename, download_source=source.value, download_name=download_name) if meta_proxy: - web_bible.set_proxy_server(meta_proxy.value) + web_bible.proxy_server = meta_proxy.value self.db_cache[name] = web_bible log.debug(u'Bibles reloaded') diff --git a/openlp/plugins/songs/lib/songxml.py b/openlp/plugins/songs/lib/songxml.py index 85aa5dcc6..0a54bea9b 100644 --- a/openlp/plugins/songs/lib/songxml.py +++ b/openlp/plugins/songs/lib/songxml.py @@ -24,15 +24,9 @@ ############################################################################### import logging -#import sys -#import os from types import ListType -# Do we need these two lines? -#sys.path.append(os.path.abspath(u'./../../../..')) -#sys.path.append(os.path.abspath(os.path.join(u'.', u'..', u'..'))) - log = logging.getLogger(__name__) class SongException(Exception): @@ -70,14 +64,7 @@ class Song(object): from_ccli_text_buffer to_ccli_text_buffer - OpenSong: - from_opensong_file - to_opensong_file - from_opensong_buffer - to_opensong_buffer - presentation (screen): - get_number_of_slides get_preview_slide get_render_slide @@ -215,8 +202,8 @@ class Song(object): author_list = u', '.join(lst) self.set_title(sName) self.set_author_list(author_list) - self.set_copyright(sCopyright) - self.set_ccli_number(sCcli) + self.copyright = sCopyright + self.ccli_number = sCcli self.set_lyrics(lyrics) def from_ccli_text_file(self, textFileName): @@ -267,58 +254,30 @@ class Song(object): """Return copyright info string""" return self._assure_string(self.copyright) - def set_copyright(self, copyright): - """Set the copyright string""" - self.copyright = copyright - def get_ccli_number(self): """Return the songCclino""" return self._assure_string(self.ccli_number) - def set_ccli_number(self, ccli_number): - """Set the ccli_number""" - self.ccli_number = ccli_number - def get_theme_name(self): """Return the theme name for the song""" return self._assure_string(self.theme_name) - def set_theme_name(self, theme_name): - """Set the theme name (string)""" - self.theme_name = theme_name - def get_song_book(self): """Return the song_book (string)""" return self._assure_string(self.song_book) - def set_song_book(self, song_book): - """Set the song_book (string)""" - self.song_book = song_book - def get_song_number(self): """Return the song_number (string)""" return self._assure_string(self.song_number) - def set_song_number(self, song_number): - """Set the song_number (string)""" - self.song_number = song_number - def get_comments(self): """Return the comments (string)""" return self._assure_string(self.comments) - def set_comments(self, comments): - """Set the comments (string)""" - self.comments = comments - def get_verse_order(self): """Get the verseOrder (string) - preferably space delimited""" return self._assure_string(self.verse_order) - def set_verse_order(self, verse_order): - """Set the verse order (string) - space delimited""" - self.verse_order = verse_order - def get_author_list(self, asOneString = True): """Return the list of authors as a string @@ -369,45 +328,6 @@ class Song(object): else: self.category_array = self._list_to_string(category_array) - def get_show_title(self): - """Return the show_title flag (bool)""" - return self.show_title - - def set_show_title(self, show_title): - """Set the show_title flag (bool)""" - self.show_title = show_title - - def get_show_author_list(self): - """Return the show_author_list flag""" - return self.show_author_list - - def set_show_author_list(self, show_author_list): - """Set the show_author_list flag (bool)""" - self.show_author_list = show_author_list - - def get_show_copyright(self): - """Return the show_copyright flag""" - return self.show_copyright - - def set_show_copyright(self, show_copyright): - """Set the show_copyright flag (bool)""" - self.show_copyright = show_copyright - - def get_show_ccli_number(self): - """Return the showSongCclino (string)""" - return self.show_ccli_number - - def set_show_ccli_number(self, show_ccli_number): - """Set the show_ccli_number flag (bool)""" - self.show_ccli_number = show_ccli_number - - def get_lyrics(self): - """Return the lyrics as a list of strings - - this will return all the strings in the song - """ - return self.lyrics - def set_lyrics(self, lyrics): """Set the lyrics as a list of strings""" self.lyrics = lyrics @@ -431,11 +351,6 @@ class Song(object): if tmpSlide: self.slideList.append(tmpSlide) - def get_number_of_slides(self): - """Return the number of slides in the song (int)""" - numOfSlides = len(self.slideList) - return numOfSlides - def get_preview_slide(self, slideNumber): """Return the preview text for specified slide number From e9edb0c7a4dc3a2ec407d0a13a5147a3a1449523 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Fri, 23 Jul 2010 03:19:35 +0100 Subject: [PATCH 091/148] Refactor BibleGateway retrieval --- openlp/plugins/bibles/lib/http.py | 69 +++++-------------------------- 1 file changed, 10 insertions(+), 59 deletions(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index dc3e8f906..c1deaccfa 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -29,12 +29,11 @@ import os import sqlite3 import re -from BeautifulSoup import BeautifulSoup, Tag, NavigableString +from BeautifulSoup import BeautifulSoup, NavigableString from openlp.core.lib import Receiver from openlp.core.utils import AppLocation -from openlp.plugins.bibles.lib.common import BibleCommon, SearchResults, \ - unescape +from openlp.plugins.bibles.lib.common import BibleCommon, SearchResults from openlp.plugins.bibles.lib.db import BibleDB, Book log = logging.getLogger(__name__) @@ -205,63 +204,15 @@ class BGExtract(BibleCommon): Receiver.send_message(u'openlp_process_events') soup = BeautifulSoup(page) Receiver.send_message(u'openlp_process_events') - verses = soup.find(u'div', u'result-text-style-normal') - verse_number = 0 - verse_list = {0: u''} - # http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html - # This is a PERFECT example of opening the Cthulu tag! - # O Bible Gateway, why doth ye such horrific HTML produce? + text = str(soup.find(u'div', u'result-text-style-normal')) + useful_soup = BeautifulSoup(text) + verses = useful_soup.findAll(u'p') + verses.pop(0) + verses.pop() + verse_list = {} for verse in verses: - Receiver.send_message(u'openlp_process_events') - if isinstance(verse, Tag) and verse.name == u'div' and filter(lambda a: a[0] == u'class', verse.attrs)[0][1] == u'footnotes': - break - if isinstance(verse, Tag) and verse.name == u'sup' and filter(lambda a: a[0] == u'class', verse.attrs)[0][1] != u'versenum': - continue - if isinstance(verse, Tag) and verse.name == u'p' and not verse.contents: - continue - if isinstance(verse, Tag) and (verse.name == u'p' or verse.name == u'font') and verse.contents: - for item in verse.contents: - Receiver.send_message(u'openlp_process_events') - if isinstance(item, Tag) and (item.name == u'h4' or item.name == u'h5'): - continue - if isinstance(item, Tag) and item.name == u'sup' and filter(lambda a: a[0] == u'class', item.attrs)[0][1] != u'versenum': - continue - if isinstance(item, Tag) and item.name == u'p' and not item.contents: - continue - if isinstance(item, Tag) and item.name == u'sup': - verse_number = int(str(item.contents[0])) - verse_list[verse_number] = u'' - continue - if isinstance(item, Tag) and item.name == u'font': - for subitem in item.contents: - Receiver.send_message(u'openlp_process_events') - if isinstance(subitem, Tag) and subitem.name == u'sup' and filter(lambda a: a[0] == u'class', subitem.attrs)[0][1] != u'versenum': - continue - if isinstance(subitem, Tag) and subitem.name == u'p' and not subitem.contents: - continue - if isinstance(subitem, Tag) and subitem.name == u'sup': - verse_number = int(str(subitem.contents[0])) - verse_list[verse_number] = u'' - continue - if isinstance(subitem, NavigableString): - verse_list[verse_number] = verse_list[verse_number] + subitem.replace(u' ', u' ') - continue - if isinstance(item, NavigableString): - verse_list[verse_number] = verse_list[verse_number] + item.replace(u' ', u' ') - continue - if isinstance(verse, Tag) and verse.name == u'sup': - verse_number = int(str(verse.contents[0])) - verse_list[verse_number] = u'' - continue - if isinstance(verse, NavigableString): - if not isinstance(verse, unicode): - verse = unicode(verse, u'utf8') - verse_list[verse_number] = verse_list[verse_number] + \ - unescape(verse.replace(u' ', u' ')) - # Delete the "0" element, since we don't need it, it's just there for - # some stupid initial whitespace, courtesy of Bible Gateway. - del verse_list[0] - # Finally, return the list of verses in a "SearchResults" object. + verse_list[int(str(verse.sup.contents[0]))] = \ + unicode(verse.contents[2]) return SearchResults(bookname, chapter, verse_list) class CWExtract(BibleCommon): From 60e1c7002edbc49064db3c0d47e17a4b7a759425 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Fri, 23 Jul 2010 11:01:17 +0200 Subject: [PATCH 092/148] More string fixes. --- .../songusage/forms/songusagedeletedialog.py | 3 +- .../songusage/forms/songusagedetaildialog.py | 12 ++-- resources/i18n/openlp_af.ts | 56 +++++++-------- resources/i18n/openlp_de.ts | 56 +++++++-------- resources/i18n/openlp_en.ts | 56 +++++++-------- resources/i18n/openlp_en_GB.ts | 56 +++++++-------- resources/i18n/openlp_en_ZA.ts | 70 +++++++++---------- resources/i18n/openlp_es.ts | 56 +++++++-------- resources/i18n/openlp_et.ts | 56 +++++++-------- resources/i18n/openlp_hu.ts | 56 +++++++-------- resources/i18n/openlp_ko.ts | 56 +++++++-------- resources/i18n/openlp_nb.ts | 70 +++++++++---------- resources/i18n/openlp_pt_BR.ts | 56 +++++++-------- resources/i18n/openlp_sv.ts | 56 +++++++-------- 14 files changed, 323 insertions(+), 392 deletions(-) diff --git a/openlp/plugins/songusage/forms/songusagedeletedialog.py b/openlp/plugins/songusage/forms/songusagedeletedialog.py index 90fd314ed..1b4ac7309 100644 --- a/openlp/plugins/songusage/forms/songusagedeletedialog.py +++ b/openlp/plugins/songusage/forms/songusagedeletedialog.py @@ -59,4 +59,5 @@ class Ui_SongUsageDeleteDialog(object): def retranslateUi(self, SongUsageDeleteDialog): SongUsageDeleteDialog.setWindowTitle( - translate('SongUsagePlugin.AuditDeleteDialog', 'Delete Song Usage Data')) + translate('SongUsagePlugin.SongUsageDeleteForm', + 'Delete Song Usage Data')) diff --git a/openlp/plugins/songusage/forms/songusagedetaildialog.py b/openlp/plugins/songusage/forms/songusagedetaildialog.py index 41736f763..699c0bb6a 100644 --- a/openlp/plugins/songusage/forms/songusagedetaildialog.py +++ b/openlp/plugins/songusage/forms/songusagedetaildialog.py @@ -86,11 +86,13 @@ class Ui_SongUsageDetailDialog(object): def retranslateUi(self, SongUsageDetailDialog): SongUsageDetailDialog.setWindowTitle( - translate('SongUsagePlugin.AuditDetailDialog', - 'Song Usage Extraction')) + translate('SongUsagePlugin.SongUsageDetailForm', + 'Song Usage Extraction')) self.DateRangeGroupBox.setTitle( - translate('SongUsagePlugin.AuditDetailDialog', 'Select Date Range')) + translate('SongUsagePlugin.SongUsageDetailForm', + 'Select Date Range')) self.ToLabel.setText( - translate('SongUsagePlugin.AuditDetailDialog', 'to')) + translate('SongUsagePlugin.SongUsageDetailForm', 'to')) self.FileGroupBox.setTitle( - translate('SongUsagePlugin.AuditDetailDialog', 'Report Location')) + translate('SongUsagePlugin.SongUsageDetailForm', + 'Report Location')) diff --git a/resources/i18n/openlp_af.ts b/resources/i18n/openlp_af.ts index 9d9eb1024..cf3015e39 100644 --- a/resources/i18n/openlp_af.ts +++ b/resources/i18n/openlp_af.ts @@ -2710,37 +2710,6 @@ The content encoding is not UTF-8. &Lied Gebruik - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - aan - - - - Report Location - Rapporteer Ligging - - SongUsagePlugin.SongUsageDeleteForm @@ -2753,6 +2722,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2761,6 +2735,26 @@ The content encoding is not UTF-8. Output File Location Uitvoer Lêer Ligging + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + aan + + + + Report Location + Rapporteer Ligging + SongsPlugin diff --git a/resources/i18n/openlp_de.ts b/resources/i18n/openlp_de.ts index 324a864f2..63449e515 100644 --- a/resources/i18n/openlp_de.ts +++ b/resources/i18n/openlp_de.ts @@ -2710,37 +2710,6 @@ The content encoding is not UTF-8. Lieder Statistik - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - zu - - - - Report Location - Speicherort für die Statistiken - - SongUsagePlugin.SongUsageDeleteForm @@ -2753,6 +2722,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2761,6 +2735,26 @@ The content encoding is not UTF-8. Output File Location Ablageort für Aufnahme wählen + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + zu + + + + Report Location + Speicherort für die Statistiken + SongsPlugin diff --git a/resources/i18n/openlp_en.ts b/resources/i18n/openlp_en.ts index 0851d8650..be71ac581 100644 --- a/resources/i18n/openlp_en.ts +++ b/resources/i18n/openlp_en.ts @@ -2710,37 +2710,6 @@ The content encoding is not UTF-8. - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - - - - - Report Location - - - SongUsagePlugin.SongUsageDeleteForm @@ -2753,6 +2722,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2761,6 +2735,26 @@ The content encoding is not UTF-8. Output File Location + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + + SongsPlugin diff --git a/resources/i18n/openlp_en_GB.ts b/resources/i18n/openlp_en_GB.ts index 33230c59c..27c2863e9 100644 --- a/resources/i18n/openlp_en_GB.ts +++ b/resources/i18n/openlp_en_GB.ts @@ -2710,37 +2710,6 @@ The content encoding is not UTF-8. &Song Usage - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - to - - - - Report Location - Report Location - - SongUsagePlugin.SongUsageDeleteForm @@ -2753,6 +2722,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2761,6 +2735,26 @@ The content encoding is not UTF-8. Output File Location Output File Location + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + to + + + + Report Location + Report Location + SongsPlugin diff --git a/resources/i18n/openlp_en_ZA.ts b/resources/i18n/openlp_en_ZA.ts index 2750e1eee..bb086411f 100644 --- a/resources/i18n/openlp_en_ZA.ts +++ b/resources/i18n/openlp_en_ZA.ts @@ -787,7 +787,7 @@ Changes do not affect verses already in the service. Error - + Error @@ -2449,7 +2449,7 @@ You can download the latest version from <a href="http://openlp.org/&quo Error - + Error @@ -2710,37 +2710,6 @@ The content encoding is not UTF-8. - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - - - - - Report Location - Report Location - - SongUsagePlugin.SongUsageDeleteForm @@ -2753,6 +2722,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2761,6 +2735,26 @@ The content encoding is not UTF-8. Output File Location Output File Location + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + Report Location + SongsPlugin @@ -2896,7 +2890,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error - + Error @@ -3064,7 +3058,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error - + Error @@ -3411,7 +3405,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error - + Error @@ -3472,7 +3466,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error - + Error @@ -3618,7 +3612,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error - + Error diff --git a/resources/i18n/openlp_es.ts b/resources/i18n/openlp_es.ts index 90ed7d5b0..024fef7a3 100644 --- a/resources/i18n/openlp_es.ts +++ b/resources/i18n/openlp_es.ts @@ -2710,37 +2710,6 @@ The content encoding is not UTF-8. &Uso de las Canciones - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - hasta - - - - Report Location - Ubicación de Reporte - - SongUsagePlugin.SongUsageDeleteForm @@ -2753,6 +2722,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2761,6 +2735,26 @@ The content encoding is not UTF-8. Output File Location Archivo de Salida + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + hasta + + + + Report Location + Ubicación de Reporte + SongsPlugin diff --git a/resources/i18n/openlp_et.ts b/resources/i18n/openlp_et.ts index e244f8adf..62e41d62c 100644 --- a/resources/i18n/openlp_et.ts +++ b/resources/i18n/openlp_et.ts @@ -2743,37 +2743,6 @@ The content encoding is not UTF-8. - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - - - - - Report Location - - - SongUsagePlugin.SongUsageDeleteForm @@ -2786,6 +2755,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2794,6 +2768,26 @@ The content encoding is not UTF-8. Output File Location + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + + SongsPlugin diff --git a/resources/i18n/openlp_hu.ts b/resources/i18n/openlp_hu.ts index 2c791832a..20726dd9c 100644 --- a/resources/i18n/openlp_hu.ts +++ b/resources/i18n/openlp_hu.ts @@ -2870,37 +2870,6 @@ The content encoding is not UTF-8. Élő dalstatisztika rögzítésének indítása/leállítása - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - Dalstatisztika kicsomagolása - - - - Select Date Range - Időintervallum megadása - - - - to - - - - - Report Location - Helyszín jelentése - - SongUsagePlugin.SongUsageDeleteForm @@ -2913,6 +2882,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? Valóban törölhetők a kiválasztott dalstatisztika adatok? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2921,6 +2895,26 @@ The content encoding is not UTF-8. Output File Location Kimeneti fájl elérési útvonala + + + Song Usage Extraction + Dalstatisztika kicsomagolása + + + + Select Date Range + Időintervallum megadása + + + + to + + + + + Report Location + Helyszín jelentése + SongsPlugin diff --git a/resources/i18n/openlp_ko.ts b/resources/i18n/openlp_ko.ts index c68939e72..ffc318731 100644 --- a/resources/i18n/openlp_ko.ts +++ b/resources/i18n/openlp_ko.ts @@ -2710,37 +2710,6 @@ The content encoding is not UTF-8. - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - - - - - Report Location - - - SongUsagePlugin.SongUsageDeleteForm @@ -2753,6 +2722,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2761,6 +2735,26 @@ The content encoding is not UTF-8. Output File Location + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + + + + + Report Location + + SongsPlugin diff --git a/resources/i18n/openlp_nb.ts b/resources/i18n/openlp_nb.ts index a0c85fe8c..169ba4a82 100644 --- a/resources/i18n/openlp_nb.ts +++ b/resources/i18n/openlp_nb.ts @@ -787,7 +787,7 @@ Changes do not affect verses already in the service. Error - + Feil @@ -2449,7 +2449,7 @@ You can download the latest version from <a href="http://openlp.org/&quo Error - + Feil @@ -2710,37 +2710,6 @@ The content encoding is not UTF-8. - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - Velg dato-område - - - - to - til - - - - Report Location - - - SongUsagePlugin.SongUsageDeleteForm @@ -2753,6 +2722,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2761,6 +2735,26 @@ The content encoding is not UTF-8. Output File Location + + + Song Usage Extraction + + + + + Select Date Range + Velg dato-område + + + + to + til + + + + Report Location + + SongsPlugin @@ -2896,7 +2890,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error - + Feil @@ -3064,7 +3058,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error - + Feil @@ -3411,7 +3405,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error - + Feil @@ -3472,7 +3466,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error - + Feil @@ -3618,7 +3612,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error - + Feil diff --git a/resources/i18n/openlp_pt_BR.ts b/resources/i18n/openlp_pt_BR.ts index 10604e191..0e86efcac 100644 --- a/resources/i18n/openlp_pt_BR.ts +++ b/resources/i18n/openlp_pt_BR.ts @@ -2710,37 +2710,6 @@ The content encoding is not UTF-8. &Uso das Músicas - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - - - - - Select Date Range - - - - - to - para - - - - Report Location - Localização do Relatório - - SongUsagePlugin.SongUsageDeleteForm @@ -2753,6 +2722,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2761,6 +2735,26 @@ The content encoding is not UTF-8. Output File Location Local do arquivo de saída + + + Song Usage Extraction + + + + + Select Date Range + + + + + to + para + + + + Report Location + Localização do Relatório + SongsPlugin diff --git a/resources/i18n/openlp_sv.ts b/resources/i18n/openlp_sv.ts index e6d2a5d02..6f54febf2 100644 --- a/resources/i18n/openlp_sv.ts +++ b/resources/i18n/openlp_sv.ts @@ -2710,37 +2710,6 @@ The content encoding is not UTF-8. &Sånganvändning - - SongUsagePlugin.AuditDeleteDialog - - - Delete Song Usage Data - - - - - SongUsagePlugin.AuditDetailDialog - - - Song Usage Extraction - Sånganvändningsutdrag - - - - Select Date Range - Välj datumspann - - - - to - till - - - - Report Location - Rapportera placering - - SongUsagePlugin.SongUsageDeleteForm @@ -2753,6 +2722,11 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? Vill du verkligen ta bort vald sånganvändningsdata? + + + Delete Song Usage Data + + SongUsagePlugin.SongUsageDetailForm @@ -2761,6 +2735,26 @@ The content encoding is not UTF-8. Output File Location Utfil sökväg + + + Song Usage Extraction + Sånganvändningsutdrag + + + + Select Date Range + Välj datumspann + + + + to + till + + + + Report Location + Rapportera placering + SongsPlugin From 1ea37f8d7708b5448e875bb6f72d5f8cbd4e83a1 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Fri, 23 Jul 2010 16:25:54 +0100 Subject: [PATCH 093/148] Cleanup refactor --- openlp/plugins/bibles/lib/http.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index c1deaccfa..c262a0619 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -207,12 +207,11 @@ class BGExtract(BibleCommon): text = str(soup.find(u'div', u'result-text-style-normal')) useful_soup = BeautifulSoup(text) verses = useful_soup.findAll(u'p') - verses.pop(0) - verses.pop() verse_list = {} for verse in verses: - verse_list[int(str(verse.sup.contents[0]))] = \ - unicode(verse.contents[2]) + if verse.sup: + verse_list[int(str(verse.sup.contents[0]))] = \ + unicode(verse.contents[2]) return SearchResults(bookname, chapter, verse_list) class CWExtract(BibleCommon): From 9b425cb52daea8faaf711f31305e0d5daa1dfe71 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Fri, 23 Jul 2010 17:21:27 +0100 Subject: [PATCH 094/148] Fix BibleGateway refactor --- openlp/plugins/bibles/lib/http.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index c262a0619..80beb179d 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -211,7 +211,7 @@ class BGExtract(BibleCommon): for verse in verses: if verse.sup: verse_list[int(str(verse.sup.contents[0]))] = \ - unicode(verse.contents[2]) + unicode(verse.contents[-1]) return SearchResults(bookname, chapter, verse_list) class CWExtract(BibleCommon): From 2b7d7f3ba5787c4373799d7e22d454a7f980905d Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Fri, 23 Jul 2010 20:03:19 +0200 Subject: [PATCH 095/148] More string updating. --- openlp/plugins/alerts/alertsplugin.py | 7 +++--- openlp/plugins/bibles/bibleplugin.py | 7 +++--- openlp/plugins/custom/customplugin.py | 10 ++++---- openlp/plugins/images/imageplugin.py | 21 +++++++++------- openlp/plugins/media/mediaplugin.py | 5 ++-- .../presentations/presentationplugin.py | 8 +++---- openlp/plugins/remotes/remoteplugin.py | 11 ++++----- openlp/plugins/songs/songsplugin.py | 6 ++--- openlp/plugins/songusage/songusageplugin.py | 24 +++++++++---------- 9 files changed, 48 insertions(+), 51 deletions(-) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 5b904e385..a9c726024 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -99,8 +99,7 @@ class AlertsPlugin(Plugin): self.alertForm.exec_() def about(self): - about_text = translate('AlertsPlugin', - 'Alerts Plugin
This plugin ' - 'controls the displaying of alerts on the presentations screen') + about_text = translate('AlertsPlugin', 'Alerts Plugin' + '
The alert plugin controls the displaying of nursery alerts ' + 'on the display screen') return about_text - diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 65bf815f0..19d6d65cd 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -89,10 +89,9 @@ class BiblePlugin(Plugin): self.mediaItem.onImportClick() def about(self): - about_text = translate('BiblesPlugin', - 'Bible Plugin
This ' - 'plugin allows bible verses from different sources to be ' - 'displayed on the screen during the service.') + about_text = translate('BiblesPlugin', 'Bible Plugin' + '
The Bible plugin provides the ability to display bible ' + 'verses from different sources during the service.') return about_text def usesTheme(self, theme): diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py index 79ccb1f9b..4785ad6b8 100644 --- a/openlp/plugins/custom/customplugin.py +++ b/openlp/plugins/custom/customplugin.py @@ -62,11 +62,11 @@ class CustomPlugin(Plugin): return CustomMediaItem(self, self.icon, self.name) def about(self): - about_text = translate('CustomPlugin', - 'Custom Plugin
This plugin ' - 'allows slides to be displayed on the screen in the same way ' - 'songs are. This plugin provides greater freedom over the ' - 'songs plugin.
') + about_text = translate('CustomPlugin', 'Custom Plugin' + '
The custom plugin provides the ability to set up custom ' + 'text slides that can be displayed on the screen the same way ' + 'songs are. This plugin provides greater freedom over the songs ' + 'plugin.') return about_text def usesTheme(self, theme): diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py index adf8e401b..03c8992f9 100644 --- a/openlp/plugins/images/imageplugin.py +++ b/openlp/plugins/images/imageplugin.py @@ -48,12 +48,15 @@ class ImagePlugin(Plugin): return ImageMediaItem(self, self.icon, self.name) def about(self): - about_text = translate('ImagePlugin', 'Image Plugin' - '
Allows images of all types to be displayed. If a number ' - 'of images are selected together and presented on the live ' - 'controller it is possible to turn them into a timed loop.' - 'From the plugin if the Override background is chosen and ' - 'an image is selected any songs which are rendered will use the ' - 'selected image from the background instead of the one provied by ' - 'the theme.
') - return about_text \ No newline at end of file + about_text = translate('ImagePlugin', 'Image Plugin' + '
The image plugin provides displaying of images.
One ' + 'of the distinguishing features of this plugin is the ability to ' + 'group a number of images together in the service manager, making ' + 'the displaying of multiple images easier. This plugin can also ' + 'make use of OpenLP\'s "timed looping" feature to create a slide ' + 'show that runs automatically. In addition to this, images from ' + 'the plugin can be used to override the current theme\'s ' + 'background, which renders text-based items like songs with the ' + 'selected image as a background instead of the background ' + 'provided by the theme.') + return about_text diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 4162c4d31..a2e27bd4d 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -73,7 +73,6 @@ class MediaPlugin(Plugin): return MediaMediaItem(self, self.icon, self.name) def about(self): - about_text = translate('MediaPlugin', - 'Media Plugin
This plugin ' - 'allows the playing of audio and video media') + about_text = translate('MediaPlugin', 'Media Plugin' + '
The media plugin provides playback of audio and video.') return about_text diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index 50784ed51..47234b371 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -42,7 +42,7 @@ class PresentationPlugin(Plugin): def __init__(self, plugin_helpers): """ - PluginPresentation constructor. + PluginPresentation constructor. """ log.debug(u'Initialised') self.controllers = {} @@ -132,9 +132,9 @@ class PresentationPlugin(Plugin): """ Return information about this plugin """ - about_text = translate('PresentationPlugin', - 'Presentation Plugin
Delivers ' - 'the ability to show presentations using a number of different ' + about_text = translate('PresentationPlugin', 'Presentation ' + 'Plugin
The presentation plugin provides the ' + 'ability to show presentations using a number of different ' 'programs. The choice of available presentation programs is ' 'available to the user in a drop down box.') return about_text diff --git a/openlp/plugins/remotes/remoteplugin.py b/openlp/plugins/remotes/remoteplugin.py index a878869d0..6666b5e93 100644 --- a/openlp/plugins/remotes/remoteplugin.py +++ b/openlp/plugins/remotes/remoteplugin.py @@ -70,9 +70,8 @@ class RemotesPlugin(Plugin): """ Information about this plugin """ - about_text = translate('RemotePlugin', - 'Remote Plugin
This plugin ' - 'provides the ability to send messages to a running version of ' - 'openlp on a different computer via a web browser or other app
' - 'The Primary use for this would be to send alerts from a creche') - return about_text \ No newline at end of file + about_text = translate('RemotePlugin', 'Remote Plugin' + '
The remote plugin provides the ability to send messages to ' + 'a running version of OpenLP on a different computer via a web ' + 'browser or through the remote API.') + return about_text diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index bf1c0cb23..c57a175e6 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -259,9 +259,9 @@ class SongsPlugin(Plugin): Receiver.send_message(u'songs_load_list') def about(self): - about_text = translate('SongsPlugin', - 'Song Plugin
' - 'This plugin allows songs to be managed and displayed.') + about_text = translate('SongsPlugin', 'Songs Plugin' + '
The songs plugin provides the ability to display and ' + 'manage songs.') return about_text def usesTheme(self, theme): diff --git a/openlp/plugins/songusage/songusageplugin.py b/openlp/plugins/songusage/songusageplugin.py index c7a8a30aa..a11e61605 100644 --- a/openlp/plugins/songusage/songusageplugin.py +++ b/openlp/plugins/songusage/songusageplugin.py @@ -60,31 +60,30 @@ class SongUsagePlugin(Plugin): self.SongUsageMenu = QtGui.QMenu(tools_menu) self.SongUsageMenu.setObjectName(u'SongUsageMenu') self.SongUsageMenu.setTitle(translate( - 'SongUsagePlugin', '&Song Usage')) + 'SongUsagePlugin', '&Song Usage Tracking')) #SongUsage Delete self.SongUsageDelete = QtGui.QAction(tools_menu) self.SongUsageDelete.setText(translate('SongUsagePlugin', - '&Delete recorded data')) + '&Delete Tracking Data')) self.SongUsageDelete.setStatusTip(translate('SongUsagePlugin', - 'Delete song usage to specified date')) + 'Delete song usage data up to a specified date.')) self.SongUsageDelete.setObjectName(u'SongUsageDelete') #SongUsage Report self.SongUsageReport = QtGui.QAction(tools_menu) self.SongUsageReport.setText( - translate('SongUsagePlugin', '&Extract recorded data')) + translate('SongUsagePlugin', '&Extract Tracking Data')) self.SongUsageReport.setStatusTip( - translate('SongUsagePlugin', 'Generate report on Song Usage')) + translate('SongUsagePlugin', 'Generate a report on song usage.')) self.SongUsageReport.setObjectName(u'SongUsageReport') #SongUsage activation SongUsageIcon = build_icon(u':/plugins/plugin_songusage.png') self.SongUsageStatus = QtGui.QAction(tools_menu) - self.SongUsageStatus.setIcon(SongUsageIcon) self.SongUsageStatus.setCheckable(True) self.SongUsageStatus.setChecked(False) self.SongUsageStatus.setText(translate( - 'SongUsagePlugin', 'Song Usage Status')) + 'SongUsagePlugin', 'Toggle Tracking')) self.SongUsageStatus.setStatusTip(translate('SongUsagePlugin', - 'Start/Stop live song usage recording')) + 'Toggle the tracking of song usage.')) self.SongUsageStatus.setShortcut(u'F4') self.SongUsageStatus.setObjectName(u'SongUsageStatus') #Add Menus together @@ -158,8 +157,7 @@ class SongUsagePlugin(Plugin): self.SongUsagedetailform.exec_() def about(self): - about_text = translate('SongUsagePlugin', - 'SongUsage Plugin
This plugin ' - 'records the use of songs and when they have been used during ' - 'a live service') - return about_text \ No newline at end of file + about_text = translate('SongUsagePlugin', 'SongUsage Plugin' + '
This plugin tracks the usage of songs in ' + 'services.') + return about_text From 651ee535f6fa386b5e2112e2264b7553900cb3cb Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Fri, 23 Jul 2010 21:17:36 +0200 Subject: [PATCH 096/148] Hopefully the last of the string fixes. --- openlp/core/ui/splashscreen.py | 13 - openlp/core/ui/thememanager.py | 137 +-- openlp/core/ui/themestab.py | 22 +- openlp/plugins/songs/forms/editsongdialog.py | 6 +- openlp/plugins/songs/lib/__init__.py | 14 +- openlp/plugins/songs/lib/mediaitem.py | 20 +- openlp/plugins/songs/lib/songstab.py | 2 +- resources/i18n/openlp_af.ts | 812 +++++++++--------- resources/i18n/openlp_de.ts | 826 +++++++++---------- resources/i18n/openlp_en.ts | 798 +++++++++--------- resources/i18n/openlp_en_GB.ts | 812 +++++++++--------- resources/i18n/openlp_en_ZA.ts | 818 +++++++++--------- resources/i18n/openlp_es.ts | 812 +++++++++--------- resources/i18n/openlp_et.ts | 770 +++++++++-------- resources/i18n/openlp_hu.ts | 812 +++++++++--------- resources/i18n/openlp_ko.ts | 798 +++++++++--------- resources/i18n/openlp_nb.ts | 800 +++++++++--------- resources/i18n/openlp_pt_BR.ts | 812 +++++++++--------- resources/i18n/openlp_sv.ts | 816 +++++++++--------- 19 files changed, 4905 insertions(+), 4995 deletions(-) diff --git a/openlp/core/ui/splashscreen.py b/openlp/core/ui/splashscreen.py index ff2be94df..bd87bcb12 100644 --- a/openlp/core/ui/splashscreen.py +++ b/openlp/core/ui/splashscreen.py @@ -31,9 +31,6 @@ class SplashScreen(object): def __init__(self, version): self.splash_screen = QtGui.QSplashScreen() self.setupUi() - self.message = translate( - 'Splashscreen', 'Starting')\ - + '..... ' + version def setupUi(self): self.splash_screen.setObjectName(u'splash_screen') @@ -48,25 +45,15 @@ class SplashScreen(object): self.splash_screen.sizePolicy().hasHeightForWidth()) self.splash_screen.setSizePolicy(sizePolicy) self.splash_screen.setContextMenuPolicy(QtCore.Qt.PreventContextMenu) - icon = build_icon(u':/icon/openlp-logo-16x16.png') - self.splash_screen.setWindowIcon(icon) splash_image = QtGui.QPixmap(u':/graphics/openlp-splash-screen.png') self.splash_screen.setPixmap(splash_image) self.splash_screen.setMask(splash_image.mask()) self.splash_screen.setWindowFlags( QtCore.Qt.SplashScreen | QtCore.Qt.WindowStaysOnTopHint) - self.retranslateUi() QtCore.QMetaObject.connectSlotsByName(self.splash_screen) - def retranslateUi(self): - self.splash_screen.setWindowTitle( - translate('Splashscreen', 'Splash Screen')) - def show(self): self.splash_screen.show() - self.splash_screen.showMessage(self.message, - QtCore.Qt.AlignLeft | QtCore.Qt.AlignBottom, QtCore.Qt.black) - self.splash_screen.repaint() def finish(self, widget): self.splash_screen.finish(widget) diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 1745e6030..9f1067baa 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -55,25 +55,31 @@ class ThemeManager(QtGui.QWidget): self.amendThemeForm = AmendThemeForm(self) self.Toolbar = OpenLPToolbar(self) self.Toolbar.addToolbarButton( - translate('ThemeManager', 'New Theme'), u':/themes/theme_new.png', - translate('ThemeManager', 'Create a new theme.'), self.onAddTheme) + translate('OpenLP.ThemeManager', 'New Theme'), + u':/themes/theme_new.png', + translate('OpenLP.ThemeManager', 'Create a new theme.'), + self.onAddTheme) self.Toolbar.addToolbarButton( - translate('ThemeManager', 'Edit Theme'), + translate('OpenLP.ThemeManager', 'Edit Theme'), u':/themes/theme_edit.png', - translate('ThemeManager', 'Edit a theme.'), self.onEditTheme) + translate('OpenLP.ThemeManager', 'Edit a theme.'), + self.onEditTheme) self.Toolbar.addToolbarButton( - translate('ThemeManager', 'Delete Theme'), + translate('OpenLP.ThemeManager', 'Delete Theme'), u':/general/general_delete.png', - translate('ThemeManager', 'Delete a theme.'), self.onDeleteTheme) + translate('OpenLP.ThemeManager', 'Delete a theme.'), + self.onDeleteTheme) self.Toolbar.addSeparator() self.Toolbar.addToolbarButton( - translate('ThemeManager', 'Import Theme'), + translate('OpenLP.ThemeManager', 'Import Theme'), u':/general/general_import.png', - translate('ThemeManager', 'Import a theme.'), self.onImportTheme) + translate('OpenLP.ThemeManager', 'Import a theme.'), + self.onImportTheme) self.Toolbar.addToolbarButton( - translate('ThemeManager', 'Export Theme'), + translate('OpenLP.ThemeManager', 'Export Theme'), u':/general/general_export.png', - translate('ThemeManager', 'Export a theme.'), self.onExportTheme) + translate('OpenLP.ThemeManager', 'Export a theme.'), + self.onExportTheme) self.ThemeWidget = QtGui.QWidgetAction(self.Toolbar) self.Layout.addWidget(self.Toolbar) self.ThemeListWidget = QtGui.QListWidget(self) @@ -84,23 +90,24 @@ class ThemeManager(QtGui.QWidget): self.ThemeListWidget.addAction( context_menu_action(self.ThemeListWidget, u':/themes/theme_edit.png', - translate('ThemeManager', '&Edit Theme'), self.onEditTheme)) + translate('OpenLP.ThemeManager', '&Edit Theme'), + self.onEditTheme)) self.ThemeListWidget.addAction( context_menu_separator(self.ThemeListWidget)) self.ThemeListWidget.addAction( context_menu_action(self.ThemeListWidget, u':/general/general_delete.png', - translate('ThemeManager', '&Delete Theme'), + translate('OpenLP.ThemeManager', '&Delete Theme'), self.onDeleteTheme)) self.ThemeListWidget.addAction( context_menu_action(self.ThemeListWidget, u':/general/general_export.png', - translate('ThemeManager', 'Set As &Global Default'), + translate('OpenLP.ThemeManager', 'Set As &Global Default'), self.changeGlobalFromScreen)) self.ThemeListWidget.addAction( context_menu_action(self.ThemeListWidget, u':/general/general_export.png', - translate('ThemeManager', 'E&xport Theme'), + translate('OpenLP.ThemeManager', 'E&xport Theme'), self.onExportTheme)) self.ThemeListWidget.addAction( context_menu_separator(self.ThemeListWidget)) @@ -139,8 +146,8 @@ class ThemeManager(QtGui.QWidget): self.ThemeListWidget.item(count).setText(newName) #Set the new name if themeName == newName: - name = unicode(translate('ThemeManager', '%s (default)')) % \ - newName + name = unicode(translate('OpenLP.ThemeManager', + '%s (default)')) % newName self.ThemeListWidget.item(count).setText(name) def changeGlobalFromScreen(self, index = -1): @@ -161,13 +168,14 @@ class ThemeManager(QtGui.QWidget): if count == selected_row: self.global_theme = unicode( self.ThemeListWidget.item(count).text()) - name = unicode(translate('ThemeManager', '%s (default)')) % \ - self.global_theme + name = unicode(translate('OpenLP.ThemeManager', + '%s (default)')) % self.global_theme self.ThemeListWidget.item(count).setText(name) QtCore.QSettings().setValue( self.settingsSection + u'/global theme', QtCore.QVariant(self.global_theme)) - Receiver.send_message(u'theme_update_global', self.global_theme) + Receiver.send_message(u'theme_update_global', + self.global_theme) self.pushThemes() def onAddTheme(self): @@ -185,7 +193,8 @@ class ThemeManager(QtGui.QWidget): Loads the settings for the theme that is to be edited and launches the theme editing form so the user can make their changes. """ - if check_item_selected(self.ThemeListWidget, translate('ThemeManager', + if check_item_selected(self.ThemeListWidget, + translate('OpenLP.ThemeManager', 'You must select a theme to edit.')): item = self.ThemeListWidget.currentItem() themeName = unicode(item.text()) @@ -207,14 +216,15 @@ class ThemeManager(QtGui.QWidget): self.global_theme = unicode(QtCore.QSettings().value( self.settingsSection + u'/global theme', QtCore.QVariant(u'')).toString()) - if check_item_selected(self.ThemeListWidget, translate('ThemeManager', + if check_item_selected(self.ThemeListWidget, + translate('OpenLP.ThemeManager', 'You must select a theme to delete.')): item = self.ThemeListWidget.currentItem() theme = unicode(item.text()) # confirm deletion answer = QtGui.QMessageBox.question(self, - translate('ThemeManager', 'Delete Confirmation'), - translate('ThemeManager', 'Delete theme?'), + translate('OpenLP.ThemeManager', 'Delete Confirmation'), + translate('OpenLP.ThemeManager', 'Delete theme?'), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No), QtGui.QMessageBox.No) if answer == QtGui.QMessageBox.No: @@ -222,24 +232,24 @@ class ThemeManager(QtGui.QWidget): # should be the same unless default if theme != unicode(item.data(QtCore.Qt.UserRole).toString()): QtGui.QMessageBox.critical(self, - translate('ThemeManager', 'Error'), - translate('ThemeManager', + translate('OpenLP.ThemeManager', 'Error'), + translate('OpenLP.ThemeManager', 'You are unable to delete the default theme.'), QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) else: for plugin in self.parent.plugin_manager.plugins: if plugin.usesTheme(theme): QtGui.QMessageBox.critical(self, - translate('ThemeManager', 'Error'), - unicode(translate('ThemeManager', + translate('OpenLP.ThemeManager', 'Error'), + unicode(translate('OpenLP.ThemeManager', 'Theme %s is use in %s plugin.')) % \ (theme, plugin.name)) return if unicode(self.serviceComboBox.currentText()) == theme: QtGui.QMessageBox.critical(self, - translate('ThemeManager', 'Error'), - unicode(translate('ThemeManager', - 'Theme %s is use by the service manager.')) % theme) + translate('OpenLP.ThemeManager', 'Error'), + unicode(translate('OpenLP.ThemeManager', + 'Theme %s is use by the service manager.')) % theme) return row = self.ThemeListWidget.row(item) self.ThemeListWidget.takeItem(row) @@ -273,12 +283,14 @@ class ThemeManager(QtGui.QWidget): item = self.ThemeListWidget.currentItem() if item is None: QtGui.QMessageBox.critical(self, - translate('ThemeManager', 'Error'), - translate('ThemeManager', 'You have not selected a theme.')) + translate('OpenLP.ThemeManager', 'Error'), + translate('OpenLP.ThemeManager', + 'You have not selected a theme.')) return theme = unicode(item.data(QtCore.Qt.UserRole).toString()) path = QtGui.QFileDialog.getExistingDirectory(self, - unicode(translate('ThemeManager', 'Save Theme - (%s)')) % theme, + unicode(translate('OpenLP.ThemeManager', + 'Save Theme - (%s)')) % theme, SettingsManager.get_last_dir(self.settingsSection, 1)) path = unicode(path) if path: @@ -294,14 +306,14 @@ class ThemeManager(QtGui.QWidget): os.path.join(source, name).encode(u'utf-8'), os.path.join(theme, name).encode(u'utf-8')) QtGui.QMessageBox.information(self, - translate('ThemeManager', 'Theme Exported'), - translate('ThemeManager', + translate('OpenLP.ThemeManager', 'Theme Exported'), + translate('OpenLP.ThemeManager', 'Your theme has been successfully exported.')) except (IOError, OSError): log.exception(u'Export Theme Failed') QtGui.QMessageBox.critical(self, - translate('ThemeManager', 'Theme Export Failed'), - translate('ThemeManager', + translate('OpenLP.ThemeManager', 'Theme Export Failed'), + translate('OpenLP.ThemeManager', 'Your theme could not be exported due to an error.')) finally: if zip: @@ -314,9 +326,9 @@ class ThemeManager(QtGui.QWidget): will load both OpenLP version 1 and version 2 themes. """ files = QtGui.QFileDialog.getOpenFileNames(self, - translate('ThemeManager', 'Select Theme Import File'), + translate('OpenLP.ThemeManager', 'Select Theme Import File'), SettingsManager.get_last_dir(self.settingsSection), - translate('ThemeManager', 'Theme (*.*)')) + translate('OpenLP.ThemeManager', 'Theme (*.*)')) log.info(u'New Themes %s', unicode(files)) if files: for file in files: @@ -343,7 +355,7 @@ class ThemeManager(QtGui.QWidget): if os.path.exists(theme): textName = os.path.splitext(name)[0] if textName == self.global_theme: - name = unicode(translate('ThemeManager', + name = unicode(translate('OpenLP.ThemeManager', '%s (default)')) % textName else: name = textName @@ -419,8 +431,9 @@ class ThemeManager(QtGui.QWidget): ucsfile = file.decode(u'utf-8') except UnicodeDecodeError: QtGui.QMessageBox.critical( - self, translate('ThemeManager', 'Error'), - translate('ThemeManager', 'File is not a valid theme.\n' + self, translate('OpenLP.ThemeManager', 'Error'), + translate('OpenLP.ThemeManager', + 'File is not a valid theme.\n' 'The content encoding is not UTF-8.')) log.exception(u'Filename "%s" is not valid UTF-8' % file.decode(u'utf-8', u'replace')) @@ -464,15 +477,16 @@ class ThemeManager(QtGui.QWidget): self.generateAndSaveImage(dir, themename, filexml) else: QtGui.QMessageBox.critical(self, - translate('ThemeManager', 'Error'), - translate('ThemeManager', 'File is not a valid theme.')) - log.exception(u'Theme file dosen\'t contain XML data %s' % + translate('OpenLP.ThemeManager', 'Error'), + translate('OpenLP.ThemeManager', + 'File is not a valid theme.')) + log.exception(u'Theme file does not contain XML data %s' % filename) except (IOError, NameError): QtGui.QMessageBox.critical(self, - translate('ThemeManager', 'Error'), - translate('ThemeManager', 'File is not a valid theme.')) - log.exception(u'Importing theme from zip file failed %s' % filename) + translate('OpenLP.ThemeManager', 'Error'), + translate('OpenLP.ThemeManager', 'File is not a valid theme.')) + log.exception(u'Importing theme from zip failed %s' % filename) finally: if zip: zip.close() @@ -536,7 +550,8 @@ class ThemeManager(QtGui.QWidget): vAlignCorrection = 1 elif theme.VerticalAlign == 1: vAlignCorrection = 2 - newtheme.add_display(unicode(shadow), unicode(theme.ShadowColor.name()), + newtheme.add_display(unicode(shadow), + unicode(theme.ShadowColor.name()), unicode(outline), unicode(theme.OutlineColor.name()), unicode(theme.HorizontalAlign), unicode(vAlignCorrection), unicode(theme.WrapStyle), unicode(0)) @@ -559,8 +574,9 @@ class ThemeManager(QtGui.QWidget): if self.saveThemeName != name: if os.path.exists(theme_file): result = QtGui.QMessageBox.question(self, - translate('ThemeManager', 'Theme Exists'), - translate('ThemeManager', 'A theme with this name already ' + translate('OpenLP.ThemeManager', 'Theme Exists'), + translate('OpenLP.ThemeManager', + 'A theme with this name already ' 'exists. Would you like to overwrite it?'), (QtGui.QMessageBox.Yes | QtGui.QMessageBox.No), QtGui.QMessageBox.No) @@ -611,7 +627,7 @@ class ThemeManager(QtGui.QWidget): newThemeItem).row() self.global_theme = unicode( self.ThemeListWidget.item(newThemeIndex).text()) - newName = unicode(translate('ThemeManager', + newName = unicode(translate('OpenLP.ThemeManager', '%s (default)')) % self.global_theme self.ThemeListWidget.item(newThemeIndex).setText(newName) QtCore.QSettings().setValue( @@ -665,14 +681,15 @@ class ThemeManager(QtGui.QWidget): """ log.debug(u'base theme created') newtheme = ThemeXML() - newtheme.new_document(unicode(translate('ThemeManager', 'New Theme'))) - newtheme.add_background_solid(unicode(u'#000000')) - newtheme.add_font(unicode(QtGui.QFont().family()), unicode(u'#FFFFFF'), - unicode(30), u'False') - newtheme.add_font(unicode(QtGui.QFont().family()), unicode(u'#FFFFFF'), - unicode(12), u'False', u'footer') - newtheme.add_display(u'False', unicode(u'#FFFFFF'), u'False', - unicode(u'#FFFFFF'), unicode(0), unicode(0), unicode(0), u'False') + newtheme.new_document( + unicode(translate('OpenLP.ThemeManager', 'New Theme'))) + newtheme.add_background_solid(u'#000000') + newtheme.add_font(unicode(QtGui.QFont().family()), u'#FFFFFF', + u'30', u'False') + newtheme.add_font(unicode(QtGui.QFont().family()), u'#FFFFFF', + u'12', u'False', u'footer') + newtheme.add_display(u'False', u'#FFFFFF', u'False', + unicode(u'#FFFFFF'), u'0', u'0', u'0', u'False') return newtheme.extract_xml() def createThemeFromXml(self, theme_xml, path): diff --git a/openlp/core/ui/themestab.py b/openlp/core/ui/themestab.py index 007a51fd6..7643525af 100644 --- a/openlp/core/ui/themestab.py +++ b/openlp/core/ui/themestab.py @@ -37,7 +37,7 @@ class ThemesTab(SettingsTab): def setupUi(self): self.setObjectName(u'ThemesTab') - self.tabTitleVisible = translate('ThemesTab', 'Themes') + self.tabTitleVisible = translate('OpenLP.ThemesTab', 'Themes') self.ThemesTabLayout = QtGui.QHBoxLayout(self) self.ThemesTabLayout.setSpacing(8) self.ThemesTabLayout.setMargin(8) @@ -106,26 +106,28 @@ class ThemesTab(SettingsTab): QtCore.SIGNAL(u'theme_update_list'), self.updateThemeList) def retranslateUi(self): - self.GlobalGroupBox.setTitle(translate('ThemesTab', 'Global Theme')) - self.LevelGroupBox.setTitle(translate('ThemesTab', 'Theme Level')) + self.GlobalGroupBox.setTitle( + translate('OpenLP.ThemesTab', 'Global Theme')) + self.LevelGroupBox.setTitle( + translate('OpenLP.ThemesTab', 'Theme Level')) self.SongLevelRadioButton.setText( - translate('ThemesTab', 'S&ong Level')) + translate('OpenLP.ThemesTab', 'S&ong Level')) self.SongLevelLabel.setText( - translate('ThemesTab', 'Use the theme from each song ' + translate('OpenLP.ThemesTab', 'Use the theme from each song ' 'in the database. If a song doesn\'t have a theme associated with ' 'it, then use the service\'s theme. If the service doesn\'t have ' 'a theme, then use the global theme.')) self.ServiceLevelRadioButton.setText( - translate('ThemesTab', '&Service Level')) + translate('OpenLP.ThemesTab', '&Service Level')) self.ServiceLevelLabel.setText( - translate('ThemesTab', 'Use the theme from the service, ' + translate('OpenLP.ThemesTab', 'Use the theme from the service, ' 'overriding any of the individual songs\' themes. If the ' 'service doesn\'t have a theme, then use the global theme.')) self.GlobalLevelRadioButton.setText( - translate('ThemesTab', '&Global Level')) + translate('OpenLP.ThemesTab', '&Global Level')) self.GlobalLevelLabel.setText( - translate('ThemesTab', 'Use the global theme, overriding any ' - 'themes associated with either the service or the songs.')) + translate('OpenLP.ThemesTab', 'Use the global theme, overriding ' + 'any themes associated with either the service or the songs.')) def load(self): settings = QtCore.QSettings() diff --git a/openlp/plugins/songs/forms/editsongdialog.py b/openlp/plugins/songs/forms/editsongdialog.py index dccc6d6ba..e89433fe5 100644 --- a/openlp/plugins/songs/forms/editsongdialog.py +++ b/openlp/plugins/songs/forms/editsongdialog.py @@ -407,11 +407,11 @@ class Ui_EditSongDialog(object): self.TitleLabel.setText( translate('SongsPlugin.EditSongForm', '&Title:')) self.AlternativeTitleLabel.setText( - translate('SongsPlugin.EditSongForm', 'Alt&ernate Title:')) + translate('SongsPlugin.EditSongForm', 'Alt&ernate title:')) self.LyricsLabel.setText( translate('SongsPlugin.EditSongForm', '&Lyrics:')) self.VerseOrderLabel.setText( - translate('SongsPlugin.EditSongForm', '&Verse Order:')) + translate('SongsPlugin.EditSongForm', '&Verse order:')) self.VerseAddButton.setText( translate('SongsPlugin.EditSongForm', '&Add')) self.VerseEditButton.setText( @@ -452,7 +452,7 @@ class Ui_EditSongDialog(object): self.CopyrightInsertButton.setText( translate('SongsPlugin.EditSongForm', '\xa9')) self.CCLILabel.setText( - translate('SongsPlugin.EditSongForm', 'CCLI Number:')) + translate('SongsPlugin.EditSongForm', 'CCLI number:')) self.CommentsGroupBox.setTitle( translate('SongsPlugin.EditSongForm', 'Comments')) self.SongTabWidget.setTabText( diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index 0e2b93bd6..9a5e92bcc 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -93,19 +93,19 @@ class VerseType(object): The type to return a string for """ if verse_type == VerseType.Verse: - return translate('VerseType', 'Verse') + return translate('SongsPlugin.VerseType', 'Verse') elif verse_type == VerseType.Chorus: - return translate('VerseType', 'Chorus') + return translate('SongsPlugin.VerseType', 'Chorus') elif verse_type == VerseType.Bridge: - return translate('VerseType', 'Bridge') + return translate('SongsPlugin.VerseType', 'Bridge') elif verse_type == VerseType.PreChorus: - return translate('VerseType', 'Pre-Chorus') + return translate('SongsPlugin.VerseType', 'Pre-Chorus') elif verse_type == VerseType.Intro: - return translate('VerseType', 'Intro') + return translate('SongsPlugin.VerseType', 'Intro') elif verse_type == VerseType.Ending: - return translate('VerseType', 'Ending') + return translate('SongsPlugin.VerseType', 'Ending') elif verse_type == VerseType.Other: - return translate('VerseType', 'Other') + return translate('SongsPlugin.VerseType', 'Other') @staticmethod def from_string(verse_type): diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 0b9ef789d..28677e3b6 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -209,9 +209,7 @@ class SongMediaItem(MediaManagerItem): self.listView.clear() for author in searchresults: for song in author.songs: - song_detail = unicode( - translate('SongsPlugin.MediaItem', '%s (%s)')) % \ - (author.display_name, song.title) + song_detail = '%s (%s)' % (author.display_name, song.title) song_name = QtGui.QListWidgetItem(song_detail) song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id)) self.listView.addItem(song_name) @@ -270,7 +268,8 @@ class SongMediaItem(MediaManagerItem): """ Edit a song """ - if check_item_selected(self.listView, translate('SongsPlugin.MediaItem', + if check_item_selected(self.listView, + translate('SongsPlugin.MediaItem', 'You must select an item to edit.')): item = self.listView.currentItem() item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] @@ -281,18 +280,19 @@ class SongMediaItem(MediaManagerItem): """ Remove a song from the list and database """ - if check_item_selected(self.listView, translate('SongsPlugin.MediaItem', + if check_item_selected(self.listView, + translate('SongsPlugin.MediaItem', 'You must select an item to delete.')): items = self.listView.selectedIndexes() if len(items) == 1: del_message = translate('SongsPlugin.MediaItem', - 'Delete song?') + 'Are you sure you want to delete the selected song?') else: - del_message = unicode( - translate('SongsPlugin.MediaItem', - 'Delete %d songs?')) % len(items) + del_message = unicode(translate('SongsPlugin.MediaItem', + 'Are you sure you want to delete the %d selected ' + 'songs?')) % len(items) ans = QtGui.QMessageBox.question(self, - translate('SongsPlugin.MediaItem', 'Delete Confirmation'), + translate('SongsPlugin.MediaItem', 'Delete Song(s)?'), del_message, QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok| QtGui.QMessageBox.Cancel), diff --git a/openlp/plugins/songs/lib/songstab.py b/openlp/plugins/songs/lib/songstab.py index 13e497014..e9579aa7f 100644 --- a/openlp/plugins/songs/lib/songstab.py +++ b/openlp/plugins/songs/lib/songstab.py @@ -66,7 +66,7 @@ class SongsTab(SettingsTab): self.SearchAsTypeCheckBox.setText( translate('SongsPlugin.SongsTab', 'Enable search as you type')) self.SongBarActiveCheckBox.setText(translate('SongsPlugin.SongsTab', - 'Display Verses on Live Tool bar')) + 'Display verses on live tool bar')) def onSearchAsTypeCheckBoxChanged(self, check_state): self.song_search = False diff --git a/resources/i18n/openlp_af.ts b/resources/i18n/openlp_af.ts index cf3015e39..b41fe2f51 100644 --- a/resources/i18n/openlp_af.ts +++ b/resources/i18n/openlp_af.ts @@ -14,8 +14,8 @@ - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Waarskuwing Inprop</b><br/>Hierdie inprop beheer die vertoning van waarskuwings op die aanbieding skerm + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen +
@@ -171,8 +171,8 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bybel Miniprogram</strong><br/>Dié miniprogram laat toe dat Bybel verse van verskillende bronne op die skerm vertoon kan word gedurende die diens. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + @@ -655,7 +655,7 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin. @@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.
@@ -906,8 +906,8 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Media Inprop</b><br/>Hierdie inprop verskaf die vermoë om audio of video media te speel + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. +
@@ -1643,7 +1643,7 @@ This General Public License does not permit incorporating your program into prop OpenLP.MainWindow - + OpenLP 2.0 OpenLP 2.0 @@ -1653,404 +1653,404 @@ This General Public License does not permit incorporating your program into prop Engels - + &File &Lêer - + &Import &Invoer - + &Export &Uitvoer - + &View &Bekyk - + M&ode M&odus - + &Tools &Gereedskap - + &Settings Ver&stellings - + &Language Taa&l - + &Help &Hulp - + Media Manager Media Bestuurder - + Service Manager Diens Bestuurder - + Theme Manager Tema Bestuurder - + &New &Nuwe - + New Service Nuwe Diens - + Create a new service. - + Ctrl+N Ctrl+N - + &Open Maak &Oop - + Open Service Maak Diens Oop - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Stoor - + Save Service Stoor Diens - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... Stoor &As... - + Save Service As Stoor Diens As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Uitgang - + Quit OpenLP Sluit OpenLP Af - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager &Media Bestuurder - + Toggle Media Manager Wissel Media Bestuurder - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Tema Bestuurder - + Toggle Theme Manager Wissel Tema Bestuurder - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Diens Bestuurder - + Toggle Service Manager Wissel Diens Bestuurder - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Voorskou Paneel - + Toggle Preview Panel Wissel Voorskou Paneel - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List In&prop Lys - + List the Plugins Lys die Inproppe - + Alt+F7 Alt+F7 - + &User Guide &Gebruikers Gids - + &About &Aangaande - + More information about OpenLP Meer inligting aangaande OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Aanlyn Hulp - + &Web Site &Web Tuiste - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Regstreeks - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated OpenLP Weergawe is Opdateer - + OpenLP Main Display Blanked OpenLP Hoof Vertoning Blanko - + The Main Display has been blanked out Die Hoof Skerm is blanko - + Save Changes to Service? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2567,11 +2567,238 @@ The content encoding is not UTF-8. Gaan na Vers + + OpenLP.ThemeManager + + + New Theme + Nuwe Tema + + + + Create a new theme. + + + + + Edit Theme + Wysig Tema + + + + Edit a theme. + + + + + Delete Theme + Wis Tema Uit + + + + Delete a theme. + + + + + Import Theme + Tema Invoer + + + + Import a theme. + + + + + Export Theme + Voer Tema Uit + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + Fout + + + + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + Stoor Tema - (%s) + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + Kies Tema Invoer Lêer + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + + + + + Theme Exists + Tema Bestaan + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + Temas + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + Gebruik die tema van elke lied in die lied-databasis. As 'n lied nie 'n geassosieërde tema het nie, gebruik die diens se tema. As die diens nie 'n tema het nie, gebruik dan die globale tema. + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + Gebruik die tema van die diens en verplaas enige van die individuele liedere se temas. As die diens nie 'n tema het nie, gebruik dan die globale tema. + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + Gebruik die globale tema om enige temas wat met die diens of liedere geassosieer is te vervang. + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2583,42 +2810,42 @@ The content encoding is not UTF-8. Aanbieding - + Select Presentation(s) Selekteer Aanbieding(e) - + Automatic - + Present using: Bied aan met: - + File Exists - + A presentation with that filename already exists. 'n Voorstelling met daardie lêernaam bestaan reeds. - + Unsupported File - + This type of presentation is not supported - + You must select an item to delete. @@ -2631,16 +2858,26 @@ The content encoding is not UTF-8. Aanbiedinge - + Available Controllers Beskikbare Beheerders + + + Advanced + + + + + Allow presentation application to be overriden + + RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2669,45 +2906,45 @@ The content encoding is not UTF-8.
SongUsagePlugin + + + &Song Usage Tracking + + - &Delete recorded data - &Wis opname data uit - - - - Start/Stop live song usage recording - Begin/Stop regstreekse lied-gebruik opname - - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service - <b>SongUsage Inprop</b><br>Hierdie inprop stoor die gebruik van liedere en wanneer dit gebruik was gedurende 'n regstreekse diens. + &Delete Tracking Data + - Delete song usage to specified date - Wis lied-gebruik uit tot gespesifiseerde datum - - - - Generate report on Song Usage - Genereer verslag van Lied Gebruik - - - - Song Usage Status - Lied Gebruik Status + Delete song usage data up to a specified date. + - &Extract recorded data - V&erkry aangetekende data + &Extract Tracking Data + - - &Song Usage - &Lied Gebruik + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. + @@ -2861,7 +3098,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. @@ -2920,21 +3157,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3025,11 +3252,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - CCLI Nommer: - Comments @@ -3140,6 +3362,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This song book does not exist, do you want to add it? + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + +
SongsPlugin.EditVerseForm @@ -3350,40 +3587,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Skrywers - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - - - - - Delete %d songs? - - - - - Delete Confirmation - - CCLI Licence: CCLI Lisensie: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3593,7 +3825,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar @@ -3621,247 +3853,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R
- Splashscreen - - - Starting - Begin - - - - Splash Screen - Spatsel Skerm - - - - ThemeManager - - - Import Theme - Tema Invoer - - - - Delete Theme - Wis Tema Uit - - - - Error - Fout - - - - Edit Theme - Wysig Tema - - - - Export Theme - Voer Tema Uit - - - - Theme Exists - Tema Bestaan - - - - Save Theme - (%s) - Stoor Tema - (%s) - - - - Select Theme Import File - Kies Tema Invoer Lêer - - - - New Theme - Nuwe Tema - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - You are unable to delete the default theme. - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - You have not selected a theme. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - File is not a valid theme. - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - Gebruik die tema van elke lied in die lied-databasis. As 'n lied nie 'n geassosieërde tema het nie, gebruik die diens se tema. As die diens nie 'n tema het nie, gebruik dan die globale tema. - - - - Use the global theme, overriding any themes associated with either the service or the songs. - Gebruik die globale tema om enige temas wat met die diens of liedere geassosieer is te vervang. - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - Gebruik die tema van die diens en verplaas enige van die individuele liedere se temas. As die diens nie 'n tema het nie, gebruik dan die globale tema. - - - - Themes - Temas - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_de.ts b/resources/i18n/openlp_de.ts index 63449e515..022a1a412 100644 --- a/resources/i18n/openlp_de.ts +++ b/resources/i18n/openlp_de.ts @@ -7,16 +7,16 @@ &Alert &Hinweis - - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Hinweis-Plugin</b><br>Dieses Plugin ermöglicht Hinweise auf dem Projektionsbildschirm anzuzeigen - Show an alert message. + + + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen + + AlertsPlugin.AlertForm @@ -171,8 +171,8 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bibel-Plugin</strong><br />Mit diesem Plugin können Sie Bibeltexte aus verschiedenen Quellen während des Gottesdienstes anzeigen lassen. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + @@ -655,7 +655,7 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin. @@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.
@@ -906,8 +906,8 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Medien Plugin</b><br>Dieses Plugin ermöglicht das Abspielen von Audio und Video Material + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. +
@@ -1643,7 +1643,7 @@ This General Public License does not permit incorporating your program into prop OpenLP.MainWindow - + OpenLP 2.0 OpenLP 2.0 @@ -1653,404 +1653,404 @@ This General Public License does not permit incorporating your program into prop Deutsch - + &File &Datei - + &Import &Importieren - + &Export &Exportieren - + &View &Ansicht - + M&ode M&odus - + &Tools &Extras - + &Settings Ein&stellungen - + &Language &Sprache - + &Help &Hilfe - + Media Manager Medienmanager - + Service Manager Ablaufverwaltung - + Theme Manager Designmanager - + &New &Neu - + New Service Neuer Ablauf - + Create a new service. - + Ctrl+N Strg+N - + &Open &Öffnen - + Open Service Öffnen Ablauf - + Open an existing service. - + Ctrl+O Strg+O - + &Save &Speichern - + Save Service Ablauf speichern - + Save the current service to disk. - + Ctrl+S Strg+S - + Save &As... Speichern &als... - + Save Service As Speicher Gottesdienst unter - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Beenden - + Quit OpenLP OpenLP beenden - + Alt+F4 Alt+F4 - + &Theme &Design - + &Configure OpenLP... - + &Media Manager &Medienmanager - + Toggle Media Manager Medienmanager ein/ausblenden - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Designmanager - + Toggle Theme Manager Designverwaltung ein/ausblenden - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager Ablauf&sverwaltung - + Toggle Service Manager Ablaufmanager ein/ausblenden - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Vorschaubereich - + Toggle Preview Panel Vorschaubereich ein/ausblenden - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Plugin-Liste - + List the Plugins Plugins auflisten - + Alt+F7 Alt+F7 - + &User Guide Ben&utzerhandbuch - + &About &Über - + More information about OpenLP Mehr Informationen über OpenLP - + Ctrl+F1 Strg+F1 - + &Online Help &Online Hilfe - + &Web Site &Webseite - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated OpenLP-Version aktualisiert - + OpenLP Main Display Blanked Hauptbildschirm abgedunkelt - + The Main Display has been blanked out Die Projektion ist momentan nicht aktiv - + Save Changes to Service? Änderungen am Ablauf speichern? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2567,11 +2567,238 @@ The content encoding is not UTF-8. Springe zu + + OpenLP.ThemeManager + + + New Theme + Neues Design + + + + Create a new theme. + + + + + Edit Theme + Design bearbeiten + + + + Edit a theme. + + + + + Delete Theme + Design löschen + + + + Delete a theme. + + + + + Import Theme + Design importieren + + + + Import a theme. + + + + + Export Theme + Design exportieren + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + Fehler + + + + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + Speichere Design - (%s) + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + Wähle Datei für Design Import + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + + + + + Theme Exists + Design existiert + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + Designs + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + Das im jeweiligen Lied eingestellte Design verwenden. Wenn für ein Lied kein Design festgelegt ist, wird das Ablaufdesign verwendet. Wenn dort auch kein Design festgelegt wurde, wird das Standarddesign benutzt. + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + Nutze das dem Ablauf zugewiesene Design, das im Lied eingestellte Design wird ignoriert. Wenn dem Ablauf kein Design zugeordnet ist, dann wird das Standarddesign verwendet. + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + Das Standarddesign immer verwenden, unabhängig vom Lieddesign oder Ablaufdesign + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2583,42 +2810,42 @@ The content encoding is not UTF-8. Präsentation - + Select Presentation(s) Präsentation(en) auswählen - + Automatic - + Present using: Anzeigen mit: - + A presentation with that filename already exists. Eine Präsentation mit diesem Dateinamen existiert bereits. - + You must select an item to delete. - + File Exists - + Unsupported File - + This type of presentation is not supported @@ -2631,16 +2858,26 @@ The content encoding is not UTF-8. Präsentationen - + Available Controllers Verfügbare Präsentationsprogramme: + + + Advanced + + + + + Allow presentation application to be overriden + + RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2669,45 +2906,45 @@ The content encoding is not UTF-8.
SongUsagePlugin + + + &Song Usage Tracking + + - &Delete recorded data - Aufgezeichnete &Daten löschen - - - - Start/Stop live song usage recording - Liederstatistik unterbrechen/weiterführen - - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service - <b>SongUsage-Plugin</b><br>Dieses Plugin zeichnet auf, welche Lieder Sie wie oft und wann benutzt haben und erstellt daraus eine Statistik + &Delete Tracking Data + - Delete song usage to specified date - Liedstatistik bis zu einem bestimmten Termin löschen - - - - Generate report on Song Usage - Liederstatistik generieren - - - - Song Usage Status - Liedstatistik + Delete song usage data up to a specified date. + - &Extract recorded data - &Entpacke aufgezeichnete Daten + &Extract Tracking Data + - - &Song Usage - Lieder Statistik + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. + @@ -2809,11 +3046,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Open documents or presentations - - - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. - - OpenSong (temp menu item) @@ -2864,6 +3096,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error importing OpenLP v2 database(s) + + + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. + + SongsPlugin.AuthorsForm @@ -2920,21 +3157,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3015,11 +3242,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - CCLI-Nummer: - Comments @@ -3140,6 +3362,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This topic is already in the list. + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + + SongsPlugin.EditVerseForm @@ -3350,40 +3587,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Autoren - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - - - - - Delete %d songs? - - - - - Delete Confirmation - - CCLI Licence: CCLI-Lizenz: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3593,7 +3825,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar @@ -3621,247 +3853,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R
- Splashscreen - - - Starting - Starte ... - - - - Splash Screen - Startbildschirm - - - - ThemeManager - - - Import Theme - Design importieren - - - - Delete Theme - Design löschen - - - - Error - Fehler - - - - Edit Theme - Design bearbeiten - - - - Export Theme - Design exportieren - - - - Theme Exists - Design existiert - - - - Save Theme - (%s) - Speichere Design - (%s) - - - - Select Theme Import File - Wähle Datei für Design Import - - - - New Theme - Neues Design - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - You are unable to delete the default theme. - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - You have not selected a theme. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - File is not a valid theme. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - Das im jeweiligen Lied eingestellte Design verwenden. Wenn für ein Lied kein Design festgelegt ist, wird das Ablaufdesign verwendet. Wenn dort auch kein Design festgelegt wurde, wird das Standarddesign benutzt. - - - - Use the global theme, overriding any themes associated with either the service or the songs. - Das Standarddesign immer verwenden, unabhängig vom Lieddesign oder Ablaufdesign - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - Nutze das dem Ablauf zugewiesene Design, das im Lied eingestellte Design wird ignoriert. Wenn dem Ablauf kein Design zugeordnet ist, dann wird das Standarddesign verwendet. - - - - Themes - Designs - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_en.ts b/resources/i18n/openlp_en.ts index be71ac581..665eb1e95 100644 --- a/resources/i18n/openlp_en.ts +++ b/resources/i18n/openlp_en.ts @@ -14,7 +14,7 @@ - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen @@ -171,7 +171,7 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.
@@ -655,7 +655,7 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.
@@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.
@@ -906,7 +906,7 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.
@@ -1643,7 +1643,7 @@ This General Public License does not permit incorporating your program into prop OpenLP.MainWindow - + OpenLP 2.0 @@ -1653,404 +1653,404 @@ This General Public License does not permit incorporating your program into prop - + &File - + &Import - + &Export - + &View - + M&ode - + &Tools - + &Settings - + &Language - + &Help - + Media Manager - + Service Manager - + Theme Manager - + &New - + New Service - + Create a new service. - + Ctrl+N - + &Open - + Open Service - + Open an existing service. - + Ctrl+O - + &Save - + Save Service - + Save the current service to disk. - + Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit - + Quit OpenLP - + Alt+F4 - + &Theme - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 - + &Theme Manager - + Toggle Theme Manager - + Toggle the visibility of the theme manager. - + F10 - + &Service Manager - + Toggle Service Manager - + Toggle the visibility of the service manager. - + F9 - + &Preview Panel - + Toggle Preview Panel - + Toggle the visibility of the preview panel. - + F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 - + &Plugin List - + List the Plugins - + Alt+F7 - + &User Guide - + &About - + More information about OpenLP - + Ctrl+F1 - + &Online Help - + &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated - + OpenLP Main Display Blanked - + The Main Display has been blanked out - + Save Changes to Service? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2567,11 +2567,238 @@ The content encoding is not UTF-8. + + OpenLP.ThemeManager + + + New Theme + + + + + Create a new theme. + + + + + Edit Theme + + + + + Edit a theme. + + + + + Delete Theme + + + + + Delete a theme. + + + + + Import Theme + + + + + Import a theme. + + + + + Export Theme + + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + + + + + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + + + + + Theme Exists + + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2583,42 +2810,42 @@ The content encoding is not UTF-8. - + Select Presentation(s) - + Automatic - + Present using: - + File Exists - + A presentation with that filename already exists. - + Unsupported File - + This type of presentation is not supported - + You must select an item to delete. @@ -2631,16 +2858,26 @@ The content encoding is not UTF-8. - + Available Controllers + + + Advanced + + + + + Allow presentation application to be overriden + +
RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2669,44 +2906,44 @@ The content encoding is not UTF-8.
SongUsagePlugin + + + &Song Usage Tracking + + - &Delete recorded data - - - - - Start/Stop live song usage recording - - - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service + &Delete Tracking Data - Delete song usage to specified date - - - - - Generate report on Song Usage - - - - - Song Usage Status + Delete song usage data up to a specified date. - &Extract recorded data + &Extract Tracking Data - - &Song Usage + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. @@ -2861,7 +3098,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.
@@ -2920,21 +3157,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3025,11 +3252,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - - Comments @@ -3140,6 +3362,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This song book does not exist, do you want to add it? + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + +
SongsPlugin.EditVerseForm @@ -3350,40 +3587,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - - - - - Delete %d songs? - - - - - Delete Confirmation - - CCLI Licence: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3593,7 +3825,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar @@ -3621,247 +3853,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R
- Splashscreen - - - Starting - - - - - Splash Screen - - - - - ThemeManager - - - Import Theme - - - - - Delete Theme - - - - - Error - - - - - Edit Theme - - - - - Export Theme - - - - - Theme Exists - - - - - Save Theme - (%s) - - - - - Select Theme Import File - - - - - New Theme - - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - You are unable to delete the default theme. - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - You have not selected a theme. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - File is not a valid theme. - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - - - - - Use the global theme, overriding any themes associated with either the service or the songs. - - - - - Themes - - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_en_GB.ts b/resources/i18n/openlp_en_GB.ts index 27c2863e9..fe066d402 100644 --- a/resources/i18n/openlp_en_GB.ts +++ b/resources/i18n/openlp_en_GB.ts @@ -14,8 +14,8 @@ - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen + @@ -171,8 +171,8 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + @@ -655,7 +655,7 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin. @@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.
@@ -906,8 +906,8 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. +
@@ -1643,7 +1643,7 @@ This General Public License does not permit incorporating your program into prop OpenLP.MainWindow - + OpenLP 2.0 OpenLP 2.0 @@ -1653,404 +1653,404 @@ This General Public License does not permit incorporating your program into prop English - + &File &File - + &Import &Import - + &Export &Export - + &View &View - + M&ode M&ode - + &Tools &Tools - + &Settings &Settings - + &Language &Language - + &Help &Help - + Media Manager Media Manager - + Service Manager Service Manager - + Theme Manager Theme Manager - + &New &New - + New Service New Service - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Open - + Open Service Open Service - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Save - + Save Service Save Service - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... Save &As... - + Save Service As Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit E&xit - + Quit OpenLP Quit OpenLP - + Alt+F4 Alt+F4 - + &Theme &Theme - + &Configure OpenLP... - + &Media Manager &Media Manager - + Toggle Media Manager Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Theme Manager - + Toggle Theme Manager Toggle Theme Manager - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Service Manager - + Toggle Service Manager Toggle Service Manager - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Preview Panel - + Toggle Preview Panel Toggle Preview Panel - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Plugin List - + List the Plugins List the Plugins - + Alt+F7 Alt+F7 - + &User Guide &User Guide - + &About &About - + More information about OpenLP More information about OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Online Help - + &Web Site &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated OpenLP Version Updated - + OpenLP Main Display Blanked OpenLP Main Display Blanked - + The Main Display has been blanked out The Main Display has been blanked out - + Save Changes to Service? Save Changes to Service? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2567,11 +2567,238 @@ The content encoding is not UTF-8. Go to Verse + + OpenLP.ThemeManager + + + New Theme + New Theme + + + + Create a new theme. + + + + + Edit Theme + Edit Theme + + + + Edit a theme. + + + + + Delete Theme + Delete Theme + + + + Delete a theme. + + + + + Import Theme + Import Theme + + + + Import a theme. + + + + + Export Theme + Export Theme + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + Error + + + + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + Save Theme - (%s) + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + Select Theme Import File + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + + + + + Theme Exists + Theme Exists + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + Themes + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + Use the global theme, overriding any themes associated with either the service or the songs. + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2583,42 +2810,42 @@ The content encoding is not UTF-8. Presentation - + Select Presentation(s) Select Presentation(s) - + Automatic - + Present using: Present using: - + File Exists - + A presentation with that filename already exists. A presentation with that filename already exists. - + Unsupported File - + This type of presentation is not supported - + You must select an item to delete. @@ -2631,16 +2858,26 @@ The content encoding is not UTF-8. Presentations - + Available Controllers Available Controllers + + + Advanced + + + + + Allow presentation application to be overriden + + RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2669,45 +2906,45 @@ The content encoding is not UTF-8.
SongUsagePlugin + + + &Song Usage Tracking + + - &Delete recorded data - &Delete recorded data - - - - Start/Stop live song usage recording - Start/Stop live song usage recording - - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service + &Delete Tracking Data + - Delete song usage to specified date - Delete song usage to specified date - - - - Generate report on Song Usage - Generate report on Song Usage - - - - Song Usage Status - Song Usage Status + Delete song usage data up to a specified date. + - &Extract recorded data - &Extract recorded data + &Extract Tracking Data + - - &Song Usage - &Song Usage + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. + @@ -2861,7 +3098,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. @@ -2920,21 +3157,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3025,11 +3252,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - CCLI Number: - Comments @@ -3140,6 +3362,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This song book does not exist, do you want to add it? + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + +
SongsPlugin.EditVerseForm @@ -3350,40 +3587,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Authors - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - - - - - Delete %d songs? - - - - - Delete Confirmation - - CCLI Licence: CCLI Licence: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3593,7 +3825,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar @@ -3621,247 +3853,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R
- Splashscreen - - - Starting - Starting - - - - Splash Screen - Splash Screen - - - - ThemeManager - - - Import Theme - Import Theme - - - - Delete Theme - Delete Theme - - - - Error - Error - - - - Edit Theme - Edit Theme - - - - Export Theme - Export Theme - - - - Theme Exists - Theme Exists - - - - Save Theme - (%s) - Save Theme - (%s) - - - - Select Theme Import File - Select Theme Import File - - - - New Theme - New Theme - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - You are unable to delete the default theme. - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - You have not selected a theme. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - File is not a valid theme. - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - - - - Use the global theme, overriding any themes associated with either the service or the songs. - Use the global theme, overriding any themes associated with either the service or the songs. - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - - - - Themes - Themes - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_en_ZA.ts b/resources/i18n/openlp_en_ZA.ts index bb086411f..158671e38 100644 --- a/resources/i18n/openlp_en_ZA.ts +++ b/resources/i18n/openlp_en_ZA.ts @@ -14,7 +14,7 @@ - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen @@ -171,8 +171,8 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. +
@@ -655,7 +655,7 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin. @@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.
@@ -906,7 +906,7 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.
@@ -1643,7 +1643,7 @@ This General Public License does not permit incorporating your program into prop OpenLP.MainWindow - + OpenLP 2.0 @@ -1653,404 +1653,404 @@ This General Public License does not permit incorporating your program into prop English - + &File &File - + &Import &Import - + &Export &Export - + &View &View - + M&ode - + &Tools - + &Settings &Settings - + &Language - + &Help - + Media Manager Media Manager - + Service Manager Service Manager - + Theme Manager - + &New &New - + New Service - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Open - + Open Service Open Service - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save - + Save Service - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit - + Quit OpenLP Quit OpenLP - + Alt+F4 Alt+F4 - + &Theme - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager - + Toggle Theme Manager Toggle Theme Manager - + Toggle the visibility of the theme manager. - + F10 - + &Service Manager &Service Manager - + Toggle Service Manager Toggle Service Manager. - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Preview Panel - + Toggle Preview Panel Toggle Preview Panel - + Toggle the visibility of the preview panel. - + F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 - + &Plugin List - + List the Plugins List the plugins - + Alt+F7 Alt+F7 - + &User Guide &User Guide - + &About - + More information about OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help - + &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated OpenLP Version Updated - + OpenLP Main Display Blanked - + The Main Display has been blanked out The Main Display has been blanked out - + Save Changes to Service? Save Changes to Service? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2567,11 +2567,238 @@ The content encoding is not UTF-8. Go to Verse + + OpenLP.ThemeManager + + + New Theme + + + + + Create a new theme. + + + + + Edit Theme + Edit Theme + + + + Edit a theme. + + + + + Delete Theme + Delete Theme + + + + Delete a theme. + + + + + Import Theme + Import Theme + + + + Import a theme. + + + + + Export Theme + Export Theme + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + Error + + + + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + Save Theme - (%s) + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + + + + + Theme Exists + Theme Exists + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + Themes + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + Use the global theme, overriding any themes associated with either the service or the songs. + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2583,42 +2810,42 @@ The content encoding is not UTF-8. Presentation - + Select Presentation(s) - + Automatic - + Present using: Present using: - + File Exists - + A presentation with that filename already exists. - + Unsupported File - + This type of presentation is not supported - + You must select an item to delete. @@ -2631,16 +2858,26 @@ The content encoding is not UTF-8. - + Available Controllers Available Controllers + + + Advanced + + + + + Allow presentation application to be overriden + +
RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2670,43 +2907,43 @@ The content encoding is not UTF-8. SongUsagePlugin - - &Delete recorded data - &Delete recorded data - - - - Start/Stop live song usage recording - Start/Stop live song usage recording - - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service - - - - Delete song usage to specified date - Delete song usage to specified date - - - - Generate report on Song Usage - Generate report on Song Usage - - - - Song Usage Status - Song Usage Status - - - - &Extract recorded data + + &Song Usage Tracking - - &Song Usage + + &Delete Tracking Data + + + + + Delete song usage data up to a specified date. + + + + + &Extract Tracking Data + + + + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. @@ -2861,7 +3098,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs.
@@ -2920,21 +3157,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3025,11 +3252,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - CCLI Number: - Comments @@ -3140,6 +3362,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This song book does not exist, do you want to add it? + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + +
SongsPlugin.EditVerseForm @@ -3350,40 +3587,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Authors - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - - - - - Delete %d songs? - - - - - Delete Confirmation - - CCLI Licence: CCLI License: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3593,7 +3825,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar @@ -3621,247 +3853,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R
- Splashscreen - - - Starting - - - - - Splash Screen - Splash Screen - - - - ThemeManager - - - Import Theme - Import Theme - - - - Delete Theme - Delete Theme - - - - Error - Error - - - - Edit Theme - Edit Theme - - - - Export Theme - Export Theme - - - - Theme Exists - Theme Exists - - - - Save Theme - (%s) - Save Theme - (%s) - - - - Select Theme Import File - - - - - New Theme - - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - You are unable to delete the default theme. - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - You have not selected a theme. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - File is not a valid theme. - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - - - - Use the global theme, overriding any themes associated with either the service or the songs. - Use the global theme, overriding any themes associated with either the service or the songs. - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - - - - Themes - Themes - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_es.ts b/resources/i18n/openlp_es.ts index 024fef7a3..213fd8568 100644 --- a/resources/i18n/openlp_es.ts +++ b/resources/i18n/openlp_es.ts @@ -14,8 +14,8 @@ - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Alerts Plugin</b><br>Este plugin controla la visualización de alertas en la pantalla de presentaciones + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen + @@ -171,8 +171,8 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bible Plugin</strong><br />Este plugin permite visualizar versículos de la Biblia en la pantalla desde distintas fuentes durante el servicio. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + @@ -655,7 +655,7 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin. @@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.
@@ -906,8 +906,8 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Media Plugin</b><br>Este plugin permite la reproducción de medios de audio y video + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. +
@@ -1643,7 +1643,7 @@ This General Public License does not permit incorporating your program into prop OpenLP.MainWindow - + OpenLP 2.0 OpenLP 2.0 @@ -1653,404 +1653,404 @@ This General Public License does not permit incorporating your program into prop Ingles - + &File &Archivo - + &Import &Importar - + &Export &Exportar - + &View &Ver - + M&ode M&odo - + &Tools &Herramientas - + &Settings &Preferencias - + &Language &Idioma - + &Help &Ayuda - + Media Manager Gestor de Medios - + Service Manager Gestor de Servicio - + Theme Manager Gestor de Temas - + &New &Nuevo - + New Service Servicio Nuevo - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Abrir - + Open Service Abrir Servicio - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Guardar - + Save Service Guardar Servicio - + Save the current service to disk. - + Ctrl+S Crtl+G - + Save &As... Guardar &Como... - + Save Service As Guardar Servicio Como - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Salir - + Quit OpenLP Salir de OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager Gestor de &Medios - + Toggle Media Manager Alternar Gestor de Medios - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager Gestor de &Temas - + Toggle Theme Manager Alternar Gestor de Temas - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager Gestor de &Servicio - + Toggle Service Manager Alternar Gestor de Servicio - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Panel de Vista Previa - + Toggle Preview Panel Alternar Panel de Vista Previa - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List Lista de &Plugins - + List the Plugins Lista de Plugins - + Alt+F7 Alt+F7 - + &User Guide Guía de &Usuario - + &About &Acerca De - + More information about OpenLP Más información acerca de OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Ayuda En Línea - + &Web Site Sitio &Web - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live En &vivo - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated Versión de OpenLP Actualizada - + OpenLP Main Display Blanked Pantalla Principal de OpenLP en Blanco - + The Main Display has been blanked out La Pantalla Principal esta en negro - + Save Changes to Service? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2567,11 +2567,238 @@ The content encoding is not UTF-8. Ir al Verso + + OpenLP.ThemeManager + + + New Theme + Tema Nuevo + + + + Create a new theme. + + + + + Edit Theme + Editar Tema + + + + Edit a theme. + + + + + Delete Theme + Eliminar Tema + + + + Delete a theme. + + + + + Import Theme + Importar Tema + + + + Import a theme. + + + + + Export Theme + Exportar Tema + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + Error + + + + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + Guardar Tema - (%s) + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + Seleccione el Archivo de Tema a Importar + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + + + + + Theme Exists + Ya existe el Tema + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + Temas + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + Utilice el tema de cada canción en la base de datos. Si una canción no tiene un tema asociado, utilizar el tema del servicio. Si el servicio no tiene un tema, utilizar el tema global. + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + Utilizar el tema del servicio, ignorando el tema de las canciones individuales. Si el servicio no tiene un tema, utilizar el tema global. + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + Utilice el tema global, ignorado los temas asociados con el servicio o con las canciones. + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2583,42 +2810,42 @@ The content encoding is not UTF-8. Presentación - + Select Presentation(s) Seleccionar Presentación(es) - + Automatic - + Present using: Mostrar usando: - + File Exists - + A presentation with that filename already exists. Ya existe una presentación con ese nombre. - + Unsupported File - + This type of presentation is not supported - + You must select an item to delete. @@ -2631,16 +2858,26 @@ The content encoding is not UTF-8. Presentaciones - + Available Controllers Controladores Disponibles + + + Advanced + + + + + Allow presentation application to be overriden + + RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2669,45 +2906,45 @@ The content encoding is not UTF-8.
SongUsagePlugin + + + &Song Usage Tracking + + - &Delete recorded data - &Eliminar los datos guardados - - - - Start/Stop live song usage recording - Sincronizar la canción en vivo - - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service - <b>SongUsage Plugin</b><br>Este plugin registra el uso de canciones y cuando se han utilizado durante un servicio en vivo + &Delete Tracking Data + - Delete song usage to specified date - Eliminar el historial de uso hasta la fecha especificada - - - - Generate report on Song Usage - Crear un reporte del Uso de las Canciones - - - - Song Usage Status - Estado de Uso de las Canciones + Delete song usage data up to a specified date. + - &Extract recorded data - &Extraer los datos guardados + &Extract Tracking Data + - - &Song Usage - &Uso de las Canciones + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. + @@ -2861,7 +3098,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. @@ -2920,21 +3157,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3025,11 +3252,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - - Comments @@ -3140,6 +3362,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This song book does not exist, do you want to add it? + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + +
SongsPlugin.EditVerseForm @@ -3350,40 +3587,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Autores - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - - - - - Delete %d songs? - - - - - Delete Confirmation - - CCLI Licence: Licencia CCLI: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3593,7 +3825,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar @@ -3621,247 +3853,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R
- Splashscreen - - - Starting - Iniciando - - - - Splash Screen - Pantalla de Bienvenida - - - - ThemeManager - - - Import Theme - Importar Tema - - - - Delete Theme - Eliminar Tema - - - - Error - Error - - - - Edit Theme - Editar Tema - - - - Export Theme - Exportar Tema - - - - Theme Exists - Ya existe el Tema - - - - Save Theme - (%s) - Guardar Tema - (%s) - - - - Select Theme Import File - Seleccione el Archivo de Tema a Importar - - - - New Theme - Tema Nuevo - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - You are unable to delete the default theme. - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - You have not selected a theme. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - File is not a valid theme. - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - Utilice el tema de cada canción en la base de datos. Si una canción no tiene un tema asociado, utilizar el tema del servicio. Si el servicio no tiene un tema, utilizar el tema global. - - - - Use the global theme, overriding any themes associated with either the service or the songs. - Utilice el tema global, ignorado los temas asociados con el servicio o con las canciones. - - - - Themes - Temas - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - Utilizar el tema del servicio, ignorando el tema de las canciones individuales. Si el servicio no tiene un tema, utilizar el tema global. - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_et.ts b/resources/i18n/openlp_et.ts index 62e41d62c..8a0658d97 100644 --- a/resources/i18n/openlp_et.ts +++ b/resources/i18n/openlp_et.ts @@ -8,13 +8,13 @@ - - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + + Show an alert message. - - Show an alert message. + + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen @@ -171,7 +171,7 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service.
@@ -655,7 +655,7 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.
@@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.
@@ -906,8 +906,8 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Meedia plugin</b><br>See plugin võimaldab audio ja video esitamise + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. +
@@ -1681,409 +1681,409 @@ This General Public License does not permit incorporating your program into prop Eesti - + OpenLP 2.0 OpenLP 2.0 - + &File &Fail - + &Import &Impordi - + &Export &Ekspordi - + &View &Vaade - + M&ode &Režiim - + &Tools &Tööriistad - + &Settings &Sätted - + &Language &Keel - + &Help A&bi - + Media Manager Meediahaldur - + Service Manager Teenistuse haldur - + Theme Manager Kujunduse haldur - + &New &Uus - + New Service Uus teenistus - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Ava - + Open Service Teenistuse avamine - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Salvesta - + Save Service Salvesta teenistus - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... Salvesta &kui... - + Save Service As Salvesta teenistus kui - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Välju - + Quit OpenLP Lahku OpenLPst - + Alt+F4 Alt+F4 - + &Theme &Kujundus - + &Configure OpenLP... - + &Media Manager &Meediahaldur - + Toggle Media Manager Meediahalduri lüliti - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Kujunduse haldur - + Toggle Theme Manager Kujunduse halduri lüliti - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Teenistuse haldur - + Toggle Service Manager Teenistuse halduri lüliti - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Eelvaatluspaneel - + Toggle Preview Panel Eelvaatluspaneeli lüliti - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Pluginate loend - + List the Plugins Pluginate loend - + Alt+F7 Alt+F7 - + &User Guide &Kasutajajuhend - + &About &Lähemalt - + More information about OpenLP Lähem teave OpenLP kohta - + Ctrl+F1 Ctrl+F1 - + &Online Help &Abi veebis - + &Web Site &Veebileht - + &Auto Detect &Isetuvastus - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... Lisa &tööriist... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Otse - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated OpenLP uuendus - + OpenLP Main Display Blanked OpenLP peakuva on tühi - + The Main Display has been blanked out Peakuva on tühi - + Save Changes to Service? Kas salvestada teenistusse tehtud muudatused? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2600,18 +2600,245 @@ The content encoding is not UTF-8. Liikumine salmile + + OpenLP.ThemeManager + + + New Theme + Uus kujundus + + + + Create a new theme. + + + + + Edit Theme + Kujunduse muutmine + + + + Edit a theme. + + + + + Delete Theme + Teema kustutamine + + + + Delete a theme. + + + + + Import Theme + Teema importimine + + + + Import a theme. + + + + + Export Theme + Kujunduse eksportimine + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + Viga + + + + You are unable to delete the default theme. + Vaikimisi kujundust pole võimalik kustutada. + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + Sa ei ole teemat valinud. + + + + Save Theme - (%s) + Salvesta kujundus - (%s) + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + Importimiseks kujunduse faili valimine + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + See fail ei ole sobilik kujundus. + + + + Theme Exists + Kujundus on juba olemas + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + Kujundused + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + Iga laulu jaoks kasutatakse andmebaasis sellele määratud kujundust. Kui laulul kujundus puudub, kasutatakse teenistuse teemat. Kui teenistusel kujundus puudub, siis kasutatakse üleüldist teemat. + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + Kasutatakse teenistuse kujundust, eirates laulude kujundusi. Kui teenistusel kujundust pole, kasutatakse globaalset. + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + Kasutatakse globaalset kujundust, eirates nii teenistuse kui laulu kujundust. + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. PresentationPlugin.MediaItem - + Present using: @@ -2621,37 +2848,37 @@ The content encoding is not UTF-8. - + Select Presentation(s) - + Automatic - + A presentation with that filename already exists. - + You must select an item to delete. - + This type of presentation is not supported - + File Exists - + Unsupported File @@ -2664,16 +2891,26 @@ The content encoding is not UTF-8. - + Available Controllers + + + Advanced + + + + + Allow presentation application to be overriden + + RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2704,42 +2941,42 @@ The content encoding is not UTF-8. SongUsagePlugin - &Song Usage + &Song Usage Tracking - &Delete recorded data + &Delete Tracking Data - Delete song usage to specified date + Delete song usage data up to a specified date. - &Extract recorded data + &Extract Tracking Data - Generate report on Song Usage + Generate a report on song usage. - - Song Usage Status + + Toggle Tracking - - Start/Stop live song usage recording + + Toggle the tracking of song usage. - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services.
@@ -2842,11 +3079,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Open documents or presentations - - - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. - - OpenSong (temp menu item) @@ -2897,6 +3129,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error importing OpenLP v2 database(s) + + + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. + +
SongsPlugin.AuthorsForm @@ -2958,11 +3195,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Lyrics: - - - &Verse Order: - - &Add @@ -3033,11 +3265,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Copyright Information Autoriõiguse andmed - - - CCLI Number: - CCLI number: - Comments @@ -3103,11 +3330,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R The verse order is invalid. There is no verse corresponding to %s. Valid entries are %s. - - - Alt&ernate Title: - - New &Theme @@ -3173,6 +3395,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This topic is already in the list. + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + + SongsPlugin.EditVerseForm @@ -3377,16 +3614,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Authors - - - %s (%s) - - - - - Delete Confirmation - - CCLI Licence: @@ -3398,23 +3625,28 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - + You must select an item to edit. - + You must select an item to delete. - Delete song? + Are you sure you want to delete the selected song? - Delete %d songs? + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? @@ -3626,7 +3858,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar
@@ -3654,247 +3886,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R
- Splashscreen - - - Starting - Käivitumine - - - - Splash Screen - Käivitusekraan - - - - ThemeManager - - - Import Theme - Teema importimine - - - - Delete Theme - Teema kustutamine - - - - Error - Viga - - - - Edit Theme - Kujunduse muutmine - - - - Export Theme - Kujunduse eksportimine - - - - You are unable to delete the default theme. - Vaikimisi kujundust pole võimalik kustutada. - - - - File is not a valid theme. - See fail ei ole sobilik kujundus. - - - - Theme Exists - Kujundus on juba olemas - - - - Save Theme - (%s) - Salvesta kujundus - (%s) - - - - Select Theme Import File - Importimiseks kujunduse faili valimine - - - - New Theme - Uus kujundus - - - - You have not selected a theme. - Sa ei ole teemat valinud. - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the global theme, overriding any themes associated with either the service or the songs. - Kasutatakse globaalset kujundust, eirates nii teenistuse kui laulu kujundust. - - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - Iga laulu jaoks kasutatakse andmebaasis sellele määratud kujundust. Kui laulul kujundus puudub, kasutatakse teenistuse teemat. Kui teenistusel kujundus puudub, siis kasutatakse üleüldist teemat. - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - Kasutatakse teenistuse kujundust, eirates laulude kujundusi. Kui teenistusel kujundust pole, kasutatakse globaalset. - - - - Themes - Kujundused - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_hu.ts b/resources/i18n/openlp_hu.ts index 20726dd9c..1ed312f74 100644 --- a/resources/i18n/openlp_hu.ts +++ b/resources/i18n/openlp_hu.ts @@ -14,8 +14,8 @@ - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Figyelmeztető bővítmény</b><br/>Ez a bővítmény kezeli a vetítőn megjelenő figyelmeztetéseket + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen + @@ -171,8 +171,8 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Biblia bővítmény</strong><br />Ez a bővítmény különféle igehelyek vetítését teszi lehetővé a szolgálat alatt. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + @@ -655,8 +655,8 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - <b>Egyedi bővítmény</b><br/>Ez a bővítmény dalokhoz hasonló diák vetítését teszi lehetővé. Ugyanakkor több szabadságot enged meg, mint a dalok bővítmény + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin. + @@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme. @@ -906,8 +906,8 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Média bővítmény</b><br />Ez a bővítmény hangok és videók lejátszását teszi lehetővé + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. +
@@ -1803,7 +1803,7 @@ A GNU General Public License nem engedi meg, hogy a program része legyen szelle OpenLP.MainWindow - + OpenLP 2.0 @@ -1813,404 +1813,404 @@ A GNU General Public License nem engedi meg, hogy a program része legyen szelle Magyar - + &File &Fájl - + &Import &Importálás - + &Export &Exportálás - + &View &Nézet - + M&ode &Mód - + &Tools &Eszközök - + &Settings &Beállítások - + &Language &Nyelv - + &Help &Súgó - + Media Manager Médiakezelő - + Service Manager Szolgálatkezelő - + Theme Manager Témakezelő - + &New &Új - + New Service Új szolgálat - + Create a new service. - + Ctrl+N - + &Open &Megnyitás - + Open Service Szolgálat megnyitása - + Open an existing service. - + Ctrl+O - + &Save - + Save Service Szolgálat mentése - + Save the current service to disk. - + Ctrl+S - + Save &As... Mentés má&sként... - + Save Service As Szolgálat mentése másként - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Kilépés - + Quit OpenLP OpenLP bezárása - + Alt+F4 - + &Theme &Téma - + &Configure OpenLP... - + &Media Manager &Médiakezelő - + Toggle Media Manager Médiakezelő átváltása - + Toggle the visibility of the media manager. - + F8 - + &Theme Manager &Témakezelő - + Toggle Theme Manager Témakezelő átváltása - + Toggle the visibility of the theme manager. - + F10 - + &Service Manager &Szolgálatkezelő - + Toggle Service Manager Szolgálatkezelő átváltása - + Toggle the visibility of the service manager. - + F9 - + &Preview Panel &Előnézet panel - + Toggle Preview Panel Előnézet panel átváltása - + Toggle the visibility of the preview panel. - + F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 - + &Plugin List &Bővítménylista - + List the Plugins Bővítmények listája - + Alt+F7 - + &User Guide &Felhasználói kézikönyv - + &About &Névjegy - + More information about OpenLP Több információ az OpenLP-ről - + Ctrl+F1 - + &Online Help &Online súgó - + &Web Site &Weboldal - + &Auto Detect &Automatikus felismerés - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... &Eszköz hozzáadása... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Egyenes adás - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated OpenLP verziófrissítés - + OpenLP Main Display Blanked Sötét OpenLP fő képernyő - + The Main Display has been blanked out A fő képernyő el lett sötétítve - + Save Changes to Service? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2727,12 +2727,239 @@ The content encoding is not UTF-8. Ugrás versszakra + + OpenLP.ThemeManager + + + New Theme + Új téma + + + + Create a new theme. + + + + + Edit Theme + Téma szerkesztése + + + + Edit a theme. + + + + + Delete Theme + Téma törlése + + + + Delete a theme. + + + + + Import Theme + Téma importálása + + + + Import a theme. + + + + + Export Theme + Téma exportálása + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + Törlés megerősítése + + + + Delete theme? + + + + + Error + Hiba + + + + You are unable to delete the default theme. + Az alapértelmezett témát nem lehet törölni. + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + Nincs kiválasztva egy téma sem. + + + + Save Theme - (%s) + Téma mentése – (%s) + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + Importálandó téma fájl kiválasztása + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + Nem érvényes témafájl. + + + + Theme Exists + A téma már létezik + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + Témák + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + Minden dalra az adatbázisban tárolt téma alkalmazása. Ha egy dalhoz nincs saját téma beállítva, akkor a szolgálathoz beállított használata. Ha a szolgálathoz sincs téma beállítva, akkor a globális téma alkalmazása. + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + A szolgálathoz beállított téma alkalmazása, vagyis az egyes dalokhoz megadott témák felülírása. Ha a szolgálathoz nincs téma beállítva, akkor a globális téma alkalmazása. + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + A globális téma alkalmazása, vagyis a szolgálathoz, ill. a dalokhoz beállított témák felülírása. + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. - <b>Bemutató bővítmény</b><br />Különböző külső programok segítségével bemutatók megjelenítését teszi lehetővé. A prezentációs programok egy listából választhatók ki. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + @@ -2743,42 +2970,42 @@ The content encoding is not UTF-8. Bemutató - + Select Presentation(s) Bemutató(k) kiválasztása - + Automatic Automatikus - + Present using: Bemutató ezzel: - + File Exists - + A presentation with that filename already exists. Ilyen fájlnéven már létezik egy bemutató. - + Unsupported File - + This type of presentation is not supported - + You must select an item to delete. @@ -2791,17 +3018,27 @@ The content encoding is not UTF-8. Bemutatók - + Available Controllers Elérhető vezérlők + + + Advanced + + + + + Allow presentation application to be overriden + + RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche - <b>Távvezérlő bővítmény</b><br/>Ez a bővítmény egy böngésző vagy más alkalmazás segítségével lehetővé teszi egy másik számítógépen futó OpenLP irányítását.<br/>Az elsődleges felhasználási terület egy programösszeomlás jelentése + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. + @@ -2829,45 +3066,45 @@ The content encoding is not UTF-8. SongUsagePlugin - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service - <b>Dalstatisztika bővítmény</b><br />Ez a bővítmény rögzíti, hogy a dalok mikor lettek vetítve egy élő szolgálat során - - &Song Usage - Dal&statisztika + &Song Usage Tracking + - &Delete recorded data - Mentett adatok &törlése + &Delete Tracking Data + - Delete song usage to specified date - Dalstatisztika törlése a megadott dátumig + Delete song usage data up to a specified date. + - &Extract recorded data - Mentett adatok &kibontása + &Extract Tracking Data + - Generate report on Song Usage - Jelentés készítése a dalstatisztikából + Generate a report on song usage. + - - Song Usage Status - Dalstatisztika állapota + + Toggle Tracking + - - Start/Stop live song usage recording - Élő dalstatisztika rögzítésének indítása/leállítása + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. + @@ -2928,11 +3165,6 @@ The content encoding is not UTF-8. Open documents or presentations Dokumentum vagy bemutató megnyitása - - - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. - <strong>Dal bővítmény</strong> <br />Ez a a bővítmény dalok kezelését és vetítését teszi lehetővé. - &Song @@ -3024,6 +3256,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Error importing OpenLP v2 database(s) + + + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. + + SongsPlugin.AuthorsForm @@ -3080,21 +3317,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3185,11 +3412,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - CCLI szám: - Comments @@ -3300,6 +3522,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This song book does not exist, do you want to add it? + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + + SongsPlugin.EditVerseForm @@ -3510,40 +3747,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Szerzők - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - Valóban törölhető a dal? - - - - Delete %d songs? - Valóban törölhetők a dalok: %d? - - - - Delete Confirmation - Törlés megerősítése - CCLI Licence: CCLI licenc: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3753,8 +3985,8 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar - Versszakok megjelenítése az egyenes adás eszközön + Display verses on live tool bar + @@ -3781,247 +4013,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Splashscreen - - - Starting - Indítás - - - - Splash Screen - Indítóképernyő - - - - ThemeManager - - - Import Theme - Téma importálása - - - - Delete Theme - Téma törlése - - - - Error - Hiba - - - - Edit Theme - Téma szerkesztése - - - - Export Theme - Téma exportálása - - - - Theme Exists - A téma már létezik - - - - Save Theme - (%s) - Téma mentése – (%s) - - - - Select Theme Import File - Importálandó téma fájl kiválasztása - - - - New Theme - Új téma - - - - You are unable to delete the default theme. - Az alapértelmezett témát nem lehet törölni. - - - - You have not selected a theme. - Nincs kiválasztva egy téma sem. - - - - File is not a valid theme. - Nem érvényes témafájl. - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - Törlés megerősítése - - - - Delete theme? - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - Minden dalra az adatbázisban tárolt téma alkalmazása. Ha egy dalhoz nincs saját téma beállítva, akkor a szolgálathoz beállított használata. Ha a szolgálathoz sincs téma beállítva, akkor a globális téma alkalmazása. - - - - Use the global theme, overriding any themes associated with either the service or the songs. - A globális téma alkalmazása, vagyis a szolgálathoz, ill. a dalokhoz beállított témák felülírása. - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - A szolgálathoz beállított téma alkalmazása, vagyis az egyes dalokhoz megadott témák felülírása. Ha a szolgálathoz nincs téma beállítva, akkor a globális téma alkalmazása. - - - - Themes - Témák - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_ko.ts b/resources/i18n/openlp_ko.ts index ffc318731..31143d07a 100644 --- a/resources/i18n/openlp_ko.ts +++ b/resources/i18n/openlp_ko.ts @@ -14,7 +14,7 @@ - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen @@ -171,7 +171,7 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. @@ -655,7 +655,7 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin.
@@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme.
@@ -906,7 +906,7 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video.
@@ -1643,7 +1643,7 @@ This General Public License does not permit incorporating your program into prop OpenLP.MainWindow - + OpenLP 2.0 @@ -1653,404 +1653,404 @@ This General Public License does not permit incorporating your program into prop - + &File - + &Import - + &Export - + &View - + M&ode - + &Tools - + &Settings - + &Language - + &Help - + Media Manager - + Service Manager - + Theme Manager - + &New - + New Service - + Create a new service. - + Ctrl+N - + &Open - + Open Service - + Open an existing service. - + Ctrl+O - + &Save - + Save Service - + Save the current service to disk. - + Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit - + Quit OpenLP - + Alt+F4 - + &Theme - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 - + &Theme Manager - + Toggle Theme Manager - + Toggle the visibility of the theme manager. - + F10 - + &Service Manager - + Toggle Service Manager - + Toggle the visibility of the service manager. - + F9 - + &Preview Panel - + Toggle Preview Panel - + Toggle the visibility of the preview panel. - + F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 - + &Plugin List - + List the Plugins - + Alt+F7 - + &User Guide - + &About - + More information about OpenLP - + Ctrl+F1 - + &Online Help - + &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated - + OpenLP Main Display Blanked - + The Main Display has been blanked out - + Save Changes to Service? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2567,11 +2567,238 @@ The content encoding is not UTF-8. + + OpenLP.ThemeManager + + + New Theme + + + + + Create a new theme. + + + + + Edit Theme + + + + + Edit a theme. + + + + + Delete Theme + + + + + Delete a theme. + + + + + Import Theme + + + + + Import a theme. + + + + + Export Theme + + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + + + + + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + + + + + Theme Exists + + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2583,42 +2810,42 @@ The content encoding is not UTF-8. - + Select Presentation(s) - + Automatic - + Present using: - + File Exists - + A presentation with that filename already exists. - + Unsupported File - + This type of presentation is not supported - + You must select an item to delete. @@ -2631,16 +2858,26 @@ The content encoding is not UTF-8. - + Available Controllers + + + Advanced + + + + + Allow presentation application to be overriden + +
RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2669,44 +2906,44 @@ The content encoding is not UTF-8.
SongUsagePlugin + + + &Song Usage Tracking + + - &Delete recorded data - - - - - Start/Stop live song usage recording - - - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service + &Delete Tracking Data - Delete song usage to specified date - - - - - Generate report on Song Usage - - - - - Song Usage Status + Delete song usage data up to a specified date. - &Extract recorded data + &Extract Tracking Data - - &Song Usage + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. @@ -2861,7 +3098,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. @@ -2920,21 +3157,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3025,11 +3252,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - - Comments @@ -3140,6 +3362,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This song book does not exist, do you want to add it? + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + + SongsPlugin.EditVerseForm @@ -3350,40 +3587,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - - - - - Delete %d songs? - - - - - Delete Confirmation - - CCLI Licence: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3593,7 +3825,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar @@ -3621,247 +3853,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Splashscreen - - - Starting - - - - - Splash Screen - - - - - ThemeManager - - - Import Theme - - - - - Delete Theme - - - - - Error - - - - - File is not a valid theme. - - - - - Edit Theme - - - - - Export Theme - - - - - You are unable to delete the default theme. - - - - - Theme Exists - - - - - Save Theme - (%s) - - - - - Select Theme Import File - - - - - New Theme - - - - - You have not selected a theme. - - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the global theme, overriding any themes associated with either the service or the songs. - - - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - - - - - Themes - - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_nb.ts b/resources/i18n/openlp_nb.ts index 169ba4a82..d3f213fab 100644 --- a/resources/i18n/openlp_nb.ts +++ b/resources/i18n/openlp_nb.ts @@ -14,7 +14,7 @@ - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen @@ -171,8 +171,8 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bibel-tillegg</strong><br /> Dette tillegget gjør det mulig at bibelvers fra ulike kilder vises på skjermen under møtet. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + @@ -655,7 +655,7 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin. @@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme. @@ -906,8 +906,8 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Media-tillegg</b><br> Dette tillegget spiller av lyd og video. + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. + @@ -1643,7 +1643,7 @@ This General Public License does not permit incorporating your program into prop OpenLP.MainWindow - + OpenLP 2.0 OpenLP 2.0 @@ -1653,404 +1653,404 @@ This General Public License does not permit incorporating your program into prop Norsk - + &File &Fil - + &Import &Import - + &Export &Eksporter - + &View &Vis - + M&ode - + &Tools - + &Settings &Innstillinger - + &Language &Språk - + &Help &Hjelp - + Media Manager Innholdselementer - + Service Manager - + Theme Manager - + &New &Ny - + New Service - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Åpne - + Open Service Åpne møteplan - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Lagre - + Save Service - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... - + Save Service As - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Avslutt - + Quit OpenLP Avslutt OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager - + Toggle Media Manager - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager - + Toggle Theme Manager Åpne tema-behandler - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager - + Toggle Service Manager Vis møteplanlegger - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Forhåndsvisningspanel - + Toggle Preview Panel Vis forhåndsvisningspanel - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Tillegsliste - + List the Plugins Hent liste over tillegg - + Alt+F7 ALT+F7 - + &User Guide &Brukerveiledning - + &About &Om - + More information about OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help - + &Web Site &Internett side - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... Legg til & Verktøy... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Direkte - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated OpenLP versjonen har blitt oppdatert - + OpenLP Main Display Blanked - + The Main Display has been blanked out - + Save Changes to Service? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2567,12 +2567,239 @@ The content encoding is not UTF-8. Gå til vers + + OpenLP.ThemeManager + + + New Theme + + + + + Create a new theme. + + + + + Edit Theme + Endre tema + + + + Edit a theme. + + + + + Delete Theme + Slett tema + + + + Delete a theme. + + + + + Import Theme + Importer tema + + + + Import a theme. + + + + + Export Theme + Eksporter tema + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + Feil + + + + You are unable to delete the default theme. + Du kan ikke slette det globale temaet + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + Filen er ikke et gyldig tema. + + + + Theme Exists + Temaet eksisterer + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + Tema + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + Bruk temaet fra hver sang i databasen. Hvis en sang ikke er tilknyttet et tema, bruk temaet til møteplanen. Hvis møteplanen ikke har et tema, bruk det globale temaet. + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + Bruk det globale temaet, og la det overstyre eventuelle tema som er tilknyttet møteplaner eller sanger. + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. - <b>Presentasjonstillegg</b> <br> Gir deg mulighet til å vise presentasjoner ved hjelp av en rekke ulike programmer. Programmene som er tilgjengelige finner du i rullemenyen. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + @@ -2583,42 +2810,42 @@ The content encoding is not UTF-8. Presentasjon - + Select Presentation(s) Velg presentasjon(er) - + Automatic Automatisk - + Present using: Presenter ved hjelp av: - + File Exists - + A presentation with that filename already exists. - + Unsupported File - + This type of presentation is not supported - + You must select an item to delete. @@ -2631,16 +2858,26 @@ The content encoding is not UTF-8. - + Available Controllers + + + Advanced + + + + + Allow presentation application to be overriden + + RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2670,43 +2907,43 @@ The content encoding is not UTF-8. SongUsagePlugin - - &Delete recorded data - &Slett lagret data - - - - Start/Stop live song usage recording + + &Song Usage Tracking - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service + + &Delete Tracking Data - Delete song usage to specified date - Slett data angående sangbruk frem til angitt dato - - - - Generate report on Song Usage - Lag rapport angående bruk av sanger - - - - Song Usage Status + Delete song usage data up to a specified date. - &Extract recorded data + &Extract Tracking Data - - &Song Usage + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. @@ -2861,7 +3098,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. @@ -2920,21 +3157,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3025,11 +3252,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - - Comments @@ -3140,6 +3362,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This song book does not exist, do you want to add it? + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + + SongsPlugin.EditVerseForm @@ -3350,40 +3587,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - - - - - Delete %d songs? - - - - - Delete Confirmation - - CCLI Licence: CCLI lisens: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3593,7 +3825,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar @@ -3621,247 +3853,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Splashscreen - - - Starting - - - - - Splash Screen - - - - - ThemeManager - - - Import Theme - Importer tema - - - - Delete Theme - Slett tema - - - - Error - Feil - - - - Edit Theme - Endre tema - - - - Export Theme - Eksporter tema - - - - You are unable to delete the default theme. - Du kan ikke slette det globale temaet - - - - File is not a valid theme. - Filen er ikke et gyldig tema. - - - - Theme Exists - Temaet eksisterer - - - - Save Theme - (%s) - - - - - Select Theme Import File - - - - - New Theme - - - - - You have not selected a theme. - - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the global theme, overriding any themes associated with either the service or the songs. - Bruk det globale temaet, og la det overstyre eventuelle tema som er tilknyttet møteplaner eller sanger. - - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - Bruk temaet fra hver sang i databasen. Hvis en sang ikke er tilknyttet et tema, bruk temaet til møteplanen. Hvis møteplanen ikke har et tema, bruk det globale temaet. - - - - Themes - Tema - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_pt_BR.ts b/resources/i18n/openlp_pt_BR.ts index 0e86efcac..3d77dc6e8 100644 --- a/resources/i18n/openlp_pt_BR.ts +++ b/resources/i18n/openlp_pt_BR.ts @@ -14,8 +14,8 @@ - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Plugin de Alertas</b><br>Este plugin controla a exibição de alertas na tela de apresentação + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen + @@ -171,8 +171,8 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Plugin da Bíblia</strong>Este plugin permite exibir na tela versículos bíblicos de diferentes versões durante o culto. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + @@ -655,7 +655,7 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin. @@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme. @@ -906,8 +906,8 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <br>Plugin de Mídia</b><br>Este plugin permite a execução de audio e vídeo + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. + @@ -1643,7 +1643,7 @@ This General Public License does not permit incorporating your program into prop OpenLP.MainWindow - + OpenLP 2.0 OpenLP 2.0 @@ -1653,404 +1653,404 @@ This General Public License does not permit incorporating your program into prop Inglês - + &File &Arquivo - + &Import &Importar - + &Export &Exportar - + &View &Visualizar - + M&ode M&odo - + &Tools &Ferramentas - + &Settings &Configurações - + &Language &Idioma - + &Help &Ajuda - + Media Manager Gerenciador de Mídia - + Service Manager Gerenciador de Culto - + Theme Manager Gerenciador de Temas - + &New &Novo - + New Service Novo Culto - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Abrir - + Open Service - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Salvar - + Save Service Salvar Culto - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... Salvar &Como... - + Save Service As Salvar Culto Como - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit S&air - + Quit OpenLP Fechar o OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager &Gerenciador de Mídia - + Toggle Media Manager Alternar Gerenciador de Mídia - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Gerenciador de Temas - + Toggle Theme Manager Alternar para Gerenciamento de Temas - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Gerenciador de Culto - + Toggle Service Manager Alternar para o Gerenciador de Cultos - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Painel de Pré-Visualização - + Toggle Preview Panel Alternar para Painel de Pré-Visualização - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Lista de Plugin - + List the Plugins Listar os Plugins - + Alt+F7 Alt+F7 - + &User Guide &Guia do Usuário - + &About &Sobre - + More information about OpenLP Mais informações sobre o OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Ajuda Online - + &Web Site &Web Site - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Ao Vivo - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated Versão do OpenLP Atualizada - + OpenLP Main Display Blanked Tela Principal do OpenLP em Branco - + The Main Display has been blanked out A Tela Principal foi apagada - + Save Changes to Service? Salvar Mudanças no Culto? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2567,11 +2567,238 @@ The content encoding is not UTF-8. Ir ao Versículo + + OpenLP.ThemeManager + + + New Theme + Novo Tema + + + + Create a new theme. + + + + + Edit Theme + Editar Tema + + + + Edit a theme. + + + + + Delete Theme + Deletar Tema + + + + Delete a theme. + + + + + Import Theme + Importar Tema + + + + Import a theme. + + + + + Export Theme + Exportar Tema + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + Erro + + + + You are unable to delete the default theme. + + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + + + + + Save Theme - (%s) + Salvar Tema - (%s) + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + Selecionar Arquivo de Importação de Tema + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + + + + + Theme Exists + Tema Existe + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + Temas + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + Use o tema de cada música na base de dados. Se uma música não tiver um tema associado com ela, então use o tema do culto. Se o culto não tiver um tema, então use o tema global. + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + Usar o tema do culto, sobrescrevendo qualquer um dos temas individuais das músicas. Se o culto não tiver um tema, então use o tema global. + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + Usar o tema global, sobrescrevendo qualquer tema associado com cultos ou músicas. + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. @@ -2583,42 +2810,42 @@ The content encoding is not UTF-8. Apresentação - + Select Presentation(s) Selecionar Apresentação(ões) - + Automatic - + Present using: Apresentar usando: - + File Exists - + A presentation with that filename already exists. Uma apresentação com este nome já existe. - + Unsupported File - + This type of presentation is not supported - + You must select an item to delete. @@ -2631,16 +2858,26 @@ The content encoding is not UTF-8. Apresentações - + Available Controllers Controladores Disponíveis + + + Advanced + + + + + Allow presentation application to be overriden + + RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2669,45 +2906,45 @@ The content encoding is not UTF-8. SongUsagePlugin + + + &Song Usage Tracking + + - &Delete recorded data - &Deletar dados armazenados - - - - Start/Stop live song usage recording - Iniciar/Parar registro do uso de músicas - - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service - <b>Plugin de Uso das Músicas</b><br>Este plugin registra o uso das músicas e quando elas foram usadas durante um culto + &Delete Tracking Data + - Delete song usage to specified date - Deletar uso da música para a data especificada - - - - Generate report on Song Usage - Gerar relatório de Uso das Músicas - - - - Song Usage Status - Status de Uso das Músicas + Delete song usage data up to a specified date. + - &Extract recorded data - &Extrair dados armazenados + &Extract Tracking Data + - - &Song Usage - &Uso das Músicas + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. + @@ -2861,7 +3098,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. @@ -2920,21 +3157,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3025,11 +3252,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - Número CCLI: - Comments @@ -3140,6 +3362,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This song book does not exist, do you want to add it? + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + + SongsPlugin.EditVerseForm @@ -3350,40 +3587,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R Autores - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - - - - - Delete %d songs? - - - - - Delete Confirmation - - CCLI Licence: Licença CCLI: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3593,7 +3825,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar @@ -3621,247 +3853,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Splashscreen - - - Starting - Iniciando - - - - Splash Screen - Tela Inicial - - - - ThemeManager - - - Import Theme - Importar Tema - - - - Delete Theme - Deletar Tema - - - - Error - Erro - - - - Edit Theme - Editar Tema - - - - Export Theme - Exportar Tema - - - - Theme Exists - Tema Existe - - - - Save Theme - (%s) - Salvar Tema - (%s) - - - - Select Theme Import File - Selecionar Arquivo de Importação de Tema - - - - New Theme - Novo Tema - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - You are unable to delete the default theme. - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - You have not selected a theme. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - File is not a valid theme. - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - Use o tema de cada música na base de dados. Se uma música não tiver um tema associado com ela, então use o tema do culto. Se o culto não tiver um tema, então use o tema global. - - - - Use the global theme, overriding any themes associated with either the service or the songs. - Usar o tema global, sobrescrevendo qualquer tema associado com cultos ou músicas. - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - Usar o tema do culto, sobrescrevendo qualquer um dos temas individuais das músicas. Se o culto não tiver um tema, então use o tema global. - - - - Themes - Temas - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse diff --git a/resources/i18n/openlp_sv.ts b/resources/i18n/openlp_sv.ts index 6f54febf2..2c9b1fd1d 100644 --- a/resources/i18n/openlp_sv.ts +++ b/resources/i18n/openlp_sv.ts @@ -14,8 +14,8 @@ - <b>Alerts Plugin</b><br>This plugin controls the displaying of alerts on the presentations screen - <b>Alarm Plugin</b><br>Den här plugin:en kontrollerar visning av alarm på presentationsbilden + <strong>Alerts Plugin</strong><br />The alert plugin controls the displaying of nursery alerts on the display screen + @@ -171,8 +171,8 @@ - <strong>Bible Plugin</strong><br />This plugin allows bible verses from different sources to be displayed on the screen during the service. - <strong>Bibel Plugin</strong><br /> Det här pluginprogrammet visar Bibelverser från olika källor på skärmen. + <strong>Bible Plugin</strong><br />The Bible plugin provides the ability to display bible verses from different sources during the service. + @@ -655,8 +655,8 @@ Changes do not affect verses already in the service. CustomPlugin - <b>Custom Plugin</b><br>This plugin allows slides to be displayed on the screen in the same way songs are. This plugin provides greater freedom over the songs plugin.<br> - <b>Anpassad Plugin</b><br>Det här pluginprogrammet tillåter visning av bilder på samma sätt som sånger. Den ger större frihet över sångpluginprogrammet.<br> + <strong>Custom Plugin</strong><br />The custom plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin. + @@ -827,7 +827,7 @@ Changes do not affect verses already in the service. ImagePlugin - <b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br<br>From the plugin if the <i>Override background</i> is chosen and an image is selected any songs which are rendered will use the selected image from the background instead of the one provied by the theme.<br> + <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme. @@ -906,8 +906,8 @@ Changes do not affect verses already in the service. MediaPlugin - <b>Media Plugin</b><br>This plugin allows the playing of audio and video media - <b>Media Plugin</b><br>Den här plugin:en tillåter uppspelning av ljud och video + <strong>Media Plugin</strong><br />The media plugin provides playback of audio and video. + @@ -1643,7 +1643,7 @@ This General Public License does not permit incorporating your program into prop OpenLP.MainWindow - + OpenLP 2.0 OpenLP 2.0 @@ -1653,404 +1653,404 @@ This General Public License does not permit incorporating your program into prop Engelska - + &File &Fil - + &Import &Importera - + &Export &Exportera - + &View &Visa - + M&ode &Läge - + &Tools &Verktyg - + &Settings &Inställningar - + &Language &Språk - + &Help &Hjälp - + Media Manager Mediahanterare - + Service Manager Mötesplaneringshanterare - + Theme Manager Temahanterare - + &New &Ny - + New Service - + Create a new service. - + Ctrl+N Ctrl+N - + &Open &Öppna - + Open Service - + Open an existing service. - + Ctrl+O Ctrl+O - + &Save &Spara - + Save Service - + Save the current service to disk. - + Ctrl+S Ctrl+S - + Save &As... S&para som... - + Save Service As Spara mötesplanering som... - + Save the current service under a new name. - + Ctrl+Shift+S - + E&xit &Avsluta - + Quit OpenLP Stäng OpenLP - + Alt+F4 Alt+F4 - + &Theme &Tema - + &Configure OpenLP... - + &Media Manager &Mediahanterare - + Toggle Media Manager Växla mediahanterare - + Toggle the visibility of the media manager. - + F8 F8 - + &Theme Manager &Temahanterare - + Toggle Theme Manager Växla temahanteraren - + Toggle the visibility of the theme manager. - + F10 F10 - + &Service Manager &Mötesplaneringshanterare - + Toggle Service Manager Växla mötesplaneringshanterare - + Toggle the visibility of the service manager. - + F9 F9 - + &Preview Panel &Förhandsgranskning - + Toggle Preview Panel Växla förhandsgranskningspanel - + Toggle the visibility of the preview panel. - + F11 F11 - + &Live Panel - + Toggle Live Panel - + Toggle the visibility of the live panel. - + F12 F12 - + &Plugin List &Pluginlista - + List the Plugins Lista Plugin - + Alt+F7 Alt+F7 - + &User Guide &Användarguide - + &About &Om - + More information about OpenLP Mer information om OpenLP - + Ctrl+F1 Ctrl+F1 - + &Online Help &Online-hjälp - + &Web Site &Webbsida - + &Auto Detect - + Use the system language, if available. - + Set the interface language to %s - + Add &Tool... - + Add an application to the list of tools. - + &Default - + Set the view mode back to the default. - + &Setup - + Set the view mode to Setup. - + &Live &Live - + Set the view mode to Live. - + Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from <a href="http://openlp.org/">http://openlp.org/</a>. - + OpenLP Version Updated OpenLP-version uppdaterad - + OpenLP Main Display Blanked OpenLP huvuddisplay tömd - + The Main Display has been blanked out Huvuddisplayen har rensats - + Save Changes to Service? - + Your service has changed. Do you want to save those changes? - + Default Theme: %s @@ -2567,12 +2567,239 @@ The content encoding is not UTF-8. Hoppa till vers + + OpenLP.ThemeManager + + + New Theme + Nytt Tema + + + + Create a new theme. + + + + + Edit Theme + Redigera tema + + + + Edit a theme. + + + + + Delete Theme + Ta bort tema + + + + Delete a theme. + + + + + Import Theme + Importera tema + + + + Import a theme. + + + + + Export Theme + Exportera tema + + + + Export a theme. + + + + + &Edit Theme + + + + + &Delete Theme + + + + + Set As &Global Default + + + + + E&xport Theme + + + + + %s (default) + + + + + You must select a theme to edit. + + + + + You must select a theme to delete. + + + + + Delete Confirmation + + + + + Delete theme? + + + + + Error + Fel + + + + You are unable to delete the default theme. + Du kan inte ta bort standardtemat. + + + + Theme %s is use in %s plugin. + + + + + Theme %s is use by the service manager. + + + + + You have not selected a theme. + Du har inte valt ett tema. + + + + Save Theme - (%s) + Spara tema - (%s) + + + + Theme Exported + + + + + Your theme has been successfully exported. + + + + + Theme Export Failed + + + + + Your theme could not be exported due to an error. + + + + + Select Theme Import File + Välj tema importfil + + + + Theme (*.*) + + + + + File is not a valid theme. +The content encoding is not UTF-8. + + + + + File is not a valid theme. + Filen är inte ett giltigt tema. + + + + Theme Exists + Temat finns + + + + A theme with this name already exists. Would you like to overwrite it? + + + + + OpenLP.ThemesTab + + + Themes + Teman + + + + Global Theme + + + + + Theme Level + + + + + S&ong Level + + + + + Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. + Använd temat för varje sång i databasen indviduellt. Om en sång inte har ett associerat tema, använd planeringens schema. Om planeringen inte har ett tema, använd globala temat. + + + + &Service Level + + + + + Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. + Använd temat för mötesplaneringen, och ignorera sångernas indviduella teman. Om mötesplaneringen inte har ett tema använd då det globala temat. + + + + &Global Level + + + + + Use the global theme, overriding any themes associated with either the service or the songs. + Använd det globala temat, ignorerar teman associerade med mötesplaneringen eller sångerna. + + PresentationPlugin - - <b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. - <b>Presentations Plugin</b> <br> Ger möjlighet att visa presentationer genom olika program. Tillgängliga presentationsprogram finns i en drop-down meny. + + <strong>Presentation Plugin</strong><br />The presentation plugin provides the ability to show presentations using a number of different programs. The choice of available presentation programs is available to the user in a drop down box. + @@ -2583,42 +2810,42 @@ The content encoding is not UTF-8. Presentation - + Select Presentation(s) Välj presentation(er) - + Automatic Automatisk - + Present using: Presentera genom: - + File Exists - + A presentation with that filename already exists. En presentation med det namnet finns redan. - + Unsupported File - + This type of presentation is not supported - + You must select an item to delete. @@ -2631,16 +2858,26 @@ The content encoding is not UTF-8. Presentationer - + Available Controllers Tillgängliga Presentationsprogram + + + Advanced + + + + + Allow presentation application to be overriden + + RemotePlugin - <b>Remote Plugin</b><br>This plugin provides the ability to send messages to a running version of openlp on a different computer via a web browser or other app<br>The Primary use for this would be to send alerts from a creche + <strong>Remote Plugin</strong><br/ >The remote plugin provides the ability to send messages to a running version of OpenLP on a different computer via a web browser or through the remote API. @@ -2669,45 +2906,45 @@ The content encoding is not UTF-8. SongUsagePlugin + + + &Song Usage Tracking + + - &Delete recorded data - &Ta bort inspelad data - - - - Start/Stop live song usage recording - Starta/Stoppa inspelning av sånganvändning - - - - <b>SongUsage Plugin</b><br>This plugin records the use of songs and when they have been used during a live service - <b>SongUsage Plugin</b><br>Det här pluginprogrammet spelar in användningen av sånger och när de använts i en planering + &Delete Tracking Data + - Delete song usage to specified date - Ta bort sånganvändning fram till specificerat datum - - - - Generate report on Song Usage - Generera rapport på Sånganvändning - - - - Song Usage Status - Sånganvändningsstatus + Delete song usage data up to a specified date. + - &Extract recorded data - &Extrahera inspelade data + &Extract Tracking Data + - - &Song Usage - &Sånganvändning + + Generate a report on song usage. + + + + + Toggle Tracking + + + + + Toggle the tracking of song usage. + + + + + <strong>SongUsage Plugin</strong><br />This plugin tracks the usage of songs in services. + @@ -2861,7 +3098,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - <strong>Song Plugin</strong><br />This plugin allows songs to be managed and displayed. + <strong>Songs Plugin</strong><br />The songs plugin provides the ability to display and manage songs. @@ -2920,21 +3157,11 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R &Title: - - - Alt&ernate Title: - - &Lyrics: - - - &Verse Order: - - &Add @@ -3025,11 +3252,6 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R © - - - CCLI Number: - CCLI-nummer: - Comments @@ -3140,6 +3362,21 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R This song book does not exist, do you want to add it? + + + Alt&ernate title: + + + + + &Verse order: + + + + + CCLI number: + + SongsPlugin.EditVerseForm @@ -3350,40 +3587,35 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - - %s (%s) - - - - + You must select an item to edit. - + You must select an item to delete. - - - Delete song? - - - - - Delete %d songs? - - - - - Delete Confirmation - - CCLI Licence: CCLI-licens: + + + Are you sure you want to delete the selected song? + + + + + Are you sure you want to delete the %d selected songs? + + + + + Delete Song(s)? + + SongsPlugin.SongBookForm @@ -3593,7 +3825,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Display Verses on Live Tool bar + Display verses on live tool bar @@ -3621,247 +3853,7 @@ OpenOffice.org must be installed and you must be using an unedited copy of the R - Splashscreen - - - Starting - Startar - - - - Splash Screen - Startbild - - - - ThemeManager - - - Import Theme - Importera tema - - - - Delete Theme - Ta bort tema - - - - Error - Fel - - - - File is not a valid theme. - Filen är inte ett giltigt tema. - - - - Edit Theme - Redigera tema - - - - Export Theme - Exportera tema - - - - You are unable to delete the default theme. - Du kan inte ta bort standardtemat. - - - - Theme Exists - Temat finns - - - - Save Theme - (%s) - Spara tema - (%s) - - - - Select Theme Import File - Välj tema importfil - - - - New Theme - Nytt Tema - - - - You have not selected a theme. - Du har inte valt ett tema. - - - - Create a new theme. - - - - - Edit a theme. - - - - - Delete a theme. - - - - - Import a theme. - - - - - Export a theme. - - - - - &Edit Theme - - - - - &Delete Theme - - - - - Set As &Global Default - - - - - E&xport Theme - - - - - %s (default) - - - - - You must select a theme to edit. - - - - - You must select a theme to delete. - - - - - Delete Confirmation - - - - - Delete theme? - - - - - Theme %s is use in %s plugin. - - - - - Theme %s is use by the service manager. - - - - - Theme Exported - - - - - Your theme has been successfully exported. - - - - - Theme Export Failed - - - - - Your theme could not be exported due to an error. - - - - - Theme (*.*) - - - - - File is not a valid theme. -The content encoding is not UTF-8. - - - - - A theme with this name already exists. Would you like to overwrite it? - - - - - ThemesTab - - - Use the global theme, overriding any themes associated with either the service or the songs. - Använd det globala temat, ignorerar teman associerade med mötesplaneringen eller sångerna. - - - - Use the theme from each song in the database. If a song doesn't have a theme associated with it, then use the service's theme. If the service doesn't have a theme, then use the global theme. - Använd temat för varje sång i databasen indviduellt. Om en sång inte har ett associerat tema, använd planeringens schema. Om planeringen inte har ett tema, använd globala temat. - - - - Use the theme from the service, overriding any of the individual songs' themes. If the service doesn't have a theme, then use the global theme. - Använd temat för mötesplaneringen, och ignorera sångernas indviduella teman. Om mötesplaneringen inte har ett tema använd då det globala temat. - - - - Themes - Teman - - - - Global Theme - - - - - Theme Level - - - - - S&ong Level - - - - - &Service Level - - - - - &Global Level - - - - - VerseType + SongsPlugin.VerseType Verse From ccda22a96299dca058886f9576cdd9b969620b5d Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 24 Jul 2010 02:10:57 +0100 Subject: [PATCH 097/148] Fix BG refactor --- openlp/plugins/bibles/lib/http.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 80beb179d..94d16b909 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -198,20 +198,20 @@ class BGExtract(BibleCommon): urlstring = u'http://www.biblegateway.com/passage/?search=%s+%s' \ u'&version=%s' % (bookname, chapter, version) log.debug(u'BibleGateway url = %s' % urlstring) - # Let's get the page, and then open it in BeautifulSoup, so as to - # attempt to make "easy" work of bad HTML. page = urllib2.urlopen(urlstring) Receiver.send_message(u'openlp_process_events') soup = BeautifulSoup(page) Receiver.send_message(u'openlp_process_events') - text = str(soup.find(u'div', u'result-text-style-normal')) - useful_soup = BeautifulSoup(text) - verses = useful_soup.findAll(u'p') + content = soup.find(u'div', u'result-text-style-normal') + verse_count = len(soup.findAll(u'sup', u'versenum')) + found_count = 0 verse_list = {} - for verse in verses: - if verse.sup: - verse_list[int(str(verse.sup.contents[0]))] = \ - unicode(verse.contents[-1]) + while found_count < verse_count: + content = content.findNext(u'sup', u'versenum') + raw_verse_num = content.next + raw_verse_text = raw_verse_num.next + verse_list[int(str(raw_verse_num))] = unicode(raw_verse_text) + found_count += 1 return SearchResults(bookname, chapter, verse_list) class CWExtract(BibleCommon): From 323090e141f3d4e5a790b91a37740e23a3d808ea Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 24 Jul 2010 03:14:08 +0100 Subject: [PATCH 098/148] Bible search fixes (Bug #608409) --- openlp/plugins/bibles/lib/db.py | 7 +++++++ openlp/plugins/bibles/lib/http.py | 8 ++++---- openlp/plugins/bibles/lib/manager.py | 3 +-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/openlp/plugins/bibles/lib/db.py b/openlp/plugins/bibles/lib/db.py index 81255458f..3a4f72bcb 100644 --- a/openlp/plugins/bibles/lib/db.py +++ b/openlp/plugins/bibles/lib/db.py @@ -305,6 +305,13 @@ class BibleDB(QtCore.QObject, Manager): Book.abbreviation.like(book + u'%')) return db_book + def get_books(self): + """ + A wrapper so both local and web bibles have a get_books() method that + manager can call. Used in the media manager advanced search tab. + """ + return self.get_all_objects(Book, order_by_ref=Book.id) + def get_verses(self, reference_list): """ This is probably the most used function. It retrieves the list of diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 94d16b909..b8df6ff41 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -135,10 +135,10 @@ class HTTPBooks(object): u'verses FROM chapters WHERE book_id = ?', (book[u'id'],)) if chapters: return { - u'id': chapters[chapter][0], - u'book_id': chapters[chapter][1], - u'chapter': chapters[chapter][2], - u'verses': chapters[chapter][3] + u'id': chapters[chapter-1][0], + u'book_id': chapters[chapter-1][1], + u'chapter': chapters[chapter-1][2], + u'verses': chapters[chapter-1][3] } else: return None diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index a252c2632..a01ddc665 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -198,8 +198,7 @@ class BibleManager(object): u'name': book.name, u'chapters': self.db_cache[bible].get_chapter_count(book.name) } - for book in self.db_cache[bible].get_all_objects(Book, - order_by_ref=Book.id) + for book in self.db_cache[bible].get_books() ] def get_chapter_count(self, bible, book): From 8004bc4c186d55a855951f0dca576852db18fdb0 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 24 Jul 2010 03:19:24 +0100 Subject: [PATCH 099/148] Import fix for last commit --- openlp/plugins/bibles/lib/manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index a01ddc665..a458c1b2c 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -29,7 +29,7 @@ from PyQt4 import QtCore from openlp.core.lib import SettingsManager from openlp.core.utils import AppLocation -from openlp.plugins.bibles.lib.db import BibleDB, Book, BibleMeta +from openlp.plugins.bibles.lib.db import BibleDB, BibleMeta from common import parse_reference from opensong import OpenSongBible From 5c6f7da055892e5f7d65bc0485f02e8a9663b098 Mon Sep 17 00:00:00 2001 From: Philip Ridout Date: Sat, 24 Jul 2010 11:44:28 +0100 Subject: [PATCH 100/148] Hopefully a fix for bug #609442 --- openlp/core/ui/maindisplay.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 6183c23c2..f25a1d48c 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -455,8 +455,6 @@ class MainDisplay(DisplayWidget): self.displayText.setPixmap(frame) else: self.displayText.setPixmap(QtGui.QPixmap.fromImage(frame)) - if not self.isVisible() and self.screens.display: - self.setVisible(True) class VideoDisplay(Phonon.VideoWidget): """ From 4b5ad13eec20d417b3512b9817a302189ff08c80 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 24 Jul 2010 13:59:02 +0100 Subject: [PATCH 101/148] Fix numbered book BG bibles --- openlp/plugins/bibles/lib/http.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 8bf7ac63e..347393c3d 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -197,12 +197,13 @@ class BGExtract(BibleCommon): Chapter number """ log.debug(u'get_bible_chapter %s, %s, %s', version, bookname, chapter) - urlstring = u'http://www.biblegateway.com/passage/?search=%s+%s' \ + urlstring = u'http://www.biblegateway.com/passage/?search=%s %s' \ u'&version=%s' % (bookname, chapter, version) - log.debug(u'BibleGateway url = %s' % urlstring) + url = urlstring.replace(u' ', u'%20') + log.debug(u'BibleGateway url = %s' % url) # Let's get the page, and then open it in BeautifulSoup, so as to # attempt to make "easy" work of bad HTML. - page = urllib2.urlopen(urlstring) + page = urllib2.urlopen(url) Receiver.send_message(u'openlp_process_events') soup = BeautifulSoup(page) Receiver.send_message(u'openlp_process_events') From 3ea6ce95203c09b6ce552e9fc2d3f77f12f39106 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 24 Jul 2010 15:03:04 +0100 Subject: [PATCH 102/148] Use urllib.urlencode() --- openlp/plugins/bibles/lib/http.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 347393c3d..43c9cf405 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -24,10 +24,11 @@ ############################################################################### import logging -import urllib2 import os -import sqlite3 import re +import sqlite3 +import urllib +import urllib2 from BeautifulSoup import BeautifulSoup, Tag, NavigableString @@ -197,13 +198,14 @@ class BGExtract(BibleCommon): Chapter number """ log.debug(u'get_bible_chapter %s, %s, %s', version, bookname, chapter) - urlstring = u'http://www.biblegateway.com/passage/?search=%s %s' \ - u'&version=%s' % (bookname, chapter, version) - url = urlstring.replace(u' ', u'%20') - log.debug(u'BibleGateway url = %s' % url) + url_params = urllib.urlencode( + {u'search': u'%s %s' % (bookname, chapter), + u'version': u'%s' % version}) # Let's get the page, and then open it in BeautifulSoup, so as to # attempt to make "easy" work of bad HTML. - page = urllib2.urlopen(url) + page = urllib2.urlopen( + u'http://www.biblegateway.com/passage/?%s' % url_params) + log.debug(u'BibleGateway url = %s' % page.geturl()) Receiver.send_message(u'openlp_process_events') soup = BeautifulSoup(page) Receiver.send_message(u'openlp_process_events') From 9a519f2ff07c72d9ad7e623514b7a9be5c24f778 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 24 Jul 2010 20:27:25 +0100 Subject: [PATCH 103/148] Fix missing code from previous merge --- openlp/core/ui/generaltab.py | 8 ++++++++ openlp/core/ui/maindisplay.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 1392992d3..5947bc260 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -442,8 +442,13 @@ class GeneralTab(SettingsTab): self.screens.set_current_display(self.monitorNumber) Receiver.send_message(u'config_screen_changed') Receiver.send_message(u'config_updated') + # On save update the strings as well + self.postSetUp() def postSetUp(self): + """ + Set Strings after initial definition + """ self.screens.override[u'size'] = QtCore.QRect( int(self.customXValueEdit.text()), int(self.customYValueEdit.text()), @@ -456,6 +461,9 @@ class GeneralTab(SettingsTab): self.screens.reset_current_display() def onOverrideCheckBoxToggled(self, checked): + """ + Toggle screen state depending on check box state + """ self.customXValueEdit.setEnabled(checked) self.customYValueEdit.setEnabled(checked) self.customHeightValueEdit.setEnabled(checked) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 6183c23c2..8e221d62b 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -359,7 +359,7 @@ class MainDisplay(DisplayWidget): if mode != HideMode.Screen and self.isHidden(): self.setVisible(True) - def showDisplay(self, message=u''): + def showDisplay(self): """ Show the stored layers so the screen reappears as it was originally. From 7df342ff1adf0d80621c3468d213d600026a9379 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 24 Jul 2010 21:52:37 +0100 Subject: [PATCH 104/148] Fix bible search strictness for web bibles --- openlp/plugins/bibles/lib/http.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 255ba229f..81243bfd1 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -104,6 +104,7 @@ class HTTPBooks(object): """ if not isinstance(name, unicode): name = unicode(name) + name = name.title() books = HTTPBooks.run_sql(u'SELECT id, testament_id, name, ' u'abbreviation, chapters FROM books WHERE name = ? OR ' u'abbreviation = ?', (name, name)) From 81441f3e79e2a1dea035578c957a21561eca45e2 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Sat, 24 Jul 2010 23:20:02 +0200 Subject: [PATCH 105/148] Remove some unused imports. Remove an unused variable. Fix up a couple of strings I missed in the previous string fix merge. --- openlp/core/ui/generaltab.py | 7 ++++--- openlp/core/ui/splashscreen.py | 2 -- openlp/plugins/custom/lib/customtab.py | 2 ++ openlp/plugins/images/lib/imagetab.py | 2 ++ openlp/plugins/remotes/lib/remotetab.py | 2 ++ openlp/plugins/songs/lib/songstab.py | 2 ++ openlp/plugins/songusage/songusageplugin.py | 1 - 7 files changed, 12 insertions(+), 6 deletions(-) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 5f0fbf566..f1b235812 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -302,9 +302,9 @@ class GeneralTab(SettingsTab): self.SettingsGroupBox.setTitle( translate('OpenLP.GeneralTab', 'Application Settings')) self.SaveCheckServiceCheckBox.setText(translate('OpenLP.GeneralTab', - 'Prompt to save Service before starting New')) + 'Prompt to save before starting a new service')) self.AutoPreviewCheckBox.setText(translate('OpenLP.GeneralTab', - 'Preview Next Song from Service Manager')) + 'Automatically preview next item in service')) self.CCLIGroupBox.setTitle( translate('OpenLP.GeneralTab', 'CCLI Details')) self.NumberLabel.setText( @@ -330,7 +330,8 @@ class GeneralTab(SettingsTab): 'Override display position')) self.customXLabel.setText(translate('OpenLP.GeneralTab', 'X')) self.customYLabel.setText(translate('OpenLP.GeneralTab', 'Y')) - self.customHeightLabel.setText(translate('OpenLP.GeneralTab', 'Height')) + self.customHeightLabel.setText( + translate('OpenLP.GeneralTab', 'Height')) self.customWidthLabel.setText(translate('OpenLP.GeneralTab', 'Width')) def load(self): diff --git a/openlp/core/ui/splashscreen.py b/openlp/core/ui/splashscreen.py index bd87bcb12..650aa4640 100644 --- a/openlp/core/ui/splashscreen.py +++ b/openlp/core/ui/splashscreen.py @@ -25,8 +25,6 @@ from PyQt4 import QtCore, QtGui -from openlp.core.lib import build_icon, translate - class SplashScreen(object): def __init__(self, version): self.splash_screen = QtGui.QSplashScreen() diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index c860ece5d..b62b5e071 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -38,6 +38,8 @@ class CustomTab(SettingsTab): self.setObjectName(u'CustomTab') self.tabTitleVisible = translate('CustomPlugin.CustomTab', 'Custom') self.CustomLayout = QtGui.QFormLayout(self) + self.CustomLayout.setSpacing(8) + self.CustomLayout.setMargin(8) self.CustomLayout.setObjectName(u'CustomLayout') self.CustomModeGroupBox = QtGui.QGroupBox(self) self.CustomModeGroupBox.setObjectName(u'CustomModeGroupBox') diff --git a/openlp/plugins/images/lib/imagetab.py b/openlp/plugins/images/lib/imagetab.py index 319ec7ac4..f62f97bf0 100644 --- a/openlp/plugins/images/lib/imagetab.py +++ b/openlp/plugins/images/lib/imagetab.py @@ -38,6 +38,8 @@ class ImageTab(SettingsTab): self.setObjectName(u'ImageTab') self.tabTitleVisible = translate('ImagePlugin.ImageTab', 'Images') self.ImageLayout = QtGui.QFormLayout(self) + self.ImageLayout.setSpacing(8) + self.ImageLayout.setMargin(8) self.ImageLayout.setObjectName(u'ImageLayout') self.ImageSettingsGroupBox = QtGui.QGroupBox(self) self.ImageSettingsGroupBox.setObjectName(u'ImageSettingsGroupBox') diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index 7400875ee..1e8839833 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -38,6 +38,8 @@ class RemoteTab(SettingsTab): self.setObjectName(u'RemoteTab') self.tabTitleVisible = translate('RemotePlugin.RemoteTab', 'Remotes') self.remoteLayout = QtGui.QFormLayout(self) + self.remoteLayout.setSpacing(8) + self.remoteLayout.setMargin(8) self.remoteLayout.setObjectName(u'remoteLayout') self.serverSettingsGroupBox = QtGui.QGroupBox(self) self.serverSettingsGroupBox.setObjectName(u'serverSettingsGroupBox') diff --git a/openlp/plugins/songs/lib/songstab.py b/openlp/plugins/songs/lib/songstab.py index e9579aa7f..8cf94bb57 100644 --- a/openlp/plugins/songs/lib/songstab.py +++ b/openlp/plugins/songs/lib/songstab.py @@ -38,6 +38,8 @@ class SongsTab(SettingsTab): self.setObjectName(u'SongsTab') self.tabTitleVisible = translate('SongsPlugin.SongsTab', 'Songs') self.SongsLayout = QtGui.QFormLayout(self) + self.SongsLayout.setSpacing(8) + self.SongsLayout.setMargin(8) self.SongsLayout.setObjectName(u'SongsLayout') self.SongsModeGroupBox = QtGui.QGroupBox(self) self.SongsModeGroupBox.setObjectName(u'SongsModeGroupBox') diff --git a/openlp/plugins/songusage/songusageplugin.py b/openlp/plugins/songusage/songusageplugin.py index a11e61605..deeb46569 100644 --- a/openlp/plugins/songusage/songusageplugin.py +++ b/openlp/plugins/songusage/songusageplugin.py @@ -76,7 +76,6 @@ class SongUsagePlugin(Plugin): translate('SongUsagePlugin', 'Generate a report on song usage.')) self.SongUsageReport.setObjectName(u'SongUsageReport') #SongUsage activation - SongUsageIcon = build_icon(u':/plugins/plugin_songusage.png') self.SongUsageStatus = QtGui.QAction(tools_menu) self.SongUsageStatus.setCheckable(True) self.SongUsageStatus.setChecked(False) From 2f2b339863abaa0f39190df92609cecc5dec3853 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Sun, 25 Jul 2010 00:10:47 +0200 Subject: [PATCH 106/148] Update the copyright notice. --- copyright.txt | 5 +- openlp.pyw | 7 +- openlp/__init__.py | 7 +- openlp/core/__init__.py | 7 +- openlp/core/lib/__init__.py | 7 +- openlp/core/lib/baselistwithdnd.py | 7 +- openlp/core/lib/db.py | 7 +- openlp/core/lib/dockwidget.py | 7 +- openlp/core/lib/eventreceiver.py | 7 +- openlp/core/lib/mediamanageritem.py | 8 +- openlp/core/lib/plugin.py | 7 +- openlp/core/lib/pluginmanager.py | 5 +- openlp/core/lib/renderer.py | 7 +- openlp/core/lib/rendermanager.py | 7 +- openlp/core/lib/serviceitem.py | 7 +- openlp/core/lib/settingsmanager.py | 8 +- openlp/core/lib/settingstab.py | 7 +- openlp/core/lib/theme.py | 7 +- openlp/core/lib/toolbar.py | 7 +- openlp/core/theme/__init__.py | 7 +- openlp/core/theme/theme.py | 7 +- openlp/core/ui/__init__.py | 7 +- openlp/core/ui/aboutdialog.py | 7 +- openlp/core/ui/aboutform.py | 8 +- openlp/core/ui/advancedtab.py | 8 +- openlp/core/ui/amendthemedialog.py | 8 +- openlp/core/ui/amendthemeform.py | 8 +- openlp/core/ui/generaltab.py | 8 +- openlp/core/ui/maindisplay.py | 7 +- openlp/core/ui/mainwindow.py | 7 +- openlp/core/ui/mediadockmanager.py | 7 +- openlp/core/ui/plugindialog.py | 8 +- openlp/core/ui/pluginform.py | 8 +- openlp/core/ui/screen.py | 7 +- openlp/core/ui/serviceitemeditdialog.py | 7 +- openlp/core/ui/serviceitemeditform.py | 7 +- openlp/core/ui/servicemanager.py | 8 +- openlp/core/ui/servicenotedialog.py | 7 +- openlp/core/ui/servicenoteform.py | 7 +- openlp/core/ui/settingsdialog.py | 7 +- openlp/core/ui/settingsform.py | 7 +- openlp/core/ui/slidecontroller.py | 7 +- openlp/core/ui/splashscreen.py | 7 +- openlp/core/ui/thememanager.py | 7 +- openlp/core/ui/themestab.py | 7 +- openlp/core/utils/__init__.py | 7 +- openlp/core/utils/languagemanager.py | 8 +- openlp/plugins/__init__.py | 7 +- openlp/plugins/alerts/__init__.py | 7 +- openlp/plugins/alerts/alertsplugin.py | 7 +- openlp/plugins/alerts/forms/__init__.py | 7 +- openlp/plugins/alerts/forms/alertdialog.py | 7 +- openlp/plugins/alerts/forms/alertform.py | 7 +- openlp/plugins/alerts/lib/__init__.py | 7 +- openlp/plugins/alerts/lib/alertsmanager.py | 8 +- openlp/plugins/alerts/lib/alertstab.py | 7 +- openlp/plugins/alerts/lib/db.py | 7 +- openlp/plugins/bibles/__init__.py | 7 +- openlp/plugins/bibles/bibleplugin.py | 7 +- openlp/plugins/bibles/forms/__init__.py | 7 +- .../plugins/bibles/forms/bibleimportwizard.py | 8 +- .../plugins/bibles/forms/importwizardform.py | 7 +- openlp/plugins/bibles/lib/__init__.py | 7 +- openlp/plugins/bibles/lib/biblestab.py | 7 +- openlp/plugins/bibles/lib/common.py | 8 +- openlp/plugins/bibles/lib/csvbible.py | 7 +- openlp/plugins/bibles/lib/db.py | 7 +- openlp/plugins/bibles/lib/http.py | 7 +- openlp/plugins/bibles/lib/manager.py | 7 +- openlp/plugins/bibles/lib/mediaitem.py | 7 +- openlp/plugins/bibles/lib/opensong.py | 8 +- openlp/plugins/bibles/lib/osis.py | 8 +- openlp/plugins/custom/__init__.py | 7 +- openlp/plugins/custom/customplugin.py | 7 +- openlp/plugins/custom/forms/__init__.py | 7 +- .../plugins/custom/forms/editcustomdialog.py | 8 +- openlp/plugins/custom/forms/editcustomform.py | 8 +- openlp/plugins/custom/lib/__init__.py | 7 +- openlp/plugins/custom/lib/customtab.py | 7 +- openlp/plugins/custom/lib/customxmlhandler.py | 7 +- openlp/plugins/custom/lib/db.py | 7 +- openlp/plugins/custom/lib/mediaitem.py | 7 +- openlp/plugins/images/__init__.py | 7 +- openlp/plugins/images/imageplugin.py | 7 +- openlp/plugins/images/lib/__init__.py | 7 +- openlp/plugins/images/lib/imagetab.py | 8 +- openlp/plugins/images/lib/mediaitem.py | 8 +- openlp/plugins/media/__init__.py | 7 +- openlp/plugins/media/lib/__init__.py | 7 +- openlp/plugins/media/lib/mediaitem.py | 8 +- openlp/plugins/media/mediaplugin.py | 7 +- openlp/plugins/presentations/__init__.py | 7 +- openlp/plugins/presentations/lib/__init__.py | 7 +- .../presentations/lib/impresscontroller.py | 8 +- openlp/plugins/presentations/lib/mediaitem.py | 8 +- .../presentations/lib/messagelistener.py | 7 +- .../presentations/lib/powerpointcontroller.py | 7 +- .../presentations/lib/pptviewcontroller.py | 8 +- .../presentations/lib/pptviewlib/ppttest.py | 7 +- .../lib/presentationcontroller.py | 8 +- .../presentations/lib/presentationtab.py | 7 +- .../presentations/presentationplugin.py | 8 +- openlp/plugins/remotes/__init__.py | 7 +- openlp/plugins/remotes/lib/__init__.py | 7 +- openlp/plugins/remotes/lib/httpserver.py | 7 +- openlp/plugins/remotes/lib/remotetab.py | 8 +- openlp/plugins/remotes/remoteplugin.py | 7 +- openlp/plugins/songs/__init__.py | 7 +- openlp/plugins/songs/forms/__init__.py | 7 +- openlp/plugins/songs/forms/authorsdialog.py | 7 +- openlp/plugins/songs/forms/authorsform.py | 8 +- openlp/plugins/songs/forms/editsongdialog.py | 7 +- openlp/plugins/songs/forms/editsongform.py | 7 +- openlp/plugins/songs/forms/editversedialog.py | 8 +- openlp/plugins/songs/forms/editverseform.py | 8 +- openlp/plugins/songs/forms/songbookdialog.py | 7 +- openlp/plugins/songs/forms/songbookform.py | 7 +- openlp/plugins/songs/forms/songimportform.py | 7 +- .../plugins/songs/forms/songimportwizard.py | 7 +- .../songs/forms/songmaintenancedialog.py | 7 +- .../songs/forms/songmaintenanceform.py | 7 +- openlp/plugins/songs/forms/topicsdialog.py | 5 +- openlp/plugins/songs/forms/topicsform.py | 7 +- openlp/plugins/songs/lib/__init__.py | 7 +- openlp/plugins/songs/lib/db.py | 7 +- openlp/plugins/songs/lib/mediaitem.py | 7 +- openlp/plugins/songs/lib/olpimport.py | 7 +- openlp/plugins/songs/lib/oooimport.py | 8 +- openlp/plugins/songs/lib/opensongimport.py | 7 +- openlp/plugins/songs/lib/sofimport.py | 7 +- openlp/plugins/songs/lib/songimport.py | 7 +- openlp/plugins/songs/lib/songstab.py | 7 +- openlp/plugins/songs/lib/songxml.py | 7 +- .../songs/lib/test/test_opensongimport.py | 7 +- openlp/plugins/songs/lib/xml.py | 7 +- openlp/plugins/songs/songsplugin.py | 7 +- openlp/plugins/songusage/__init__.py | 7 +- openlp/plugins/songusage/forms/__init__.py | 7 +- .../songusage/forms/songusagedeletedialog.py | 7 +- .../songusage/forms/songusagedeleteform.py | 8 +- .../songusage/forms/songusagedetaildialog.py | 7 +- .../songusage/forms/songusagedetailform.py | 7 +- openlp/plugins/songusage/lib/__init__.py | 7 +- openlp/plugins/songusage/lib/db.py | 7 +- openlp/plugins/songusage/songusageplugin.py | 7 +- ...lugins.presentations.presentationplugin.py | 7 +- resources/pyinstaller/hook-openlp.py | 7 +- scripts/bible-1to2-converter.py | 7 +- scripts/openlp-1to2-converter.py | 7 +- scripts/openlp-remoteclient.py | 7 +- scripts/translation_utils.py | 7 +- scripts/windows-builder.py | 335 +++++++++--------- setup.py | 7 +- 153 files changed, 772 insertions(+), 653 deletions(-) diff --git a/copyright.txt b/copyright.txt index 1a348a0df..c99a64287 100644 --- a/copyright.txt +++ b/copyright.txt @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # diff --git a/openlp.pyw b/openlp.pyw index 81ae3e47f..af0dd222b 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -7,8 +7,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -200,4 +201,4 @@ if __name__ == u'__main__': """ Instantiate and run the application. """ - main() + main() \ No newline at end of file diff --git a/openlp/__init__.py b/openlp/__init__.py index 98d19aecc..0a5008522 100644 --- a/openlp/__init__.py +++ b/openlp/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -24,4 +25,4 @@ ############################################################################### """ The :mod:`openlp` module contains all the project produced OpenLP functionality -""" +""" \ No newline at end of file diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index 5b2bbe056..59b65ebfe 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -27,4 +28,4 @@ The :mod:`core` module provides all core application functions All the core functions of the OpenLP application including the GUI, settings, logging and a plugin framework are contained within the openlp.core module. -""" +""" \ No newline at end of file diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py index 6eb60b20f..34b0462d2 100644 --- a/openlp/core/lib/__init__.py +++ b/openlp/core/lib/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -218,4 +219,4 @@ from theme import ThemeLevel, ThemeXML from renderer import Renderer from rendermanager import RenderManager from mediamanageritem import MediaManagerItem -from baselistwithdnd import BaseListWithDnD +from baselistwithdnd import BaseListWithDnD \ No newline at end of file diff --git a/openlp/core/lib/baselistwithdnd.py b/openlp/core/lib/baselistwithdnd.py index 31b6f7709..46376c5b4 100644 --- a/openlp/core/lib/baselistwithdnd.py +++ b/openlp/core/lib/baselistwithdnd.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -51,4 +52,4 @@ class BaseListWithDnD(QtGui.QListWidget): mimeData = QtCore.QMimeData() drag.setMimeData(mimeData) mimeData.setText(self.PluginName) - drag.start(QtCore.Qt.CopyAction) + drag.start(QtCore.Qt.CopyAction) \ No newline at end of file diff --git a/openlp/core/lib/db.py b/openlp/core/lib/db.py index 6b8bb297c..b6b11a807 100644 --- a/openlp/core/lib/db.py +++ b/openlp/core/lib/db.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -244,4 +245,4 @@ class Manager(object): except InvalidRequestError: self.session.rollback() log.exception(u'Failed to delete %s records', object_class.__name__) - return False + return False \ No newline at end of file diff --git a/openlp/core/lib/dockwidget.py b/openlp/core/lib/dockwidget.py index 729e29d33..aff314c5c 100644 --- a/openlp/core/lib/dockwidget.py +++ b/openlp/core/lib/dockwidget.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -45,4 +46,4 @@ class OpenLPDockWidget(QtGui.QDockWidget): if name: self.setObjectName(name) self.setFloating(False) - log.debug(u'Init done') + log.debug(u'Init done') \ No newline at end of file diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index e942fcfe6..b42aa92ce 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -269,4 +270,4 @@ class Receiver(object): """ Get the global ``eventreceiver`` instance. """ - return Receiver.eventreceiver + return Receiver.eventreceiver \ No newline at end of file diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 8c7dd52bd..0f4018c34 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -534,5 +535,4 @@ class MediaManagerItem(QtGui.QWidget): if self.generateSlideData(service_item, item): return service_item else: - return None - + return None \ No newline at end of file diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index 082070575..348fe185e 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +288,4 @@ class Plugin(QtCore.QObject): ``newTheme`` The new name the plugin should now use. """ - pass + pass \ No newline at end of file diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py index 20c8bc97b..5b1e2ae7b 100644 --- a/openlp/core/lib/pluginmanager.py +++ b/openlp/core/lib/pluginmanager.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index 04c854afa..df1b2bb9e 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -592,4 +593,4 @@ class Renderer(object): """ image.save(u'renderer.png', u'png') if image2: - image2.save(u'renderer2.png', u'png') + image2.save(u'renderer2.png', u'png') \ No newline at end of file diff --git a/openlp/core/lib/rendermanager.py b/openlp/core/lib/rendermanager.py index b3c46a5eb..aad889b0b 100644 --- a/openlp/core/lib/rendermanager.py +++ b/openlp/core/lib/rendermanager.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -223,4 +224,4 @@ class RenderManager(object): log.debug(u'calculate default %d, %d, %f', self.width, self.height, self.screen_ratio ) # 90% is start of footer - self.footer_start = int(self.height * 0.90) + self.footer_start = int(self.height * 0.90) \ No newline at end of file diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 86694e986..591b205e2 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -388,4 +389,4 @@ class ServiceItem(object): """ Clear's the service item's cache. """ - self.cache = {} + self.cache = {} \ No newline at end of file diff --git a/openlp/core/lib/settingsmanager.py b/openlp/core/lib/settingsmanager.py index a8c8e7c50..5e1358c84 100644 --- a/openlp/core/lib/settingsmanager.py +++ b/openlp/core/lib/settingsmanager.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -205,5 +206,4 @@ class SettingsManager(object): if extension == os.path.splitext(filename)[1]] else: # no filtering required - return files - + return files \ No newline at end of file diff --git a/openlp/core/lib/settingstab.py b/openlp/core/lib/settingstab.py index 0b862d9f8..ec02c0dea 100644 --- a/openlp/core/lib/settingstab.py +++ b/openlp/core/lib/settingstab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -87,4 +88,4 @@ class SettingsTab(QtGui.QWidget): """ Changes which need to be made after setup of application """ - pass + pass \ No newline at end of file diff --git a/openlp/core/lib/theme.py b/openlp/core/lib/theme.py index 3f7b613d4..e09e26c9b 100644 --- a/openlp/core/lib/theme.py +++ b/openlp/core/lib/theme.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -414,4 +415,4 @@ class ThemeXML(object): for key in dir(self): if key[0:1] != u'_': theme_strings.append(u'%30s: %s' % (key, getattr(self, key))) - return u'\n'.join(theme_strings) + return u'\n'.join(theme_strings) \ No newline at end of file diff --git a/openlp/core/lib/toolbar.py b/openlp/core/lib/toolbar.py index 14b6d66ac..84f311e73 100644 --- a/openlp/core/lib/toolbar.py +++ b/openlp/core/lib/toolbar.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -153,4 +154,4 @@ class OpenLPToolbar(QtGui.QToolBar): push_button.setCheckable(True) push_button.setFlat(True) self.addWidget(push_button) - return push_button + return push_button \ No newline at end of file diff --git a/openlp/core/theme/__init__.py b/openlp/core/theme/__init__.py index 037392e8e..936832ae3 100644 --- a/openlp/core/theme/__init__.py +++ b/openlp/core/theme/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -23,4 +24,4 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### -from openlp.core.theme.theme import Theme +from openlp.core.theme.theme import Theme \ No newline at end of file diff --git a/openlp/core/theme/theme.py b/openlp/core/theme/theme.py index 66cc0d848..ff184f254 100644 --- a/openlp/core/theme/theme.py +++ b/openlp/core/theme/theme.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -221,4 +222,4 @@ class Theme(object): for key in dir(self): if key[0:1] != u'_': theme_strings.append(u'%30s : %s' % (key, getattr(self, key))) - return u'\n'.join(theme_strings) + return u'\n'.join(theme_strings) \ No newline at end of file diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index 4e92da6ca..31a3b3dad 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -59,4 +60,4 @@ from mainwindow import MainWindow __all__ = ['SplashScreen', 'AboutForm', 'SettingsForm', 'MainWindow', 'MainDisplay', 'SlideController', 'ServiceManager', 'ThemeManager', - 'AmendThemeForm', 'MediaDockManager', 'ServiceItemEditForm'] + 'AmendThemeForm', 'MediaDockManager', 'ServiceItemEditForm'] \ No newline at end of file diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index a48af11dc..4d544b87a 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -552,4 +553,4 @@ class Ui_AboutDialog(object): self.aboutNotebook.indexOf(self.licenseTab), translate('OpenLP.AboutForm', 'License')) self.contributeButton.setText(translate('OpenLP.AboutForm', 'Contribute')) - self.closeButton.setText(translate('OpenLP.AboutForm', 'Close')) + self.closeButton.setText(translate('OpenLP.AboutForm', 'Close')) \ No newline at end of file diff --git a/openlp/core/ui/aboutform.py b/openlp/core/ui/aboutform.py index 8ae391df6..a063263d5 100644 --- a/openlp/core/ui/aboutform.py +++ b/openlp/core/ui/aboutform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -60,5 +61,4 @@ class AboutForm(QtGui.QDialog, Ui_AboutDialog): import webbrowser url = u'http://www.openlp.org/en/documentation/introduction/' \ + u'contributing.html' - webbrowser.open_new(url) - + webbrowser.open_new(url) \ No newline at end of file diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index a32dee333..08450b787 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -187,5 +188,4 @@ class AdvancedTab(SettingsTab): """ self.sharedLabel.setEnabled(checked) self.sharedTextEdit.setEnabled(checked) - self.sharedPushButton.setEnabled(checked) - + self.sharedPushButton.setEnabled(checked) \ No newline at end of file diff --git a/openlp/core/ui/amendthemedialog.py b/openlp/core/ui/amendthemedialog.py index c1e57ae45..a3d155528 100644 --- a/openlp/core/ui/amendthemedialog.py +++ b/openlp/core/ui/amendthemedialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -825,5 +826,4 @@ class Ui_AmendThemeDialog(object): self.ThemeTabWidget.indexOf(self.OtherOptionsTab), translate('OpenLP.AmendThemeForm', '&Other Options')) self.PreviewGroupBox.setTitle( - translate('OpenLP.AmendThemeForm', 'Preview')) - + translate('OpenLP.AmendThemeForm', 'Preview')) \ No newline at end of file diff --git a/openlp/core/ui/amendthemeform.py b/openlp/core/ui/amendthemeform.py index 7676e9c25..36bbcaba3 100644 --- a/openlp/core/ui/amendthemeform.py +++ b/openlp/core/ui/amendthemeform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -764,5 +765,4 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): if self.theme.font_main_width < metrics.maxWidth() * 2 + 64: self.theme.font_main_width = metrics.maxWidth() * 2 + 64 self.FontMainWidthSpinBox.setValue(self.theme.font_main_width) - return metrics - + return metrics \ No newline at end of file diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 5f0fbf566..ac08edec0 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -463,5 +464,4 @@ class GeneralTab(SettingsTab): self.customYValueEdit.setEnabled(checked) self.customHeightValueEdit.setEnabled(checked) self.customWidthValueEdit.setEnabled(checked) - self.override_changed = True - + self.override_changed = True \ No newline at end of file diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 6183c23c2..c5df04cd4 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -707,4 +708,4 @@ class AudioPlayer(QtCore.QObject): Clean up the Object queue """ log.debug(u'AudioPlayer Reached end of media playlist') - self.mediaObject.clearQueue() + self.mediaObject.clearQueue() \ No newline at end of file diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 64c031e4b..f4465e5f6 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -1013,4 +1014,4 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.recentFiles.insert(0, QtCore.QString(filename)) while self.recentFiles.count() > maxRecentFiles: # Don't care what API says takeLast works, removeLast doesn't! - self.recentFiles.takeLast() + self.recentFiles.takeLast() \ No newline at end of file diff --git a/openlp/core/ui/mediadockmanager.py b/openlp/core/ui/mediadockmanager.py index 932c1b024..296e795db 100644 --- a/openlp/core/ui/mediadockmanager.py +++ b/openlp/core/ui/mediadockmanager.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -79,4 +80,4 @@ class MediaDockManager(object): if self.media_dock.widget(dock_index).settingsSection == \ name.lower(): self.media_dock.widget(dock_index).hide() - self.media_dock.removeItem(dock_index) + self.media_dock.removeItem(dock_index) \ No newline at end of file diff --git a/openlp/core/ui/plugindialog.py b/openlp/core/ui/plugindialog.py index cef5fca56..21616cd05 100644 --- a/openlp/core/ui/plugindialog.py +++ b/openlp/core/ui/plugindialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -114,5 +115,4 @@ class Ui_PluginViewDialog(object): self.StatusComboBox.setItemText(0, translate('OpenLP.PluginForm', 'Active')) self.StatusComboBox.setItemText(1, - translate('OpenLP.PluginForm', 'Inactive')) - + translate('OpenLP.PluginForm', 'Inactive')) \ No newline at end of file diff --git a/openlp/core/ui/pluginform.py b/openlp/core/ui/pluginform.py index f1111ff85..21ac4d672 100644 --- a/openlp/core/ui/pluginform.py +++ b/openlp/core/ui/pluginform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -134,5 +135,4 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): status_text = unicode( translate('OpenLP.PluginForm', '%s (Disabled)')) self.PluginListWidget.currentItem().setText( - status_text % self.activePlugin.name) - + status_text % self.activePlugin.name) \ No newline at end of file diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index f620e7d00..3c01b9f53 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -98,4 +99,4 @@ class ScreenList(object): user wants to use the correct screen attributes """ log.debug(u'reset_current_display') - self.set_current_display(self.current_display) + self.set_current_display(self.current_display) \ No newline at end of file diff --git a/openlp/core/ui/serviceitemeditdialog.py b/openlp/core/ui/serviceitemeditdialog.py index a32abce37..5a85d42bc 100644 --- a/openlp/core/ui/serviceitemeditdialog.py +++ b/openlp/core/ui/serviceitemeditdialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,5 +73,3 @@ class Ui_ServiceItemEditDialog(object): self.upButton.setText(translate('OpenLP.ServiceItemEditForm', 'Up')) self.deleteButton.setText(translate('OpenLP.ServiceItemEditForm', 'Delete')) self.downButton.setText(translate('OpenLP.ServiceItemEditForm', 'Down')) - - diff --git a/openlp/core/ui/serviceitemeditform.py b/openlp/core/ui/serviceitemeditform.py index 6a95e875e..0c062480d 100644 --- a/openlp/core/ui/serviceitemeditform.py +++ b/openlp/core/ui/serviceitemeditform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +123,4 @@ class ServiceItemEditForm(QtGui.QDialog, Ui_ServiceItemEditDialog): self.itemList.remove(self.itemList[row]) self.itemList.insert(row + 1, temp) self.loadData() - self.listWidget.setCurrentRow(row + 1) + self.listWidget.setCurrentRow(row + 1) \ No newline at end of file diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 85193d82d..7fb96bf6e 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -1030,5 +1031,4 @@ class ServiceManager(QtGui.QWidget): data_item[u'notes'] = unicode(service_item.notes) data_item[u'selected'] = (item == curitem) data.append(data_item) - Receiver.send_message(u'servicemanager_list_response', data) - + Receiver.send_message(u'servicemanager_list_response', data) \ No newline at end of file diff --git a/openlp/core/ui/servicenotedialog.py b/openlp/core/ui/servicenotedialog.py index a5977a2de..079a7148c 100644 --- a/openlp/core/ui/servicenotedialog.py +++ b/openlp/core/ui/servicenotedialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -49,4 +50,4 @@ class Ui_ServiceNoteEdit(object): def retranslateUi(self, ServiceNoteEdit): ServiceNoteEdit.setWindowTitle( - translate('OpenLP.ServiceNoteForm', 'Service Item Notes')) + translate('OpenLP.ServiceNoteForm', 'Service Item Notes')) \ No newline at end of file diff --git a/openlp/core/ui/servicenoteform.py b/openlp/core/ui/servicenoteform.py index 2dd19b242..df905b554 100644 --- a/openlp/core/ui/servicenoteform.py +++ b/openlp/core/ui/servicenoteform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -40,4 +41,4 @@ class ServiceNoteForm(QtGui.QDialog, Ui_ServiceNoteEdit): QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'), self.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'), - self.reject) + self.reject) \ No newline at end of file diff --git a/openlp/core/ui/settingsdialog.py b/openlp/core/ui/settingsdialog.py index 36e6304e5..ede3d429f 100644 --- a/openlp/core/ui/settingsdialog.py +++ b/openlp/core/ui/settingsdialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -64,4 +65,4 @@ class Ui_SettingsDialog(object): def retranslateUi(self, SettingsDialog): SettingsDialog.setWindowTitle(translate('OpenLP.SettingsForm', - 'Configure OpenLP')) + 'Configure OpenLP')) \ No newline at end of file diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 540568fb6..4aabf181c 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +94,4 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): Run any post-setup code for the tabs on the form """ for tabIndex in range(0, self.settingsTabWidget.count()): - self.settingsTabWidget.widget(tabIndex).postSetUp() + self.settingsTabWidget.widget(tabIndex).postSetUp() \ No newline at end of file diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index e5e4dd462..d7e3498bd 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -983,4 +984,4 @@ class SlideController(QtGui.QWidget): self.mediaObject.stop() self.video.hide() self.SlidePreview.clear() - self.SlidePreview.show() + self.SlidePreview.show() \ No newline at end of file diff --git a/openlp/core/ui/splashscreen.py b/openlp/core/ui/splashscreen.py index bd87bcb12..4440e6297 100644 --- a/openlp/core/ui/splashscreen.py +++ b/openlp/core/ui/splashscreen.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -56,4 +57,4 @@ class SplashScreen(object): self.splash_screen.show() def finish(self, widget): - self.splash_screen.finish(widget) + self.splash_screen.finish(widget) \ No newline at end of file diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 9f1067baa..8b11637a6 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -756,4 +757,4 @@ class ThemeManager(QtGui.QWidget): theme.font_main_y = int(theme.font_main_y.strip()) #theme.theme_mode theme.theme_name = theme.theme_name.strip() - #theme.theme_version + #theme.theme_version \ No newline at end of file diff --git a/openlp/core/ui/themestab.py b/openlp/core/ui/themestab.py index 7643525af..8dcbd46c4 100644 --- a/openlp/core/ui/themestab.py +++ b/openlp/core/ui/themestab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -206,4 +207,4 @@ class ThemesTab(SettingsTab): if not preview.isNull(): preview = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation) - self.DefaultListView.setPixmap(preview) + self.DefaultListView.setPixmap(preview) \ No newline at end of file diff --git a/openlp/core/utils/__init__.py b/openlp/core/utils/__init__.py index 475fcdbcb..249096f49 100644 --- a/openlp/core/utils/__init__.py +++ b/openlp/core/utils/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -212,4 +213,4 @@ def get_images_filter(): from languagemanager import LanguageManager __all__ = [u'AppLocation', u'check_latest_version', u'add_actions', - u'get_filesystem_encoding', u'LanguageManager'] + u'get_filesystem_encoding', u'LanguageManager'] \ No newline at end of file diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index 6a72f088a..970c105fc 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -142,5 +143,4 @@ class LanguageManager(object): """ if LanguageManager.__qmList__ is None: LanguageManager.init_qm_list() - return LanguageManager.__qmList__ - + return LanguageManager.__qmList__ \ No newline at end of file diff --git a/openlp/plugins/__init__.py b/openlp/plugins/__init__.py index 213c15d47..91c265dda 100644 --- a/openlp/plugins/__init__.py +++ b/openlp/plugins/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -24,4 +25,4 @@ ############################################################################### """ The :mod:`plugins` module provides all the project produced plugins -""" +""" \ No newline at end of file diff --git a/openlp/plugins/alerts/__init__.py b/openlp/plugins/alerts/__init__.py index 76ca202dd..ac9730bb5 100644 --- a/openlp/plugins/alerts/__init__.py +++ b/openlp/plugins/alerts/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +26,4 @@ """ The :mod:`alerts` module provides the Alerts plugin for producing impromptu on-screen announcements during a service. -""" +""" \ No newline at end of file diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index a9c726024..49e6d6282 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -102,4 +103,4 @@ class AlertsPlugin(Plugin): about_text = translate('AlertsPlugin', 'Alerts Plugin' '
The alert plugin controls the displaying of nursery alerts ' 'on the display screen') - return about_text + return about_text \ No newline at end of file diff --git a/openlp/plugins/alerts/forms/__init__.py b/openlp/plugins/alerts/forms/__init__.py index 9cccd8a01..adfae9db2 100644 --- a/openlp/plugins/alerts/forms/__init__.py +++ b/openlp/plugins/alerts/forms/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -23,4 +24,4 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### -from alertform import AlertForm +from alertform import AlertForm \ No newline at end of file diff --git a/openlp/plugins/alerts/forms/alertdialog.py b/openlp/plugins/alerts/forms/alertdialog.py index 567fecd9c..bcdcd08ae 100644 --- a/openlp/plugins/alerts/forms/alertdialog.py +++ b/openlp/plugins/alerts/forms/alertdialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -139,4 +140,4 @@ class Ui_AlertDialog(object): self.DisplayCloseButton.setText( translate('AlertsPlugin.AlertForm', 'Display && Cl&ose')) self.CloseButton.setText( - translate('AlertsPlugin.AlertForm', '&Close')) + translate('AlertsPlugin.AlertForm', '&Close')) \ No newline at end of file diff --git a/openlp/plugins/alerts/forms/alertform.py b/openlp/plugins/alerts/forms/alertform.py index 71edd8e9f..133770795 100644 --- a/openlp/plugins/alerts/forms/alertform.py +++ b/openlp/plugins/alerts/forms/alertform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -154,4 +155,4 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog): text = text.replace(u'<>', unicode(self.ParameterEdit.text())) self.parent.alertsmanager.displayAlert(text) return True - return False + return False \ No newline at end of file diff --git a/openlp/plugins/alerts/lib/__init__.py b/openlp/plugins/alerts/lib/__init__.py index 2c22e5375..cfb15040c 100644 --- a/openlp/plugins/alerts/lib/__init__.py +++ b/openlp/plugins/alerts/lib/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -24,4 +25,4 @@ ############################################################################### from alertsmanager import AlertsManager -from alertstab import AlertsTab +from alertstab import AlertsTab \ No newline at end of file diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py index 32150748a..0a8a328d3 100644 --- a/openlp/plugins/alerts/lib/alertsmanager.py +++ b/openlp/plugins/alerts/lib/alertsmanager.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -116,5 +117,4 @@ class AlertsManager(QtCore.QObject): alertTab.location) self.killTimer(self.timer_id) self.timer_id = 0 - self.generateAlert() - + self.generateAlert() \ No newline at end of file diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 07c39939d..7c10d4715 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -294,4 +295,4 @@ class AlertsTab(SettingsTab): font.setPointSize(self.font_size) self.FontPreview.setFont(font) self.FontPreview.setStyleSheet(u'background-color: %s; color: %s' % - (self.bg_color, self.font_color)) + (self.bg_color, self.font_color)) \ No newline at end of file diff --git a/openlp/plugins/alerts/lib/db.py b/openlp/plugins/alerts/lib/db.py index 5e4b1a99a..b26777837 100644 --- a/openlp/plugins/alerts/lib/db.py +++ b/openlp/plugins/alerts/lib/db.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -54,4 +55,4 @@ def init_schema(url): mapper(AlertItem, alerts_table) metadata.create_all(checkfirst=True) - return session + return session \ No newline at end of file diff --git a/openlp/plugins/bibles/__init__.py b/openlp/plugins/bibles/__init__.py index 2491c4142..8e02a0b3e 100644 --- a/openlp/plugins/bibles/__init__.py +++ b/openlp/plugins/bibles/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +26,4 @@ """ The :mod:`bibles' module provides the Bible plugin to enable OpenLP to display scripture. -""" +""" \ No newline at end of file diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 19d6d65cd..1a9669683 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -116,4 +117,4 @@ class BiblePlugin(Plugin): ``newTheme`` The new name the plugin should now use. """ - self.settings_tab.bible_theme = newTheme + self.settings_tab.bible_theme = newTheme \ No newline at end of file diff --git a/openlp/plugins/bibles/forms/__init__.py b/openlp/plugins/bibles/forms/__init__.py index 312aa7506..abd080a6d 100644 --- a/openlp/plugins/bibles/forms/__init__.py +++ b/openlp/plugins/bibles/forms/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +26,4 @@ from importwizardform import ImportWizardForm -__all__ = ['ImportWizardForm'] +__all__ = ['ImportWizardForm'] \ No newline at end of file diff --git a/openlp/plugins/bibles/forms/bibleimportwizard.py b/openlp/plugins/bibles/forms/bibleimportwizard.py index 53cca6eff..e512959c9 100644 --- a/openlp/plugins/bibles/forms/bibleimportwizard.py +++ b/openlp/plugins/bibles/forms/bibleimportwizard.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -380,5 +381,4 @@ class Ui_BibleImportWizard(object): 'Please wait while your Bible is imported.')) self.ImportProgressLabel.setText( translate('BiblesPlugin.ImportWizardForm', 'Ready.')) - self.ImportProgressBar.setFormat(u'%p%') - + self.ImportProgressBar.setFormat(u'%p%') \ No newline at end of file diff --git a/openlp/plugins/bibles/forms/importwizardform.py b/openlp/plugins/bibles/forms/importwizardform.py index da225b782..aa6dc6f2a 100644 --- a/openlp/plugins/bibles/forms/importwizardform.py +++ b/openlp/plugins/bibles/forms/importwizardform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -456,4 +457,4 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): self.ImportProgressBar.setValue(self.ImportProgressBar.maximum()) self.finishButton.setVisible(True) self.cancelButton.setVisible(False) - Receiver.send_message(u'openlp_process_events') + Receiver.send_message(u'openlp_process_events') \ No newline at end of file diff --git a/openlp/plugins/bibles/lib/__init__.py b/openlp/plugins/bibles/lib/__init__.py index a69db14b3..b15cc8c84 100644 --- a/openlp/plugins/bibles/lib/__init__.py +++ b/openlp/plugins/bibles/lib/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -26,4 +27,4 @@ from common import BibleCommon from manager import BibleManager from biblestab import BiblesTab -from mediaitem import BibleMediaItem +from mediaitem import BibleMediaItem \ No newline at end of file diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index d31ebb571..b379bbfbd 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -246,4 +247,4 @@ class BiblesTab(SettingsTab): # Not Found id = 0 self.bible_theme = u'' - self.BibleThemeComboBox.setCurrentIndex(id) + self.BibleThemeComboBox.setCurrentIndex(id) \ No newline at end of file diff --git a/openlp/plugins/bibles/lib/common.py b/openlp/plugins/bibles/lib/common.py index 30777b3a2..c6818e3f3 100644 --- a/openlp/plugins/bibles/lib/common.py +++ b/openlp/plugins/bibles/lib/common.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -276,5 +277,4 @@ def unescape(text): except KeyError: pass return text # leave as is - return re.sub(u'&#?\w+;', fixup, text) - + return re.sub(u'&#?\w+;', fixup, text) \ No newline at end of file diff --git a/openlp/plugins/bibles/lib/csvbible.py b/openlp/plugins/bibles/lib/csvbible.py index 9a504f48f..0472c4174 100644 --- a/openlp/plugins/bibles/lib/csvbible.py +++ b/openlp/plugins/bibles/lib/csvbible.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -112,4 +113,4 @@ class CSVBible(BibleDB): self.wizard.incrementProgressBar(u'Import canceled!') return False else: - return success + return success \ No newline at end of file diff --git a/openlp/plugins/bibles/lib/db.py b/openlp/plugins/bibles/lib/db.py index cb6646a12..4c1890f35 100644 --- a/openlp/plugins/bibles/lib/db.py +++ b/openlp/plugins/bibles/lib/db.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -423,4 +424,4 @@ class BibleDB(QtCore.QObject, Manager): log.debug(books) log.debug(u'...............................Verses ') verses = self.session.query(Verse).all() - log.debug(verses) + log.debug(verses) \ No newline at end of file diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 43c9cf405..66c8bc571 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -500,4 +501,4 @@ class HTTPBible(BibleDB): ``server`` The hostname or IP address of the proxy server. """ - self.proxy_server = server + self.proxy_server = server \ No newline at end of file diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index f862e1d1c..6aade2796 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -266,4 +267,4 @@ class BibleManager(object): bible = unicode(bible) if bible == name: return True - return False + return False \ No newline at end of file diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 2d394814b..be044b22a 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -658,4 +659,4 @@ class BibleMediaItem(MediaManagerItem): def searchByReference(self, bible, search): log.debug(u'searchByReference %s, %s', bible, search) - self.search_results = self.parent.manager.get_verses(bible, search) + self.search_results = self.parent.manager.get_verses(bible, search) \ No newline at end of file diff --git a/openlp/plugins/bibles/lib/opensong.py b/openlp/plugins/bibles/lib/opensong.py index 7c7beb7f6..16fa97c98 100644 --- a/openlp/plugins/bibles/lib/opensong.py +++ b/openlp/plugins/bibles/lib/opensong.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -101,5 +102,4 @@ class OpenSongBible(BibleDB): self.wizard.incrementProgressBar(u'Import canceled!') return False else: - return success - + return success \ No newline at end of file diff --git a/openlp/plugins/bibles/lib/osis.py b/openlp/plugins/bibles/lib/osis.py index 8437fd843..97cf093a4 100644 --- a/openlp/plugins/bibles/lib/osis.py +++ b/openlp/plugins/bibles/lib/osis.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -183,5 +184,4 @@ class OSISBible(BibleDB): self.wizard.incrementProgressBar(u'Import canceled!') return False else: - return success - + return success \ No newline at end of file diff --git a/openlp/plugins/custom/__init__.py b/openlp/plugins/custom/__init__.py index 2b9a101f1..3951d8e3d 100644 --- a/openlp/plugins/custom/__init__.py +++ b/openlp/plugins/custom/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -26,4 +27,4 @@ The :mod:`custom` module provides the Custom plugin which allows custom, themed, text based items to be displayed without having to misuse another item type. -""" +""" \ No newline at end of file diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py index 4785ad6b8..31ea50bc4 100644 --- a/openlp/plugins/custom/customplugin.py +++ b/openlp/plugins/custom/customplugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +96,4 @@ class CustomPlugin(Plugin): CustomSlide.theme_name == oldTheme) for custom in customsUsingTheme: custom.theme_name = newTheme - self.custommanager.save_object(custom) + self.custommanager.save_object(custom) \ No newline at end of file diff --git a/openlp/plugins/custom/forms/__init__.py b/openlp/plugins/custom/forms/__init__.py index 4a4a88237..64039605e 100644 --- a/openlp/plugins/custom/forms/__init__.py +++ b/openlp/plugins/custom/forms/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -23,4 +24,4 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### -from editcustomform import EditCustomForm +from editcustomform import EditCustomForm \ No newline at end of file diff --git a/openlp/plugins/custom/forms/editcustomdialog.py b/openlp/plugins/custom/forms/editcustomdialog.py index eb503b01f..7ba8737ca 100644 --- a/openlp/plugins/custom/forms/editcustomdialog.py +++ b/openlp/plugins/custom/forms/editcustomdialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -185,5 +186,4 @@ class Ui_customEditDialog(object): self.ThemeLabel.setText( translate('CustomPlugin.EditCustomForm', 'The&me:')) self.CreditLabel.setText( - translate('CustomPlugin.EditCustomForm', '&Credits:')) - + translate('CustomPlugin.EditCustomForm', '&Credits:')) \ No newline at end of file diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index e88c6c3d3..a41cbe433 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -280,5 +281,4 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog): return False, translate('CustomPlugin.EditCustomForm', 'You have one or more unsaved slides, please either save your ' 'slide(s) or clear your changes.') - return True, u'' - + return True, u'' \ No newline at end of file diff --git a/openlp/plugins/custom/lib/__init__.py b/openlp/plugins/custom/lib/__init__.py index 1eea5e32d..8294926a3 100644 --- a/openlp/plugins/custom/lib/__init__.py +++ b/openlp/plugins/custom/lib/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +26,4 @@ from customxmlhandler import CustomXMLBuilder, CustomXMLParser from mediaitem import CustomMediaItem -from customtab import CustomTab +from customtab import CustomTab \ No newline at end of file diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index c860ece5d..49300d341 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -74,4 +75,4 @@ class CustomTab(SettingsTab): def save(self): QtCore.QSettings().setValue(self.settingsSection + u'/display footer', - QtCore.QVariant(self.displayFooter)) + QtCore.QVariant(self.displayFooter)) \ No newline at end of file diff --git a/openlp/plugins/custom/lib/customxmlhandler.py b/openlp/plugins/custom/lib/customxmlhandler.py index bb6e33390..ca5aec66f 100644 --- a/openlp/plugins/custom/lib/customxmlhandler.py +++ b/openlp/plugins/custom/lib/customxmlhandler.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -153,4 +154,4 @@ class CustomXMLParser(object): """ Debugging aid to dump XML so that we can see what we have. """ - return dump(self.custom_xml) + return dump(self.custom_xml) \ No newline at end of file diff --git a/openlp/plugins/custom/lib/db.py b/openlp/plugins/custom/lib/db.py index 39d935d9a..27a676bbb 100644 --- a/openlp/plugins/custom/lib/db.py +++ b/openlp/plugins/custom/lib/db.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -58,4 +59,4 @@ def init_schema(url): mapper(CustomSlide, custom_slide_table) metadata.create_all(checkfirst=True) - return session + return session \ No newline at end of file diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 7595bfb73..29f6c52cb 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -182,4 +183,4 @@ class CustomMediaItem(MediaManagerItem): else: raw_footer.append(u'') service_item.raw_footer = raw_footer - return True + return True \ No newline at end of file diff --git a/openlp/plugins/images/__init__.py b/openlp/plugins/images/__init__.py index 58cfb69b5..3ce158c24 100644 --- a/openlp/plugins/images/__init__.py +++ b/openlp/plugins/images/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +26,4 @@ """ The :mod:`images` module provides the Images plugin. The Images plugin provides the facility to display images from OpenLP. -""" +""" \ No newline at end of file diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py index 03c8992f9..6320aee15 100644 --- a/openlp/plugins/images/imageplugin.py +++ b/openlp/plugins/images/imageplugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -59,4 +60,4 @@ class ImagePlugin(Plugin): 'background, which renders text-based items like songs with the ' 'selected image as a background instead of the background ' 'provided by the theme.') - return about_text + return about_text \ No newline at end of file diff --git a/openlp/plugins/images/lib/__init__.py b/openlp/plugins/images/lib/__init__.py index f5312fd6a..85dee50d3 100644 --- a/openlp/plugins/images/lib/__init__.py +++ b/openlp/plugins/images/lib/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -24,4 +25,4 @@ ############################################################################### from mediaitem import ImageMediaItem -from imagetab import ImageTab +from imagetab import ImageTab \ No newline at end of file diff --git a/openlp/plugins/images/lib/imagetab.py b/openlp/plugins/images/lib/imagetab.py index 319ec7ac4..b3f804b33 100644 --- a/openlp/plugins/images/lib/imagetab.py +++ b/openlp/plugins/images/lib/imagetab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -87,5 +88,4 @@ class ImageTab(SettingsTab): def postSetUp(self): Receiver.send_message(u'slidecontroller_live_spin_delay', - self.loop_delay) - + self.loop_delay) \ No newline at end of file diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index 51e06be3f..4d26ba4aa 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -180,5 +181,4 @@ class ImageMediaItem(MediaManagerItem): self.parent.displayManager.displayImageWithText(frame) def onPreviewClick(self): - MediaManagerItem.onPreviewClick(self) - + MediaManagerItem.onPreviewClick(self) \ No newline at end of file diff --git a/openlp/plugins/media/__init__.py b/openlp/plugins/media/__init__.py index 28ea0e960..c8c4a4621 100644 --- a/openlp/plugins/media/__init__.py +++ b/openlp/plugins/media/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -27,4 +28,4 @@ The :mod:`media` module provides the Media plugin which allows OpenLP to display videos. The media supported depends not only on the Python support but also extensively on the codecs installed on the underlying operating system being picked up and usable by Python. -""" +""" \ No newline at end of file diff --git a/openlp/plugins/media/lib/__init__.py b/openlp/plugins/media/lib/__init__.py index a5406d6a8..2614b5cab 100644 --- a/openlp/plugins/media/lib/__init__.py +++ b/openlp/plugins/media/lib/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +26,4 @@ from mediaitem import MediaMediaItem -__all__ = ['MediaMediaItem'] +__all__ = ['MediaMediaItem'] \ No newline at end of file diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index b295d7b70..b298e1c0b 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -148,5 +149,4 @@ class MediaMediaItem(MediaManagerItem): img = QtGui.QPixmap(u':/media/media_video.png').toImage() item_name.setIcon(build_icon(img)) item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file)) - self.listView.addItem(item_name) - + self.listView.addItem(item_name) \ No newline at end of file diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index a2e27bd4d..50779f559 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -75,4 +76,4 @@ class MediaPlugin(Plugin): def about(self): about_text = translate('MediaPlugin', 'Media Plugin' '
The media plugin provides playback of audio and video.') - return about_text + return about_text \ No newline at end of file diff --git a/openlp/plugins/presentations/__init__.py b/openlp/plugins/presentations/__init__.py index b7f26b39b..6aa11924f 100644 --- a/openlp/plugins/presentations/__init__.py +++ b/openlp/plugins/presentations/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +26,4 @@ """ The :mod:`presentations` module provides the Presentations plugin which allows OpenLP to show presentations from most popular presentation packages. -""" +""" \ No newline at end of file diff --git a/openlp/plugins/presentations/lib/__init__.py b/openlp/plugins/presentations/lib/__init__.py index a89b62fbe..f249d5415 100644 --- a/openlp/plugins/presentations/lib/__init__.py +++ b/openlp/plugins/presentations/lib/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -26,4 +27,4 @@ from presentationcontroller import PresentationController from messagelistener import MessageListener from mediaitem import PresentationMediaItem -from presentationtab import PresentationTab +from presentationtab import PresentationTab \ No newline at end of file diff --git a/openlp/plugins/presentations/lib/impresscontroller.py b/openlp/plugins/presentations/lib/impresscontroller.py index 0b401f484..8a20dfa99 100644 --- a/openlp/plugins/presentations/lib/impresscontroller.py +++ b/openlp/plugins/presentations/lib/impresscontroller.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -462,5 +463,4 @@ class ImpressDocument(PresentationDocument): shape = notes.getByIndex(idx) if shape.supportsService("com.sun.star.drawing.Text"): text += shape.getString() + '\n' - return text - + return text \ No newline at end of file diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index fe2c3ead6..e7cdfedba 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -298,5 +299,4 @@ class PresentationMediaItem(MediaManagerItem): if self.controllers[controller].enabled(): if filetype in self.controllers[controller].alsosupports: return controller - return None - + return None \ No newline at end of file diff --git a/openlp/plugins/presentations/lib/messagelistener.py b/openlp/plugins/presentations/lib/messagelistener.py index a7e6f10ce..4125a3d75 100644 --- a/openlp/plugins/presentations/lib/messagelistener.py +++ b/openlp/plugins/presentations/lib/messagelistener.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -366,4 +367,4 @@ class MessageListener(object): to check which slide is currently displayed so the slidecontroller view can be updated """ - self.live_handler.poll() + self.live_handler.poll() \ No newline at end of file diff --git a/openlp/plugins/presentations/lib/powerpointcontroller.py b/openlp/plugins/presentations/lib/powerpointcontroller.py index 6c725e583..cd51fd474 100644 --- a/openlp/plugins/presentations/lib/powerpointcontroller.py +++ b/openlp/plugins/presentations/lib/powerpointcontroller.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -309,4 +310,4 @@ class PowerpointDocument(PresentationDocument): shape = shapes(idx + 1) if shape.HasTextFrame: text += shape.TextFrame.TextRange.Text + '\n' - return text + return text \ No newline at end of file diff --git a/openlp/plugins/presentations/lib/pptviewcontroller.py b/openlp/plugins/presentations/lib/pptviewcontroller.py index 2810c88d2..cec430ce3 100644 --- a/openlp/plugins/presentations/lib/pptviewcontroller.py +++ b/openlp/plugins/presentations/lib/pptviewcontroller.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -245,5 +246,4 @@ class PptviewDocument(PresentationDocument): """ Triggers the previous slide on the running presentation """ - self.controller.process.PrevStep(self.pptid) - + self.controller.process.PrevStep(self.pptid) \ No newline at end of file diff --git a/openlp/plugins/presentations/lib/pptviewlib/ppttest.py b/openlp/plugins/presentations/lib/pptviewlib/ppttest.py index b4a82d236..304c942f0 100644 --- a/openlp/plugins/presentations/lib/pptviewlib/ppttest.py +++ b/openlp/plugins/presentations/lib/pptviewlib/ppttest.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -168,4 +169,4 @@ if __name__ == '__main__': app = QtGui.QApplication(sys.argv) qb = PPTViewer() qb.show() - sys.exit(app.exec_()) + sys.exit(app.exec_()) \ No newline at end of file diff --git a/openlp/plugins/presentations/lib/presentationcontroller.py b/openlp/plugins/presentations/lib/presentationcontroller.py index 15d58c206..c455208d3 100644 --- a/openlp/plugins/presentations/lib/presentationcontroller.py +++ b/openlp/plugins/presentations/lib/presentationcontroller.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -434,5 +435,4 @@ class PresentationDocument(object): ``slide_no`` The slide the notes are required for, starting at 1 """ - return '' - + return '' \ No newline at end of file diff --git a/openlp/plugins/presentations/lib/presentationtab.py b/openlp/plugins/presentations/lib/presentationtab.py index ba0d2fd4f..dbbc18443 100644 --- a/openlp/plugins/presentations/lib/presentationtab.py +++ b/openlp/plugins/presentations/lib/presentationtab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -161,4 +162,4 @@ class PresentationTab(SettingsTab): QtCore.QVariant(self.OverrideAppCheckBox.checkState())) changed = True if changed: - Receiver.send_message(u'mediaitem_presentation_rebuild') + Receiver.send_message(u'mediaitem_presentation_rebuild') \ No newline at end of file diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index eaf236e0c..f5b72bcd1 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -140,5 +141,4 @@ class PresentationPlugin(Plugin): 'ability to show presentations using a number of different ' 'programs. The choice of available presentation programs is ' 'available to the user in a drop down box.') - return about_text - + return about_text \ No newline at end of file diff --git a/openlp/plugins/remotes/__init__.py b/openlp/plugins/remotes/__init__.py index 59b771c0d..f62bc61d3 100644 --- a/openlp/plugins/remotes/__init__.py +++ b/openlp/plugins/remotes/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +26,4 @@ """ The :mod:`remotes` plugin allows OpenLP to be controlled from another machine over a network connection. -""" +""" \ No newline at end of file diff --git a/openlp/plugins/remotes/lib/__init__.py b/openlp/plugins/remotes/lib/__init__.py index 9307a0f51..8e30cbd32 100644 --- a/openlp/plugins/remotes/lib/__init__.py +++ b/openlp/plugins/remotes/lib/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -24,4 +25,4 @@ ############################################################################### from remotetab import RemoteTab -from httpserver import HttpServer +from httpserver import HttpServer \ No newline at end of file diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index 36515df16..c880d0208 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -336,4 +337,4 @@ class HttpConnection(object): log.debug(u'close socket') self.socket.close() self.socket = None - self.parent.close_connection(self) + self.parent.close_connection(self) \ No newline at end of file diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index 7400875ee..0732a6938 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -75,5 +76,4 @@ class RemoteTab(SettingsTab): QtCore.QSettings().setValue(self.settingsSection + u'/port', QtCore.QVariant(self.portSpinBox.value())) QtCore.QSettings().setValue(self.settingsSection + u'/ip address', - QtCore.QVariant(self.addressEdit.text())) - + QtCore.QVariant(self.addressEdit.text())) \ No newline at end of file diff --git a/openlp/plugins/remotes/remoteplugin.py b/openlp/plugins/remotes/remoteplugin.py index 6666b5e93..7be7405e4 100644 --- a/openlp/plugins/remotes/remoteplugin.py +++ b/openlp/plugins/remotes/remoteplugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -74,4 +75,4 @@ class RemotesPlugin(Plugin): '
The remote plugin provides the ability to send messages to ' 'a running version of OpenLP on a different computer via a web ' 'browser or through the remote API.') - return about_text + return about_text \ No newline at end of file diff --git a/openlp/plugins/songs/__init__.py b/openlp/plugins/songs/__init__.py index 4cd5537eb..e34e28e91 100644 --- a/openlp/plugins/songs/__init__.py +++ b/openlp/plugins/songs/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +26,4 @@ """ The :mod:`songs` module provides the Songs plugin. The Songs plugin provides the main lyric projection function of OpenLP. -""" +""" \ No newline at end of file diff --git a/openlp/plugins/songs/forms/__init__.py b/openlp/plugins/songs/forms/__init__.py index e12ba048c..e62d92505 100644 --- a/openlp/plugins/songs/forms/__init__.py +++ b/openlp/plugins/songs/forms/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -29,4 +30,4 @@ from songbookform import SongBookForm from editverseform import EditVerseForm from editsongform import EditSongForm from songmaintenanceform import SongMaintenanceForm -from songimportform import ImportWizardForm +from songimportform import ImportWizardForm \ No newline at end of file diff --git a/openlp/plugins/songs/forms/authorsdialog.py b/openlp/plugins/songs/forms/authorsdialog.py index 76e9dda55..ff507db02 100644 --- a/openlp/plugins/songs/forms/authorsdialog.py +++ b/openlp/plugins/songs/forms/authorsdialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -82,4 +83,4 @@ class Ui_AuthorsDialog(object): self.FirstNameLabel.setText( translate('SongsPlugin.AuthorsForm', 'First name:')) self.LastNameLabel.setText( - translate('SongsPlugin.AuthorsForm', 'Last name:')) + translate('SongsPlugin.AuthorsForm', 'Last name:')) \ No newline at end of file diff --git a/openlp/plugins/songs/forms/authorsform.py b/openlp/plugins/songs/forms/authorsform.py index fdc704294..6f2fb97af 100644 --- a/openlp/plugins/songs/forms/authorsform.py +++ b/openlp/plugins/songs/forms/authorsform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -110,5 +111,4 @@ class AuthorsForm(QtGui.QDialog, Ui_AuthorsDialog): self.DisplayEdit.setFocus() return False else: - return QtGui.QDialog.accept(self) - + return QtGui.QDialog.accept(self) \ No newline at end of file diff --git a/openlp/plugins/songs/forms/editsongdialog.py b/openlp/plugins/songs/forms/editsongdialog.py index e89433fe5..aaa000821 100644 --- a/openlp/plugins/songs/forms/editsongdialog.py +++ b/openlp/plugins/songs/forms/editsongdialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -458,4 +459,4 @@ class Ui_EditSongDialog(object): self.SongTabWidget.setTabText( self.SongTabWidget.indexOf(self.ThemeTab), translate('SongsPlugin.EditSongForm', - 'Theme, Copyright Info && Comments')) + 'Theme, Copyright Info && Comments')) \ No newline at end of file diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 440371c83..405f96c83 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -684,4 +685,4 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def processTitle(self): log.debug(u'processTitle') self.song.search_title = \ - re.sub(r'[\'"`,;:(){}?]+', u'', unicode(self.song.search_title)) + re.sub(r'[\'"`,;:(){}?]+', u'', unicode(self.song.search_title)) \ No newline at end of file diff --git a/openlp/plugins/songs/forms/editversedialog.py b/openlp/plugins/songs/forms/editversedialog.py index 6b06aba38..2aca3978b 100644 --- a/openlp/plugins/songs/forms/editversedialog.py +++ b/openlp/plugins/songs/forms/editversedialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -102,5 +103,4 @@ class Ui_EditVerseDialog(object): self.VerseTypeComboBox.setItemText(6, VerseType.to_string(VerseType.Other)) self.InsertButton.setText( - translate('SongsPlugin.EditVerseForm', '&Insert')) - + translate('SongsPlugin.EditVerseForm', '&Insert')) \ No newline at end of file diff --git a/openlp/plugins/songs/forms/editverseform.py b/openlp/plugins/songs/forms/editverseform.py index 4d569f18d..b70633ca5 100644 --- a/openlp/plugins/songs/forms/editverseform.py +++ b/openlp/plugins/songs/forms/editverseform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -137,5 +138,4 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog): if not text.startsWith(u'---['): text = u'---[%s:1]---\n%s' % (VerseType.to_string(VerseType.Verse), text) - return text - + return text \ No newline at end of file diff --git a/openlp/plugins/songs/forms/songbookdialog.py b/openlp/plugins/songs/forms/songbookdialog.py index a2e5658cd..feed5c714 100644 --- a/openlp/plugins/songs/forms/songbookdialog.py +++ b/openlp/plugins/songs/forms/songbookdialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -73,4 +74,4 @@ class Ui_SongBookDialog(object): translate('SongsPlugin.SongBookForm', 'Song Book Maintenance')) self.NameLabel.setText(translate('SongsPlugin.SongBookForm', '&Name:')) self.PublisherLabel.setText( - translate('SongsPlugin.SongBookForm', '&Publisher:')) + translate('SongsPlugin.SongBookForm', '&Publisher:')) \ No newline at end of file diff --git a/openlp/plugins/songs/forms/songbookform.py b/openlp/plugins/songs/forms/songbookform.py index 6316a8002..9616a965e 100644 --- a/openlp/plugins/songs/forms/songbookform.py +++ b/openlp/plugins/songs/forms/songbookform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -56,4 +57,4 @@ class SongBookForm(QtGui.QDialog, Ui_SongBookDialog): self.NameEdit.setFocus() return False else: - return QtGui.QDialog.accept(self) + return QtGui.QDialog.accept(self) \ No newline at end of file diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index db66be4df..1f723bfe1 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -254,4 +255,4 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard): self.ImportProgressBar.setValue(self.ImportProgressBar.maximum()) self.finishButton.setVisible(True) self.cancelButton.setVisible(False) - Receiver.send_message(u'process_events') + Receiver.send_message(u'process_events') \ No newline at end of file diff --git a/openlp/plugins/songs/forms/songimportwizard.py b/openlp/plugins/songs/forms/songimportwizard.py index 57ad3d9cf..9e5879d39 100644 --- a/openlp/plugins/songs/forms/songimportwizard.py +++ b/openlp/plugins/songs/forms/songimportwizard.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -271,4 +272,4 @@ class Ui_SongImportWizard(object): self.ImportProgressLabel.setText( translate('SongsPlugin.ImportWizardForm', 'Ready.')) self.ImportProgressBar.setFormat( - translate('SongsPlugin.ImportWizardForm', '%p%')) + translate('SongsPlugin.ImportWizardForm', '%p%')) \ No newline at end of file diff --git a/openlp/plugins/songs/forms/songmaintenancedialog.py b/openlp/plugins/songs/forms/songmaintenancedialog.py index 3e2f37dd3..0f9931638 100644 --- a/openlp/plugins/songs/forms/songmaintenancedialog.py +++ b/openlp/plugins/songs/forms/songmaintenancedialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -235,4 +236,4 @@ class Ui_SongMaintenanceDialog(object): self.BookEditButton.setText( translate('SongsPlugin.SongMaintenanceForm', '&Edit')) self.BookDeleteButton.setText( - translate('SongsPlugin.SongMaintenanceForm', '&Delete')) + translate('SongsPlugin.SongMaintenanceForm', '&Delete')) \ No newline at end of file diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index e0506e5bc..edf58c1ab 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -481,4 +482,4 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): translate('SongsPlugin.SongMaintenanceForm', 'This book cannot be deleted, it is currently ' 'assigned to at least one song.'), - translate('SongsPlugin.SongMaintenanceForm', 'No book selected!')) + translate('SongsPlugin.SongMaintenanceForm', 'No book selected!')) \ No newline at end of file diff --git a/openlp/plugins/songs/forms/topicsdialog.py b/openlp/plugins/songs/forms/topicsdialog.py index 6ee06c9c0..84092fbe5 100644 --- a/openlp/plugins/songs/forms/topicsdialog.py +++ b/openlp/plugins/songs/forms/topicsdialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # diff --git a/openlp/plugins/songs/forms/topicsform.py b/openlp/plugins/songs/forms/topicsform.py index 51d649ebe..f7d44548d 100644 --- a/openlp/plugins/songs/forms/topicsform.py +++ b/openlp/plugins/songs/forms/topicsform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -55,4 +56,4 @@ class TopicsForm(QtGui.QDialog, Ui_TopicsDialog): self.NameEdit.setFocus() return False else: - return QtGui.QDialog.accept(self) + return QtGui.QDialog.accept(self) \ No newline at end of file diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index 9a5e92bcc..753ffd80f 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -147,4 +148,4 @@ try: from sofimport import SofImport from oooimport import OooImport except ImportError: - pass + pass \ No newline at end of file diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index 156a5e383..f43a27a56 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -180,4 +181,4 @@ def init_schema(url): mapper(Topic, topics_table) metadata.create_all(checkfirst=True) - return session + return session \ No newline at end of file diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 28677e3b6..ebcb3049d 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -371,4 +372,4 @@ class SongMediaItem(MediaManagerItem): service_item.audit = [ song.title, author_audit, song.copyright, song.ccli_number ] - return True + return True \ No newline at end of file diff --git a/openlp/plugins/songs/lib/olpimport.py b/openlp/plugins/songs/lib/olpimport.py index 5056f6534..3b56eecd2 100644 --- a/openlp/plugins/songs/lib/olpimport.py +++ b/openlp/plugins/songs/lib/olpimport.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -208,4 +209,4 @@ class OpenLPSongImport(object): # new_song.media_files.append(MediaFile.populate( # file_name=media_file.file_name)) self.master_manager.save_object(new_song) - engine.dispose() + engine.dispose() \ No newline at end of file diff --git a/openlp/plugins/songs/lib/oooimport.py b/openlp/plugins/songs/lib/oooimport.py index 6ef5d2f86..cdbe82ae4 100644 --- a/openlp/plugins/songs/lib/oooimport.py +++ b/openlp/plugins/songs/lib/oooimport.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -197,5 +198,4 @@ class OooImport(object): text += paratext + u'\n' songs = SongImport.process_songs_text(self.manager, text) for song in songs: - song.finish() - + song.finish() \ No newline at end of file diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index 345b0922f..d649b3501 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -239,4 +240,4 @@ class OpenSongImport(object): def finish(self): """ Separate function, allows test suite to not pollute database""" - self.song_import.finish() + self.song_import.finish() \ No newline at end of file diff --git a/openlp/plugins/songs/lib/sofimport.py b/openlp/plugins/songs/lib/sofimport.py index 52fd38634..f63eb0a7a 100644 --- a/openlp/plugins/songs/lib/sofimport.py +++ b/openlp/plugins/songs/lib/sofimport.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -534,4 +535,4 @@ class SofImport(OooImport): return 6 if song_number == 1119: return 7 - return None + return None \ No newline at end of file diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index 222bbeedd..77dc3a1d8 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -309,4 +310,4 @@ class SongImport(object): if self.theme_name: print u'THEME: ' + self.theme_name if self.ccli_number: - print u'CCLI: ' + self.ccli_number + print u'CCLI: ' + self.ccli_number \ No newline at end of file diff --git a/openlp/plugins/songs/lib/songstab.py b/openlp/plugins/songs/lib/songstab.py index e9579aa7f..1c6002dce 100644 --- a/openlp/plugins/songs/lib/songstab.py +++ b/openlp/plugins/songs/lib/songstab.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -96,4 +97,4 @@ class SongsTab(SettingsTab): settings.beginGroup(self.settingsSection) settings.setValue(u'search as type', QtCore.QVariant(self.song_search)) settings.setValue(u'display songbar', QtCore.QVariant(self.song_bar)) - settings.endGroup() + settings.endGroup() \ No newline at end of file diff --git a/openlp/plugins/songs/lib/songxml.py b/openlp/plugins/songs/lib/songxml.py index 85aa5dcc6..2eb0c50f1 100644 --- a/openlp/plugins/songs/lib/songxml.py +++ b/openlp/plugins/songs/lib/songxml.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -506,4 +507,4 @@ class Song(object): return res __all__ = ['SongException', 'SongTitleError', 'SongSlideError', 'SongTypeError', - 'SongFeatureError', 'Song'] + 'SongFeatureError', 'Song'] \ No newline at end of file diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index bcd74ba17..c6f4076e6 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +86,4 @@ def test(): pass if __name__ == "__main__": - test() + test() \ No newline at end of file diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 336c1ebf1..045c1c8c2 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -237,4 +238,4 @@ class LyricsXML(object): (language[u'language'], verse_output) song_output = u'' + \ u'%s' % lyrics_output - return song_output + return song_output \ No newline at end of file diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index c57a175e6..d95a6becf 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -289,4 +290,4 @@ class SongsPlugin(Plugin): Song.theme_name == oldTheme) for song in songsUsingTheme: song.theme_name = newTheme - self.custommanager.save_object(song) + self.custommanager.save_object(song) \ No newline at end of file diff --git a/openlp/plugins/songusage/__init__.py b/openlp/plugins/songusage/__init__.py index adebb7c74..e956952a9 100644 --- a/openlp/plugins/songusage/__init__.py +++ b/openlp/plugins/songusage/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -26,4 +27,4 @@ The :mod:`songusage` module contains the Song Usage plugin. The Song Usage plugin provides auditing capabilities for reporting the songs you are using to copyright license organisations. -""" +""" \ No newline at end of file diff --git a/openlp/plugins/songusage/forms/__init__.py b/openlp/plugins/songusage/forms/__init__.py index 162d64a14..1167483a2 100644 --- a/openlp/plugins/songusage/forms/__init__.py +++ b/openlp/plugins/songusage/forms/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -24,4 +25,4 @@ ############################################################################### from songusagedeleteform import SongUsageDeleteForm -from songusagedetailform import SongUsageDetailForm +from songusagedetailform import SongUsageDetailForm \ No newline at end of file diff --git a/openlp/plugins/songusage/forms/songusagedeletedialog.py b/openlp/plugins/songusage/forms/songusagedeletedialog.py index 1b4ac7309..f9ae00260 100644 --- a/openlp/plugins/songusage/forms/songusagedeletedialog.py +++ b/openlp/plugins/songusage/forms/songusagedeletedialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -60,4 +61,4 @@ class Ui_SongUsageDeleteDialog(object): def retranslateUi(self, SongUsageDeleteDialog): SongUsageDeleteDialog.setWindowTitle( translate('SongUsagePlugin.SongUsageDeleteForm', - 'Delete Song Usage Data')) + 'Delete Song Usage Data')) \ No newline at end of file diff --git a/openlp/plugins/songusage/forms/songusagedeleteform.py b/openlp/plugins/songusage/forms/songusagedeleteform.py index e97f58878..182454790 100644 --- a/openlp/plugins/songusage/forms/songusagedeleteform.py +++ b/openlp/plugins/songusage/forms/songusagedeleteform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -55,5 +56,4 @@ class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog): deleteDate = self.DeleteCalendar.selectedDate().toPyDate() self.songusagemanager.delete_all_objects(SongUsageItem, SongUsageItem.usagedate <= deleteDate) - self.close() - + self.close() \ No newline at end of file diff --git a/openlp/plugins/songusage/forms/songusagedetaildialog.py b/openlp/plugins/songusage/forms/songusagedetaildialog.py index 699c0bb6a..ccd8b37d5 100644 --- a/openlp/plugins/songusage/forms/songusagedetaildialog.py +++ b/openlp/plugins/songusage/forms/songusagedetaildialog.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +96,4 @@ class Ui_SongUsageDetailDialog(object): translate('SongUsagePlugin.SongUsageDetailForm', 'to')) self.FileGroupBox.setTitle( translate('SongUsagePlugin.SongUsageDetailForm', - 'Report Location')) + 'Report Location')) \ No newline at end of file diff --git a/openlp/plugins/songusage/forms/songusagedetailform.py b/openlp/plugins/songusage/forms/songusagedetailform.py index 67c2935eb..40434b6bc 100644 --- a/openlp/plugins/songusage/forms/songusagedetailform.py +++ b/openlp/plugins/songusage/forms/songusagedetailform.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +94,4 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog): log.exception(u'Failed to write out song usage records') finally: if file: - file.close() + file.close() \ No newline at end of file diff --git a/openlp/plugins/songusage/lib/__init__.py b/openlp/plugins/songusage/lib/__init__.py index bd83e0532..0f6c85341 100644 --- a/openlp/plugins/songusage/lib/__init__.py +++ b/openlp/plugins/songusage/lib/__init__.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -24,4 +25,4 @@ ############################################################################### """ The :mod:`lib` module contains the library functions for the songusage plugin. -""" +""" \ No newline at end of file diff --git a/openlp/plugins/songusage/lib/db.py b/openlp/plugins/songusage/lib/db.py index ffb720a58..357be2299 100644 --- a/openlp/plugins/songusage/lib/db.py +++ b/openlp/plugins/songusage/lib/db.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -60,4 +61,4 @@ def init_schema(url): mapper(SongUsageItem, songusage_table) metadata.create_all(checkfirst=True) - return session + return session \ No newline at end of file diff --git a/openlp/plugins/songusage/songusageplugin.py b/openlp/plugins/songusage/songusageplugin.py index a11e61605..2a9ab5811 100644 --- a/openlp/plugins/songusage/songusageplugin.py +++ b/openlp/plugins/songusage/songusageplugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -160,4 +161,4 @@ class SongUsagePlugin(Plugin): about_text = translate('SongUsagePlugin', 'SongUsage Plugin' '
This plugin tracks the usage of songs in ' 'services.') - return about_text + return about_text \ No newline at end of file diff --git a/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py b/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py index 74a0869be..e0e9bc9ca 100644 --- a/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py +++ b/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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,4 +26,4 @@ hiddenimports = ['openlp.plugins.presentations.lib.impresscontroller', 'openlp.plugins.presentations.lib.powerpointcontroller', - 'openlp.plugins.presentations.lib.pptviewcontroller'] + 'openlp.plugins.presentations.lib.pptviewcontroller'] \ No newline at end of file diff --git a/resources/pyinstaller/hook-openlp.py b/resources/pyinstaller/hook-openlp.py index b788749af..0db58d38a 100644 --- a/resources/pyinstaller/hook-openlp.py +++ b/resources/pyinstaller/hook-openlp.py @@ -6,8 +6,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -31,4 +32,4 @@ hiddenimports = ['plugins.songs.songsplugin', 'plugins.custom.customplugin', 'plugins.songusage.songusageplugin', 'plugins.remotes.remoteplugin', - 'plugins.alerts.alertsplugin'] + 'plugins.alerts.alertsplugin'] \ No newline at end of file diff --git a/scripts/bible-1to2-converter.py b/scripts/bible-1to2-converter.py index 6fe1f1df4..c78cfff5c 100755 --- a/scripts/bible-1to2-converter.py +++ b/scripts/bible-1to2-converter.py @@ -7,8 +7,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -302,4 +303,4 @@ if __name__ == u'__main__': os.unlink(new_db) verbose = options.verbose debug = options.debug - main(old_db, new_db) + main(old_db, new_db) \ No newline at end of file diff --git a/scripts/openlp-1to2-converter.py b/scripts/openlp-1to2-converter.py index f0c5a0975..875465fd1 100755 --- a/scripts/openlp-1to2-converter.py +++ b/scripts/openlp-1to2-converter.py @@ -7,8 +7,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -319,4 +320,4 @@ if __name__ == u'__main__': os.unlink(new_db) verbose = options.verbose debug = options.debug - main(old_db, new_db) + main(old_db, new_db) \ No newline at end of file diff --git a/scripts/openlp-remoteclient.py b/scripts/openlp-remoteclient.py index 3ff7ccc05..f05b441a7 100755 --- a/scripts/openlp-remoteclient.py +++ b/scripts/openlp-remoteclient.py @@ -7,8 +7,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -63,4 +64,4 @@ def main(): sendData(options) if __name__ == u'__main__': - main() + main() \ No newline at end of file diff --git a/scripts/translation_utils.py b/scripts/translation_utils.py index 14c4ba6fc..c01dfdcf8 100755 --- a/scripts/translation_utils.py +++ b/scripts/translation_utils.py @@ -7,8 +7,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -235,4 +236,4 @@ if __name__ == u'__main__': if os.path.split(os.path.abspath(u'.'))[1] != u'scripts': print u'You need to run this script from the scripts directory.' else: - main() + main() \ No newline at end of file diff --git a/scripts/windows-builder.py b/scripts/windows-builder.py index caf19f53d..71d2a7c3c 100644 --- a/scripts/windows-builder.py +++ b/scripts/windows-builder.py @@ -1,167 +1,168 @@ -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 - -############################################################################### -# OpenLP - Open Source Lyrics Projection # -# --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # -# --------------------------------------------------------------------------- # -# 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 # -# Software Foundation; version 2 of the License. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with this program; if not, write to the Free Software Foundation, Inc., 59 # -# Temple Place, Suite 330, Boston, MA 02111-1307 USA # -############################################################################### - -""" -Windows Build Script --------------------- - -This script is used to build the Windows binary and the accompanying installer. -For this script to work out of the box, it depends on a number of things: - -Inno Setup 5 - Inno Setup should be installed into "C:\%PROGRAMFILES%\Inno Setup 5" - -UPX - This is used to compress DLLs and EXEs so that they take up less space, but - still function exactly the same. To install UPS, download it from - http://upx.sourceforge.net/, extract it into C:\%PROGRAMFILES%\UPX, and then - add that directory to your PATH environment variable. - -PyInstaller - PyInstaller should be a checkout of trunk, and in a directory called, - "pyinstaller" on the same level as OpenLP's Bazaar shared repository - directory. - - To install PyInstaller, first checkout trunk from Subversion. The easiest - way is to install TortoiseSVN and then checkout the following URL to a - directory called "pyinstaller":: - - http://svn.pyinstaller.org/trunk - - Then you need to copy the two hook-*.py files from the "pyinstaller" - subdirectory in OpenLP's "resources" directory into PyInstaller's "hooks" - directory. - - Once you've done that, open a command prompt (DOS shell), navigate to the - PyInstaller directory and run:: - - C:\Projects\pyinstaller>python Configure.py - -Bazaar - You need the command line "bzr" client installed. - -OpenLP - A checkout of the latest code, in a branch directory, which is in a Bazaar - shared repository directory. This means your code should be in a directory - structure like this: "openlp\branch-name". - -windows-builder.py - This script, of course. It should be in the "scripts" directory of OpenLP. - -""" - -import os -from shutil import copy -from subprocess import Popen, PIPE - -script_path = os.path.split(os.path.abspath(__file__))[0] -branch_path = os.path.abspath(os.path.join(script_path, u'..')) -source_path = os.path.join(branch_path, u'openlp') -dist_path = os.path.join(branch_path, u'dist', u'OpenLP') -pyinstaller_path = os.path.abspath(os.path.join(branch_path, u'..', u'..', u'pyinstaller')) -innosetup_path = os.path.join(os.getenv(u'PROGRAMFILES'), 'Inno Setup 5') -iss_path = os.path.join(branch_path, u'resources', u'innosetup') - - -def run_pyinstaller(): - print u'Running PyInstaller...' - os.chdir(branch_path) - pyinstaller = Popen((u'python', os.path.join(pyinstaller_path, u'Build.py'), - u'OpenLP.spec')) - code = pyinstaller.wait() - if code != 0: - raise Exception(u'Error running PyInstaller Build.py') - -def write_version_file(): - print u'Writing version file...' - os.chdir(branch_path) - bzr = Popen((u'bzr', u'tags', u'--sort', u'time'), stdout=PIPE) - output, error = bzr.communicate() - code = bzr.wait() - if code != 0: - raise Exception(u'Error running bzr tags') - lines = output.splitlines() - if len(lines) == 0: - tag = u'0.0.0' - revision = u'0' - else: - tag, revision = lines[-1].split() - bzr = Popen((u'bzr', u'log', u'--line', u'-r', u'-1'), stdout=PIPE) - output, error = bzr.communicate() - code = bzr.wait() - if code != 0: - raise Exception(u'Error running bzr log') - latest = output.split(u':')[0] - versionstring = latest == revision and tag or u'%s-bzr%s' % (tag, latest) - f = open(os.path.join(dist_path, u'.version'), u'w') - f.write(versionstring) - f.close() - -def copy_plugins(): - print u'Copying plugins...' - source = os.path.join(source_path, u'plugins') - dest = os.path.join(dist_path, u'plugins') - for root, dirs, files in os.walk(source): - for filename in files: - if not filename.endswith(u'.pyc'): - dest_path = os.path.join(dest, root[len(source)+1:]) - if not os.path.exists(dest_path): - os.makedirs(dest_path) - copy(os.path.join(root, filename), - os.path.join(dest_path, filename)) - -def copy_windows_files(): - print u'Copying extra files for Windows...' - copy(os.path.join(iss_path, u'OpenLP.ico'), os.path.join(dist_path, u'OpenLP.ico')) - copy(os.path.join(iss_path, u'LICENSE.txt'), os.path.join(dist_path, u'LICENSE.txt')) - -def run_innosetup(): - print u'Running Inno Setup...' - os.chdir(iss_path) - run_command = u'"%s" "%s"' % (os.path.join(innosetup_path, u'ISCC.exe'), - os.path.join(iss_path, u'OpenLP-2.0.iss')) - print run_command - innosetup = Popen(run_command) - code = innosetup.wait() - if code != 0: - raise Exception(u'Error running Inno Setup') - -def main(): - print "Script path:", script_path - print "Branch path:", branch_path - print "Source path:", source_path - print "\"dist\" path:", dist_path - print "PyInstaller path:", pyinstaller_path - print "Inno Setup path:", innosetup_path - print "ISS file path:", iss_path - run_pyinstaller() - write_version_file() - copy_plugins() - copy_windows_files() - run_innosetup() - print "Done." - -if __name__ == u'__main__': - main() +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2010 Raoul Snyman # +# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # +# Software Foundation; version 2 of the License. # +# # +# This program is distributed in the hope that it will be useful, but WITHOUT # +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # +# more details. # +# # +# You should have received a copy of the GNU General Public License along # +# with this program; if not, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### + +""" +Windows Build Script +-------------------- + +This script is used to build the Windows binary and the accompanying installer. +For this script to work out of the box, it depends on a number of things: + +Inno Setup 5 + Inno Setup should be installed into "C:\%PROGRAMFILES%\Inno Setup 5" + +UPX + This is used to compress DLLs and EXEs so that they take up less space, but + still function exactly the same. To install UPS, download it from + http://upx.sourceforge.net/, extract it into C:\%PROGRAMFILES%\UPX, and then + add that directory to your PATH environment variable. + +PyInstaller + PyInstaller should be a checkout of trunk, and in a directory called, + "pyinstaller" on the same level as OpenLP's Bazaar shared repository + directory. + + To install PyInstaller, first checkout trunk from Subversion. The easiest + way is to install TortoiseSVN and then checkout the following URL to a + directory called "pyinstaller":: + + http://svn.pyinstaller.org/trunk + + Then you need to copy the two hook-*.py files from the "pyinstaller" + subdirectory in OpenLP's "resources" directory into PyInstaller's "hooks" + directory. + + Once you've done that, open a command prompt (DOS shell), navigate to the + PyInstaller directory and run:: + + C:\Projects\pyinstaller>python Configure.py + +Bazaar + You need the command line "bzr" client installed. + +OpenLP + A checkout of the latest code, in a branch directory, which is in a Bazaar + shared repository directory. This means your code should be in a directory + structure like this: "openlp\branch-name". + +windows-builder.py + This script, of course. It should be in the "scripts" directory of OpenLP. + +""" + +import os +from shutil import copy +from subprocess import Popen, PIPE + +script_path = os.path.split(os.path.abspath(__file__))[0] +branch_path = os.path.abspath(os.path.join(script_path, u'..')) +source_path = os.path.join(branch_path, u'openlp') +dist_path = os.path.join(branch_path, u'dist', u'OpenLP') +pyinstaller_path = os.path.abspath(os.path.join(branch_path, u'..', u'..', u'pyinstaller')) +innosetup_path = os.path.join(os.getenv(u'PROGRAMFILES'), 'Inno Setup 5') +iss_path = os.path.join(branch_path, u'resources', u'innosetup') + + +def run_pyinstaller(): + print u'Running PyInstaller...' + os.chdir(branch_path) + pyinstaller = Popen((u'python', os.path.join(pyinstaller_path, u'Build.py'), + u'OpenLP.spec')) + code = pyinstaller.wait() + if code != 0: + raise Exception(u'Error running PyInstaller Build.py') + +def write_version_file(): + print u'Writing version file...' + os.chdir(branch_path) + bzr = Popen((u'bzr', u'tags', u'--sort', u'time'), stdout=PIPE) + output, error = bzr.communicate() + code = bzr.wait() + if code != 0: + raise Exception(u'Error running bzr tags') + lines = output.splitlines() + if len(lines) == 0: + tag = u'0.0.0' + revision = u'0' + else: + tag, revision = lines[-1].split() + bzr = Popen((u'bzr', u'log', u'--line', u'-r', u'-1'), stdout=PIPE) + output, error = bzr.communicate() + code = bzr.wait() + if code != 0: + raise Exception(u'Error running bzr log') + latest = output.split(u':')[0] + versionstring = latest == revision and tag or u'%s-bzr%s' % (tag, latest) + f = open(os.path.join(dist_path, u'.version'), u'w') + f.write(versionstring) + f.close() + +def copy_plugins(): + print u'Copying plugins...' + source = os.path.join(source_path, u'plugins') + dest = os.path.join(dist_path, u'plugins') + for root, dirs, files in os.walk(source): + for filename in files: + if not filename.endswith(u'.pyc'): + dest_path = os.path.join(dest, root[len(source)+1:]) + if not os.path.exists(dest_path): + os.makedirs(dest_path) + copy(os.path.join(root, filename), + os.path.join(dest_path, filename)) + +def copy_windows_files(): + print u'Copying extra files for Windows...' + copy(os.path.join(iss_path, u'OpenLP.ico'), os.path.join(dist_path, u'OpenLP.ico')) + copy(os.path.join(iss_path, u'LICENSE.txt'), os.path.join(dist_path, u'LICENSE.txt')) + +def run_innosetup(): + print u'Running Inno Setup...' + os.chdir(iss_path) + run_command = u'"%s" "%s"' % (os.path.join(innosetup_path, u'ISCC.exe'), + os.path.join(iss_path, u'OpenLP-2.0.iss')) + print run_command + innosetup = Popen(run_command) + code = innosetup.wait() + if code != 0: + raise Exception(u'Error running Inno Setup') + +def main(): + print "Script path:", script_path + print "Branch path:", branch_path + print "Source path:", source_path + print "\"dist\" path:", dist_path + print "PyInstaller path:", pyinstaller_path + print "Inno Setup path:", innosetup_path + print "ISS file path:", iss_path + run_pyinstaller() + write_version_file() + copy_plugins() + copy_windows_files() + run_innosetup() + print "Done." + +if __name__ == u'__main__': + main() \ No newline at end of file diff --git a/setup.py b/setup.py index f2e6911fa..c4793e8bf 100755 --- a/setup.py +++ b/setup.py @@ -7,8 +7,9 @@ # --------------------------------------------------------------------------- # # Copyright (c) 2008-2010 Raoul Snyman # # Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Christian Richter, Maikel Stuivenberg, Martin # -# Thompson, Jon Tibble, Carsten Tinggaard # +# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # +# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # +# Carsten Tinggaard, 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 # @@ -78,4 +79,4 @@ OpenLP (previously openlp.org) is free church presentation software, or lyrics p entry_points=""" # -*- Entry points: -*- """ -) +) \ No newline at end of file From 7303f1de05ce99dbf52bb221901d271ab71dc198 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Sun, 25 Jul 2010 00:13:21 +0200 Subject: [PATCH 107/148] Add a few folks to the about dialog. --- openlp/core/ui/aboutdialog.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index 4d544b87a..34003ff0e 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -127,7 +127,7 @@ class Ui_AboutDialog(object): self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.aboutTab), translate('OpenLP.AboutForm', 'About')) - self.creditsTextEdit.setPlainText(translate('OpenLP.AboutForm', + self.creditsTextEdit.setPlainText(translate('OpenLP.AboutForm', 'Project Lead\n' ' Raoul "superfly" Snyman\n' '\n' @@ -142,9 +142,12 @@ class Ui_AboutDialog(object): '\n' 'Contributors\n' ' Meinert "m2j" Jordan\n' + ' Andreas "googol" Preikschat\n' ' Christian "crichter" Richter\n' + ' Philip "Phill" Ridout\n' ' Maikel Stuivenberg\n' ' Carsten "catini" Tingaard\n' + ' Frode "frodus" Woldsund\n' '\n' 'Testers\n' ' Philip "Phill" Ridout\n' @@ -155,12 +158,12 @@ class Ui_AboutDialog(object): ' Tim "TRB143" Bentley (Fedora)\n' ' Michael "cocooncrash" Gorven (Ubuntu)\n' ' Matthias "matthub" Hub (Mac OS X)\n' - ' Raoul "superfly" Snyman (Windows)\n' + ' Raoul "superfly" Snyman (Windows, Ubuntu)\n' )) self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.creditsTab), translate('OpenLP.AboutForm', 'Credits')) - self.licenseTextEdit.setPlainText(translate('OpenLP.AboutForm', + self.licenseTextEdit.setPlainText(translate('OpenLP.AboutForm', 'Copyright \xa9 2004-2010 Raoul Snyman\n' 'Portions copyright \xa9 2004-2010 ' 'Tim Bentley, Jonathan Corwin, Michael Gorven, Scott Guerrieri, ' @@ -553,4 +556,4 @@ class Ui_AboutDialog(object): self.aboutNotebook.indexOf(self.licenseTab), translate('OpenLP.AboutForm', 'License')) self.contributeButton.setText(translate('OpenLP.AboutForm', 'Contribute')) - self.closeButton.setText(translate('OpenLP.AboutForm', 'Close')) \ No newline at end of file + self.closeButton.setText(translate('OpenLP.AboutForm', 'Close')) From da018275af9e93f5c4397110df44ecbfdb6bb762 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Sun, 25 Jul 2010 00:45:48 +0200 Subject: [PATCH 108/148] A few more credits. --- openlp/core/ui/aboutdialog.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index 34003ff0e..bc6a15a1f 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -159,6 +159,13 @@ class Ui_AboutDialog(object): ' Michael "cocooncrash" Gorven (Ubuntu)\n' ' Matthias "matthub" Hub (Mac OS X)\n' ' Raoul "superfly" Snyman (Windows, Ubuntu)\n' + '\n' + 'Built With\n' + ' Python: http://www.python.org/\n' + ' Qt4: http://qt.nokia.com/\n' + ' PyQt4: http://www.riverbankcomputing.co.uk/software/pyqt/' + 'intro\n' + ' Oxygen Icons: http://oxygen-icons.org/\n' )) self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.creditsTab), From 69ffb9124e739dae0dfa311526602e0e4d5a9c41 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sun, 25 Jul 2010 00:12:36 +0100 Subject: [PATCH 109/148] Fix some pesky bits --- openlp/plugins/bibles/lib/http.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 81243bfd1..aad92871f 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -204,10 +204,15 @@ class BGExtract(BibleCommon): u'http://www.biblegateway.com/passage/?%s' % url_params) log.debug(u'BibleGateway url = %s' % page.geturl()) Receiver.send_message(u'openlp_process_events') - soup = BeautifulSoup(page) + cleaner = [(re.compile(' |
'), lambda match: '')] + soup = BeautifulSoup(page, markupMassage=cleaner) Receiver.send_message(u'openlp_process_events') - content = soup.find(u'div', u'result-text-style-normal') - verse_count = len(soup.findAll(u'sup', u'versenum')) + footnotes = soup.findAll(u'sup', u'footnote') + [footnote.extract() for footnote in footnotes] + cleanup = [(re.compile('\s+'), lambda match: ' ')] + verses = BeautifulSoup(str(soup), markupMassage=cleanup) + content = verses.find(u'div', u'result-text-style-normal') + verse_count = len(verses.findAll(u'sup', u'versenum')) found_count = 0 verse_list = {} while found_count < verse_count: From 8a96d7f87ffc47a55715fde2efbb475017b2cc4d Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 25 Jul 2010 07:14:45 +0100 Subject: [PATCH 110/148] Fix word uage --- openlp/core/ui/generaltab.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 11e9e4b96..52bcab554 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -446,12 +446,12 @@ class GeneralTab(SettingsTab): self.screens.set_current_display(self.monitorNumber) Receiver.send_message(u'config_screen_changed') Receiver.send_message(u'config_updated') - # On save update the strings as well + # On save update the screens as well self.postSetUp() def postSetUp(self): """ - Set Strings after initial definition + Reset screens after initial definition """ self.screens.override[u'size'] = QtCore.QRect( int(self.customXValueEdit.text()), From 2ef095dd980165d124b1a49074d3f216c65aa815 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Mon, 26 Jul 2010 08:06:17 +0200 Subject: [PATCH 111/148] Fixed a small bug where there was a "u" in the verse label with () brackets. --- openlp/plugins/bibles/lib/mediaitem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index be044b22a..5d6984231 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -519,7 +519,7 @@ class BibleMediaItem(MediaManagerItem): #permission = self._decodeQtObject(reference, 'permission') if self.parent.settings_tab.display_style == 1: verse_text = self.formatVerse(old_chapter, chapter, verse, - u'(u', u')') + u'(', u')') elif self.parent.settings_tab.display_style == 2: verse_text = self.formatVerse(old_chapter, chapter, verse, u'{', u'}') @@ -659,4 +659,4 @@ class BibleMediaItem(MediaManagerItem): def searchByReference(self, bible, search): log.debug(u'searchByReference %s, %s', bible, search) - self.search_results = self.parent.manager.get_verses(bible, search) \ No newline at end of file + self.search_results = self.parent.manager.get_verses(bible, search) From 37d2e910b7fdb20f5aed0bc9c1106ba3046088c5 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 26 Jul 2010 16:19:11 +0100 Subject: [PATCH 112/148] Long lines --- openlp/core/lib/mediamanageritem.py | 14 +++++++++----- openlp/core/ui/aboutdialog.py | 3 ++- openlp/core/ui/advancedtab.py | 5 +++-- openlp/core/ui/amendthemeform.py | 5 +++-- openlp/core/ui/generaltab.py | 5 +++-- openlp/core/ui/mainwindow.py | 11 +++++++---- openlp/core/ui/serviceitemeditdialog.py | 3 ++- openlp/core/ui/servicemanager.py | 14 +++++++------- openlp/plugins/presentations/lib/mediaitem.py | 4 ++-- .../plugins/presentations/lib/pptviewcontroller.py | 5 +++-- openlp/plugins/remotes/lib/remotetab.py | 5 +++-- 11 files changed, 44 insertions(+), 30 deletions(-) diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 0f4018c34..1742db4f2 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -244,7 +244,8 @@ class MediaManagerItem(QtGui.QWidget): self.addToolbarButton( unicode(translate('OpenLP.MediaManagerItem', 'Delete %s')) % self.PluginNameShort, - translate('OpenLP.MediaManagerItem', 'Delete the selected item'), + translate('OpenLP.MediaManagerItem', + 'Delete the selected item'), u':/general/general_delete.png', self.onDeleteClick) ## Separator Line ## self.addToolbarSeparator() @@ -297,7 +298,8 @@ class MediaManagerItem(QtGui.QWidget): self.listView.addAction( context_menu_action( self.listView, u':/general/general_delete.png', - unicode(translate('OpenLP.MediaManagerItem', '&Delete %s')) % + unicode(translate( + 'OpenLP.MediaManagerItem', '&Delete %s')) % self.pluginNameVisible, self.onDeleteClick)) self.listView.addAction(context_menu_separator(self.listView)) @@ -509,7 +511,8 @@ class MediaManagerItem(QtGui.QWidget): service_item = self.parent.serviceManager.getServiceItem() if not service_item: QtGui.QMessageBox.information(self, - translate('OpenLP.MediaManagerItem', 'No Service Item Selected'), + translate('OpenLP.MediaManagerItem', + 'No Service Item Selected'), translate('OpenLP.MediaManagerItem', 'You must select an existing service item to add to.')) elif self.title.lower() == service_item.name.lower(): @@ -519,7 +522,8 @@ class MediaManagerItem(QtGui.QWidget): else: #Turn off the remote edit update message indicator QtGui.QMessageBox.information(self, - translate('OpenLP.MediaManagerItem', 'Invalid Service Item'), + translate('OpenLP.MediaManagerItem', + 'Invalid Service Item'), unicode(translate('OpenLP.MediaManagerItem', 'You must select a %s service item.')) % self.title) @@ -535,4 +539,4 @@ class MediaManagerItem(QtGui.QWidget): if self.generateSlideData(service_item, item): return service_item else: - return None \ No newline at end of file + return None diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index bc6a15a1f..54dea8cc0 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -562,5 +562,6 @@ class Ui_AboutDialog(object): self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.licenseTab), translate('OpenLP.AboutForm', 'License')) - self.contributeButton.setText(translate('OpenLP.AboutForm', 'Contribute')) + self.contributeButton.setText( + translate('OpenLP.AboutForm', 'Contribute')) self.closeButton.setText(translate('OpenLP.AboutForm', 'Close')) diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 08450b787..0a12c54e5 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -134,7 +134,8 @@ class AdvancedTab(SettingsTab): """ self.uiGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'UI Settings')) self.recentLabel.setText( - translate('OpenLP.AdvancedTab', 'Number of recent files to display:')) + translate('OpenLP.AdvancedTab', + 'Number of recent files to display:')) self.mediaPluginCheckBox.setText(translate('OpenLP.AdvancedTab', 'Remember active media manager tab on startup')) self.doubleClickLiveCheckBox.setText(translate('OpenLP.AdvancedTab', @@ -188,4 +189,4 @@ class AdvancedTab(SettingsTab): """ self.sharedLabel.setEnabled(checked) self.sharedTextEdit.setEnabled(checked) - self.sharedPushButton.setEnabled(checked) \ No newline at end of file + self.sharedPushButton.setEnabled(checked) diff --git a/openlp/core/ui/amendthemeform.py b/openlp/core/ui/amendthemeform.py index 36bbcaba3..2776b3f7b 100644 --- a/openlp/core/ui/amendthemeform.py +++ b/openlp/core/ui/amendthemeform.py @@ -222,7 +222,8 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): images_filter = '%s;;%s (*.*) (*)' % (images_filter, translate('OpenLP.AmendThemeForm', 'All Files')) filename = QtGui.QFileDialog.getOpenFileName(self, - translate('OpenLP.AmendThemeForm', 'Select Image'), u'', images_filter) + translate('OpenLP.AmendThemeForm', 'Select Image'), u'', + images_filter) if filename: self.ImageLineEdit.setText(filename) self.theme.background_filename = filename @@ -765,4 +766,4 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): if self.theme.font_main_width < metrics.maxWidth() * 2 + 64: self.theme.font_main_width = metrics.maxWidth() * 2 + 64 self.FontMainWidthSpinBox.setValue(self.theme.font_main_width) - return metrics \ No newline at end of file + return metrics diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index a851ef67f..68b717c4d 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -287,7 +287,8 @@ class GeneralTab(SettingsTab): """ Translate the general settings tab to the currently selected language """ - self.MonitorGroupBox.setTitle(translate('OpenLP.GeneralTab', 'Monitors')) + self.MonitorGroupBox.setTitle(translate('OpenLP.GeneralTab', + 'Monitors')) self.MonitorLabel.setText(translate('OpenLP.GeneralTab', 'Select monitor for output display:')) self.DisplayOnMonitorCheck.setText( @@ -473,4 +474,4 @@ class GeneralTab(SettingsTab): self.customYValueEdit.setEnabled(checked) self.customHeightValueEdit.setEnabled(checked) self.customWidthValueEdit.setEnabled(checked) - self.override_changed = True \ No newline at end of file + self.override_changed = True diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 5961c26ab..cbbe7f5bd 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -498,7 +498,8 @@ class Ui_MainWindow(object): self.HelpAboutItem.setText(translate('OpenLP.MainWindow', '&About')) self.HelpAboutItem.setStatusTip( translate('OpenLP.MainWindow', 'More information about OpenLP')) - self.HelpAboutItem.setShortcut(translate('OpenLP.MainWindow', 'Ctrl+F1')) + self.HelpAboutItem.setShortcut(translate('OpenLP.MainWindow', + 'Ctrl+F1')) self.HelpOnlineHelpItem.setText( translate('OpenLP.MainWindow', '&Online Help')) self.HelpWebSiteItem.setText( @@ -707,7 +708,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): version_text = unicode(translate('OpenLP.MainWindow', 'Version %s of OpenLP is now available for download (you are ' 'currently running version %s). \n\nYou can download the latest ' - 'version from http://openlp.org/.')) + 'version from ' + 'http://openlp.org/.')) QtGui.QMessageBox.question(self, translate('OpenLP.MainWindow', 'OpenLP Version Updated'), version_text % (version, app_version), @@ -893,7 +895,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): def defaultThemeChanged(self, theme): self.DefaultThemeLabel.setText( - unicode(translate('OpenLP.MainWindow', 'Default Theme: %s')) % theme) + unicode(translate('OpenLP.MainWindow', 'Default Theme: %s')) % + theme) def toggleMediaManager(self, visible): if self.MediaManagerDock.isVisible() != visible: @@ -1016,4 +1019,4 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.recentFiles.insert(0, QtCore.QString(filename)) while self.recentFiles.count() > maxRecentFiles: # Don't care what API says takeLast works, removeLast doesn't! - self.recentFiles.takeLast() \ No newline at end of file + self.recentFiles.takeLast() diff --git a/openlp/core/ui/serviceitemeditdialog.py b/openlp/core/ui/serviceitemeditdialog.py index 5a85d42bc..c3ccbfaaf 100644 --- a/openlp/core/ui/serviceitemeditdialog.py +++ b/openlp/core/ui/serviceitemeditdialog.py @@ -71,5 +71,6 @@ class Ui_ServiceItemEditDialog(object): ServiceItemEditDialog.setWindowTitle( translate('OpenLP.ServiceItemEditForm', 'Reorder Service Item')) self.upButton.setText(translate('OpenLP.ServiceItemEditForm', 'Up')) - self.deleteButton.setText(translate('OpenLP.ServiceItemEditForm', 'Delete')) + self.deleteButton.setText(translate('OpenLP.ServiceItemEditForm', + 'Delete')) self.downButton.setText(translate('OpenLP.ServiceItemEditForm', 'Down')) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 7fb96bf6e..a9f7af20c 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -133,8 +133,8 @@ class ServiceManager(QtGui.QWidget): translate('OpenLP.ServiceManager', 'Save this service'), self.onQuickSaveService) self.Toolbar.addSeparator() - self.ThemeLabel = QtGui.QLabel(translate('OpenLP.ServiceManager', 'Theme:'), - self) + self.ThemeLabel = QtGui.QLabel(translate('OpenLP.ServiceManager', + 'Theme:'), self) self.ThemeLabel.setMargin(3) self.Toolbar.addToolbarWidget(u'ThemeLabel', self.ThemeLabel) self.ThemeComboBox = QtGui.QComboBox(self.Toolbar) @@ -846,8 +846,8 @@ class ServiceManager(QtGui.QWidget): else: QtGui.QMessageBox.critical(self, translate('OpenLP.ServiceManager', 'Missing Display Handler'), - translate('OpenLP.ServiceManager', 'Your item cannot be displayed ' - 'as there is no handler to display it'), + translate('OpenLP.ServiceManager', 'Your item cannot be ' + 'displayed as there is no handler to display it'), QtGui.QMessageBox.StandardButtons( QtGui.QMessageBox.Ok), QtGui.QMessageBox.Ok) @@ -882,8 +882,8 @@ class ServiceManager(QtGui.QWidget): else: QtGui.QMessageBox.critical(self, translate('OpenLP.ServiceManager', 'Missing Display Handler'), - translate('OpenLP.ServiceManager', 'Your item cannot be displayed ' - 'as there is no handler to display it'), + translate('OpenLP.ServiceManager', 'Your item cannot be ' + 'displayed as there is no handler to display it'), QtGui.QMessageBox.StandardButtons( QtGui.QMessageBox.Ok), QtGui.QMessageBox.Ok) @@ -1031,4 +1031,4 @@ class ServiceManager(QtGui.QWidget): data_item[u'notes'] = unicode(service_item.notes) data_item[u'selected'] = (item == curitem) data.append(data_item) - Receiver.send_message(u'servicemanager_list_response', data) \ No newline at end of file + Receiver.send_message(u'servicemanager_list_response', data) diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index e7cdfedba..0b84313b8 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -164,7 +164,7 @@ class PresentationMediaItem(MediaManagerItem): self.DisplayTypeComboBox.insertItem(0, self.Automatic) self.DisplayTypeComboBox.setCurrentIndex(0) if QtCore.QSettings().value(self.settingsSection + u'/override app', - QtCore.QVariant(QtCore.Qt.Unchecked)) == QtCore.Qt.Checked: + QtCore.QVariant(QtCore.Qt.Unchecked)) == QtCore.Qt.Checked: self.PresentationWidget.show() else: self.PresentationWidget.hide() @@ -299,4 +299,4 @@ class PresentationMediaItem(MediaManagerItem): if self.controllers[controller].enabled(): if filetype in self.controllers[controller].alsosupports: return controller - return None \ No newline at end of file + return None diff --git a/openlp/plugins/presentations/lib/pptviewcontroller.py b/openlp/plugins/presentations/lib/pptviewcontroller.py index cec430ce3..e1a1c9daa 100644 --- a/openlp/plugins/presentations/lib/pptviewcontroller.py +++ b/openlp/plugins/presentations/lib/pptviewcontroller.py @@ -150,7 +150,8 @@ class PptviewDocument(PresentationDocument): if self.check_thumbnails(): return for idx in range(self.get_slide_count()): - path = u'%s\\slide%s.bmp' % (self.get_temp_folder(), unicode(idx + 1)) + path = u'%s\\slide%s.bmp' % (self.get_temp_folder(), + unicode(idx + 1)) self.convert_thumbnail(path, idx + 1) def close_presentation(self): @@ -246,4 +247,4 @@ class PptviewDocument(PresentationDocument): """ Triggers the previous slide on the running presentation """ - self.controller.process.PrevStep(self.pptid) \ No newline at end of file + self.controller.process.PrevStep(self.pptid) diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index 9c7935521..ad1f4aac5 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -44,7 +44,8 @@ class RemoteTab(SettingsTab): self.remoteLayout.setObjectName(u'remoteLayout') self.serverSettingsGroupBox = QtGui.QGroupBox(self) self.serverSettingsGroupBox.setObjectName(u'serverSettingsGroupBox') - self.serverSettingsLayout = QtGui.QFormLayout(self.serverSettingsGroupBox) + self.serverSettingsLayout = QtGui.QFormLayout( + self.serverSettingsGroupBox) self.serverSettingsLayout.setSpacing(8) self.serverSettingsLayout.setMargin(8) self.serverSettingsLayout.setObjectName(u'serverSettingsLayout') @@ -78,4 +79,4 @@ class RemoteTab(SettingsTab): QtCore.QSettings().setValue(self.settingsSection + u'/port', QtCore.QVariant(self.portSpinBox.value())) QtCore.QSettings().setValue(self.settingsSection + u'/ip address', - QtCore.QVariant(self.addressEdit.text())) \ No newline at end of file + QtCore.QVariant(self.addressEdit.text())) From 21eca3657635026f4b72fd6c76702036d7878347 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 26 Jul 2010 16:48:54 +0100 Subject: [PATCH 113/148] Fix last commit --- openlp/core/lib/mediamanageritem.py | 4 ++-- openlp/core/ui/aboutdialog.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 1742db4f2..a6d62f618 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -298,8 +298,8 @@ class MediaManagerItem(QtGui.QWidget): self.listView.addAction( context_menu_action( self.listView, u':/general/general_delete.png', - unicode(translate( - 'OpenLP.MediaManagerItem', '&Delete %s')) % + unicode(translate('OpenLP.MediaManagerItem', + '&Delete %s')) % self.pluginNameVisible, self.onDeleteClick)) self.listView.addAction(context_menu_separator(self.listView)) diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index 54dea8cc0..3965b4ffc 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -562,6 +562,6 @@ class Ui_AboutDialog(object): self.aboutNotebook.setTabText( self.aboutNotebook.indexOf(self.licenseTab), translate('OpenLP.AboutForm', 'License')) - self.contributeButton.setText( - translate('OpenLP.AboutForm', 'Contribute')) + self.contributeButton.setText(translate('OpenLP.AboutForm', + 'Contribute')) self.closeButton.setText(translate('OpenLP.AboutForm', 'Close')) From 434475119872e069fa24ce7b2bff34fbde4588a9 Mon Sep 17 00:00:00 2001 From: Philip Ridout Date: Mon, 26 Jul 2010 21:14:11 +0100 Subject: [PATCH 114/148] self.screens.display, is always true, no matter which mode you use (single or dual screen) self.screens.current['primary'] is true, in single screen mode, or when the operator screen is also used as the main display! --- openlp/core/ui/maindisplay.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index f25a1d48c..a8156aeec 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -455,6 +455,8 @@ class MainDisplay(DisplayWidget): self.displayText.setPixmap(frame) else: self.displayText.setPixmap(QtGui.QPixmap.fromImage(frame)) + if not self.isVisible() and self.screens.current['primary']: # self.screens.display + self.setVisible(True) class VideoDisplay(Phonon.VideoWidget): """ From 16924808bd2d854b25f91f786c75eb3ca664e67d Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Mon, 26 Jul 2010 21:31:05 +0100 Subject: [PATCH 115/148] Fixes and cleanups --- openlp/core/ui/maindisplay.py | 8 ++++---- openlp/plugins/bibles/lib/common.py | 14 ++++---------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index ee6336a93..853026d35 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -92,12 +92,12 @@ class DisplayManager(QtGui.QWidget): self.videoDisplay.mediaHide(message) self.mainDisplay.hideDisplay(message) - def showDisplay(self, message): + def showDisplay(self): """ Hide the output displays """ - self.videoDisplay.mediaShow(message) - self.mainDisplay.showDisplay(message) + self.videoDisplay.mediaShow() + self.mainDisplay.showDisplay() def addAlert(self, alertMessage, location): """ @@ -623,7 +623,7 @@ class VideoDisplay(Phonon.VideoWidget): self.hidden = True self.setVisible(False) - def mediaShow(self, message=''): + def mediaShow(self): """ Show the video display if it was already hidden """ diff --git a/openlp/plugins/bibles/lib/common.py b/openlp/plugins/bibles/lib/common.py index cf7d9727a..5308495a3 100644 --- a/openlp/plugins/bibles/lib/common.py +++ b/openlp/plugins/bibles/lib/common.py @@ -64,7 +64,7 @@ def parse_reference(reference): to_verse = match.group(5) if int(match.group(2)) == int(match.group(4)): reference_list.append( - (match.group(1), int(match.group(2)), from_verse, to_verse) + (book, int(match.group(2)), from_verse, to_verse) ) else: if int(match.group(2)) > int(match.group(4)): @@ -75,17 +75,11 @@ def parse_reference(reference): to_chapter = int(match.group(4)) for chapter in xrange(from_chapter, to_chapter + 1): if chapter == from_chapter: - reference_list.append( - (match.group(1), chapter, from_verse, -1) - ) + reference_list.append((book, chapter, from_verse, -1)) elif chapter == to_chapter: - reference_list.append( - (match.group(1), chapter, 1, to_verse) - ) + reference_list.append((book, chapter, 1, to_verse)) else: - reference_list.append( - (match.group(1), chapter, 1, -1) - ) + reference_list.append((book, chapter, 1, -1)) else: match = only_verses.match(reference) if match: From 468ab12ffc0b06a3bde6b622fac2c4c076991dbc Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 08:48:23 +0100 Subject: [PATCH 116/148] GeneralTab naming --- openlp/core/ui/generaltab.py | 255 +++++++++++++++++------------------ 1 file changed, 127 insertions(+), 128 deletions(-) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 68b717c4d..4e6dc96ca 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -61,96 +61,95 @@ class GeneralTab(SettingsTab): """ self.setObjectName(u'GeneralTab') self.tabTitleVisible = translate('OpenLP.GeneralTab', 'General') - self.GeneralLayout = QtGui.QHBoxLayout(self) - self.GeneralLayout.setSpacing(8) - self.GeneralLayout.setMargin(8) - self.GeneralLayout.setObjectName(u'GeneralLayout') - self.GeneralLeftLayout = QtGui.QVBoxLayout() - self.GeneralLeftLayout.setObjectName(u'GeneralLeftLayout') - self.GeneralLeftLayout.setSpacing(8) - self.GeneralLeftLayout.setMargin(0) - self.GeneralLayout.addLayout(self.GeneralLeftLayout) - self.MonitorGroupBox = QtGui.QGroupBox(self) - self.MonitorGroupBox.setObjectName(u'MonitorGroupBox') - self.MonitorLayout = QtGui.QVBoxLayout(self.MonitorGroupBox) - self.MonitorLayout.setSpacing(8) - self.MonitorLayout.setMargin(8) - self.MonitorLayout.setObjectName(u'MonitorLayout') - self.MonitorLabel = QtGui.QLabel(self.MonitorGroupBox) - self.MonitorLabel.setObjectName(u'MonitorLabel') - self.MonitorLayout.addWidget(self.MonitorLabel) - self.MonitorComboBox = QtGui.QComboBox(self.MonitorGroupBox) - self.MonitorComboBox.setObjectName(u'MonitorComboBox') - self.MonitorLayout.addWidget(self.MonitorComboBox) - self.MonitorLayout.addWidget(self.MonitorComboBox) - self.DisplayOnMonitorCheck = QtGui.QCheckBox(self.MonitorGroupBox) - self.DisplayOnMonitorCheck.setObjectName(u'MonitorComboBox') - self.MonitorLayout.addWidget(self.DisplayOnMonitorCheck) - self.GeneralLeftLayout.addWidget(self.MonitorGroupBox) - self.StartupGroupBox = QtGui.QGroupBox(self) - self.StartupGroupBox.setObjectName(u'StartupGroupBox') - self.StartupLayout = QtGui.QVBoxLayout(self.StartupGroupBox) - self.StartupLayout.setSpacing(8) - self.StartupLayout.setMargin(8) - self.StartupLayout.setObjectName(u'StartupLayout') - self.WarningCheckBox = QtGui.QCheckBox(self.StartupGroupBox) - self.WarningCheckBox.setObjectName(u'WarningCheckBox') - self.StartupLayout.addWidget(self.WarningCheckBox) - self.AutoOpenCheckBox = QtGui.QCheckBox(self.StartupGroupBox) - self.AutoOpenCheckBox.setObjectName(u'AutoOpenCheckBox') - self.StartupLayout.addWidget(self.AutoOpenCheckBox) - self.ShowSplashCheckBox = QtGui.QCheckBox(self.StartupGroupBox) - self.ShowSplashCheckBox.setObjectName(u'ShowSplashCheckBox') - self.StartupLayout.addWidget(self.ShowSplashCheckBox) - self.GeneralLeftLayout.addWidget(self.StartupGroupBox) - self.SettingsGroupBox = QtGui.QGroupBox(self) - self.SettingsGroupBox.setObjectName(u'SettingsGroupBox') - self.SettingsLayout = QtGui.QVBoxLayout(self.SettingsGroupBox) - self.SettingsLayout.setSpacing(8) - self.SettingsLayout.setMargin(8) - self.SettingsLayout.setObjectName(u'SettingsLayout') - self.SaveCheckServiceCheckBox = QtGui.QCheckBox(self.SettingsGroupBox) - self.SaveCheckServiceCheckBox.setObjectName(u'SaveCheckServiceCheckBox') - self.SettingsLayout.addWidget(self.SaveCheckServiceCheckBox) - self.GeneralLeftLayout.addWidget(self.SettingsGroupBox) - self.AutoPreviewCheckBox = QtGui.QCheckBox(self.SettingsGroupBox) - self.AutoPreviewCheckBox.setObjectName(u'AutoPreviewCheckBox') - self.SettingsLayout.addWidget(self.AutoPreviewCheckBox) - self.GeneralLeftLayout.addWidget(self.SettingsGroupBox) - self.GeneralLeftSpacer = QtGui.QSpacerItem(20, 40, + self.generalLayout = QtGui.QHBoxLayout(self) + self.generalLayout.setSpacing(8) + self.generalLayout.setMargin(8) + self.generalLayout.setObjectName(u'generalLayout') + self.generalLeftLayout = QtGui.QVBoxLayout() + self.generalLeftLayout.setObjectName(u'generalLeftLayout') + self.generalLeftLayout.setSpacing(8) + self.generalLeftLayout.setMargin(0) + self.generalLayout.addLayout(self.generalLeftLayout) + self.monitorGroupBox = QtGui.QGroupBox(self) + self.monitorGroupBox.setObjectName(u'monitorGroupBox') + self.monitorLayout = QtGui.QVBoxLayout(self.monitorGroupBox) + self.monitorLayout.setSpacing(8) + self.monitorLayout.setMargin(8) + self.monitorLayout.setObjectName(u'monitorLayout') + self.monitorLabel = QtGui.QLabel(self.monitorGroupBox) + self.monitorLabel.setObjectName(u'monitorLabel') + self.monitorLayout.addWidget(self.monitorLabel) + self.monitorComboBox = QtGui.QComboBox(self.monitorGroupBox) + self.monitorComboBox.setObjectName(u'monitorComboBox') + self.monitorLayout.addWidget(self.monitorComboBox) + self.displayOnMonitorCheck = QtGui.QCheckBox(self.monitorGroupBox) + self.displayOnMonitorCheck.setObjectName(u'monitorComboBox') + self.monitorLayout.addWidget(self.displayOnMonitorCheck) + self.generalLeftLayout.addWidget(self.monitorGroupBox) + self.startupGroupBox = QtGui.QGroupBox(self) + self.startupGroupBox.setObjectName(u'startupGroupBox') + self.startupLayout = QtGui.QVBoxLayout(self.startupGroupBox) + self.startupLayout.setSpacing(8) + self.startupLayout.setMargin(8) + self.startupLayout.setObjectName(u'startupLayout') + self.warningCheckBox = QtGui.QCheckBox(self.startupGroupBox) + self.warningCheckBox.setObjectName(u'warningCheckBox') + self.startupLayout.addWidget(self.warningCheckBox) + self.autoOpenCheckBox = QtGui.QCheckBox(self.startupGroupBox) + self.autoOpenCheckBox.setObjectName(u'autoOpenCheckBox') + self.startupLayout.addWidget(self.autoOpenCheckBox) + self.showSplashCheckBox = QtGui.QCheckBox(self.startupGroupBox) + self.showSplashCheckBox.setObjectName(u'showSplashCheckBox') + self.startupLayout.addWidget(self.showSplashCheckBox) + self.generalLeftLayout.addWidget(self.startupGroupBox) + self.settingsGroupBox = QtGui.QGroupBox(self) + self.settingsGroupBox.setObjectName(u'settingsGroupBox') + self.settingsLayout = QtGui.QVBoxLayout(self.settingsGroupBox) + self.settingsLayout.setSpacing(8) + self.settingsLayout.setMargin(8) + self.settingsLayout.setObjectName(u'settingsLayout') + self.saveCheckServiceCheckBox = QtGui.QCheckBox(self.settingsGroupBox) + self.saveCheckServiceCheckBox.setObjectName(u'saveCheckServiceCheckBox') + self.settingsLayout.addWidget(self.saveCheckServiceCheckBox) + self.generalLeftLayout.addWidget(self.settingsGroupBox) + self.autoPreviewCheckBox = QtGui.QCheckBox(self.settingsGroupBox) + self.autoPreviewCheckBox.setObjectName(u'autoPreviewCheckBox') + self.settingsLayout.addWidget(self.autoPreviewCheckBox) + self.generalLeftLayout.addWidget(self.settingsGroupBox) + self.generalLeftSpacer = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.GeneralLeftLayout.addItem(self.GeneralLeftSpacer) - self.GeneralRightLayout = QtGui.QVBoxLayout() - self.GeneralRightLayout.setSpacing(8) - self.GeneralRightLayout.setMargin(0) - self.GeneralRightLayout.setObjectName(u'GeneralRightLayout') - self.GeneralLayout.addLayout(self.GeneralRightLayout) - self.CCLIGroupBox = QtGui.QGroupBox(self) - self.CCLIGroupBox.setObjectName(u'CCLIGroupBox') - self.CCLILayout = QtGui.QGridLayout(self.CCLIGroupBox) - self.CCLILayout.setMargin(8) - self.CCLILayout.setSpacing(8) - self.CCLILayout.setObjectName(u'CCLILayout') - self.NumberLabel = QtGui.QLabel(self.CCLIGroupBox) - self.NumberLabel.setObjectName(u'NumberLabel') - self.CCLILayout.addWidget(self.NumberLabel, 0, 0, 1, 1) - self.NumberEdit = QtGui.QLineEdit(self.CCLIGroupBox) - self.NumberEdit.setObjectName(u'NumberEdit') - self.CCLILayout.addWidget(self.NumberEdit, 0, 1, 1, 1) - self.UsernameLabel = QtGui.QLabel(self.CCLIGroupBox) - self.UsernameLabel.setObjectName(u'UsernameLabel') - self.CCLILayout.addWidget(self.UsernameLabel, 1, 0, 1, 1) - self.UsernameEdit = QtGui.QLineEdit(self.CCLIGroupBox) - self.UsernameEdit.setObjectName(u'UsernameEdit') - self.CCLILayout.addWidget(self.UsernameEdit, 1, 1, 1, 1) - self.PasswordLabel = QtGui.QLabel(self.CCLIGroupBox) - self.PasswordLabel.setObjectName(u'PasswordLabel') - self.CCLILayout.addWidget(self.PasswordLabel, 2, 0, 1, 1) - self.PasswordEdit = QtGui.QLineEdit(self.CCLIGroupBox) - self.PasswordEdit.setEchoMode(QtGui.QLineEdit.Password) - self.PasswordEdit.setObjectName(u'PasswordEdit') - self.CCLILayout.addWidget(self.PasswordEdit, 2, 1, 1, 1) - self.GeneralRightLayout.addWidget(self.CCLIGroupBox) + self.generalLeftLayout.addItem(self.generalLeftSpacer) + self.generalRightLayout = QtGui.QVBoxLayout() + self.generalRightLayout.setSpacing(8) + self.generalRightLayout.setMargin(0) + self.generalRightLayout.setObjectName(u'generalRightLayout') + self.generalLayout.addLayout(self.generalRightLayout) + self.ccliGroupBox = QtGui.QGroupBox(self) + self.ccliGroupBox.setObjectName(u'ccliGroupBox') + self.ccliLayout = QtGui.QGridLayout(self.ccliGroupBox) + self.ccliLayout.setMargin(8) + self.ccliLayout.setSpacing(8) + self.ccliLayout.setObjectName(u'ccliLayout') + self.numberLabel = QtGui.QLabel(self.ccliGroupBox) + self.numberLabel.setObjectName(u'numberLabel') + self.ccliLayout.addWidget(self.numberLabel, 0, 0, 1, 1) + self.numberEdit = QtGui.QLineEdit(self.ccliGroupBox) + self.numberEdit.setObjectName(u'numberEdit') + self.ccliLayout.addWidget(self.numberEdit, 0, 1, 1, 1) + self.usernameLabel = QtGui.QLabel(self.ccliGroupBox) + self.usernameLabel.setObjectName(u'usernameLabel') + self.ccliLayout.addWidget(self.usernameLabel, 1, 0, 1, 1) + self.usernameEdit = QtGui.QLineEdit(self.ccliGroupBox) + self.usernameEdit.setObjectName(u'usernameEdit') + self.ccliLayout.addWidget(self.usernameEdit, 1, 1, 1, 1) + self.passwordLabel = QtGui.QLabel(self.ccliGroupBox) + self.passwordLabel.setObjectName(u'passwordLabel') + self.ccliLayout.addWidget(self.passwordLabel, 2, 0, 1, 1) + self.passwordEdit = QtGui.QLineEdit(self.ccliGroupBox) + self.passwordEdit.setEchoMode(QtGui.QLineEdit.Password) + self.passwordEdit.setObjectName(u'passwordEdit') + self.ccliLayout.addWidget(self.passwordEdit, 2, 1, 1, 1) + self.generalRightLayout.addWidget(self.ccliGroupBox) # Moved here from display tab self.displayGroupBox = QtGui.QGroupBox(self) self.displayGroupBox.setObjectName(u'displayGroupBox') @@ -219,7 +218,7 @@ class GeneralTab(SettingsTab): self.overrideCheckBox = QtGui.QCheckBox(self.displayGroupBox) self.overrideCheckBox.setObjectName(u'overrideCheckBox') self.displayLayout.addWidget(self.overrideCheckBox) - self.GeneralRightLayout.addWidget(self.displayGroupBox) + self.generalRightLayout.addWidget(self.displayGroupBox) # Custom position self.customLayout = QtGui.QHBoxLayout() self.customLayout.setSpacing(8) @@ -276,9 +275,9 @@ class GeneralTab(SettingsTab): self.customLayout.addLayout(self.customWidthLayout) self.displayLayout.addLayout(self.customLayout) # Bottom spacer - self.GeneralRightSpacer = QtGui.QSpacerItem(20, 40, + self.generalRightSpacer = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.GeneralRightLayout.addItem(self.GeneralRightSpacer) + self.generalRightLayout.addItem(self.generalRightSpacer) # Signals and slots QtCore.QObject.connect(self.overrideCheckBox, QtCore.SIGNAL(u'toggled(bool)'), self.onOverrideCheckBoxToggled) @@ -287,33 +286,33 @@ class GeneralTab(SettingsTab): """ Translate the general settings tab to the currently selected language """ - self.MonitorGroupBox.setTitle(translate('OpenLP.GeneralTab', + self.monitorGroupBox.setTitle(translate('OpenLP.GeneralTab', 'Monitors')) - self.MonitorLabel.setText(translate('OpenLP.GeneralTab', + self.monitorLabel.setText(translate('OpenLP.GeneralTab', 'Select monitor for output display:')) - self.DisplayOnMonitorCheck.setText( + self.displayOnMonitorCheck.setText( translate('OpenLP.GeneralTab', 'Display if a single screen')) - self.StartupGroupBox.setTitle( + self.startupGroupBox.setTitle( translate('OpenLP.GeneralTab', 'Application Startup')) - self.WarningCheckBox.setText( + self.warningCheckBox.setText( translate('OpenLP.GeneralTab', 'Show blank screen warning')) - self.AutoOpenCheckBox.setText(translate('OpenLP.GeneralTab', + self.autoOpenCheckBox.setText(translate('OpenLP.GeneralTab', 'Automatically open the last service')) - self.ShowSplashCheckBox.setText( + self.showSplashCheckBox.setText( translate('OpenLP.GeneralTab', 'Show the splash screen')) - self.SettingsGroupBox.setTitle( + self.settingsGroupBox.setTitle( translate('OpenLP.GeneralTab', 'Application Settings')) - self.SaveCheckServiceCheckBox.setText(translate('OpenLP.GeneralTab', + self.saveCheckServiceCheckBox.setText(translate('OpenLP.GeneralTab', 'Prompt to save before starting a new service')) - self.AutoPreviewCheckBox.setText(translate('OpenLP.GeneralTab', + self.autoPreviewCheckBox.setText(translate('OpenLP.GeneralTab', 'Automatically preview next item in service')) - self.CCLIGroupBox.setTitle( + self.ccliGroupBox.setTitle( translate('OpenLP.GeneralTab', 'CCLI Details')) - self.NumberLabel.setText( + self.numberLabel.setText( translate('OpenLP.GeneralTab', 'CCLI number:')) - self.UsernameLabel.setText( + self.usernameLabel.setText( translate('OpenLP.GeneralTab', 'SongSelect username:')) - self.PasswordLabel.setText( + self.passwordLabel.setText( translate('OpenLP.GeneralTab', 'SongSelect password:')) # Moved from display tab self.displayGroupBox.setTitle( @@ -348,24 +347,24 @@ class GeneralTab(SettingsTab): if screen[u'primary']: screen_name = u'%s (%s)' % (screen_name, translate('OpenLP.GeneralTab', 'primary')) - self.MonitorComboBox.addItem(screen_name) - self.NumberEdit.setText(unicode(settings.value( + self.monitorComboBox.addItem(screen_name) + self.numberEdit.setText(unicode(settings.value( u'ccli number', QtCore.QVariant(u'')).toString())) - self.UsernameEdit.setText(unicode(settings.value( + self.usernameEdit.setText(unicode(settings.value( u'songselect username', QtCore.QVariant(u'')).toString())) - self.PasswordEdit.setText(unicode(settings.value( + self.passwordEdit.setText(unicode(settings.value( u'songselect password', QtCore.QVariant(u'')).toString())) - self.SaveCheckServiceCheckBox.setChecked(settings.value(u'save prompt', + self.saveCheckServiceCheckBox.setChecked(settings.value(u'save prompt', QtCore.QVariant(False)).toBool()) - self.MonitorComboBox.setCurrentIndex(self.monitorNumber) - self.DisplayOnMonitorCheck.setChecked(self.screens.display) - self.WarningCheckBox.setChecked(settings.value(u'blank warning', + self.monitorComboBox.setCurrentIndex(self.monitorNumber) + self.displayOnMonitorCheck.setChecked(self.screens.display) + self.warningCheckBox.setChecked(settings.value(u'blank warning', QtCore.QVariant(False)).toBool()) - self.AutoOpenCheckBox.setChecked(settings.value(u'auto open', + self.autoOpenCheckBox.setChecked(settings.value(u'auto open', QtCore.QVariant(False)).toBool()) - self.ShowSplashCheckBox.setChecked(settings.value(u'show splash', + self.showSplashCheckBox.setChecked(settings.value(u'show splash', QtCore.QVariant(True)).toBool()) - self.AutoPreviewCheckBox.setChecked(settings.value(u'auto preview', + self.autoPreviewCheckBox.setChecked(settings.value(u'auto preview', QtCore.QVariant(False)).toBool()) self.currentXValueLabel.setText( unicode(self.screens.current[u'size'].x())) @@ -408,28 +407,28 @@ class GeneralTab(SettingsTab): """ Save the settings from the form """ - self.monitorNumber = self.MonitorComboBox.currentIndex() + self.monitorNumber = self.monitorComboBox.currentIndex() settings = QtCore.QSettings() settings.beginGroup(self.settingsSection) settings.setValue(u'monitor', QtCore.QVariant(self.monitorNumber)) settings.setValue(u'display on monitor', - QtCore.QVariant(self.DisplayOnMonitorCheck.isChecked())) + QtCore.QVariant(self.displayOnMonitorCheck.isChecked())) settings.setValue(u'blank warning', - QtCore.QVariant(self.WarningCheckBox.isChecked())) + QtCore.QVariant(self.warningCheckBox.isChecked())) settings.setValue(u'auto open', - QtCore.QVariant(self.AutoOpenCheckBox.isChecked())) + QtCore.QVariant(self.autoOpenCheckBox.isChecked())) settings.setValue(u'show splash', - QtCore.QVariant(self.ShowSplashCheckBox.isChecked())) + QtCore.QVariant(self.showSplashCheckBox.isChecked())) settings.setValue(u'save prompt', - QtCore.QVariant(self.SaveCheckServiceCheckBox.isChecked())) + QtCore.QVariant(self.saveCheckServiceCheckBox.isChecked())) settings.setValue(u'auto preview', - QtCore.QVariant(self.AutoPreviewCheckBox.isChecked())) + QtCore.QVariant(self.autoPreviewCheckBox.isChecked())) settings.setValue(u'ccli number', - QtCore.QVariant(self.NumberEdit.displayText())) + QtCore.QVariant(self.numberEdit.displayText())) settings.setValue(u'songselect username', - QtCore.QVariant(self.UsernameEdit.displayText())) + QtCore.QVariant(self.usernameEdit.displayText())) settings.setValue(u'songselect password', - QtCore.QVariant(self.PasswordEdit.displayText())) + QtCore.QVariant(self.passwordEdit.displayText())) settings.setValue(u'x position', QtCore.QVariant(self.customXValueEdit.text())) settings.setValue(u'y position', @@ -441,7 +440,7 @@ class GeneralTab(SettingsTab): settings.setValue(u'override position', QtCore.QVariant(self.overrideCheckBox.isChecked())) settings.endGroup() - self.screens.display = self.DisplayOnMonitorCheck.isChecked() + self.screens.display = self.displayOnMonitorCheck.isChecked() #Monitor Number has changed. if self.screens.monitor_number != self.monitorNumber: self.screens.monitor_number = self.monitorNumber From c2ee4e842be0041d6ced1fe9f5ce233037786f77 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 09:22:01 +0100 Subject: [PATCH 117/148] ServiceItemEditDialog naming --- openlp/core/ui/serviceitemeditdialog.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/openlp/core/ui/serviceitemeditdialog.py b/openlp/core/ui/serviceitemeditdialog.py index c3ccbfaaf..383f34f72 100644 --- a/openlp/core/ui/serviceitemeditdialog.py +++ b/openlp/core/ui/serviceitemeditdialog.py @@ -28,10 +28,10 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import translate class Ui_ServiceItemEditDialog(object): - def setupUi(self, ServiceItemEditDialog): - ServiceItemEditDialog.setObjectName(u'ServiceItemEditDialog') - ServiceItemEditDialog.resize(386, 272) - self.layoutWidget = QtGui.QWidget(ServiceItemEditDialog) + def setupUi(self, serviceItemEditDialog): + serviceItemEditDialog.setObjectName(u'serviceItemEditDialog') + serviceItemEditDialog.resize(386, 272) + self.layoutWidget = QtGui.QWidget(serviceItemEditDialog) self.layoutWidget.setGeometry(QtCore.QRect(20, 20, 351, 241)) self.layoutWidget.setObjectName(u'layoutWidget') self.outerLayout = QtGui.QVBoxLayout(self.layoutWidget) @@ -47,8 +47,8 @@ class Ui_ServiceItemEditDialog(object): self.upButton = QtGui.QPushButton(self.layoutWidget) self.upButton.setObjectName(u'upButton') self.buttonLayout.addWidget(self.upButton) - spacerItem = QtGui.QSpacerItem(20, 40, - QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) + spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, + QtGui.QSizePolicy.Expanding) self.buttonLayout.addItem(spacerItem) self.deleteButton = QtGui.QPushButton(self.layoutWidget) self.deleteButton.setObjectName(u'deleteButton') @@ -59,16 +59,16 @@ class Ui_ServiceItemEditDialog(object): self.topLayout.addLayout(self.buttonLayout) self.outerLayout.addLayout(self.topLayout) self.buttonBox = QtGui.QDialogButtonBox(self.layoutWidget) - self.buttonBox.setStandardButtons( - QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save) + self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | + QtGui.QDialogButtonBox.Save) self.buttonBox.setObjectName(u'buttonBox') self.outerLayout.addWidget(self.buttonBox) - self.retranslateUi(ServiceItemEditDialog) - QtCore.QMetaObject.connectSlotsByName(ServiceItemEditDialog) + self.retranslateUi(serviceItemEditDialog) + QtCore.QMetaObject.connectSlotsByName(serviceItemEditDialog) - def retranslateUi(self, ServiceItemEditDialog): - ServiceItemEditDialog.setWindowTitle( + def retranslateUi(self, serviceItemEditDialog): + serviceItemEditDialog.setWindowTitle( translate('OpenLP.ServiceItemEditForm', 'Reorder Service Item')) self.upButton.setText(translate('OpenLP.ServiceItemEditForm', 'Up')) self.deleteButton.setText(translate('OpenLP.ServiceItemEditForm', From 37b2304eeb9fe2b2f37b7334b1d7c496f90f602b Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 10:32:52 +0100 Subject: [PATCH 118/148] Trailing new lines --- openlp.pyw | 2 +- openlp/__init__.py | 2 +- openlp/core/__init__.py | 2 +- openlp/core/lib/__init__.py | 2 +- openlp/core/lib/baselistwithdnd.py | 2 +- openlp/core/lib/db.py | 2 +- openlp/core/lib/dockwidget.py | 2 +- openlp/core/lib/eventreceiver.py | 2 +- openlp/core/lib/plugin.py | 2 +- openlp/core/lib/pluginmanager.py | 2 +- openlp/core/lib/renderer.py | 2 +- openlp/core/lib/rendermanager.py | 2 +- openlp/core/lib/settingstab.py | 2 +- openlp/core/lib/theme.py | 2 +- openlp/core/lib/toolbar.py | 2 +- openlp/core/theme/__init__.py | 2 +- openlp/core/theme/theme.py | 2 +- openlp/core/ui/__init__.py | 2 +- openlp/core/ui/aboutform.py | 2 +- openlp/core/ui/amendthemedialog.py | 2 +- openlp/core/ui/maindisplay.py | 2 +- openlp/core/ui/mediadockmanager.py | 2 +- openlp/core/ui/plugindialog.py | 2 +- openlp/core/ui/pluginform.py | 2 +- openlp/core/ui/screen.py | 2 +- openlp/core/ui/serviceitemeditform.py | 2 +- openlp/core/ui/servicenotedialog.py | 2 +- openlp/core/ui/servicenoteform.py | 2 +- openlp/core/ui/settingsdialog.py | 2 +- openlp/core/ui/settingsform.py | 2 +- openlp/core/ui/slidecontroller.py | 2 +- openlp/core/ui/splashscreen.py | 2 +- openlp/core/ui/themestab.py | 2 +- openlp/core/utils/__init__.py | 2 +- openlp/plugins/__init__.py | 2 +- openlp/plugins/alerts/__init__.py | 2 +- openlp/plugins/alerts/alertsplugin.py | 2 +- openlp/plugins/alerts/forms/__init__.py | 2 +- openlp/plugins/alerts/forms/alertdialog.py | 2 +- openlp/plugins/alerts/forms/alertform.py | 2 +- openlp/plugins/alerts/lib/__init__.py | 2 +- openlp/plugins/alerts/lib/alertsmanager.py | 2 +- openlp/plugins/alerts/lib/alertstab.py | 2 +- openlp/plugins/alerts/lib/db.py | 2 +- openlp/plugins/bibles/__init__.py | 2 +- openlp/plugins/bibles/bibleplugin.py | 2 +- openlp/plugins/bibles/forms/__init__.py | 2 +- openlp/plugins/bibles/forms/bibleimportwizard.py | 2 +- openlp/plugins/bibles/forms/importwizardform.py | 2 +- openlp/plugins/bibles/lib/__init__.py | 2 +- openlp/plugins/bibles/lib/biblestab.py | 2 +- openlp/plugins/bibles/lib/csvbible.py | 2 +- openlp/plugins/bibles/lib/db.py | 2 +- openlp/plugins/bibles/lib/manager.py | 2 +- openlp/plugins/bibles/lib/opensong.py | 2 +- openlp/plugins/bibles/lib/osis.py | 2 +- openlp/plugins/custom/__init__.py | 2 +- openlp/plugins/custom/customplugin.py | 2 +- openlp/plugins/custom/forms/__init__.py | 2 +- openlp/plugins/custom/forms/editcustomdialog.py | 2 +- openlp/plugins/custom/forms/editcustomform.py | 2 +- openlp/plugins/custom/lib/__init__.py | 2 +- openlp/plugins/custom/lib/customtab.py | 2 +- openlp/plugins/custom/lib/customxmlhandler.py | 2 +- openlp/plugins/custom/lib/db.py | 2 +- openlp/plugins/custom/lib/mediaitem.py | 2 +- openlp/plugins/images/__init__.py | 2 +- openlp/plugins/images/imageplugin.py | 2 +- openlp/plugins/images/lib/__init__.py | 2 +- openlp/plugins/images/lib/imagetab.py | 2 +- openlp/plugins/images/lib/mediaitem.py | 2 +- openlp/plugins/media/__init__.py | 2 +- openlp/plugins/media/lib/__init__.py | 2 +- openlp/plugins/media/lib/mediaitem.py | 2 +- openlp/plugins/media/mediaplugin.py | 2 +- openlp/plugins/presentations/__init__.py | 2 +- openlp/plugins/presentations/lib/__init__.py | 2 +- openlp/plugins/presentations/lib/impresscontroller.py | 2 +- openlp/plugins/presentations/lib/messagelistener.py | 2 +- openlp/plugins/presentations/lib/powerpointcontroller.py | 2 +- openlp/plugins/presentations/lib/presentationcontroller.py | 2 +- openlp/plugins/presentations/lib/presentationtab.py | 2 +- openlp/plugins/presentations/presentationplugin.py | 2 +- openlp/plugins/remotes/__init__.py | 2 +- openlp/plugins/remotes/lib/__init__.py | 2 +- openlp/plugins/remotes/lib/httpserver.py | 2 +- openlp/plugins/remotes/remoteplugin.py | 2 +- openlp/plugins/songs/__init__.py | 2 +- openlp/plugins/songs/forms/__init__.py | 2 +- openlp/plugins/songs/forms/authorsdialog.py | 2 +- openlp/plugins/songs/forms/authorsform.py | 2 +- openlp/plugins/songs/forms/editsongdialog.py | 2 +- openlp/plugins/songs/forms/editsongform.py | 2 +- openlp/plugins/songs/forms/editversedialog.py | 2 +- openlp/plugins/songs/forms/editverseform.py | 2 +- openlp/plugins/songs/forms/songbookdialog.py | 2 +- openlp/plugins/songs/forms/songbookform.py | 2 +- openlp/plugins/songs/forms/songimportform.py | 2 +- openlp/plugins/songs/forms/songimportwizard.py | 2 +- openlp/plugins/songs/forms/songmaintenancedialog.py | 2 +- openlp/plugins/songs/forms/songmaintenanceform.py | 2 +- openlp/plugins/songs/forms/topicsdialog.py | 2 +- openlp/plugins/songs/forms/topicsform.py | 2 +- openlp/plugins/songs/lib/__init__.py | 2 +- openlp/plugins/songs/lib/db.py | 2 +- openlp/plugins/songs/lib/mediaitem.py | 2 +- openlp/plugins/songs/lib/olpimport.py | 2 +- openlp/plugins/songs/lib/oooimport.py | 2 +- openlp/plugins/songs/lib/opensongimport.py | 2 +- openlp/plugins/songs/lib/sofimport.py | 2 +- openlp/plugins/songs/lib/songimport.py | 2 +- openlp/plugins/songs/lib/songstab.py | 2 +- openlp/plugins/songs/lib/songxml.py | 2 +- openlp/plugins/songs/lib/test/test_opensongimport.py | 2 +- openlp/plugins/songs/lib/xml.py | 2 +- openlp/plugins/songs/songsplugin.py | 2 +- openlp/plugins/songusage/__init__.py | 2 +- openlp/plugins/songusage/forms/__init__.py | 2 +- openlp/plugins/songusage/forms/songusagedeletedialog.py | 2 +- openlp/plugins/songusage/forms/songusagedeleteform.py | 2 +- openlp/plugins/songusage/forms/songusagedetaildialog.py | 2 +- openlp/plugins/songusage/forms/songusagedetailform.py | 2 +- openlp/plugins/songusage/lib/__init__.py | 2 +- openlp/plugins/songusage/lib/db.py | 2 +- openlp/plugins/songusage/songusageplugin.py | 2 +- .../hook-openlp.plugins.presentations.presentationplugin.py | 2 +- resources/pyinstaller/hook-openlp.py | 2 +- scripts/bible-1to2-converter.py | 2 +- scripts/openlp-1to2-converter.py | 2 +- scripts/openlp-remoteclient.py | 2 +- scripts/translation_utils.py | 2 +- scripts/windows-builder.py | 2 +- setup.py | 2 +- 133 files changed, 133 insertions(+), 133 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index af0dd222b..9c87ee62a 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -201,4 +201,4 @@ if __name__ == u'__main__': """ Instantiate and run the application. """ - main() \ No newline at end of file + main() diff --git a/openlp/__init__.py b/openlp/__init__.py index 0a5008522..f22f0ef70 100644 --- a/openlp/__init__.py +++ b/openlp/__init__.py @@ -25,4 +25,4 @@ ############################################################################### """ The :mod:`openlp` module contains all the project produced OpenLP functionality -""" \ No newline at end of file +""" diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index 59b65ebfe..a6cfa60c7 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -28,4 +28,4 @@ The :mod:`core` module provides all core application functions All the core functions of the OpenLP application including the GUI, settings, logging and a plugin framework are contained within the openlp.core module. -""" \ No newline at end of file +""" diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py index 34b0462d2..ae5d0602c 100644 --- a/openlp/core/lib/__init__.py +++ b/openlp/core/lib/__init__.py @@ -219,4 +219,4 @@ from theme import ThemeLevel, ThemeXML from renderer import Renderer from rendermanager import RenderManager from mediamanageritem import MediaManagerItem -from baselistwithdnd import BaseListWithDnD \ No newline at end of file +from baselistwithdnd import BaseListWithDnD diff --git a/openlp/core/lib/baselistwithdnd.py b/openlp/core/lib/baselistwithdnd.py index 46376c5b4..2ad500e9e 100644 --- a/openlp/core/lib/baselistwithdnd.py +++ b/openlp/core/lib/baselistwithdnd.py @@ -52,4 +52,4 @@ class BaseListWithDnD(QtGui.QListWidget): mimeData = QtCore.QMimeData() drag.setMimeData(mimeData) mimeData.setText(self.PluginName) - drag.start(QtCore.Qt.CopyAction) \ No newline at end of file + drag.start(QtCore.Qt.CopyAction) diff --git a/openlp/core/lib/db.py b/openlp/core/lib/db.py index b6b11a807..f97a74dc8 100644 --- a/openlp/core/lib/db.py +++ b/openlp/core/lib/db.py @@ -245,4 +245,4 @@ class Manager(object): except InvalidRequestError: self.session.rollback() log.exception(u'Failed to delete %s records', object_class.__name__) - return False \ No newline at end of file + return False diff --git a/openlp/core/lib/dockwidget.py b/openlp/core/lib/dockwidget.py index aff314c5c..15fd74ebc 100644 --- a/openlp/core/lib/dockwidget.py +++ b/openlp/core/lib/dockwidget.py @@ -46,4 +46,4 @@ class OpenLPDockWidget(QtGui.QDockWidget): if name: self.setObjectName(name) self.setFloating(False) - log.debug(u'Init done') \ No newline at end of file + log.debug(u'Init done') diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index b42aa92ce..a4f683e81 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -270,4 +270,4 @@ class Receiver(object): """ Get the global ``eventreceiver`` instance. """ - return Receiver.eventreceiver \ No newline at end of file + return Receiver.eventreceiver diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index 348fe185e..7105cfa82 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -288,4 +288,4 @@ class Plugin(QtCore.QObject): ``newTheme`` The new name the plugin should now use. """ - pass \ No newline at end of file + pass diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py index 5b1e2ae7b..bb99e3d03 100644 --- a/openlp/core/lib/pluginmanager.py +++ b/openlp/core/lib/pluginmanager.py @@ -219,4 +219,4 @@ class PluginManager(object): for plugin in self.plugins: if plugin.isActive(): plugin.finalise() - log.info(u'Finalisation Complete for %s ' % plugin.name) \ No newline at end of file + log.info(u'Finalisation Complete for %s ' % plugin.name) diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index df1b2bb9e..f764f069f 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -593,4 +593,4 @@ class Renderer(object): """ image.save(u'renderer.png', u'png') if image2: - image2.save(u'renderer2.png', u'png') \ No newline at end of file + image2.save(u'renderer2.png', u'png') diff --git a/openlp/core/lib/rendermanager.py b/openlp/core/lib/rendermanager.py index aad889b0b..7b6124fa8 100644 --- a/openlp/core/lib/rendermanager.py +++ b/openlp/core/lib/rendermanager.py @@ -224,4 +224,4 @@ class RenderManager(object): log.debug(u'calculate default %d, %d, %f', self.width, self.height, self.screen_ratio ) # 90% is start of footer - self.footer_start = int(self.height * 0.90) \ No newline at end of file + self.footer_start = int(self.height * 0.90) diff --git a/openlp/core/lib/settingstab.py b/openlp/core/lib/settingstab.py index ec02c0dea..99389d4c4 100644 --- a/openlp/core/lib/settingstab.py +++ b/openlp/core/lib/settingstab.py @@ -88,4 +88,4 @@ class SettingsTab(QtGui.QWidget): """ Changes which need to be made after setup of application """ - pass \ No newline at end of file + pass diff --git a/openlp/core/lib/theme.py b/openlp/core/lib/theme.py index e09e26c9b..9f084e40c 100644 --- a/openlp/core/lib/theme.py +++ b/openlp/core/lib/theme.py @@ -415,4 +415,4 @@ class ThemeXML(object): for key in dir(self): if key[0:1] != u'_': theme_strings.append(u'%30s: %s' % (key, getattr(self, key))) - return u'\n'.join(theme_strings) \ No newline at end of file + return u'\n'.join(theme_strings) diff --git a/openlp/core/lib/toolbar.py b/openlp/core/lib/toolbar.py index 84f311e73..a98edab9a 100644 --- a/openlp/core/lib/toolbar.py +++ b/openlp/core/lib/toolbar.py @@ -154,4 +154,4 @@ class OpenLPToolbar(QtGui.QToolBar): push_button.setCheckable(True) push_button.setFlat(True) self.addWidget(push_button) - return push_button \ No newline at end of file + return push_button diff --git a/openlp/core/theme/__init__.py b/openlp/core/theme/__init__.py index 936832ae3..4ffcb2813 100644 --- a/openlp/core/theme/__init__.py +++ b/openlp/core/theme/__init__.py @@ -24,4 +24,4 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### -from openlp.core.theme.theme import Theme \ No newline at end of file +from openlp.core.theme.theme import Theme diff --git a/openlp/core/theme/theme.py b/openlp/core/theme/theme.py index ff184f254..e5f3b4c4c 100644 --- a/openlp/core/theme/theme.py +++ b/openlp/core/theme/theme.py @@ -222,4 +222,4 @@ class Theme(object): for key in dir(self): if key[0:1] != u'_': theme_strings.append(u'%30s : %s' % (key, getattr(self, key))) - return u'\n'.join(theme_strings) \ No newline at end of file + return u'\n'.join(theme_strings) diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index 31a3b3dad..60d6ea941 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -60,4 +60,4 @@ from mainwindow import MainWindow __all__ = ['SplashScreen', 'AboutForm', 'SettingsForm', 'MainWindow', 'MainDisplay', 'SlideController', 'ServiceManager', 'ThemeManager', - 'AmendThemeForm', 'MediaDockManager', 'ServiceItemEditForm'] \ No newline at end of file + 'AmendThemeForm', 'MediaDockManager', 'ServiceItemEditForm'] diff --git a/openlp/core/ui/aboutform.py b/openlp/core/ui/aboutform.py index a063263d5..3b49ff274 100644 --- a/openlp/core/ui/aboutform.py +++ b/openlp/core/ui/aboutform.py @@ -61,4 +61,4 @@ class AboutForm(QtGui.QDialog, Ui_AboutDialog): import webbrowser url = u'http://www.openlp.org/en/documentation/introduction/' \ + u'contributing.html' - webbrowser.open_new(url) \ No newline at end of file + webbrowser.open_new(url) diff --git a/openlp/core/ui/amendthemedialog.py b/openlp/core/ui/amendthemedialog.py index a3d155528..ce44bcdc2 100644 --- a/openlp/core/ui/amendthemedialog.py +++ b/openlp/core/ui/amendthemedialog.py @@ -826,4 +826,4 @@ class Ui_AmendThemeDialog(object): self.ThemeTabWidget.indexOf(self.OtherOptionsTab), translate('OpenLP.AmendThemeForm', '&Other Options')) self.PreviewGroupBox.setTitle( - translate('OpenLP.AmendThemeForm', 'Preview')) \ No newline at end of file + translate('OpenLP.AmendThemeForm', 'Preview')) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 853026d35..0ac98572d 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -708,4 +708,4 @@ class AudioPlayer(QtCore.QObject): Clean up the Object queue """ log.debug(u'AudioPlayer Reached end of media playlist') - self.mediaObject.clearQueue() \ No newline at end of file + self.mediaObject.clearQueue() diff --git a/openlp/core/ui/mediadockmanager.py b/openlp/core/ui/mediadockmanager.py index 296e795db..afe316a8a 100644 --- a/openlp/core/ui/mediadockmanager.py +++ b/openlp/core/ui/mediadockmanager.py @@ -80,4 +80,4 @@ class MediaDockManager(object): if self.media_dock.widget(dock_index).settingsSection == \ name.lower(): self.media_dock.widget(dock_index).hide() - self.media_dock.removeItem(dock_index) \ No newline at end of file + self.media_dock.removeItem(dock_index) diff --git a/openlp/core/ui/plugindialog.py b/openlp/core/ui/plugindialog.py index 21616cd05..1a1edf917 100644 --- a/openlp/core/ui/plugindialog.py +++ b/openlp/core/ui/plugindialog.py @@ -115,4 +115,4 @@ class Ui_PluginViewDialog(object): self.StatusComboBox.setItemText(0, translate('OpenLP.PluginForm', 'Active')) self.StatusComboBox.setItemText(1, - translate('OpenLP.PluginForm', 'Inactive')) \ No newline at end of file + translate('OpenLP.PluginForm', 'Inactive')) diff --git a/openlp/core/ui/pluginform.py b/openlp/core/ui/pluginform.py index 21ac4d672..2f03ef4af 100644 --- a/openlp/core/ui/pluginform.py +++ b/openlp/core/ui/pluginform.py @@ -135,4 +135,4 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): status_text = unicode( translate('OpenLP.PluginForm', '%s (Disabled)')) self.PluginListWidget.currentItem().setText( - status_text % self.activePlugin.name) \ No newline at end of file + status_text % self.activePlugin.name) diff --git a/openlp/core/ui/screen.py b/openlp/core/ui/screen.py index 3c01b9f53..ade157efa 100644 --- a/openlp/core/ui/screen.py +++ b/openlp/core/ui/screen.py @@ -99,4 +99,4 @@ class ScreenList(object): user wants to use the correct screen attributes """ log.debug(u'reset_current_display') - self.set_current_display(self.current_display) \ No newline at end of file + self.set_current_display(self.current_display) diff --git a/openlp/core/ui/serviceitemeditform.py b/openlp/core/ui/serviceitemeditform.py index 0c062480d..f385754f5 100644 --- a/openlp/core/ui/serviceitemeditform.py +++ b/openlp/core/ui/serviceitemeditform.py @@ -123,4 +123,4 @@ class ServiceItemEditForm(QtGui.QDialog, Ui_ServiceItemEditDialog): self.itemList.remove(self.itemList[row]) self.itemList.insert(row + 1, temp) self.loadData() - self.listWidget.setCurrentRow(row + 1) \ No newline at end of file + self.listWidget.setCurrentRow(row + 1) diff --git a/openlp/core/ui/servicenotedialog.py b/openlp/core/ui/servicenotedialog.py index 079a7148c..4044181f5 100644 --- a/openlp/core/ui/servicenotedialog.py +++ b/openlp/core/ui/servicenotedialog.py @@ -50,4 +50,4 @@ class Ui_ServiceNoteEdit(object): def retranslateUi(self, ServiceNoteEdit): ServiceNoteEdit.setWindowTitle( - translate('OpenLP.ServiceNoteForm', 'Service Item Notes')) \ No newline at end of file + translate('OpenLP.ServiceNoteForm', 'Service Item Notes')) diff --git a/openlp/core/ui/servicenoteform.py b/openlp/core/ui/servicenoteform.py index df905b554..a453c863e 100644 --- a/openlp/core/ui/servicenoteform.py +++ b/openlp/core/ui/servicenoteform.py @@ -41,4 +41,4 @@ class ServiceNoteForm(QtGui.QDialog, Ui_ServiceNoteEdit): QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'), self.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'), - self.reject) \ No newline at end of file + self.reject) diff --git a/openlp/core/ui/settingsdialog.py b/openlp/core/ui/settingsdialog.py index ede3d429f..ebe8c2cf1 100644 --- a/openlp/core/ui/settingsdialog.py +++ b/openlp/core/ui/settingsdialog.py @@ -65,4 +65,4 @@ class Ui_SettingsDialog(object): def retranslateUi(self, SettingsDialog): SettingsDialog.setWindowTitle(translate('OpenLP.SettingsForm', - 'Configure OpenLP')) \ No newline at end of file + 'Configure OpenLP')) diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 4aabf181c..97f2aebaf 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -94,4 +94,4 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): Run any post-setup code for the tabs on the form """ for tabIndex in range(0, self.settingsTabWidget.count()): - self.settingsTabWidget.widget(tabIndex).postSetUp() \ No newline at end of file + self.settingsTabWidget.widget(tabIndex).postSetUp() diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index d7e3498bd..e118036d2 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -984,4 +984,4 @@ class SlideController(QtGui.QWidget): self.mediaObject.stop() self.video.hide() self.SlidePreview.clear() - self.SlidePreview.show() \ No newline at end of file + self.SlidePreview.show() diff --git a/openlp/core/ui/splashscreen.py b/openlp/core/ui/splashscreen.py index b8e9d7123..a0b0e8f12 100644 --- a/openlp/core/ui/splashscreen.py +++ b/openlp/core/ui/splashscreen.py @@ -55,4 +55,4 @@ class SplashScreen(object): self.splash_screen.show() def finish(self, widget): - self.splash_screen.finish(widget) \ No newline at end of file + self.splash_screen.finish(widget) diff --git a/openlp/core/ui/themestab.py b/openlp/core/ui/themestab.py index 8dcbd46c4..853865bb5 100644 --- a/openlp/core/ui/themestab.py +++ b/openlp/core/ui/themestab.py @@ -207,4 +207,4 @@ class ThemesTab(SettingsTab): if not preview.isNull(): preview = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation) - self.DefaultListView.setPixmap(preview) \ No newline at end of file + self.DefaultListView.setPixmap(preview) diff --git a/openlp/core/utils/__init__.py b/openlp/core/utils/__init__.py index 249096f49..51ecc73df 100644 --- a/openlp/core/utils/__init__.py +++ b/openlp/core/utils/__init__.py @@ -213,4 +213,4 @@ def get_images_filter(): from languagemanager import LanguageManager __all__ = [u'AppLocation', u'check_latest_version', u'add_actions', - u'get_filesystem_encoding', u'LanguageManager'] \ No newline at end of file + u'get_filesystem_encoding', u'LanguageManager'] diff --git a/openlp/plugins/__init__.py b/openlp/plugins/__init__.py index 91c265dda..258707016 100644 --- a/openlp/plugins/__init__.py +++ b/openlp/plugins/__init__.py @@ -25,4 +25,4 @@ ############################################################################### """ The :mod:`plugins` module provides all the project produced plugins -""" \ No newline at end of file +""" diff --git a/openlp/plugins/alerts/__init__.py b/openlp/plugins/alerts/__init__.py index ac9730bb5..bb06bffb0 100644 --- a/openlp/plugins/alerts/__init__.py +++ b/openlp/plugins/alerts/__init__.py @@ -26,4 +26,4 @@ """ The :mod:`alerts` module provides the Alerts plugin for producing impromptu on-screen announcements during a service. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 49e6d6282..c62f088a6 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -103,4 +103,4 @@ class AlertsPlugin(Plugin): about_text = translate('AlertsPlugin', 'Alerts Plugin' '
The alert plugin controls the displaying of nursery alerts ' 'on the display screen') - return about_text \ No newline at end of file + return about_text diff --git a/openlp/plugins/alerts/forms/__init__.py b/openlp/plugins/alerts/forms/__init__.py index adfae9db2..0eb49be15 100644 --- a/openlp/plugins/alerts/forms/__init__.py +++ b/openlp/plugins/alerts/forms/__init__.py @@ -24,4 +24,4 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### -from alertform import AlertForm \ No newline at end of file +from alertform import AlertForm diff --git a/openlp/plugins/alerts/forms/alertdialog.py b/openlp/plugins/alerts/forms/alertdialog.py index bcdcd08ae..5b4c324dc 100644 --- a/openlp/plugins/alerts/forms/alertdialog.py +++ b/openlp/plugins/alerts/forms/alertdialog.py @@ -140,4 +140,4 @@ class Ui_AlertDialog(object): self.DisplayCloseButton.setText( translate('AlertsPlugin.AlertForm', 'Display && Cl&ose')) self.CloseButton.setText( - translate('AlertsPlugin.AlertForm', '&Close')) \ No newline at end of file + translate('AlertsPlugin.AlertForm', '&Close')) diff --git a/openlp/plugins/alerts/forms/alertform.py b/openlp/plugins/alerts/forms/alertform.py index 133770795..ddc7a3743 100644 --- a/openlp/plugins/alerts/forms/alertform.py +++ b/openlp/plugins/alerts/forms/alertform.py @@ -155,4 +155,4 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog): text = text.replace(u'<>', unicode(self.ParameterEdit.text())) self.parent.alertsmanager.displayAlert(text) return True - return False \ No newline at end of file + return False diff --git a/openlp/plugins/alerts/lib/__init__.py b/openlp/plugins/alerts/lib/__init__.py index cfb15040c..722ee0c3d 100644 --- a/openlp/plugins/alerts/lib/__init__.py +++ b/openlp/plugins/alerts/lib/__init__.py @@ -25,4 +25,4 @@ ############################################################################### from alertsmanager import AlertsManager -from alertstab import AlertsTab \ No newline at end of file +from alertstab import AlertsTab diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py index 0a8a328d3..a6960fff0 100644 --- a/openlp/plugins/alerts/lib/alertsmanager.py +++ b/openlp/plugins/alerts/lib/alertsmanager.py @@ -117,4 +117,4 @@ class AlertsManager(QtCore.QObject): alertTab.location) self.killTimer(self.timer_id) self.timer_id = 0 - self.generateAlert() \ No newline at end of file + self.generateAlert() diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 7c10d4715..7527c6a62 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -295,4 +295,4 @@ class AlertsTab(SettingsTab): font.setPointSize(self.font_size) self.FontPreview.setFont(font) self.FontPreview.setStyleSheet(u'background-color: %s; color: %s' % - (self.bg_color, self.font_color)) \ No newline at end of file + (self.bg_color, self.font_color)) diff --git a/openlp/plugins/alerts/lib/db.py b/openlp/plugins/alerts/lib/db.py index b26777837..e71007c28 100644 --- a/openlp/plugins/alerts/lib/db.py +++ b/openlp/plugins/alerts/lib/db.py @@ -55,4 +55,4 @@ def init_schema(url): mapper(AlertItem, alerts_table) metadata.create_all(checkfirst=True) - return session \ No newline at end of file + return session diff --git a/openlp/plugins/bibles/__init__.py b/openlp/plugins/bibles/__init__.py index 8e02a0b3e..0a158d1a7 100644 --- a/openlp/plugins/bibles/__init__.py +++ b/openlp/plugins/bibles/__init__.py @@ -26,4 +26,4 @@ """ The :mod:`bibles' module provides the Bible plugin to enable OpenLP to display scripture. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 1a9669683..d81aed399 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -117,4 +117,4 @@ class BiblePlugin(Plugin): ``newTheme`` The new name the plugin should now use. """ - self.settings_tab.bible_theme = newTheme \ No newline at end of file + self.settings_tab.bible_theme = newTheme diff --git a/openlp/plugins/bibles/forms/__init__.py b/openlp/plugins/bibles/forms/__init__.py index abd080a6d..a0a47f634 100644 --- a/openlp/plugins/bibles/forms/__init__.py +++ b/openlp/plugins/bibles/forms/__init__.py @@ -26,4 +26,4 @@ from importwizardform import ImportWizardForm -__all__ = ['ImportWizardForm'] \ No newline at end of file +__all__ = ['ImportWizardForm'] diff --git a/openlp/plugins/bibles/forms/bibleimportwizard.py b/openlp/plugins/bibles/forms/bibleimportwizard.py index e512959c9..d64fce261 100644 --- a/openlp/plugins/bibles/forms/bibleimportwizard.py +++ b/openlp/plugins/bibles/forms/bibleimportwizard.py @@ -381,4 +381,4 @@ class Ui_BibleImportWizard(object): 'Please wait while your Bible is imported.')) self.ImportProgressLabel.setText( translate('BiblesPlugin.ImportWizardForm', 'Ready.')) - self.ImportProgressBar.setFormat(u'%p%') \ No newline at end of file + self.ImportProgressBar.setFormat(u'%p%') diff --git a/openlp/plugins/bibles/forms/importwizardform.py b/openlp/plugins/bibles/forms/importwizardform.py index aa6dc6f2a..ba48ed5fb 100644 --- a/openlp/plugins/bibles/forms/importwizardform.py +++ b/openlp/plugins/bibles/forms/importwizardform.py @@ -457,4 +457,4 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): self.ImportProgressBar.setValue(self.ImportProgressBar.maximum()) self.finishButton.setVisible(True) self.cancelButton.setVisible(False) - Receiver.send_message(u'openlp_process_events') \ No newline at end of file + Receiver.send_message(u'openlp_process_events') diff --git a/openlp/plugins/bibles/lib/__init__.py b/openlp/plugins/bibles/lib/__init__.py index b15cc8c84..3ad4fe39b 100644 --- a/openlp/plugins/bibles/lib/__init__.py +++ b/openlp/plugins/bibles/lib/__init__.py @@ -27,4 +27,4 @@ from common import BibleCommon from manager import BibleManager from biblestab import BiblesTab -from mediaitem import BibleMediaItem \ No newline at end of file +from mediaitem import BibleMediaItem diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index b379bbfbd..162ab13d2 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -247,4 +247,4 @@ class BiblesTab(SettingsTab): # Not Found id = 0 self.bible_theme = u'' - self.BibleThemeComboBox.setCurrentIndex(id) \ No newline at end of file + self.BibleThemeComboBox.setCurrentIndex(id) diff --git a/openlp/plugins/bibles/lib/csvbible.py b/openlp/plugins/bibles/lib/csvbible.py index 0472c4174..7c0ba6b2b 100644 --- a/openlp/plugins/bibles/lib/csvbible.py +++ b/openlp/plugins/bibles/lib/csvbible.py @@ -113,4 +113,4 @@ class CSVBible(BibleDB): self.wizard.incrementProgressBar(u'Import canceled!') return False else: - return success \ No newline at end of file + return success diff --git a/openlp/plugins/bibles/lib/db.py b/openlp/plugins/bibles/lib/db.py index 49a7fcbef..51b6bb5fa 100644 --- a/openlp/plugins/bibles/lib/db.py +++ b/openlp/plugins/bibles/lib/db.py @@ -431,4 +431,4 @@ class BibleDB(QtCore.QObject, Manager): log.debug(books) log.debug(u'...............................Verses ') verses = self.session.query(Verse).all() - log.debug(verses) \ No newline at end of file + log.debug(verses) diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index e3ea29ebd..0f06764ad 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -266,4 +266,4 @@ class BibleManager(object): bible = unicode(bible) if bible == name: return True - return False \ No newline at end of file + return False diff --git a/openlp/plugins/bibles/lib/opensong.py b/openlp/plugins/bibles/lib/opensong.py index 16fa97c98..7acb7e2f2 100644 --- a/openlp/plugins/bibles/lib/opensong.py +++ b/openlp/plugins/bibles/lib/opensong.py @@ -102,4 +102,4 @@ class OpenSongBible(BibleDB): self.wizard.incrementProgressBar(u'Import canceled!') return False else: - return success \ No newline at end of file + return success diff --git a/openlp/plugins/bibles/lib/osis.py b/openlp/plugins/bibles/lib/osis.py index 97cf093a4..a0b6a1828 100644 --- a/openlp/plugins/bibles/lib/osis.py +++ b/openlp/plugins/bibles/lib/osis.py @@ -184,4 +184,4 @@ class OSISBible(BibleDB): self.wizard.incrementProgressBar(u'Import canceled!') return False else: - return success \ No newline at end of file + return success diff --git a/openlp/plugins/custom/__init__.py b/openlp/plugins/custom/__init__.py index 3951d8e3d..2bbf2a58b 100644 --- a/openlp/plugins/custom/__init__.py +++ b/openlp/plugins/custom/__init__.py @@ -27,4 +27,4 @@ The :mod:`custom` module provides the Custom plugin which allows custom, themed, text based items to be displayed without having to misuse another item type. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py index 31ea50bc4..c83521ccc 100644 --- a/openlp/plugins/custom/customplugin.py +++ b/openlp/plugins/custom/customplugin.py @@ -96,4 +96,4 @@ class CustomPlugin(Plugin): CustomSlide.theme_name == oldTheme) for custom in customsUsingTheme: custom.theme_name = newTheme - self.custommanager.save_object(custom) \ No newline at end of file + self.custommanager.save_object(custom) diff --git a/openlp/plugins/custom/forms/__init__.py b/openlp/plugins/custom/forms/__init__.py index 64039605e..008caff8d 100644 --- a/openlp/plugins/custom/forms/__init__.py +++ b/openlp/plugins/custom/forms/__init__.py @@ -24,4 +24,4 @@ # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### -from editcustomform import EditCustomForm \ No newline at end of file +from editcustomform import EditCustomForm diff --git a/openlp/plugins/custom/forms/editcustomdialog.py b/openlp/plugins/custom/forms/editcustomdialog.py index 7ba8737ca..8d2db4219 100644 --- a/openlp/plugins/custom/forms/editcustomdialog.py +++ b/openlp/plugins/custom/forms/editcustomdialog.py @@ -186,4 +186,4 @@ class Ui_customEditDialog(object): self.ThemeLabel.setText( translate('CustomPlugin.EditCustomForm', 'The&me:')) self.CreditLabel.setText( - translate('CustomPlugin.EditCustomForm', '&Credits:')) \ No newline at end of file + translate('CustomPlugin.EditCustomForm', '&Credits:')) diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index a41cbe433..24c0f4b49 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -281,4 +281,4 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog): return False, translate('CustomPlugin.EditCustomForm', 'You have one or more unsaved slides, please either save your ' 'slide(s) or clear your changes.') - return True, u'' \ No newline at end of file + return True, u'' diff --git a/openlp/plugins/custom/lib/__init__.py b/openlp/plugins/custom/lib/__init__.py index 8294926a3..15e764dcd 100644 --- a/openlp/plugins/custom/lib/__init__.py +++ b/openlp/plugins/custom/lib/__init__.py @@ -26,4 +26,4 @@ from customxmlhandler import CustomXMLBuilder, CustomXMLParser from mediaitem import CustomMediaItem -from customtab import CustomTab \ No newline at end of file +from customtab import CustomTab diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index 7228566cc..0081524b6 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -77,4 +77,4 @@ class CustomTab(SettingsTab): def save(self): QtCore.QSettings().setValue(self.settingsSection + u'/display footer', - QtCore.QVariant(self.displayFooter)) \ No newline at end of file + QtCore.QVariant(self.displayFooter)) diff --git a/openlp/plugins/custom/lib/customxmlhandler.py b/openlp/plugins/custom/lib/customxmlhandler.py index ca5aec66f..b554f9657 100644 --- a/openlp/plugins/custom/lib/customxmlhandler.py +++ b/openlp/plugins/custom/lib/customxmlhandler.py @@ -154,4 +154,4 @@ class CustomXMLParser(object): """ Debugging aid to dump XML so that we can see what we have. """ - return dump(self.custom_xml) \ No newline at end of file + return dump(self.custom_xml) diff --git a/openlp/plugins/custom/lib/db.py b/openlp/plugins/custom/lib/db.py index 27a676bbb..1977a4188 100644 --- a/openlp/plugins/custom/lib/db.py +++ b/openlp/plugins/custom/lib/db.py @@ -59,4 +59,4 @@ def init_schema(url): mapper(CustomSlide, custom_slide_table) metadata.create_all(checkfirst=True) - return session \ No newline at end of file + return session diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py index 29f6c52cb..671a3679a 100644 --- a/openlp/plugins/custom/lib/mediaitem.py +++ b/openlp/plugins/custom/lib/mediaitem.py @@ -183,4 +183,4 @@ class CustomMediaItem(MediaManagerItem): else: raw_footer.append(u'') service_item.raw_footer = raw_footer - return True \ No newline at end of file + return True diff --git a/openlp/plugins/images/__init__.py b/openlp/plugins/images/__init__.py index 3ce158c24..a98ed8ed1 100644 --- a/openlp/plugins/images/__init__.py +++ b/openlp/plugins/images/__init__.py @@ -26,4 +26,4 @@ """ The :mod:`images` module provides the Images plugin. The Images plugin provides the facility to display images from OpenLP. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py index 6320aee15..b94c3ce9b 100644 --- a/openlp/plugins/images/imageplugin.py +++ b/openlp/plugins/images/imageplugin.py @@ -60,4 +60,4 @@ class ImagePlugin(Plugin): 'background, which renders text-based items like songs with the ' 'selected image as a background instead of the background ' 'provided by the theme.') - return about_text \ No newline at end of file + return about_text diff --git a/openlp/plugins/images/lib/__init__.py b/openlp/plugins/images/lib/__init__.py index 85dee50d3..b2ab22faf 100644 --- a/openlp/plugins/images/lib/__init__.py +++ b/openlp/plugins/images/lib/__init__.py @@ -25,4 +25,4 @@ ############################################################################### from mediaitem import ImageMediaItem -from imagetab import ImageTab \ No newline at end of file +from imagetab import ImageTab diff --git a/openlp/plugins/images/lib/imagetab.py b/openlp/plugins/images/lib/imagetab.py index 328cd3494..73274a39c 100644 --- a/openlp/plugins/images/lib/imagetab.py +++ b/openlp/plugins/images/lib/imagetab.py @@ -90,4 +90,4 @@ class ImageTab(SettingsTab): def postSetUp(self): Receiver.send_message(u'slidecontroller_live_spin_delay', - self.loop_delay) \ No newline at end of file + self.loop_delay) diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index 4d26ba4aa..38476362e 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -181,4 +181,4 @@ class ImageMediaItem(MediaManagerItem): self.parent.displayManager.displayImageWithText(frame) def onPreviewClick(self): - MediaManagerItem.onPreviewClick(self) \ No newline at end of file + MediaManagerItem.onPreviewClick(self) diff --git a/openlp/plugins/media/__init__.py b/openlp/plugins/media/__init__.py index c8c4a4621..d45371e8d 100644 --- a/openlp/plugins/media/__init__.py +++ b/openlp/plugins/media/__init__.py @@ -28,4 +28,4 @@ The :mod:`media` module provides the Media plugin which allows OpenLP to display videos. The media supported depends not only on the Python support but also extensively on the codecs installed on the underlying operating system being picked up and usable by Python. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/media/lib/__init__.py b/openlp/plugins/media/lib/__init__.py index 2614b5cab..4ce6acc8a 100644 --- a/openlp/plugins/media/lib/__init__.py +++ b/openlp/plugins/media/lib/__init__.py @@ -26,4 +26,4 @@ from mediaitem import MediaMediaItem -__all__ = ['MediaMediaItem'] \ No newline at end of file +__all__ = ['MediaMediaItem'] diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index b298e1c0b..72e5445ef 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -149,4 +149,4 @@ class MediaMediaItem(MediaManagerItem): img = QtGui.QPixmap(u':/media/media_video.png').toImage() item_name.setIcon(build_icon(img)) item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file)) - self.listView.addItem(item_name) \ No newline at end of file + self.listView.addItem(item_name) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 50779f559..6e27860d9 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -76,4 +76,4 @@ class MediaPlugin(Plugin): def about(self): about_text = translate('MediaPlugin', 'Media Plugin' '
The media plugin provides playback of audio and video.') - return about_text \ No newline at end of file + return about_text diff --git a/openlp/plugins/presentations/__init__.py b/openlp/plugins/presentations/__init__.py index 6aa11924f..4e492fa0c 100644 --- a/openlp/plugins/presentations/__init__.py +++ b/openlp/plugins/presentations/__init__.py @@ -26,4 +26,4 @@ """ The :mod:`presentations` module provides the Presentations plugin which allows OpenLP to show presentations from most popular presentation packages. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/presentations/lib/__init__.py b/openlp/plugins/presentations/lib/__init__.py index f249d5415..e64169b92 100644 --- a/openlp/plugins/presentations/lib/__init__.py +++ b/openlp/plugins/presentations/lib/__init__.py @@ -27,4 +27,4 @@ from presentationcontroller import PresentationController from messagelistener import MessageListener from mediaitem import PresentationMediaItem -from presentationtab import PresentationTab \ No newline at end of file +from presentationtab import PresentationTab diff --git a/openlp/plugins/presentations/lib/impresscontroller.py b/openlp/plugins/presentations/lib/impresscontroller.py index 8a20dfa99..b548071e0 100644 --- a/openlp/plugins/presentations/lib/impresscontroller.py +++ b/openlp/plugins/presentations/lib/impresscontroller.py @@ -463,4 +463,4 @@ class ImpressDocument(PresentationDocument): shape = notes.getByIndex(idx) if shape.supportsService("com.sun.star.drawing.Text"): text += shape.getString() + '\n' - return text \ No newline at end of file + return text diff --git a/openlp/plugins/presentations/lib/messagelistener.py b/openlp/plugins/presentations/lib/messagelistener.py index 4125a3d75..6fd901a86 100644 --- a/openlp/plugins/presentations/lib/messagelistener.py +++ b/openlp/plugins/presentations/lib/messagelistener.py @@ -367,4 +367,4 @@ class MessageListener(object): to check which slide is currently displayed so the slidecontroller view can be updated """ - self.live_handler.poll() \ No newline at end of file + self.live_handler.poll() diff --git a/openlp/plugins/presentations/lib/powerpointcontroller.py b/openlp/plugins/presentations/lib/powerpointcontroller.py index cd51fd474..acf307c65 100644 --- a/openlp/plugins/presentations/lib/powerpointcontroller.py +++ b/openlp/plugins/presentations/lib/powerpointcontroller.py @@ -310,4 +310,4 @@ class PowerpointDocument(PresentationDocument): shape = shapes(idx + 1) if shape.HasTextFrame: text += shape.TextFrame.TextRange.Text + '\n' - return text \ No newline at end of file + return text diff --git a/openlp/plugins/presentations/lib/presentationcontroller.py b/openlp/plugins/presentations/lib/presentationcontroller.py index c455208d3..15f84dc5e 100644 --- a/openlp/plugins/presentations/lib/presentationcontroller.py +++ b/openlp/plugins/presentations/lib/presentationcontroller.py @@ -435,4 +435,4 @@ class PresentationDocument(object): ``slide_no`` The slide the notes are required for, starting at 1 """ - return '' \ No newline at end of file + return '' diff --git a/openlp/plugins/presentations/lib/presentationtab.py b/openlp/plugins/presentations/lib/presentationtab.py index dbbc18443..c664221cc 100644 --- a/openlp/plugins/presentations/lib/presentationtab.py +++ b/openlp/plugins/presentations/lib/presentationtab.py @@ -162,4 +162,4 @@ class PresentationTab(SettingsTab): QtCore.QVariant(self.OverrideAppCheckBox.checkState())) changed = True if changed: - Receiver.send_message(u'mediaitem_presentation_rebuild') \ No newline at end of file + Receiver.send_message(u'mediaitem_presentation_rebuild') diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index e35005a41..c4fd699b1 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -142,4 +142,4 @@ class PresentationPlugin(Plugin): 'ability to show presentations using a number of different ' 'programs. The choice of available presentation programs is ' 'available to the user in a drop down box.') - return about_text \ No newline at end of file + return about_text diff --git a/openlp/plugins/remotes/__init__.py b/openlp/plugins/remotes/__init__.py index f62bc61d3..3c35beb4c 100644 --- a/openlp/plugins/remotes/__init__.py +++ b/openlp/plugins/remotes/__init__.py @@ -26,4 +26,4 @@ """ The :mod:`remotes` plugin allows OpenLP to be controlled from another machine over a network connection. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/remotes/lib/__init__.py b/openlp/plugins/remotes/lib/__init__.py index 8e30cbd32..829afe759 100644 --- a/openlp/plugins/remotes/lib/__init__.py +++ b/openlp/plugins/remotes/lib/__init__.py @@ -25,4 +25,4 @@ ############################################################################### from remotetab import RemoteTab -from httpserver import HttpServer \ No newline at end of file +from httpserver import HttpServer diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index c880d0208..9d3f09bb6 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -337,4 +337,4 @@ class HttpConnection(object): log.debug(u'close socket') self.socket.close() self.socket = None - self.parent.close_connection(self) \ No newline at end of file + self.parent.close_connection(self) diff --git a/openlp/plugins/remotes/remoteplugin.py b/openlp/plugins/remotes/remoteplugin.py index 7be7405e4..fbd1c680e 100644 --- a/openlp/plugins/remotes/remoteplugin.py +++ b/openlp/plugins/remotes/remoteplugin.py @@ -75,4 +75,4 @@ class RemotesPlugin(Plugin): '
The remote plugin provides the ability to send messages to ' 'a running version of OpenLP on a different computer via a web ' 'browser or through the remote API.') - return about_text \ No newline at end of file + return about_text diff --git a/openlp/plugins/songs/__init__.py b/openlp/plugins/songs/__init__.py index e34e28e91..7631351e0 100644 --- a/openlp/plugins/songs/__init__.py +++ b/openlp/plugins/songs/__init__.py @@ -26,4 +26,4 @@ """ The :mod:`songs` module provides the Songs plugin. The Songs plugin provides the main lyric projection function of OpenLP. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/songs/forms/__init__.py b/openlp/plugins/songs/forms/__init__.py index e62d92505..a747aa26d 100644 --- a/openlp/plugins/songs/forms/__init__.py +++ b/openlp/plugins/songs/forms/__init__.py @@ -30,4 +30,4 @@ from songbookform import SongBookForm from editverseform import EditVerseForm from editsongform import EditSongForm from songmaintenanceform import SongMaintenanceForm -from songimportform import ImportWizardForm \ No newline at end of file +from songimportform import ImportWizardForm diff --git a/openlp/plugins/songs/forms/authorsdialog.py b/openlp/plugins/songs/forms/authorsdialog.py index ff507db02..8141703b0 100644 --- a/openlp/plugins/songs/forms/authorsdialog.py +++ b/openlp/plugins/songs/forms/authorsdialog.py @@ -83,4 +83,4 @@ class Ui_AuthorsDialog(object): self.FirstNameLabel.setText( translate('SongsPlugin.AuthorsForm', 'First name:')) self.LastNameLabel.setText( - translate('SongsPlugin.AuthorsForm', 'Last name:')) \ No newline at end of file + translate('SongsPlugin.AuthorsForm', 'Last name:')) diff --git a/openlp/plugins/songs/forms/authorsform.py b/openlp/plugins/songs/forms/authorsform.py index 6f2fb97af..5787d8de1 100644 --- a/openlp/plugins/songs/forms/authorsform.py +++ b/openlp/plugins/songs/forms/authorsform.py @@ -111,4 +111,4 @@ class AuthorsForm(QtGui.QDialog, Ui_AuthorsDialog): self.DisplayEdit.setFocus() return False else: - return QtGui.QDialog.accept(self) \ No newline at end of file + return QtGui.QDialog.accept(self) diff --git a/openlp/plugins/songs/forms/editsongdialog.py b/openlp/plugins/songs/forms/editsongdialog.py index aaa000821..6cac95030 100644 --- a/openlp/plugins/songs/forms/editsongdialog.py +++ b/openlp/plugins/songs/forms/editsongdialog.py @@ -459,4 +459,4 @@ class Ui_EditSongDialog(object): self.SongTabWidget.setTabText( self.SongTabWidget.indexOf(self.ThemeTab), translate('SongsPlugin.EditSongForm', - 'Theme, Copyright Info && Comments')) \ No newline at end of file + 'Theme, Copyright Info && Comments')) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 405f96c83..9cffc9256 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -685,4 +685,4 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): def processTitle(self): log.debug(u'processTitle') self.song.search_title = \ - re.sub(r'[\'"`,;:(){}?]+', u'', unicode(self.song.search_title)) \ No newline at end of file + re.sub(r'[\'"`,;:(){}?]+', u'', unicode(self.song.search_title)) diff --git a/openlp/plugins/songs/forms/editversedialog.py b/openlp/plugins/songs/forms/editversedialog.py index 2aca3978b..10c0d6849 100644 --- a/openlp/plugins/songs/forms/editversedialog.py +++ b/openlp/plugins/songs/forms/editversedialog.py @@ -103,4 +103,4 @@ class Ui_EditVerseDialog(object): self.VerseTypeComboBox.setItemText(6, VerseType.to_string(VerseType.Other)) self.InsertButton.setText( - translate('SongsPlugin.EditVerseForm', '&Insert')) \ No newline at end of file + translate('SongsPlugin.EditVerseForm', '&Insert')) diff --git a/openlp/plugins/songs/forms/editverseform.py b/openlp/plugins/songs/forms/editverseform.py index b70633ca5..3622593a0 100644 --- a/openlp/plugins/songs/forms/editverseform.py +++ b/openlp/plugins/songs/forms/editverseform.py @@ -138,4 +138,4 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog): if not text.startsWith(u'---['): text = u'---[%s:1]---\n%s' % (VerseType.to_string(VerseType.Verse), text) - return text \ No newline at end of file + return text diff --git a/openlp/plugins/songs/forms/songbookdialog.py b/openlp/plugins/songs/forms/songbookdialog.py index feed5c714..5a02674b3 100644 --- a/openlp/plugins/songs/forms/songbookdialog.py +++ b/openlp/plugins/songs/forms/songbookdialog.py @@ -74,4 +74,4 @@ class Ui_SongBookDialog(object): translate('SongsPlugin.SongBookForm', 'Song Book Maintenance')) self.NameLabel.setText(translate('SongsPlugin.SongBookForm', '&Name:')) self.PublisherLabel.setText( - translate('SongsPlugin.SongBookForm', '&Publisher:')) \ No newline at end of file + translate('SongsPlugin.SongBookForm', '&Publisher:')) diff --git a/openlp/plugins/songs/forms/songbookform.py b/openlp/plugins/songs/forms/songbookform.py index 9616a965e..30c9f0fd1 100644 --- a/openlp/plugins/songs/forms/songbookform.py +++ b/openlp/plugins/songs/forms/songbookform.py @@ -57,4 +57,4 @@ class SongBookForm(QtGui.QDialog, Ui_SongBookDialog): self.NameEdit.setFocus() return False else: - return QtGui.QDialog.accept(self) \ No newline at end of file + return QtGui.QDialog.accept(self) diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index 1f723bfe1..879f6ce72 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -255,4 +255,4 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard): self.ImportProgressBar.setValue(self.ImportProgressBar.maximum()) self.finishButton.setVisible(True) self.cancelButton.setVisible(False) - Receiver.send_message(u'process_events') \ No newline at end of file + Receiver.send_message(u'process_events') diff --git a/openlp/plugins/songs/forms/songimportwizard.py b/openlp/plugins/songs/forms/songimportwizard.py index 9e5879d39..4008526c1 100644 --- a/openlp/plugins/songs/forms/songimportwizard.py +++ b/openlp/plugins/songs/forms/songimportwizard.py @@ -272,4 +272,4 @@ class Ui_SongImportWizard(object): self.ImportProgressLabel.setText( translate('SongsPlugin.ImportWizardForm', 'Ready.')) self.ImportProgressBar.setFormat( - translate('SongsPlugin.ImportWizardForm', '%p%')) \ No newline at end of file + translate('SongsPlugin.ImportWizardForm', '%p%')) diff --git a/openlp/plugins/songs/forms/songmaintenancedialog.py b/openlp/plugins/songs/forms/songmaintenancedialog.py index 0f9931638..909294707 100644 --- a/openlp/plugins/songs/forms/songmaintenancedialog.py +++ b/openlp/plugins/songs/forms/songmaintenancedialog.py @@ -236,4 +236,4 @@ class Ui_SongMaintenanceDialog(object): self.BookEditButton.setText( translate('SongsPlugin.SongMaintenanceForm', '&Edit')) self.BookDeleteButton.setText( - translate('SongsPlugin.SongMaintenanceForm', '&Delete')) \ No newline at end of file + translate('SongsPlugin.SongMaintenanceForm', '&Delete')) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index edf58c1ab..da4351fbc 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -482,4 +482,4 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): translate('SongsPlugin.SongMaintenanceForm', 'This book cannot be deleted, it is currently ' 'assigned to at least one song.'), - translate('SongsPlugin.SongMaintenanceForm', 'No book selected!')) \ No newline at end of file + translate('SongsPlugin.SongMaintenanceForm', 'No book selected!')) diff --git a/openlp/plugins/songs/forms/topicsdialog.py b/openlp/plugins/songs/forms/topicsdialog.py index 84092fbe5..fbb149aa8 100644 --- a/openlp/plugins/songs/forms/topicsdialog.py +++ b/openlp/plugins/songs/forms/topicsdialog.py @@ -65,4 +65,4 @@ class Ui_TopicsDialog(object): TopicsDialog.setWindowTitle( translate('SongsPlugin.TopicsForm', 'Topic Maintenance')) self.NameLabel.setText( - translate('SongsPlugin.TopicsForm', 'Topic name:')) \ No newline at end of file + translate('SongsPlugin.TopicsForm', 'Topic name:')) diff --git a/openlp/plugins/songs/forms/topicsform.py b/openlp/plugins/songs/forms/topicsform.py index f7d44548d..79c160083 100644 --- a/openlp/plugins/songs/forms/topicsform.py +++ b/openlp/plugins/songs/forms/topicsform.py @@ -56,4 +56,4 @@ class TopicsForm(QtGui.QDialog, Ui_TopicsDialog): self.NameEdit.setFocus() return False else: - return QtGui.QDialog.accept(self) \ No newline at end of file + return QtGui.QDialog.accept(self) diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index 753ffd80f..23bbc2a52 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -148,4 +148,4 @@ try: from sofimport import SofImport from oooimport import OooImport except ImportError: - pass \ No newline at end of file + pass diff --git a/openlp/plugins/songs/lib/db.py b/openlp/plugins/songs/lib/db.py index f43a27a56..5f50c003b 100644 --- a/openlp/plugins/songs/lib/db.py +++ b/openlp/plugins/songs/lib/db.py @@ -181,4 +181,4 @@ def init_schema(url): mapper(Topic, topics_table) metadata.create_all(checkfirst=True) - return session \ No newline at end of file + return session diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index ebcb3049d..ced7f584e 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -372,4 +372,4 @@ class SongMediaItem(MediaManagerItem): service_item.audit = [ song.title, author_audit, song.copyright, song.ccli_number ] - return True \ No newline at end of file + return True diff --git a/openlp/plugins/songs/lib/olpimport.py b/openlp/plugins/songs/lib/olpimport.py index 3b56eecd2..eb19b67ee 100644 --- a/openlp/plugins/songs/lib/olpimport.py +++ b/openlp/plugins/songs/lib/olpimport.py @@ -209,4 +209,4 @@ class OpenLPSongImport(object): # new_song.media_files.append(MediaFile.populate( # file_name=media_file.file_name)) self.master_manager.save_object(new_song) - engine.dispose() \ No newline at end of file + engine.dispose() diff --git a/openlp/plugins/songs/lib/oooimport.py b/openlp/plugins/songs/lib/oooimport.py index cdbe82ae4..76b4b6c0d 100644 --- a/openlp/plugins/songs/lib/oooimport.py +++ b/openlp/plugins/songs/lib/oooimport.py @@ -198,4 +198,4 @@ class OooImport(object): text += paratext + u'\n' songs = SongImport.process_songs_text(self.manager, text) for song in songs: - song.finish() \ No newline at end of file + song.finish() diff --git a/openlp/plugins/songs/lib/opensongimport.py b/openlp/plugins/songs/lib/opensongimport.py index d649b3501..e1d683000 100644 --- a/openlp/plugins/songs/lib/opensongimport.py +++ b/openlp/plugins/songs/lib/opensongimport.py @@ -240,4 +240,4 @@ class OpenSongImport(object): def finish(self): """ Separate function, allows test suite to not pollute database""" - self.song_import.finish() \ No newline at end of file + self.song_import.finish() diff --git a/openlp/plugins/songs/lib/sofimport.py b/openlp/plugins/songs/lib/sofimport.py index f63eb0a7a..54cfd07ac 100644 --- a/openlp/plugins/songs/lib/sofimport.py +++ b/openlp/plugins/songs/lib/sofimport.py @@ -535,4 +535,4 @@ class SofImport(OooImport): return 6 if song_number == 1119: return 7 - return None \ No newline at end of file + return None diff --git a/openlp/plugins/songs/lib/songimport.py b/openlp/plugins/songs/lib/songimport.py index 77dc3a1d8..0456e1e06 100644 --- a/openlp/plugins/songs/lib/songimport.py +++ b/openlp/plugins/songs/lib/songimport.py @@ -310,4 +310,4 @@ class SongImport(object): if self.theme_name: print u'THEME: ' + self.theme_name if self.ccli_number: - print u'CCLI: ' + self.ccli_number \ No newline at end of file + print u'CCLI: ' + self.ccli_number diff --git a/openlp/plugins/songs/lib/songstab.py b/openlp/plugins/songs/lib/songstab.py index 3e04629a8..274370065 100644 --- a/openlp/plugins/songs/lib/songstab.py +++ b/openlp/plugins/songs/lib/songstab.py @@ -99,4 +99,4 @@ class SongsTab(SettingsTab): settings.beginGroup(self.settingsSection) settings.setValue(u'search as type', QtCore.QVariant(self.song_search)) settings.setValue(u'display songbar', QtCore.QVariant(self.song_bar)) - settings.endGroup() \ No newline at end of file + settings.endGroup() diff --git a/openlp/plugins/songs/lib/songxml.py b/openlp/plugins/songs/lib/songxml.py index ca4489f0b..4068c396f 100644 --- a/openlp/plugins/songs/lib/songxml.py +++ b/openlp/plugins/songs/lib/songxml.py @@ -422,4 +422,4 @@ class Song(object): return res __all__ = ['SongException', 'SongTitleError', 'SongSlideError', 'SongTypeError', - 'SongFeatureError', 'Song'] \ No newline at end of file + 'SongFeatureError', 'Song'] diff --git a/openlp/plugins/songs/lib/test/test_opensongimport.py b/openlp/plugins/songs/lib/test/test_opensongimport.py index c6f4076e6..d72114ce0 100644 --- a/openlp/plugins/songs/lib/test/test_opensongimport.py +++ b/openlp/plugins/songs/lib/test/test_opensongimport.py @@ -86,4 +86,4 @@ def test(): pass if __name__ == "__main__": - test() \ No newline at end of file + test() diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 045c1c8c2..ff39a0efa 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -238,4 +238,4 @@ class LyricsXML(object): (language[u'language'], verse_output) song_output = u'' + \ u'%s' % lyrics_output - return song_output \ No newline at end of file + return song_output diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index d95a6becf..6645633ba 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -290,4 +290,4 @@ class SongsPlugin(Plugin): Song.theme_name == oldTheme) for song in songsUsingTheme: song.theme_name = newTheme - self.custommanager.save_object(song) \ No newline at end of file + self.custommanager.save_object(song) diff --git a/openlp/plugins/songusage/__init__.py b/openlp/plugins/songusage/__init__.py index e956952a9..68caa18e6 100644 --- a/openlp/plugins/songusage/__init__.py +++ b/openlp/plugins/songusage/__init__.py @@ -27,4 +27,4 @@ The :mod:`songusage` module contains the Song Usage plugin. The Song Usage plugin provides auditing capabilities for reporting the songs you are using to copyright license organisations. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/songusage/forms/__init__.py b/openlp/plugins/songusage/forms/__init__.py index 1167483a2..b551d7168 100644 --- a/openlp/plugins/songusage/forms/__init__.py +++ b/openlp/plugins/songusage/forms/__init__.py @@ -25,4 +25,4 @@ ############################################################################### from songusagedeleteform import SongUsageDeleteForm -from songusagedetailform import SongUsageDetailForm \ No newline at end of file +from songusagedetailform import SongUsageDetailForm diff --git a/openlp/plugins/songusage/forms/songusagedeletedialog.py b/openlp/plugins/songusage/forms/songusagedeletedialog.py index f9ae00260..cfdbe338f 100644 --- a/openlp/plugins/songusage/forms/songusagedeletedialog.py +++ b/openlp/plugins/songusage/forms/songusagedeletedialog.py @@ -61,4 +61,4 @@ class Ui_SongUsageDeleteDialog(object): def retranslateUi(self, SongUsageDeleteDialog): SongUsageDeleteDialog.setWindowTitle( translate('SongUsagePlugin.SongUsageDeleteForm', - 'Delete Song Usage Data')) \ No newline at end of file + 'Delete Song Usage Data')) diff --git a/openlp/plugins/songusage/forms/songusagedeleteform.py b/openlp/plugins/songusage/forms/songusagedeleteform.py index 182454790..8b1912fa0 100644 --- a/openlp/plugins/songusage/forms/songusagedeleteform.py +++ b/openlp/plugins/songusage/forms/songusagedeleteform.py @@ -56,4 +56,4 @@ class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog): deleteDate = self.DeleteCalendar.selectedDate().toPyDate() self.songusagemanager.delete_all_objects(SongUsageItem, SongUsageItem.usagedate <= deleteDate) - self.close() \ No newline at end of file + self.close() diff --git a/openlp/plugins/songusage/forms/songusagedetaildialog.py b/openlp/plugins/songusage/forms/songusagedetaildialog.py index ccd8b37d5..3c8541ff0 100644 --- a/openlp/plugins/songusage/forms/songusagedetaildialog.py +++ b/openlp/plugins/songusage/forms/songusagedetaildialog.py @@ -96,4 +96,4 @@ class Ui_SongUsageDetailDialog(object): translate('SongUsagePlugin.SongUsageDetailForm', 'to')) self.FileGroupBox.setTitle( translate('SongUsagePlugin.SongUsageDetailForm', - 'Report Location')) \ No newline at end of file + 'Report Location')) diff --git a/openlp/plugins/songusage/forms/songusagedetailform.py b/openlp/plugins/songusage/forms/songusagedetailform.py index 40434b6bc..3f72bf1ce 100644 --- a/openlp/plugins/songusage/forms/songusagedetailform.py +++ b/openlp/plugins/songusage/forms/songusagedetailform.py @@ -94,4 +94,4 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog): log.exception(u'Failed to write out song usage records') finally: if file: - file.close() \ No newline at end of file + file.close() diff --git a/openlp/plugins/songusage/lib/__init__.py b/openlp/plugins/songusage/lib/__init__.py index 0f6c85341..d23d36e5f 100644 --- a/openlp/plugins/songusage/lib/__init__.py +++ b/openlp/plugins/songusage/lib/__init__.py @@ -25,4 +25,4 @@ ############################################################################### """ The :mod:`lib` module contains the library functions for the songusage plugin. -""" \ No newline at end of file +""" diff --git a/openlp/plugins/songusage/lib/db.py b/openlp/plugins/songusage/lib/db.py index 357be2299..0865d8682 100644 --- a/openlp/plugins/songusage/lib/db.py +++ b/openlp/plugins/songusage/lib/db.py @@ -61,4 +61,4 @@ def init_schema(url): mapper(SongUsageItem, songusage_table) metadata.create_all(checkfirst=True) - return session \ No newline at end of file + return session diff --git a/openlp/plugins/songusage/songusageplugin.py b/openlp/plugins/songusage/songusageplugin.py index dd1323184..57448b321 100644 --- a/openlp/plugins/songusage/songusageplugin.py +++ b/openlp/plugins/songusage/songusageplugin.py @@ -160,4 +160,4 @@ class SongUsagePlugin(Plugin): about_text = translate('SongUsagePlugin', 'SongUsage Plugin' '
This plugin tracks the usage of songs in ' 'services.') - return about_text \ No newline at end of file + return about_text diff --git a/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py b/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py index e0e9bc9ca..f99d4feac 100644 --- a/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py +++ b/resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py @@ -26,4 +26,4 @@ hiddenimports = ['openlp.plugins.presentations.lib.impresscontroller', 'openlp.plugins.presentations.lib.powerpointcontroller', - 'openlp.plugins.presentations.lib.pptviewcontroller'] \ No newline at end of file + 'openlp.plugins.presentations.lib.pptviewcontroller'] diff --git a/resources/pyinstaller/hook-openlp.py b/resources/pyinstaller/hook-openlp.py index 0db58d38a..489c633f6 100644 --- a/resources/pyinstaller/hook-openlp.py +++ b/resources/pyinstaller/hook-openlp.py @@ -32,4 +32,4 @@ hiddenimports = ['plugins.songs.songsplugin', 'plugins.custom.customplugin', 'plugins.songusage.songusageplugin', 'plugins.remotes.remoteplugin', - 'plugins.alerts.alertsplugin'] \ No newline at end of file + 'plugins.alerts.alertsplugin'] diff --git a/scripts/bible-1to2-converter.py b/scripts/bible-1to2-converter.py index c78cfff5c..111d22043 100755 --- a/scripts/bible-1to2-converter.py +++ b/scripts/bible-1to2-converter.py @@ -303,4 +303,4 @@ if __name__ == u'__main__': os.unlink(new_db) verbose = options.verbose debug = options.debug - main(old_db, new_db) \ No newline at end of file + main(old_db, new_db) diff --git a/scripts/openlp-1to2-converter.py b/scripts/openlp-1to2-converter.py index 875465fd1..bd554aa70 100755 --- a/scripts/openlp-1to2-converter.py +++ b/scripts/openlp-1to2-converter.py @@ -320,4 +320,4 @@ if __name__ == u'__main__': os.unlink(new_db) verbose = options.verbose debug = options.debug - main(old_db, new_db) \ No newline at end of file + main(old_db, new_db) diff --git a/scripts/openlp-remoteclient.py b/scripts/openlp-remoteclient.py index f05b441a7..9d047d478 100755 --- a/scripts/openlp-remoteclient.py +++ b/scripts/openlp-remoteclient.py @@ -64,4 +64,4 @@ def main(): sendData(options) if __name__ == u'__main__': - main() \ No newline at end of file + main() diff --git a/scripts/translation_utils.py b/scripts/translation_utils.py index c01dfdcf8..340cab11f 100755 --- a/scripts/translation_utils.py +++ b/scripts/translation_utils.py @@ -236,4 +236,4 @@ if __name__ == u'__main__': if os.path.split(os.path.abspath(u'.'))[1] != u'scripts': print u'You need to run this script from the scripts directory.' else: - main() \ No newline at end of file + main() diff --git a/scripts/windows-builder.py b/scripts/windows-builder.py index 71d2a7c3c..9ef073729 100644 --- a/scripts/windows-builder.py +++ b/scripts/windows-builder.py @@ -165,4 +165,4 @@ def main(): print "Done." if __name__ == u'__main__': - main() \ No newline at end of file + main() diff --git a/setup.py b/setup.py index c4793e8bf..c216a17c1 100755 --- a/setup.py +++ b/setup.py @@ -79,4 +79,4 @@ OpenLP (previously openlp.org) is free church presentation software, or lyrics p entry_points=""" # -*- Entry points: -*- """ -) \ No newline at end of file +) From 41eaa2cd290799f5fe2ebf15dc3587521287649e Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 11:20:20 +0100 Subject: [PATCH 119/148] AmendTheme naming and missed trailing new line --- openlp/core/lib/serviceitem.py | 2 +- openlp/core/ui/amendthemedialog.py | 1328 ++++++++++++++-------------- openlp/core/ui/amendthemeform.py | 426 ++++----- 3 files changed, 878 insertions(+), 878 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 591b205e2..ca7111d41 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -389,4 +389,4 @@ class ServiceItem(object): """ Clear's the service item's cache. """ - self.cache = {} \ No newline at end of file + self.cache = {} diff --git a/openlp/core/ui/amendthemedialog.py b/openlp/core/ui/amendthemedialog.py index ce44bcdc2..bef41e8fa 100644 --- a/openlp/core/ui/amendthemedialog.py +++ b/openlp/core/ui/amendthemedialog.py @@ -29,801 +29,801 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import build_icon, translate class Ui_AmendThemeDialog(object): - def setupUi(self, AmendThemeDialog): - AmendThemeDialog.setObjectName(u'AmendThemeDialog') - AmendThemeDialog.setWindowModality(QtCore.Qt.ApplicationModal) - AmendThemeDialog.resize(586, 651) + def setupUi(self, amendThemeDialog): + amendThemeDialog.setObjectName(u'amendThemeDialog') + amendThemeDialog.setWindowModality(QtCore.Qt.ApplicationModal) + amendThemeDialog.resize(586, 651) icon = build_icon(u':/icon/openlp-logo-16x16.png') - AmendThemeDialog.setWindowIcon(icon) - AmendThemeDialog.setModal(True) - self.AmendThemeLayout = QtGui.QVBoxLayout(AmendThemeDialog) - self.AmendThemeLayout.setSpacing(8) - self.AmendThemeLayout.setMargin(8) - self.AmendThemeLayout.setObjectName(u'AmendThemeLayout') - self.ThemeNameWidget = QtGui.QWidget(AmendThemeDialog) - self.ThemeNameWidget.setObjectName(u'ThemeNameWidget') - self.ThemeNameLayout = QtGui.QHBoxLayout(self.ThemeNameWidget) - self.ThemeNameLayout.setSpacing(8) - self.ThemeNameLayout.setMargin(0) - self.ThemeNameLayout.setObjectName(u'ThemeNameLayout') - self.ThemeNameLabel = QtGui.QLabel(self.ThemeNameWidget) - self.ThemeNameLabel.setObjectName(u'ThemeNameLabel') - self.ThemeNameLayout.addWidget(self.ThemeNameLabel) - self.ThemeNameEdit = QtGui.QLineEdit(self.ThemeNameWidget) - self.ThemeNameEdit.setObjectName(u'ThemeNameEdit') - self.ThemeNameLabel.setBuddy(self.ThemeNameEdit) - self.ThemeNameLayout.addWidget(self.ThemeNameEdit) - self.AmendThemeLayout.addWidget(self.ThemeNameWidget) - self.ContentWidget = QtGui.QWidget(AmendThemeDialog) - self.ContentWidget.setObjectName(u'ContentWidget') - self.ContentLayout = QtGui.QHBoxLayout(self.ContentWidget) - self.ContentLayout.setSpacing(8) - self.ContentLayout.setMargin(0) - self.ContentLayout.setObjectName(u'ContentLayout') - self.ThemeTabWidget = QtGui.QTabWidget(self.ContentWidget) - self.ThemeTabWidget.setObjectName(u'ThemeTabWidget') - self.BackgroundTab = QtGui.QWidget() - self.BackgroundTab.setObjectName(u'BackgroundTab') - self.BackgroundLayout = QtGui.QFormLayout(self.BackgroundTab) - self.BackgroundLayout.setMargin(8) - self.BackgroundLayout.setSpacing(8) - self.BackgroundLayout.setObjectName(u'BackgroundLayout') - self.BackgroundLabel = QtGui.QLabel(self.BackgroundTab) - self.BackgroundLabel.setObjectName(u'BackgroundLabel') - self.BackgroundLayout.setWidget(0, QtGui.QFormLayout.LabelRole, - self.BackgroundLabel) - self.BackgroundComboBox = QtGui.QComboBox(self.BackgroundTab) - self.BackgroundComboBox.setObjectName(u'BackgroundComboBox') - self.BackgroundLabel.setBuddy(self.BackgroundComboBox) - self.BackgroundComboBox.addItem(QtCore.QString()) - self.BackgroundComboBox.addItem(QtCore.QString()) - self.BackgroundLayout.setWidget(0, QtGui.QFormLayout.FieldRole, - self.BackgroundComboBox) - self.BackgroundTypeLabel = QtGui.QLabel(self.BackgroundTab) - self.BackgroundTypeLabel.setObjectName(u'BackgroundTypeLabel') - self.BackgroundLayout.setWidget(1, QtGui.QFormLayout.LabelRole, - self.BackgroundTypeLabel) - self.BackgroundTypeComboBox = QtGui.QComboBox(self.BackgroundTab) - self.BackgroundTypeComboBox.setObjectName(u'BackgroundTypeComboBox') - self.BackgroundTypeComboBox.addItem(QtCore.QString()) - self.BackgroundTypeComboBox.addItem(QtCore.QString()) - self.BackgroundTypeComboBox.addItem(QtCore.QString()) - self.BackgroundLayout.setWidget(1, QtGui.QFormLayout.FieldRole, - self.BackgroundTypeComboBox) - self.Color1Label = QtGui.QLabel(self.BackgroundTab) - self.Color1Label.setObjectName(u'Color1Label') - self.BackgroundLayout.setWidget(2, QtGui.QFormLayout.LabelRole, - self.Color1Label) - self.Color1PushButton = QtGui.QPushButton(self.BackgroundTab) - self.Color1PushButton.setObjectName(u'Color1PushButton') - self.BackgroundLayout.setWidget(2, QtGui.QFormLayout.FieldRole, - self.Color1PushButton) - self.Color2Label = QtGui.QLabel(self.BackgroundTab) - self.Color2Label.setObjectName(u'Color2Label') - self.BackgroundLayout.setWidget(3, QtGui.QFormLayout.LabelRole, - self.Color2Label) - self.Color2PushButton = QtGui.QPushButton(self.BackgroundTab) - self.Color2PushButton.setObjectName(u'Color2PushButton') - self.BackgroundLayout.setWidget(3, QtGui.QFormLayout.FieldRole, - self.Color2PushButton) - self.ImageLabel = QtGui.QLabel(self.BackgroundTab) - self.ImageLabel.setObjectName(u'ImageLabel') - self.BackgroundLayout.setWidget(4, QtGui.QFormLayout.LabelRole, - self.ImageLabel) - self.GradientLabel = QtGui.QLabel(self.BackgroundTab) - self.GradientLabel.setObjectName(u'GradientLabel') - self.BackgroundLayout.setWidget(6, QtGui.QFormLayout.LabelRole, - self.GradientLabel) - self.GradientComboBox = QtGui.QComboBox(self.BackgroundTab) - self.GradientComboBox.setObjectName(u'GradientComboBox') - self.GradientComboBox.addItem(QtCore.QString()) - self.GradientComboBox.addItem(QtCore.QString()) - self.GradientComboBox.addItem(QtCore.QString()) - self.BackgroundLayout.setWidget(6, QtGui.QFormLayout.FieldRole, - self.GradientComboBox) - self.ImageFilenameWidget = QtGui.QWidget(self.BackgroundTab) - self.ImageFilenameWidget.setObjectName(u'ImageFilenameWidget') - self.horizontalLayout_2 = QtGui.QHBoxLayout(self.ImageFilenameWidget) + amendThemeDialog.setWindowIcon(icon) + amendThemeDialog.setModal(True) + self.amendThemeLayout = QtGui.QVBoxLayout(amendThemeDialog) + self.amendThemeLayout.setSpacing(8) + self.amendThemeLayout.setMargin(8) + self.amendThemeLayout.setObjectName(u'amendThemeLayout') + self.themeNameWidget = QtGui.QWidget(amendThemeDialog) + self.themeNameWidget.setObjectName(u'themeNameWidget') + self.themeNameLayout = QtGui.QHBoxLayout(self.themeNameWidget) + self.themeNameLayout.setSpacing(8) + self.themeNameLayout.setMargin(0) + self.themeNameLayout.setObjectName(u'themeNameLayout') + self.themeNameLabel = QtGui.QLabel(self.themeNameWidget) + self.themeNameLabel.setObjectName(u'themeNameLabel') + self.themeNameLayout.addWidget(self.themeNameLabel) + self.themeNameEdit = QtGui.QLineEdit(self.themeNameWidget) + self.themeNameEdit.setObjectName(u'themeNameEdit') + self.themeNameLabel.setBuddy(self.themeNameEdit) + self.themeNameLayout.addWidget(self.themeNameEdit) + self.amendThemeLayout.addWidget(self.themeNameWidget) + self.contentWidget = QtGui.QWidget(amendThemeDialog) + self.contentWidget.setObjectName(u'contentWidget') + self.contentLayout = QtGui.QHBoxLayout(self.contentWidget) + self.contentLayout.setSpacing(8) + self.contentLayout.setMargin(0) + self.contentLayout.setObjectName(u'contentLayout') + self.themeTabWidget = QtGui.QTabWidget(self.contentWidget) + self.themeTabWidget.setObjectName(u'themeTabWidget') + self.backgroundTab = QtGui.QWidget() + self.backgroundTab.setObjectName(u'backgroundTab') + self.backgroundLayout = QtGui.QFormLayout(self.backgroundTab) + self.backgroundLayout.setMargin(8) + self.backgroundLayout.setSpacing(8) + self.backgroundLayout.setObjectName(u'backgroundLayout') + self.backgroundLabel = QtGui.QLabel(self.backgroundTab) + self.backgroundLabel.setObjectName(u'backgroundLabel') + self.backgroundLayout.setWidget(0, QtGui.QFormLayout.LabelRole, + self.backgroundLabel) + self.backgroundComboBox = QtGui.QComboBox(self.backgroundTab) + self.backgroundComboBox.setObjectName(u'backgroundComboBox') + self.backgroundLabel.setBuddy(self.backgroundComboBox) + self.backgroundComboBox.addItem(QtCore.QString()) + self.backgroundComboBox.addItem(QtCore.QString()) + self.backgroundLayout.setWidget(0, QtGui.QFormLayout.FieldRole, + self.backgroundComboBox) + self.backgroundTypeLabel = QtGui.QLabel(self.backgroundTab) + self.backgroundTypeLabel.setObjectName(u'backgroundTypeLabel') + self.backgroundLayout.setWidget(1, QtGui.QFormLayout.LabelRole, + self.backgroundTypeLabel) + self.backgroundTypeComboBox = QtGui.QComboBox(self.backgroundTab) + self.backgroundTypeComboBox.setObjectName(u'backgroundTypeComboBox') + self.backgroundTypeComboBox.addItem(QtCore.QString()) + self.backgroundTypeComboBox.addItem(QtCore.QString()) + self.backgroundTypeComboBox.addItem(QtCore.QString()) + self.backgroundLayout.setWidget(1, QtGui.QFormLayout.FieldRole, + self.backgroundTypeComboBox) + self.color1Label = QtGui.QLabel(self.backgroundTab) + self.color1Label.setObjectName(u'color1Label') + self.backgroundLayout.setWidget(2, QtGui.QFormLayout.LabelRole, + self.color1Label) + self.color1PushButton = QtGui.QPushButton(self.backgroundTab) + self.color1PushButton.setObjectName(u'color1PushButton') + self.backgroundLayout.setWidget(2, QtGui.QFormLayout.FieldRole, + self.color1PushButton) + self.color2Label = QtGui.QLabel(self.backgroundTab) + self.color2Label.setObjectName(u'color2Label') + self.backgroundLayout.setWidget(3, QtGui.QFormLayout.LabelRole, + self.color2Label) + self.color2PushButton = QtGui.QPushButton(self.backgroundTab) + self.color2PushButton.setObjectName(u'color2PushButton') + self.backgroundLayout.setWidget(3, QtGui.QFormLayout.FieldRole, + self.color2PushButton) + self.imageLabel = QtGui.QLabel(self.backgroundTab) + self.imageLabel.setObjectName(u'imageLabel') + self.backgroundLayout.setWidget(4, QtGui.QFormLayout.LabelRole, + self.imageLabel) + self.gradientLabel = QtGui.QLabel(self.backgroundTab) + self.gradientLabel.setObjectName(u'gradientLabel') + self.backgroundLayout.setWidget(6, QtGui.QFormLayout.LabelRole, + self.gradientLabel) + self.gradientComboBox = QtGui.QComboBox(self.backgroundTab) + self.gradientComboBox.setObjectName(u'gradientComboBox') + self.gradientComboBox.addItem(QtCore.QString()) + self.gradientComboBox.addItem(QtCore.QString()) + self.gradientComboBox.addItem(QtCore.QString()) + self.backgroundLayout.setWidget(6, QtGui.QFormLayout.FieldRole, + self.gradientComboBox) + self.imageFilenameWidget = QtGui.QWidget(self.backgroundTab) + self.imageFilenameWidget.setObjectName(u'imageFilenameWidget') + self.horizontalLayout_2 = QtGui.QHBoxLayout(self.imageFilenameWidget) self.horizontalLayout_2.setSpacing(0) self.horizontalLayout_2.setMargin(0) self.horizontalLayout_2.setObjectName(u'horizontalLayout_2') - self.ImageLineEdit = QtGui.QLineEdit(self.ImageFilenameWidget) - self.ImageLineEdit.setObjectName(u'ImageLineEdit') - self.horizontalLayout_2.addWidget(self.ImageLineEdit) - self.ImageToolButton = QtGui.QToolButton(self.ImageFilenameWidget) - self.ImageToolButton.setIcon(build_icon(u':/general/general_open.png')) - self.ImageToolButton.setObjectName(u'ImageToolButton') - self.ImageToolButton.setAutoRaise(True) - self.horizontalLayout_2.addWidget(self.ImageToolButton) - self.BackgroundLayout.setWidget(4, QtGui.QFormLayout.FieldRole, - self.ImageFilenameWidget) - self.ThemeTabWidget.addTab(self.BackgroundTab, u'') - self.FontMainTab = QtGui.QWidget() - self.FontMainTab.setObjectName(u'FontMainTab') - self.FontMainLayout = QtGui.QHBoxLayout(self.FontMainTab) - self.FontMainLayout.setSpacing(8) - self.FontMainLayout.setMargin(8) - self.FontMainLayout.setObjectName(u'FontMainLayout') - self.MainLeftWidget = QtGui.QWidget(self.FontMainTab) - self.MainLeftWidget.setObjectName(u'MainLeftWidget') - self.MainLeftLayout = QtGui.QVBoxLayout(self.MainLeftWidget) - self.MainLeftLayout.setSpacing(8) - self.MainLeftLayout.setMargin(0) - self.MainLeftLayout.setObjectName(u'MainLeftLayout') - self.FontMainGroupBox = QtGui.QGroupBox(self.MainLeftWidget) - self.FontMainGroupBox.setObjectName(u'FontMainGroupBox') - self.MainFontLayout = QtGui.QFormLayout(self.FontMainGroupBox) - self.MainFontLayout.setFormAlignment(QtCore.Qt.AlignLeading | + self.imageLineEdit = QtGui.QLineEdit(self.imageFilenameWidget) + self.imageLineEdit.setObjectName(u'imageLineEdit') + self.horizontalLayout_2.addWidget(self.imageLineEdit) + self.imageToolButton = QtGui.QToolButton(self.imageFilenameWidget) + self.imageToolButton.setIcon(build_icon(u':/general/general_open.png')) + self.imageToolButton.setObjectName(u'imageToolButton') + self.imageToolButton.setAutoRaise(True) + self.horizontalLayout_2.addWidget(self.imageToolButton) + self.backgroundLayout.setWidget(4, QtGui.QFormLayout.FieldRole, + self.imageFilenameWidget) + self.themeTabWidget.addTab(self.backgroundTab, u'') + self.fontMainTab = QtGui.QWidget() + self.fontMainTab.setObjectName(u'fontMainTab') + self.fontMainLayout = QtGui.QHBoxLayout(self.fontMainTab) + self.fontMainLayout.setSpacing(8) + self.fontMainLayout.setMargin(8) + self.fontMainLayout.setObjectName(u'fontMainLayout') + self.mainLeftWidget = QtGui.QWidget(self.fontMainTab) + self.mainLeftWidget.setObjectName(u'mainLeftWidget') + self.mainLeftLayout = QtGui.QVBoxLayout(self.mainLeftWidget) + self.mainLeftLayout.setSpacing(8) + self.mainLeftLayout.setMargin(0) + self.mainLeftLayout.setObjectName(u'mainLeftLayout') + self.fontMainGroupBox = QtGui.QGroupBox(self.mainLeftWidget) + self.fontMainGroupBox.setObjectName(u'fontMainGroupBox') + self.mainFontLayout = QtGui.QFormLayout(self.fontMainGroupBox) + self.mainFontLayout.setFormAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.MainFontLayout.setMargin(8) - self.MainFontLayout.setSpacing(8) - self.MainFontLayout.setObjectName(u'MainFontLayout') - self.FontMainlabel = QtGui.QLabel(self.FontMainGroupBox) - self.FontMainlabel.setObjectName(u'FontMainlabel') - self.MainFontLayout.setWidget(0, QtGui.QFormLayout.LabelRole, - self.FontMainlabel) - self.FontMainComboBox = QtGui.QFontComboBox(self.FontMainGroupBox) - self.FontMainComboBox.setObjectName(u'FontMainComboBox') - self.MainFontLayout.setWidget(0, QtGui.QFormLayout.FieldRole, - self.FontMainComboBox) - self.FontMainColorLabel = QtGui.QLabel(self.FontMainGroupBox) - self.FontMainColorLabel.setObjectName(u'FontMainColorLabel') - self.MainFontLayout.setWidget(1, QtGui.QFormLayout.LabelRole, - self.FontMainColorLabel) - self.FontMainColorPushButton = QtGui.QPushButton(self.FontMainGroupBox) - self.FontMainColorPushButton.setObjectName(u'FontMainColorPushButton') - self.MainFontLayout.setWidget(1, QtGui.QFormLayout.FieldRole, - self.FontMainColorPushButton) - self.FontMainSize = QtGui.QLabel(self.FontMainGroupBox) - self.FontMainSize.setObjectName(u'FontMainSize') - self.MainFontLayout.setWidget(2, QtGui.QFormLayout.LabelRole, - self.FontMainSize) - self.FontMainSizeSpinBox = QtGui.QSpinBox(self.FontMainGroupBox) + self.mainFontLayout.setMargin(8) + self.mainFontLayout.setSpacing(8) + self.mainFontLayout.setObjectName(u'mainFontLayout') + self.fontMainlabel = QtGui.QLabel(self.fontMainGroupBox) + self.fontMainlabel.setObjectName(u'fontMainlabel') + self.mainFontLayout.setWidget(0, QtGui.QFormLayout.LabelRole, + self.fontMainlabel) + self.fontMainComboBox = QtGui.QFontComboBox(self.fontMainGroupBox) + self.fontMainComboBox.setObjectName(u'fontMainComboBox') + self.mainFontLayout.setWidget(0, QtGui.QFormLayout.FieldRole, + self.fontMainComboBox) + self.fontMainColorLabel = QtGui.QLabel(self.fontMainGroupBox) + self.fontMainColorLabel.setObjectName(u'fontMainColorLabel') + self.mainFontLayout.setWidget(1, QtGui.QFormLayout.LabelRole, + self.fontMainColorLabel) + self.fontMainColorPushButton = QtGui.QPushButton(self.fontMainGroupBox) + self.fontMainColorPushButton.setObjectName(u'fontMainColorPushButton') + self.mainFontLayout.setWidget(1, QtGui.QFormLayout.FieldRole, + self.fontMainColorPushButton) + self.fontMainSize = QtGui.QLabel(self.fontMainGroupBox) + self.fontMainSize.setObjectName(u'fontMainSize') + self.mainFontLayout.setWidget(2, QtGui.QFormLayout.LabelRole, + self.fontMainSize) + self.fontMainSizeSpinBox = QtGui.QSpinBox(self.fontMainGroupBox) defaultSizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) defaultSizePolicy.setHeightForWidth( - self.FontMainSizeSpinBox.sizePolicy().hasHeightForWidth()) - self.FontMainSizeSpinBox.setSizePolicy(defaultSizePolicy) - self.FontMainSizeSpinBox.setMinimumSize(QtCore.QSize(70, 0)) - self.FontMainSizeSpinBox.setProperty(u'value', QtCore.QVariant(16)) - self.FontMainSizeSpinBox.setMaximum(999) - self.FontMainSizeSpinBox.setObjectName(u'FontMainSizeSpinBox') - self.MainFontLayout.setWidget(2, QtGui.QFormLayout.FieldRole, - self.FontMainSizeSpinBox) - self.FontMainWeightComboBox = QtGui.QComboBox(self.FontMainGroupBox) - self.FontMainWeightComboBox.setObjectName(u'FontMainWeightComboBox') - self.FontMainWeightComboBox.addItem(QtCore.QString()) - self.FontMainWeightComboBox.addItem(QtCore.QString()) - self.FontMainWeightComboBox.addItem(QtCore.QString()) - self.FontMainWeightComboBox.addItem(QtCore.QString()) - self.MainFontLayout.setWidget(3, QtGui.QFormLayout.FieldRole, - self.FontMainWeightComboBox) - self.FontMainWeightLabel = QtGui.QLabel(self.FontMainGroupBox) - self.FontMainWeightLabel.setObjectName(u'FontMainWeightLabel') - self.MainFontLayout.setWidget(3, QtGui.QFormLayout.LabelRole, - self.FontMainWeightLabel) - self.MainLeftLayout.addWidget(self.FontMainGroupBox) - self.FontMainWrapLineAdjustmentLabel = QtGui.QLabel( - self.FontMainGroupBox) - self.FontMainWrapLineAdjustmentLabel.setObjectName( - u'FontMainWrapLineAdjustmentLabel') - self.MainFontLayout.setWidget(4, QtGui.QFormLayout.LabelRole, - self.FontMainWrapLineAdjustmentLabel) - self.FontMainLineAdjustmentSpinBox = QtGui.QSpinBox( - self.FontMainGroupBox) - self.FontMainLineAdjustmentSpinBox.setObjectName( - u'FontMainLineAdjustmentSpinBox') - self.FontMainLineAdjustmentSpinBox.setMinimum(-99) - self.MainFontLayout.setWidget(4, QtGui.QFormLayout.FieldRole, - self.FontMainLineAdjustmentSpinBox) - self.FontMainWrapIndentationLabel = QtGui.QLabel(self.FontMainGroupBox) - self.FontMainWrapIndentationLabel.setObjectName( - u'FontMainWrapIndentationLabel') - self.MainFontLayout.setWidget(5, QtGui.QFormLayout.LabelRole, - self.FontMainWrapIndentationLabel) - self.FontMainLineSpacingSpinBox = QtGui.QSpinBox(self.FontMainGroupBox) - self.FontMainLineSpacingSpinBox.setObjectName( - u'FontMainLineSpacingSpinBox') - self.FontMainLineSpacingSpinBox.setMaximum(10) - self.MainFontLayout.setWidget(5, QtGui.QFormLayout.FieldRole, - self.FontMainLineSpacingSpinBox) - self.FontMainLinesPageLabel = QtGui.QLabel(self.FontMainGroupBox) - self.FontMainLinesPageLabel.setObjectName(u'FontMainLinesPageLabel') - self.MainFontLayout.addRow(self.FontMainLinesPageLabel) + self.fontMainSizeSpinBox.sizePolicy().hasHeightForWidth()) + self.fontMainSizeSpinBox.setSizePolicy(defaultSizePolicy) + self.fontMainSizeSpinBox.setMinimumSize(QtCore.QSize(70, 0)) + self.fontMainSizeSpinBox.setProperty(u'value', QtCore.QVariant(16)) + self.fontMainSizeSpinBox.setMaximum(999) + self.fontMainSizeSpinBox.setObjectName(u'fontMainSizeSpinBox') + self.mainFontLayout.setWidget(2, QtGui.QFormLayout.FieldRole, + self.fontMainSizeSpinBox) + self.fontMainWeightComboBox = QtGui.QComboBox(self.fontMainGroupBox) + self.fontMainWeightComboBox.setObjectName(u'fontMainWeightComboBox') + self.fontMainWeightComboBox.addItem(QtCore.QString()) + self.fontMainWeightComboBox.addItem(QtCore.QString()) + self.fontMainWeightComboBox.addItem(QtCore.QString()) + self.fontMainWeightComboBox.addItem(QtCore.QString()) + self.mainFontLayout.setWidget(3, QtGui.QFormLayout.FieldRole, + self.fontMainWeightComboBox) + self.fontMainWeightLabel = QtGui.QLabel(self.fontMainGroupBox) + self.fontMainWeightLabel.setObjectName(u'fontMainWeightLabel') + self.mainFontLayout.setWidget(3, QtGui.QFormLayout.LabelRole, + self.fontMainWeightLabel) + self.mainLeftLayout.addWidget(self.fontMainGroupBox) + self.fontMainWrapLineAdjustmentLabel = QtGui.QLabel( + self.fontMainGroupBox) + self.fontMainWrapLineAdjustmentLabel.setObjectName( + u'fontMainWrapLineAdjustmentLabel') + self.mainFontLayout.setWidget(4, QtGui.QFormLayout.LabelRole, + self.fontMainWrapLineAdjustmentLabel) + self.fontMainLineAdjustmentSpinBox = QtGui.QSpinBox( + self.fontMainGroupBox) + self.fontMainLineAdjustmentSpinBox.setObjectName( + u'fontMainLineAdjustmentSpinBox') + self.fontMainLineAdjustmentSpinBox.setMinimum(-99) + self.mainFontLayout.setWidget(4, QtGui.QFormLayout.FieldRole, + self.fontMainLineAdjustmentSpinBox) + self.fontMainWrapIndentationLabel = QtGui.QLabel(self.fontMainGroupBox) + self.fontMainWrapIndentationLabel.setObjectName( + u'fontMainWrapIndentationLabel') + self.mainFontLayout.setWidget(5, QtGui.QFormLayout.LabelRole, + self.fontMainWrapIndentationLabel) + self.fontMainLineSpacingSpinBox = QtGui.QSpinBox(self.fontMainGroupBox) + self.fontMainLineSpacingSpinBox.setObjectName( + u'fontMainLineSpacingSpinBox') + self.fontMainLineSpacingSpinBox.setMaximum(10) + self.mainFontLayout.setWidget(5, QtGui.QFormLayout.FieldRole, + self.fontMainLineSpacingSpinBox) + self.fontMainLinesPageLabel = QtGui.QLabel(self.fontMainGroupBox) + self.fontMainLinesPageLabel.setObjectName(u'fontMainLinesPageLabel') + self.mainFontLayout.addRow(self.fontMainLinesPageLabel) spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.MainLeftLayout.addItem(spacerItem1) - self.FontMainLayout.addWidget(self.MainLeftWidget) - self.MainRightWidget = QtGui.QWidget(self.FontMainTab) - self.MainRightWidget.setObjectName(u'MainRightWidget') - self.MainRightLayout = QtGui.QVBoxLayout(self.MainRightWidget) - self.MainRightLayout.setSpacing(8) - self.MainRightLayout.setMargin(0) - self.MainRightLayout.setObjectName(u'MainRightLayout') - self.MainLocationGroupBox = QtGui.QGroupBox(self.MainRightWidget) - self.MainLocationGroupBox.setObjectName(u'MainLocationGroupBox') - self.MainLocationLayout = QtGui.QFormLayout(self.MainLocationGroupBox) - self.MainLocationLayout.setMargin(8) - self.MainLocationLayout.setSpacing(8) - self.MainLocationLayout.setObjectName(u'MainLocationLayout') - self.DefaultLocationLabel = QtGui.QLabel(self.MainLocationGroupBox) - self.DefaultLocationLabel.setObjectName(u'DefaultLocationLabel') - self.MainLocationLayout.setWidget(0, QtGui.QFormLayout.LabelRole, - self.DefaultLocationLabel) - self.FontMainDefaultCheckBox = QtGui.QCheckBox( - self.MainLocationGroupBox) - self.FontMainDefaultCheckBox.setTristate(False) - self.FontMainDefaultCheckBox.setObjectName(u'FontMainDefaultCheckBox') - self.MainLocationLayout.setWidget(0, QtGui.QFormLayout.FieldRole, - self.FontMainDefaultCheckBox) - self.FontMainXLabel = QtGui.QLabel(self.MainLocationGroupBox) - self.FontMainXLabel.setObjectName(u'FontMainXLabel') - self.MainLocationLayout.setWidget(1, QtGui.QFormLayout.LabelRole, - self.FontMainXLabel) - self.FontMainYLabel = QtGui.QLabel(self.MainLocationGroupBox) - self.FontMainYLabel.setObjectName(u'FontMainYLabel') - self.MainLocationLayout.setWidget(2, QtGui.QFormLayout.LabelRole, - self.FontMainYLabel) - self.FontMainWidthLabel = QtGui.QLabel(self.MainLocationGroupBox) - self.FontMainWidthLabel.setObjectName(u'FontMainWidthLabel') - self.MainLocationLayout.setWidget(3, QtGui.QFormLayout.LabelRole, - self.FontMainWidthLabel) - self.FontMainHeightLabel = QtGui.QLabel(self.MainLocationGroupBox) - self.FontMainHeightLabel.setObjectName(u'FontMainHeightLabel') - self.MainLocationLayout.setWidget(4, QtGui.QFormLayout.LabelRole, - self.FontMainHeightLabel) - self.FontMainXSpinBox = QtGui.QSpinBox(self.MainLocationGroupBox) + self.mainLeftLayout.addItem(spacerItem1) + self.fontMainLayout.addWidget(self.mainLeftWidget) + self.mainRightWidget = QtGui.QWidget(self.fontMainTab) + self.mainRightWidget.setObjectName(u'mainRightWidget') + self.mainRightLayout = QtGui.QVBoxLayout(self.mainRightWidget) + self.mainRightLayout.setSpacing(8) + self.mainRightLayout.setMargin(0) + self.mainRightLayout.setObjectName(u'mainRightLayout') + self.mainLocationGroupBox = QtGui.QGroupBox(self.mainRightWidget) + self.mainLocationGroupBox.setObjectName(u'mainLocationGroupBox') + self.mainLocationLayout = QtGui.QFormLayout(self.mainLocationGroupBox) + self.mainLocationLayout.setMargin(8) + self.mainLocationLayout.setSpacing(8) + self.mainLocationLayout.setObjectName(u'mainLocationLayout') + self.defaultLocationLabel = QtGui.QLabel(self.mainLocationGroupBox) + self.defaultLocationLabel.setObjectName(u'defaultLocationLabel') + self.mainLocationLayout.setWidget(0, QtGui.QFormLayout.LabelRole, + self.defaultLocationLabel) + self.fontMainDefaultCheckBox = QtGui.QCheckBox( + self.mainLocationGroupBox) + self.fontMainDefaultCheckBox.setTristate(False) + self.fontMainDefaultCheckBox.setObjectName(u'fontMainDefaultCheckBox') + self.mainLocationLayout.setWidget(0, QtGui.QFormLayout.FieldRole, + self.fontMainDefaultCheckBox) + self.fontMainXLabel = QtGui.QLabel(self.mainLocationGroupBox) + self.fontMainXLabel.setObjectName(u'fontMainXLabel') + self.mainLocationLayout.setWidget(1, QtGui.QFormLayout.LabelRole, + self.fontMainXLabel) + self.fontMainYLabel = QtGui.QLabel(self.mainLocationGroupBox) + self.fontMainYLabel.setObjectName(u'fontMainYLabel') + self.mainLocationLayout.setWidget(2, QtGui.QFormLayout.LabelRole, + self.fontMainYLabel) + self.fontMainWidthLabel = QtGui.QLabel(self.mainLocationGroupBox) + self.fontMainWidthLabel.setObjectName(u'fontMainWidthLabel') + self.mainLocationLayout.setWidget(3, QtGui.QFormLayout.LabelRole, + self.fontMainWidthLabel) + self.fontMainHeightLabel = QtGui.QLabel(self.mainLocationGroupBox) + self.fontMainHeightLabel.setObjectName(u'fontMainHeightLabel') + self.mainLocationLayout.setWidget(4, QtGui.QFormLayout.LabelRole, + self.fontMainHeightLabel) + self.fontMainXSpinBox = QtGui.QSpinBox(self.mainLocationGroupBox) defaultSizePolicy.setHeightForWidth( - self.FontMainXSpinBox.sizePolicy().hasHeightForWidth()) - self.FontMainXSpinBox.setSizePolicy(defaultSizePolicy) - self.FontMainXSpinBox.setMinimumSize(QtCore.QSize(78, 0)) - self.FontMainXSpinBox.setProperty(u'value', QtCore.QVariant(0)) - self.FontMainXSpinBox.setMaximum(9999) - self.FontMainXSpinBox.setObjectName(u'FontMainXSpinBox') - self.MainLocationLayout.setWidget(1, QtGui.QFormLayout.FieldRole, - self.FontMainXSpinBox) - self.FontMainYSpinBox = QtGui.QSpinBox(self.MainLocationGroupBox) + self.fontMainXSpinBox.sizePolicy().hasHeightForWidth()) + self.fontMainXSpinBox.setSizePolicy(defaultSizePolicy) + self.fontMainXSpinBox.setMinimumSize(QtCore.QSize(78, 0)) + self.fontMainXSpinBox.setProperty(u'value', QtCore.QVariant(0)) + self.fontMainXSpinBox.setMaximum(9999) + self.fontMainXSpinBox.setObjectName(u'fontMainXSpinBox') + self.mainLocationLayout.setWidget(1, QtGui.QFormLayout.FieldRole, + self.fontMainXSpinBox) + self.fontMainYSpinBox = QtGui.QSpinBox(self.mainLocationGroupBox) defaultSizePolicy.setHeightForWidth( - self.FontMainYSpinBox.sizePolicy().hasHeightForWidth()) - self.FontMainYSpinBox.setSizePolicy(defaultSizePolicy) - self.FontMainYSpinBox.setMinimumSize(QtCore.QSize(78, 0)) - self.FontMainYSpinBox.setMaximum(9999) - self.FontMainYSpinBox.setObjectName(u'FontMainYSpinBox') - self.MainLocationLayout.setWidget(2, QtGui.QFormLayout.FieldRole, - self.FontMainYSpinBox) - self.FontMainWidthSpinBox = QtGui.QSpinBox(self.MainLocationGroupBox) + self.fontMainYSpinBox.sizePolicy().hasHeightForWidth()) + self.fontMainYSpinBox.setSizePolicy(defaultSizePolicy) + self.fontMainYSpinBox.setMinimumSize(QtCore.QSize(78, 0)) + self.fontMainYSpinBox.setMaximum(9999) + self.fontMainYSpinBox.setObjectName(u'fontMainYSpinBox') + self.mainLocationLayout.setWidget(2, QtGui.QFormLayout.FieldRole, + self.fontMainYSpinBox) + self.fontMainWidthSpinBox = QtGui.QSpinBox(self.mainLocationGroupBox) defaultSizePolicy.setHeightForWidth( - self.FontMainWidthSpinBox.sizePolicy().hasHeightForWidth()) - self.FontMainWidthSpinBox.setSizePolicy(defaultSizePolicy) - self.FontMainWidthSpinBox.setMinimumSize(QtCore.QSize(78, 0)) - self.FontMainWidthSpinBox.setMaximum(9999) - self.FontMainWidthSpinBox.setObjectName(u'FontMainWidthSpinBox') - self.MainLocationLayout.setWidget(3, QtGui.QFormLayout.FieldRole, - self.FontMainWidthSpinBox) - self.FontMainHeightSpinBox = QtGui.QSpinBox(self.MainLocationGroupBox) + self.fontMainWidthSpinBox.sizePolicy().hasHeightForWidth()) + self.fontMainWidthSpinBox.setSizePolicy(defaultSizePolicy) + self.fontMainWidthSpinBox.setMinimumSize(QtCore.QSize(78, 0)) + self.fontMainWidthSpinBox.setMaximum(9999) + self.fontMainWidthSpinBox.setObjectName(u'fontMainWidthSpinBox') + self.mainLocationLayout.setWidget(3, QtGui.QFormLayout.FieldRole, + self.fontMainWidthSpinBox) + self.fontMainHeightSpinBox = QtGui.QSpinBox(self.mainLocationGroupBox) defaultSizePolicy.setHeightForWidth( - self.FontMainHeightSpinBox.sizePolicy().hasHeightForWidth()) - self.FontMainHeightSpinBox.setSizePolicy(defaultSizePolicy) - self.FontMainHeightSpinBox.setMinimumSize(QtCore.QSize(78, 0)) - self.FontMainHeightSpinBox.setMaximum(9999) - self.FontMainHeightSpinBox.setObjectName(u'FontMainHeightSpinBox') - self.MainLocationLayout.setWidget(4, QtGui.QFormLayout.FieldRole, - self.FontMainHeightSpinBox) - self.MainRightLayout.addWidget(self.MainLocationGroupBox) + self.fontMainHeightSpinBox.sizePolicy().hasHeightForWidth()) + self.fontMainHeightSpinBox.setSizePolicy(defaultSizePolicy) + self.fontMainHeightSpinBox.setMinimumSize(QtCore.QSize(78, 0)) + self.fontMainHeightSpinBox.setMaximum(9999) + self.fontMainHeightSpinBox.setObjectName(u'fontMainHeightSpinBox') + self.mainLocationLayout.setWidget(4, QtGui.QFormLayout.FieldRole, + self.fontMainHeightSpinBox) + self.mainRightLayout.addWidget(self.mainLocationGroupBox) spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.MainRightLayout.addItem(spacerItem2) - self.FontMainLayout.addWidget(self.MainRightWidget) - self.ThemeTabWidget.addTab(self.FontMainTab, u'') - self.FontFooterTab = QtGui.QWidget() - self.FontFooterTab.setObjectName(u'FontFooterTab') - self.FontFooterLayout = QtGui.QHBoxLayout(self.FontFooterTab) - self.FontFooterLayout.setSpacing(8) - self.FontFooterLayout.setMargin(8) - self.FontFooterLayout.setObjectName(u'FontFooterLayout') - self.FooterLeftWidget = QtGui.QWidget(self.FontFooterTab) - self.FooterLeftWidget.setObjectName(u'FooterLeftWidget') - self.FooterLeftLayout = QtGui.QVBoxLayout(self.FooterLeftWidget) - self.FooterLeftLayout.setSpacing(8) - self.FooterLeftLayout.setMargin(0) - self.FooterLeftLayout.setObjectName(u'FooterLeftLayout') - self.FooterFontGroupBox = QtGui.QGroupBox(self.FooterLeftWidget) - self.FooterFontGroupBox.setObjectName(u'FooterFontGroupBox') - self.FooterFontLayout = QtGui.QFormLayout(self.FooterFontGroupBox) - self.FooterFontLayout.setFieldGrowthPolicy( + self.mainRightLayout.addItem(spacerItem2) + self.fontMainLayout.addWidget(self.mainRightWidget) + self.themeTabWidget.addTab(self.fontMainTab, u'') + self.fontFooterTab = QtGui.QWidget() + self.fontFooterTab.setObjectName(u'fontFooterTab') + self.fontFooterLayout = QtGui.QHBoxLayout(self.fontFooterTab) + self.fontFooterLayout.setSpacing(8) + self.fontFooterLayout.setMargin(8) + self.fontFooterLayout.setObjectName(u'fontFooterLayout') + self.footerLeftWidget = QtGui.QWidget(self.fontFooterTab) + self.footerLeftWidget.setObjectName(u'footerLeftWidget') + self.footerLeftLayout = QtGui.QVBoxLayout(self.footerLeftWidget) + self.footerLeftLayout.setSpacing(8) + self.footerLeftLayout.setMargin(0) + self.footerLeftLayout.setObjectName(u'footerLeftLayout') + self.footerFontGroupBox = QtGui.QGroupBox(self.footerLeftWidget) + self.footerFontGroupBox.setObjectName(u'footerFontGroupBox') + self.footerFontLayout = QtGui.QFormLayout(self.footerFontGroupBox) + self.footerFontLayout.setFieldGrowthPolicy( QtGui.QFormLayout.ExpandingFieldsGrow) - self.FooterFontLayout.setFormAlignment(QtCore.Qt.AlignLeading | + self.footerFontLayout.setFormAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.FooterFontLayout.setMargin(8) - self.FooterFontLayout.setSpacing(8) - self.FooterFontLayout.setObjectName(u'FooterFontLayout') - self.FontFooterLabel = QtGui.QLabel(self.FooterFontGroupBox) - self.FontFooterLabel.setObjectName(u'FontFooterLabel') - self.FooterFontLayout.setWidget(0, QtGui.QFormLayout.LabelRole, - self.FontFooterLabel) - self.FontFooterComboBox = QtGui.QFontComboBox(self.FooterFontGroupBox) - self.FontFooterComboBox.setObjectName(u'FontFooterComboBox') - self.FooterFontLayout.setWidget(0, QtGui.QFormLayout.FieldRole, - self.FontFooterComboBox) - self.FontFooterColorLabel = QtGui.QLabel(self.FooterFontGroupBox) - self.FontFooterColorLabel.setObjectName(u'FontFooterColorLabel') - self.FooterFontLayout.setWidget(1, QtGui.QFormLayout.LabelRole, - self.FontFooterColorLabel) - self.FontFooterColorPushButton = QtGui.QPushButton( - self.FooterFontGroupBox) - self.FontFooterColorPushButton.setObjectName( - u'FontFooterColorPushButton') - self.FooterFontLayout.setWidget(1, QtGui.QFormLayout.FieldRole, - self.FontFooterColorPushButton) - self.FontFooterSizeLabel = QtGui.QLabel(self.FooterFontGroupBox) - self.FontFooterSizeLabel.setObjectName(u'FontFooterSizeLabel') - self.FooterFontLayout.setWidget(2, QtGui.QFormLayout.LabelRole, - self.FontFooterSizeLabel) - self.FontFooterSizeSpinBox = QtGui.QSpinBox(self.FooterFontGroupBox) + self.footerFontLayout.setMargin(8) + self.footerFontLayout.setSpacing(8) + self.footerFontLayout.setObjectName(u'footerFontLayout') + self.fontFooterLabel = QtGui.QLabel(self.footerFontGroupBox) + self.fontFooterLabel.setObjectName(u'fontFooterLabel') + self.footerFontLayout.setWidget(0, QtGui.QFormLayout.LabelRole, + self.fontFooterLabel) + self.fontFooterComboBox = QtGui.QFontComboBox(self.footerFontGroupBox) + self.fontFooterComboBox.setObjectName(u'fontFooterComboBox') + self.footerFontLayout.setWidget(0, QtGui.QFormLayout.FieldRole, + self.fontFooterComboBox) + self.fontFooterColorLabel = QtGui.QLabel(self.footerFontGroupBox) + self.fontFooterColorLabel.setObjectName(u'fontFooterColorLabel') + self.footerFontLayout.setWidget(1, QtGui.QFormLayout.LabelRole, + self.fontFooterColorLabel) + self.fontFooterColorPushButton = QtGui.QPushButton( + self.footerFontGroupBox) + self.fontFooterColorPushButton.setObjectName( + u'fontFooterColorPushButton') + self.footerFontLayout.setWidget(1, QtGui.QFormLayout.FieldRole, + self.fontFooterColorPushButton) + self.fontFooterSizeLabel = QtGui.QLabel(self.footerFontGroupBox) + self.fontFooterSizeLabel.setObjectName(u'fontFooterSizeLabel') + self.footerFontLayout.setWidget(2, QtGui.QFormLayout.LabelRole, + self.fontFooterSizeLabel) + self.fontFooterSizeSpinBox = QtGui.QSpinBox(self.footerFontGroupBox) defaultSizePolicy.setHeightForWidth( - self.FontFooterSizeSpinBox.sizePolicy().hasHeightForWidth()) - self.FontFooterSizeSpinBox.setSizePolicy(defaultSizePolicy) - self.FontFooterSizeSpinBox.setMinimumSize(QtCore.QSize(70, 0)) - self.FontFooterSizeSpinBox.setProperty(u'value', QtCore.QVariant(10)) - self.FontFooterSizeSpinBox.setMaximum(999) - self.FontFooterSizeSpinBox.setObjectName(u'FontFooterSizeSpinBox') - self.FooterFontLayout.setWidget(2, QtGui.QFormLayout.FieldRole, - self.FontFooterSizeSpinBox) - self.FontFooterWeightComboBox = QtGui.QComboBox(self.FooterFontGroupBox) - self.FontFooterWeightComboBox.setObjectName(u'FontFooterWeightComboBox') - self.FontFooterWeightComboBox.addItem(QtCore.QString()) - self.FontFooterWeightComboBox.addItem(QtCore.QString()) - self.FontFooterWeightComboBox.addItem(QtCore.QString()) - self.FontFooterWeightComboBox.addItem(QtCore.QString()) - self.FooterFontLayout.setWidget(3, QtGui.QFormLayout.FieldRole, - self.FontFooterWeightComboBox) - self.FontFooterWeightLabel = QtGui.QLabel(self.FooterFontGroupBox) - self.FontFooterWeightLabel.setObjectName(u'FontFooterWeightLabel') - self.FooterFontLayout.setWidget(3, QtGui.QFormLayout.LabelRole, - self.FontFooterWeightLabel) - self.FooterLeftLayout.addWidget(self.FooterFontGroupBox) + self.fontFooterSizeSpinBox.sizePolicy().hasHeightForWidth()) + self.fontFooterSizeSpinBox.setSizePolicy(defaultSizePolicy) + self.fontFooterSizeSpinBox.setMinimumSize(QtCore.QSize(70, 0)) + self.fontFooterSizeSpinBox.setProperty(u'value', QtCore.QVariant(10)) + self.fontFooterSizeSpinBox.setMaximum(999) + self.fontFooterSizeSpinBox.setObjectName(u'fontFooterSizeSpinBox') + self.footerFontLayout.setWidget(2, QtGui.QFormLayout.FieldRole, + self.fontFooterSizeSpinBox) + self.fontFooterWeightComboBox = QtGui.QComboBox(self.footerFontGroupBox) + self.fontFooterWeightComboBox.setObjectName(u'fontFooterWeightComboBox') + self.fontFooterWeightComboBox.addItem(QtCore.QString()) + self.fontFooterWeightComboBox.addItem(QtCore.QString()) + self.fontFooterWeightComboBox.addItem(QtCore.QString()) + self.fontFooterWeightComboBox.addItem(QtCore.QString()) + self.footerFontLayout.setWidget(3, QtGui.QFormLayout.FieldRole, + self.fontFooterWeightComboBox) + self.fontFooterWeightLabel = QtGui.QLabel(self.footerFontGroupBox) + self.fontFooterWeightLabel.setObjectName(u'fontFooterWeightLabel') + self.footerFontLayout.setWidget(3, QtGui.QFormLayout.LabelRole, + self.fontFooterWeightLabel) + self.footerLeftLayout.addWidget(self.footerFontGroupBox) spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.FooterLeftLayout.addItem(spacerItem3) - self.FontFooterLayout.addWidget(self.FooterLeftWidget) - self.FooterRightWidget = QtGui.QWidget(self.FontFooterTab) - self.FooterRightWidget.setObjectName(u'FooterRightWidget') - self.FooterRightLayout = QtGui.QVBoxLayout(self.FooterRightWidget) - self.FooterRightLayout.setSpacing(8) - self.FooterRightLayout.setMargin(0) - self.FooterRightLayout.setObjectName(u'FooterRightLayout') - self.LocationFooterGroupBox = QtGui.QGroupBox(self.FooterRightWidget) - self.LocationFooterGroupBox.setObjectName(u'LocationFooterGroupBox') - self.LocationFooterLayout = QtGui.QFormLayout( - self.LocationFooterGroupBox) - self.LocationFooterLayout.setFieldGrowthPolicy( + self.footerLeftLayout.addItem(spacerItem3) + self.fontFooterLayout.addWidget(self.footerLeftWidget) + self.footerRightWidget = QtGui.QWidget(self.fontFooterTab) + self.footerRightWidget.setObjectName(u'footerRightWidget') + self.footerRightLayout = QtGui.QVBoxLayout(self.footerRightWidget) + self.footerRightLayout.setSpacing(8) + self.footerRightLayout.setMargin(0) + self.footerRightLayout.setObjectName(u'footerRightLayout') + self.locationFooterGroupBox = QtGui.QGroupBox(self.footerRightWidget) + self.locationFooterGroupBox.setObjectName(u'locationFooterGroupBox') + self.locationFooterLayout = QtGui.QFormLayout( + self.locationFooterGroupBox) + self.locationFooterLayout.setFieldGrowthPolicy( QtGui.QFormLayout.ExpandingFieldsGrow) - self.LocationFooterLayout.setFormAlignment(QtCore.Qt.AlignLeading | + self.locationFooterLayout.setFormAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) - self.LocationFooterLayout.setMargin(8) - self.LocationFooterLayout.setSpacing(8) - self.LocationFooterLayout.setObjectName(u'LocationFooterLayout') - self.FontFooterDefaultLabel = QtGui.QLabel(self.LocationFooterGroupBox) - self.FontFooterDefaultLabel.setObjectName(u'FontFooterDefaultLabel') - self.LocationFooterLayout.setWidget(0, QtGui.QFormLayout.LabelRole, - self.FontFooterDefaultLabel) - self.FontFooterDefaultCheckBox = QtGui.QCheckBox( - self.LocationFooterGroupBox) - self.FontFooterDefaultCheckBox.setTristate(False) - self.FontFooterDefaultCheckBox.setObjectName( - u'FontFooterDefaultCheckBox') - self.LocationFooterLayout.setWidget(0, QtGui.QFormLayout.FieldRole, - self.FontFooterDefaultCheckBox) - self.FontFooterXLabel = QtGui.QLabel(self.LocationFooterGroupBox) - self.FontFooterXLabel.setObjectName(u'FontFooterXLabel') - self.LocationFooterLayout.setWidget(1, QtGui.QFormLayout.LabelRole, - self.FontFooterXLabel) - self.FontFooterYLabel = QtGui.QLabel(self.LocationFooterGroupBox) - self.FontFooterYLabel.setObjectName(u'FontFooterYLabel') - self.LocationFooterLayout.setWidget(2, QtGui.QFormLayout.LabelRole, - self.FontFooterYLabel) - self.FontFooterWidthLabel = QtGui.QLabel(self.LocationFooterGroupBox) - self.FontFooterWidthLabel.setObjectName(u'FontFooterWidthLabel') - self.LocationFooterLayout.setWidget(3, QtGui.QFormLayout.LabelRole, - self.FontFooterWidthLabel) - self.FontFooterHeightLabel = QtGui.QLabel(self.LocationFooterGroupBox) - self.FontFooterHeightLabel.setObjectName(u'FontFooterHeightLabel') - self.LocationFooterLayout.setWidget(4, QtGui.QFormLayout.LabelRole, - self.FontFooterHeightLabel) - self.FontFooterXSpinBox = QtGui.QSpinBox(self.LocationFooterGroupBox) + self.locationFooterLayout.setMargin(8) + self.locationFooterLayout.setSpacing(8) + self.locationFooterLayout.setObjectName(u'locationFooterLayout') + self.fontFooterDefaultLabel = QtGui.QLabel(self.locationFooterGroupBox) + self.fontFooterDefaultLabel.setObjectName(u'fontFooterDefaultLabel') + self.locationFooterLayout.setWidget(0, QtGui.QFormLayout.LabelRole, + self.fontFooterDefaultLabel) + self.fontFooterDefaultCheckBox = QtGui.QCheckBox( + self.locationFooterGroupBox) + self.fontFooterDefaultCheckBox.setTristate(False) + self.fontFooterDefaultCheckBox.setObjectName( + u'fontFooterDefaultCheckBox') + self.locationFooterLayout.setWidget(0, QtGui.QFormLayout.FieldRole, + self.fontFooterDefaultCheckBox) + self.fontFooterXLabel = QtGui.QLabel(self.locationFooterGroupBox) + self.fontFooterXLabel.setObjectName(u'fontFooterXLabel') + self.locationFooterLayout.setWidget(1, QtGui.QFormLayout.LabelRole, + self.fontFooterXLabel) + self.fontFooterYLabel = QtGui.QLabel(self.locationFooterGroupBox) + self.fontFooterYLabel.setObjectName(u'fontFooterYLabel') + self.locationFooterLayout.setWidget(2, QtGui.QFormLayout.LabelRole, + self.fontFooterYLabel) + self.fontFooterWidthLabel = QtGui.QLabel(self.locationFooterGroupBox) + self.fontFooterWidthLabel.setObjectName(u'fontFooterWidthLabel') + self.locationFooterLayout.setWidget(3, QtGui.QFormLayout.LabelRole, + self.fontFooterWidthLabel) + self.fontFooterHeightLabel = QtGui.QLabel(self.locationFooterGroupBox) + self.fontFooterHeightLabel.setObjectName(u'fontFooterHeightLabel') + self.locationFooterLayout.setWidget(4, QtGui.QFormLayout.LabelRole, + self.fontFooterHeightLabel) + self.fontFooterXSpinBox = QtGui.QSpinBox(self.locationFooterGroupBox) defaultSizePolicy.setHeightForWidth( - self.FontFooterXSpinBox.sizePolicy().hasHeightForWidth()) - self.FontFooterXSpinBox.setSizePolicy(defaultSizePolicy) - self.FontFooterXSpinBox.setMinimumSize(QtCore.QSize(78, 0)) - self.FontFooterXSpinBox.setProperty(u'value', QtCore.QVariant(0)) - self.FontFooterXSpinBox.setMaximum(9999) - self.FontFooterXSpinBox.setObjectName(u'FontFooterXSpinBox') - self.LocationFooterLayout.setWidget(1, QtGui.QFormLayout.FieldRole, - self.FontFooterXSpinBox) - self.FontFooterYSpinBox = QtGui.QSpinBox(self.LocationFooterGroupBox) + self.fontFooterXSpinBox.sizePolicy().hasHeightForWidth()) + self.fontFooterXSpinBox.setSizePolicy(defaultSizePolicy) + self.fontFooterXSpinBox.setMinimumSize(QtCore.QSize(78, 0)) + self.fontFooterXSpinBox.setProperty(u'value', QtCore.QVariant(0)) + self.fontFooterXSpinBox.setMaximum(9999) + self.fontFooterXSpinBox.setObjectName(u'fontFooterXSpinBox') + self.locationFooterLayout.setWidget(1, QtGui.QFormLayout.FieldRole, + self.fontFooterXSpinBox) + self.fontFooterYSpinBox = QtGui.QSpinBox(self.locationFooterGroupBox) defaultSizePolicy.setHeightForWidth( - self.FontFooterXSpinBox.sizePolicy().hasHeightForWidth()) - self.FontFooterYSpinBox.setSizePolicy(defaultSizePolicy) - self.FontFooterYSpinBox.setMinimumSize(QtCore.QSize(78, 0)) - self.FontFooterYSpinBox.setProperty(u'value', QtCore.QVariant(0)) - self.FontFooterYSpinBox.setMaximum(9999) - self.FontFooterYSpinBox.setObjectName(u'FontFooterYSpinBox') - self.LocationFooterLayout.setWidget(2, QtGui.QFormLayout.FieldRole, - self.FontFooterYSpinBox) - self.FontFooterWidthSpinBox = QtGui.QSpinBox( - self.LocationFooterGroupBox) - self.FontFooterWidthSpinBox.setMinimumSize(QtCore.QSize(78, 0)) - self.FontFooterWidthSpinBox.setMaximum(9999) - self.FontFooterWidthSpinBox.setObjectName(u'FontFooterWidthSpinBox') - self.LocationFooterLayout.setWidget(3, QtGui.QFormLayout.FieldRole, - self.FontFooterWidthSpinBox) - self.FontFooterHeightSpinBox = QtGui.QSpinBox( - self.LocationFooterGroupBox) - self.FontFooterHeightSpinBox.setMinimumSize(QtCore.QSize(78, 0)) - self.FontFooterHeightSpinBox.setMaximum(9999) - self.FontFooterHeightSpinBox.setObjectName(u'FontFooterHeightSpinBox') - self.LocationFooterLayout.setWidget(4, QtGui.QFormLayout.FieldRole, - self.FontFooterHeightSpinBox) - self.FooterRightLayout.addWidget(self.LocationFooterGroupBox) + self.fontFooterXSpinBox.sizePolicy().hasHeightForWidth()) + self.fontFooterYSpinBox.setSizePolicy(defaultSizePolicy) + self.fontFooterYSpinBox.setMinimumSize(QtCore.QSize(78, 0)) + self.fontFooterYSpinBox.setProperty(u'value', QtCore.QVariant(0)) + self.fontFooterYSpinBox.setMaximum(9999) + self.fontFooterYSpinBox.setObjectName(u'fontFooterYSpinBox') + self.locationFooterLayout.setWidget(2, QtGui.QFormLayout.FieldRole, + self.fontFooterYSpinBox) + self.fontFooterWidthSpinBox = QtGui.QSpinBox( + self.locationFooterGroupBox) + self.fontFooterWidthSpinBox.setMinimumSize(QtCore.QSize(78, 0)) + self.fontFooterWidthSpinBox.setMaximum(9999) + self.fontFooterWidthSpinBox.setObjectName(u'fontFooterWidthSpinBox') + self.locationFooterLayout.setWidget(3, QtGui.QFormLayout.FieldRole, + self.fontFooterWidthSpinBox) + self.fontFooterHeightSpinBox = QtGui.QSpinBox( + self.locationFooterGroupBox) + self.fontFooterHeightSpinBox.setMinimumSize(QtCore.QSize(78, 0)) + self.fontFooterHeightSpinBox.setMaximum(9999) + self.fontFooterHeightSpinBox.setObjectName(u'fontFooterHeightSpinBox') + self.locationFooterLayout.setWidget(4, QtGui.QFormLayout.FieldRole, + self.fontFooterHeightSpinBox) + self.footerRightLayout.addWidget(self.locationFooterGroupBox) spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.FooterRightLayout.addItem(spacerItem4) - self.FontFooterLayout.addWidget(self.FooterRightWidget) - self.ThemeTabWidget.addTab(self.FontFooterTab, u'') - self.OtherOptionsTab = QtGui.QWidget() - self.OtherOptionsTab.setObjectName(u'OtherOptionsTab') - self.OtherOptionsLayout = QtGui.QHBoxLayout(self.OtherOptionsTab) - self.OtherOptionsLayout.setSpacing(8) - self.OtherOptionsLayout.setMargin(8) - self.OtherOptionsLayout.setObjectName(u'OtherOptionsLayout') - self.OptionsLeftWidget = QtGui.QWidget(self.OtherOptionsTab) - self.OptionsLeftWidget.setObjectName(u'OptionsLeftWidget') - self.OptionsLeftLayout = QtGui.QVBoxLayout(self.OptionsLeftWidget) - self.OptionsLeftLayout.setSpacing(8) - self.OptionsLeftLayout.setMargin(0) - self.OptionsLeftLayout.setObjectName(u'OptionsLeftLayout') - self.OutlineGroupBox = QtGui.QGroupBox(self.OptionsLeftWidget) - self.OutlineGroupBox.setObjectName(u'OutlineGroupBox') - self.verticalLayout = QtGui.QVBoxLayout(self.OutlineGroupBox) + self.footerRightLayout.addItem(spacerItem4) + self.fontFooterLayout.addWidget(self.footerRightWidget) + self.themeTabWidget.addTab(self.fontFooterTab, u'') + self.otherOptionsTab = QtGui.QWidget() + self.otherOptionsTab.setObjectName(u'otherOptionsTab') + self.otherOptionsLayout = QtGui.QHBoxLayout(self.otherOptionsTab) + self.otherOptionsLayout.setSpacing(8) + self.otherOptionsLayout.setMargin(8) + self.otherOptionsLayout.setObjectName(u'otherOptionsLayout') + self.optionsLeftWidget = QtGui.QWidget(self.otherOptionsTab) + self.optionsLeftWidget.setObjectName(u'optionsLeftWidget') + self.optionsLeftLayout = QtGui.QVBoxLayout(self.optionsLeftWidget) + self.optionsLeftLayout.setSpacing(8) + self.optionsLeftLayout.setMargin(0) + self.optionsLeftLayout.setObjectName(u'optionsLeftLayout') + self.outlineGroupBox = QtGui.QGroupBox(self.optionsLeftWidget) + self.outlineGroupBox.setObjectName(u'outlineGroupBox') + self.verticalLayout = QtGui.QVBoxLayout(self.outlineGroupBox) self.verticalLayout.setSpacing(8) self.verticalLayout.setMargin(8) self.verticalLayout.setObjectName(u'verticalLayout') - self.OutlineWidget = QtGui.QWidget(self.OutlineGroupBox) - self.OutlineWidget.setObjectName(u'OutlineWidget') - self.OutlineLayout = QtGui.QFormLayout(self.OutlineWidget) - self.OutlineLayout.setMargin(0) - self.OutlineLayout.setSpacing(8) - self.OutlineLayout.setObjectName(u'OutlineLayout') - self.OutlineCheckBox = QtGui.QCheckBox(self.OutlineWidget) - self.OutlineCheckBox.setObjectName(u'OutlineCheckBox') - self.OutlineLayout.setWidget(0, QtGui.QFormLayout.FieldRole, - self.OutlineCheckBox) - self.OutlineSpinBox = QtGui.QSpinBox(self.OutlineWidget) - self.OutlineSpinBox.setObjectName(u'OutlineSpinBox') - self.OutlineSpinBox.setMaximum(10) - self.OutlineLayout.setWidget(1, QtGui.QFormLayout.FieldRole, - self.OutlineSpinBox) - self.OutlineSpinBoxLabel = QtGui.QLabel(self.OutlineWidget) - self.OutlineSpinBoxLabel.setObjectName(u'OutlineSpinBoxLabel') - self.OutlineLayout.setWidget(1, QtGui.QFormLayout.LabelRole, - self.OutlineSpinBoxLabel) - self.OutlineColorLabel = QtGui.QLabel(self.OutlineWidget) - self.OutlineColorLabel.setObjectName(u'OutlineColorLabel') - self.OutlineLayout.setWidget(2, QtGui.QFormLayout.LabelRole, - self.OutlineColorLabel) - self.OutlineColorPushButton = QtGui.QPushButton(self.OutlineWidget) - self.OutlineColorPushButton.setObjectName(u'OutlineColorPushButton') - self.OutlineLayout.setWidget(2, QtGui.QFormLayout.FieldRole, - self.OutlineColorPushButton) - self.OutlineEnabledLabel = QtGui.QLabel(self.OutlineWidget) - self.OutlineEnabledLabel.setObjectName(u'OutlineEnabledLabel') - self.OutlineLayout.setWidget(0, QtGui.QFormLayout.LabelRole, - self.OutlineEnabledLabel) - self.verticalLayout.addWidget(self.OutlineWidget) - self.OptionsLeftLayout.addWidget(self.OutlineGroupBox) - self.ShadowGroupBox = QtGui.QGroupBox(self.OptionsLeftWidget) - self.ShadowGroupBox.setObjectName(u'ShadowGroupBox') - self.verticalLayout = QtGui.QVBoxLayout(self.ShadowGroupBox) + self.outlineWidget = QtGui.QWidget(self.outlineGroupBox) + self.outlineWidget.setObjectName(u'outlineWidget') + self.outlineLayout = QtGui.QFormLayout(self.outlineWidget) + self.outlineLayout.setMargin(0) + self.outlineLayout.setSpacing(8) + self.outlineLayout.setObjectName(u'outlineLayout') + self.outlineCheckBox = QtGui.QCheckBox(self.outlineWidget) + self.outlineCheckBox.setObjectName(u'outlineCheckBox') + self.outlineLayout.setWidget(0, QtGui.QFormLayout.FieldRole, + self.outlineCheckBox) + self.outlineSpinBox = QtGui.QSpinBox(self.outlineWidget) + self.outlineSpinBox.setObjectName(u'outlineSpinBox') + self.outlineSpinBox.setMaximum(10) + self.outlineLayout.setWidget(1, QtGui.QFormLayout.FieldRole, + self.outlineSpinBox) + self.outlineSpinBoxLabel = QtGui.QLabel(self.outlineWidget) + self.outlineSpinBoxLabel.setObjectName(u'outlineSpinBoxLabel') + self.outlineLayout.setWidget(1, QtGui.QFormLayout.LabelRole, + self.outlineSpinBoxLabel) + self.outlineColorLabel = QtGui.QLabel(self.outlineWidget) + self.outlineColorLabel.setObjectName(u'outlineColorLabel') + self.outlineLayout.setWidget(2, QtGui.QFormLayout.LabelRole, + self.outlineColorLabel) + self.outlineColorPushButton = QtGui.QPushButton(self.outlineWidget) + self.outlineColorPushButton.setObjectName(u'outlineColorPushButton') + self.outlineLayout.setWidget(2, QtGui.QFormLayout.FieldRole, + self.outlineColorPushButton) + self.outlineEnabledLabel = QtGui.QLabel(self.outlineWidget) + self.outlineEnabledLabel.setObjectName(u'outlineEnabledLabel') + self.outlineLayout.setWidget(0, QtGui.QFormLayout.LabelRole, + self.outlineEnabledLabel) + self.verticalLayout.addWidget(self.outlineWidget) + self.optionsLeftLayout.addWidget(self.outlineGroupBox) + self.shadowGroupBox = QtGui.QGroupBox(self.optionsLeftWidget) + self.shadowGroupBox.setObjectName(u'shadowGroupBox') + self.verticalLayout = QtGui.QVBoxLayout(self.shadowGroupBox) self.verticalLayout.setSpacing(8) self.verticalLayout.setMargin(8) self.verticalLayout.setObjectName(u'verticalLayout') - self.ShadowWidget = QtGui.QWidget(self.ShadowGroupBox) - self.ShadowWidget.setObjectName(u'ShadowWidget') - self.ShadowLayout = QtGui.QFormLayout(self.ShadowWidget) - self.ShadowLayout.setMargin(0) - self.ShadowLayout.setSpacing(8) - self.ShadowLayout.setObjectName(u'ShadowLayout') - self.ShadowCheckBox = QtGui.QCheckBox(self.ShadowWidget) - self.ShadowCheckBox.setObjectName(u'ShadowCheckBox') - self.ShadowLayout.setWidget(0, QtGui.QFormLayout.FieldRole, - self.ShadowCheckBox) - self.ShadowSpinBox = QtGui.QSpinBox(self.OutlineWidget) - self.ShadowSpinBox.setObjectName(u'ShadowSpinBox') - self.ShadowSpinBox.setMaximum(10) - self.ShadowLayout.setWidget(1, QtGui.QFormLayout.FieldRole, - self.ShadowSpinBox) - self.ShadowSpinBoxLabel = QtGui.QLabel(self.OutlineWidget) - self.ShadowSpinBoxLabel.setObjectName(u'ShadowSpinBoxLabel') - self.ShadowLayout.setWidget(1, QtGui.QFormLayout.LabelRole, - self.ShadowSpinBoxLabel) - self.ShadowColorLabel = QtGui.QLabel(self.ShadowWidget) - self.ShadowColorLabel.setObjectName(u'ShadowColorLabel') - self.ShadowLayout.setWidget(2, QtGui.QFormLayout.LabelRole, - self.ShadowColorLabel) - self.ShadowColorPushButton = QtGui.QPushButton(self.ShadowWidget) - self.ShadowColorPushButton.setObjectName(u'ShadowColorPushButton') - self.ShadowLayout.setWidget(2, QtGui.QFormLayout.FieldRole, - self.ShadowColorPushButton) - self.ShadowEnabledLabel = QtGui.QLabel(self.ShadowWidget) - self.ShadowEnabledLabel.setObjectName(u'ShadowEnabledLabel') - self.ShadowLayout.setWidget(0, QtGui.QFormLayout.LabelRole, - self.ShadowEnabledLabel) - self.verticalLayout.addWidget(self.ShadowWidget) - self.OptionsLeftLayout.addWidget(self.ShadowGroupBox) + self.shadowWidget = QtGui.QWidget(self.shadowGroupBox) + self.shadowWidget.setObjectName(u'shadowWidget') + self.shadowLayout = QtGui.QFormLayout(self.shadowWidget) + self.shadowLayout.setMargin(0) + self.shadowLayout.setSpacing(8) + self.shadowLayout.setObjectName(u'shadowLayout') + self.shadowCheckBox = QtGui.QCheckBox(self.shadowWidget) + self.shadowCheckBox.setObjectName(u'shadowCheckBox') + self.shadowLayout.setWidget(0, QtGui.QFormLayout.FieldRole, + self.shadowCheckBox) + self.shadowSpinBox = QtGui.QSpinBox(self.outlineWidget) + self.shadowSpinBox.setObjectName(u'shadowSpinBox') + self.shadowSpinBox.setMaximum(10) + self.shadowLayout.setWidget(1, QtGui.QFormLayout.FieldRole, + self.shadowSpinBox) + self.shadowSpinBoxLabel = QtGui.QLabel(self.outlineWidget) + self.shadowSpinBoxLabel.setObjectName(u'shadowSpinBoxLabel') + self.shadowLayout.setWidget(1, QtGui.QFormLayout.LabelRole, + self.shadowSpinBoxLabel) + self.shadowColorLabel = QtGui.QLabel(self.shadowWidget) + self.shadowColorLabel.setObjectName(u'shadowColorLabel') + self.shadowLayout.setWidget(2, QtGui.QFormLayout.LabelRole, + self.shadowColorLabel) + self.shadowColorPushButton = QtGui.QPushButton(self.shadowWidget) + self.shadowColorPushButton.setObjectName(u'shadowColorPushButton') + self.shadowLayout.setWidget(2, QtGui.QFormLayout.FieldRole, + self.shadowColorPushButton) + self.shadowEnabledLabel = QtGui.QLabel(self.shadowWidget) + self.shadowEnabledLabel.setObjectName(u'shadowEnabledLabel') + self.shadowLayout.setWidget(0, QtGui.QFormLayout.LabelRole, + self.shadowEnabledLabel) + self.verticalLayout.addWidget(self.shadowWidget) + self.optionsLeftLayout.addWidget(self.shadowGroupBox) spacerItem5 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.OptionsLeftLayout.addItem(spacerItem5) - self.OtherOptionsLayout.addWidget(self.OptionsLeftWidget) - self.OptionsRightWidget = QtGui.QWidget(self.OtherOptionsTab) - self.OptionsRightWidget.setObjectName(u'OptionsRightWidget') - self.OptionsRightLayout = QtGui.QVBoxLayout(self.OptionsRightWidget) - self.OptionsRightLayout.setSpacing(8) - self.OptionsRightLayout.setMargin(0) - self.OptionsRightLayout.setObjectName(u'OptionsRightLayout') - self.AlignmentGroupBox = QtGui.QGroupBox(self.OptionsRightWidget) - self.AlignmentGroupBox.setObjectName(u'AlignmentGroupBox') - self.gridLayout_4 = QtGui.QGridLayout(self.AlignmentGroupBox) + self.optionsLeftLayout.addItem(spacerItem5) + self.otherOptionsLayout.addWidget(self.optionsLeftWidget) + self.optionsRightWidget = QtGui.QWidget(self.otherOptionsTab) + self.optionsRightWidget.setObjectName(u'optionsRightWidget') + self.optionsRightLayout = QtGui.QVBoxLayout(self.optionsRightWidget) + self.optionsRightLayout.setSpacing(8) + self.optionsRightLayout.setMargin(0) + self.optionsRightLayout.setObjectName(u'optionsRightLayout') + self.alignmentGroupBox = QtGui.QGroupBox(self.optionsRightWidget) + self.alignmentGroupBox.setObjectName(u'alignmentGroupBox') + self.gridLayout_4 = QtGui.QGridLayout(self.alignmentGroupBox) self.gridLayout_4.setObjectName(u'gridLayout_4') - self.HorizontalLabel = QtGui.QLabel(self.AlignmentGroupBox) - self.HorizontalLabel.setObjectName(u'HorizontalLabel') - self.gridLayout_4.addWidget(self.HorizontalLabel, 0, 0, 1, 1) - self.HorizontalComboBox = QtGui.QComboBox(self.AlignmentGroupBox) - self.HorizontalComboBox.setObjectName(u'HorizontalComboBox') - self.HorizontalComboBox.addItem(QtCore.QString()) - self.HorizontalComboBox.addItem(QtCore.QString()) - self.HorizontalComboBox.addItem(QtCore.QString()) - self.gridLayout_4.addWidget(self.HorizontalComboBox, 0, 1, 1, 1) - self.VerticalLabel = QtGui.QLabel(self.AlignmentGroupBox) - self.VerticalLabel.setObjectName(u'VerticalLabel') - self.gridLayout_4.addWidget(self.VerticalLabel, 1, 0, 1, 1) - self.VerticalComboBox = QtGui.QComboBox(self.AlignmentGroupBox) - self.VerticalComboBox.setObjectName(u'VerticalComboBox') - self.VerticalComboBox.addItem(QtCore.QString()) - self.VerticalComboBox.addItem(QtCore.QString()) - self.VerticalComboBox.addItem(QtCore.QString()) - self.gridLayout_4.addWidget(self.VerticalComboBox, 1, 1, 1, 1) - self.OptionsRightLayout.addWidget(self.AlignmentGroupBox) - self.TransitionGroupBox = QtGui.QGroupBox(self.OptionsRightWidget) - self.TransitionGroupBox.setObjectName(u'TransitionGroupBox') - self.gridLayout_5 = QtGui.QGridLayout(self.TransitionGroupBox) + self.horizontalLabel = QtGui.QLabel(self.alignmentGroupBox) + self.horizontalLabel.setObjectName(u'horizontalLabel') + self.gridLayout_4.addWidget(self.horizontalLabel, 0, 0, 1, 1) + self.horizontalComboBox = QtGui.QComboBox(self.alignmentGroupBox) + self.horizontalComboBox.setObjectName(u'horizontalComboBox') + self.horizontalComboBox.addItem(QtCore.QString()) + self.horizontalComboBox.addItem(QtCore.QString()) + self.horizontalComboBox.addItem(QtCore.QString()) + self.gridLayout_4.addWidget(self.horizontalComboBox, 0, 1, 1, 1) + self.verticalLabel = QtGui.QLabel(self.alignmentGroupBox) + self.verticalLabel.setObjectName(u'verticalLabel') + self.gridLayout_4.addWidget(self.verticalLabel, 1, 0, 1, 1) + self.verticalComboBox = QtGui.QComboBox(self.alignmentGroupBox) + self.verticalComboBox.setObjectName(u'verticalComboBox') + self.verticalComboBox.addItem(QtCore.QString()) + self.verticalComboBox.addItem(QtCore.QString()) + self.verticalComboBox.addItem(QtCore.QString()) + self.gridLayout_4.addWidget(self.verticalComboBox, 1, 1, 1, 1) + self.optionsRightLayout.addWidget(self.alignmentGroupBox) + self.transitionGroupBox = QtGui.QGroupBox(self.optionsRightWidget) + self.transitionGroupBox.setObjectName(u'transitionGroupBox') + self.gridLayout_5 = QtGui.QGridLayout(self.transitionGroupBox) self.gridLayout_5.setObjectName(u'gridLayout_5') - self.SlideTransitionCheckBoxLabel = QtGui.QLabel( - self.TransitionGroupBox) - self.SlideTransitionCheckBoxLabel.setObjectName( - u'SlideTransitionCheckBoxLabel') + self.slideTransitionCheckBoxLabel = QtGui.QLabel( + self.transitionGroupBox) + self.slideTransitionCheckBoxLabel.setObjectName( + u'slideTransitionCheckBoxLabel') self.gridLayout_5.addWidget( - self.SlideTransitionCheckBoxLabel, 0, 0, 1, 1) - self.SlideTransitionCheckBox = QtGui.QCheckBox(self.AlignmentGroupBox) - self.SlideTransitionCheckBox.setTristate(False) - self.gridLayout_5.addWidget(self.SlideTransitionCheckBox, 0, 1, 1, 1) - self.OptionsRightLayout.addWidget(self.TransitionGroupBox) + self.slideTransitionCheckBoxLabel, 0, 0, 1, 1) + self.slideTransitionCheckBox = QtGui.QCheckBox(self.alignmentGroupBox) + self.slideTransitionCheckBox.setTristate(False) + self.gridLayout_5.addWidget(self.slideTransitionCheckBox, 0, 1, 1, 1) + self.optionsRightLayout.addWidget(self.transitionGroupBox) spacerItem6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.OptionsRightLayout.addItem(spacerItem6) - self.OtherOptionsLayout.addWidget(self.OptionsRightWidget) - self.ThemeTabWidget.addTab(self.OtherOptionsTab, u'') - self.ContentLayout.addWidget(self.ThemeTabWidget) - self.AmendThemeLayout.addWidget(self.ContentWidget) - self.PreviewGroupBox = QtGui.QGroupBox(AmendThemeDialog) - self.PreviewGroupBox.setObjectName(u'PreviewGroupBox') - self.ThemePreviewLayout = QtGui.QHBoxLayout(self.PreviewGroupBox) - self.ThemePreviewLayout.setSpacing(8) - self.ThemePreviewLayout.setMargin(8) - self.ThemePreviewLayout.setObjectName(u'ThemePreviewLayout') + self.optionsRightLayout.addItem(spacerItem6) + self.otherOptionsLayout.addWidget(self.optionsRightWidget) + self.themeTabWidget.addTab(self.otherOptionsTab, u'') + self.contentLayout.addWidget(self.themeTabWidget) + self.amendThemeLayout.addWidget(self.contentWidget) + self.previewGroupBox = QtGui.QGroupBox(amendThemeDialog) + self.previewGroupBox.setObjectName(u'previewGroupBox') + self.themePreviewLayout = QtGui.QHBoxLayout(self.previewGroupBox) + self.themePreviewLayout.setSpacing(8) + self.themePreviewLayout.setMargin(8) + self.themePreviewLayout.setObjectName(u'themePreviewLayout') spacerItem7 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) - self.ThemePreviewLayout.addItem(spacerItem7) - self.ThemePreview = QtGui.QLabel(self.PreviewGroupBox) + self.themePreviewLayout.addItem(spacerItem7) + self.themePreview = QtGui.QLabel(self.previewGroupBox) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( - self.ThemePreview.sizePolicy().hasHeightForWidth()) - self.ThemePreview.setSizePolicy(sizePolicy) - self.ThemePreview.setMaximumSize(QtCore.QSize(300, 225)) - self.ThemePreview.setFrameShape(QtGui.QFrame.WinPanel) - self.ThemePreview.setFrameShadow(QtGui.QFrame.Sunken) - self.ThemePreview.setLineWidth(1) - self.ThemePreview.setScaledContents(True) - self.ThemePreview.setObjectName(u'ThemePreview') - self.ThemePreviewLayout.addWidget(self.ThemePreview) + self.themePreview.sizePolicy().hasHeightForWidth()) + self.themePreview.setSizePolicy(sizePolicy) + self.themePreview.setMaximumSize(QtCore.QSize(300, 225)) + self.themePreview.setFrameShape(QtGui.QFrame.WinPanel) + self.themePreview.setFrameShadow(QtGui.QFrame.Sunken) + self.themePreview.setLineWidth(1) + self.themePreview.setScaledContents(True) + self.themePreview.setObjectName(u'themePreview') + self.themePreviewLayout.addWidget(self.themePreview) spacerItem8 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) - self.ThemePreviewLayout.addItem(spacerItem8) - self.AmendThemeLayout.addWidget(self.PreviewGroupBox) - self.ThemeButtonBox = QtGui.QDialogButtonBox(AmendThemeDialog) - self.ThemeButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | + self.themePreviewLayout.addItem(spacerItem8) + self.amendThemeLayout.addWidget(self.previewGroupBox) + self.themeButtonBox = QtGui.QDialogButtonBox(amendThemeDialog) + self.themeButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok) - self.ThemeButtonBox.setObjectName(u'ThemeButtonBox') - self.AmendThemeLayout.addWidget(self.ThemeButtonBox) + self.themeButtonBox.setObjectName(u'themeButtonBox') + self.amendThemeLayout.addWidget(self.themeButtonBox) - self.retranslateUi(AmendThemeDialog) - self.ThemeTabWidget.setCurrentIndex(0) - QtCore.QObject.connect(self.ThemeButtonBox, - QtCore.SIGNAL(u'accepted()'), AmendThemeDialog.accept) - QtCore.QObject.connect(self.ThemeButtonBox, - QtCore.SIGNAL(u'rejected()'), AmendThemeDialog.reject) - QtCore.QMetaObject.connectSlotsByName(AmendThemeDialog) + self.retranslateUi(amendThemeDialog) + self.themeTabWidget.setCurrentIndex(0) + QtCore.QObject.connect(self.themeButtonBox, + QtCore.SIGNAL(u'accepted()'), amendThemeDialog.accept) + QtCore.QObject.connect(self.themeButtonBox, + QtCore.SIGNAL(u'rejected()'), amendThemeDialog.reject) + QtCore.QMetaObject.connectSlotsByName(amendThemeDialog) - def retranslateUi(self, AmendThemeDialog): - AmendThemeDialog.setWindowTitle( + def retranslateUi(self, amendThemeDialog): + amendThemeDialog.setWindowTitle( translate('OpenLP.AmendThemeForm', 'Theme Maintenance')) - self.ThemeNameLabel.setText( + self.themeNameLabel.setText( translate('OpenLP.AmendThemeForm', 'Theme &name:')) - self.BackgroundLabel.setText( + self.backgroundLabel.setText( translate('OpenLP.AmendThemeForm', '&Visibility:')) - self.BackgroundComboBox.setItemText(0, + self.backgroundComboBox.setItemText(0, translate('OpenLP.AmendThemeForm', 'Opaque')) - self.BackgroundComboBox.setItemText(1, + self.backgroundComboBox.setItemText(1, translate('OpenLP.AmendThemeForm', 'Transparent')) - self.BackgroundTypeLabel.setText( + self.backgroundTypeLabel.setText( translate('OpenLP.AmendThemeForm', 'Type:')) - self.BackgroundTypeComboBox.setItemText(0, + self.backgroundTypeComboBox.setItemText(0, translate('OpenLP.AmendThemeForm', 'Solid Color')) - self.BackgroundTypeComboBox.setItemText(1, + self.backgroundTypeComboBox.setItemText(1, translate('OpenLP.AmendThemeForm', 'Gradient')) - self.BackgroundTypeComboBox.setItemText(2, + self.backgroundTypeComboBox.setItemText(2, translate('OpenLP.AmendThemeForm', 'Image')) - self.Color1Label.setText(u':') - self.Color2Label.setText(u':') - self.ImageLabel.setText( + self.color1Label.setText(u':') + self.color2Label.setText(u':') + self.imageLabel.setText( translate('OpenLP.AmendThemeForm', 'Image:')) - self.GradientLabel.setText( + self.gradientLabel.setText( translate('OpenLP.AmendThemeForm', 'Gradient:')) - self.GradientComboBox.setItemText(0, + self.gradientComboBox.setItemText(0, translate('OpenLP.AmendThemeForm', 'Horizontal')) - self.GradientComboBox.setItemText(1, + self.gradientComboBox.setItemText(1, translate('OpenLP.AmendThemeForm', 'Vertical')) - self.GradientComboBox.setItemText(2, + self.gradientComboBox.setItemText(2, translate('OpenLP.AmendThemeForm', 'Circular')) - self.ThemeTabWidget.setTabText( - self.ThemeTabWidget.indexOf(self.BackgroundTab), + self.themeTabWidget.setTabText( + self.themeTabWidget.indexOf(self.backgroundTab), translate('OpenLP.AmendThemeForm', '&Background')) - self.FontMainGroupBox.setTitle( + self.fontMainGroupBox.setTitle( translate('OpenLP.AmendThemeForm', 'Main Font')) - self.FontMainlabel.setText( + self.fontMainlabel.setText( translate('OpenLP.AmendThemeForm', 'Font:')) - self.FontMainColorLabel.setText( + self.fontMainColorLabel.setText( translate('OpenLP.AmendThemeForm', 'Color:')) - self.FontMainSize.setText( + self.fontMainSize.setText( translate('OpenLP.AmendThemeForm', 'Size:')) - self.FontMainSizeSpinBox.setSuffix( + self.fontMainSizeSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'pt')) - self.FontMainWrapIndentationLabel.setText( + self.fontMainWrapIndentationLabel.setText( translate('OpenLP.AmendThemeForm', 'Wrap indentation:')) - self.FontMainWrapLineAdjustmentLabel.setText( + self.fontMainWrapLineAdjustmentLabel.setText( translate('OpenLP.AmendThemeForm', 'Adjust line spacing:')) - self.FontMainWeightComboBox.setItemText(0, + self.fontMainWeightComboBox.setItemText(0, translate('OpenLP.AmendThemeForm', 'Normal')) - self.FontMainWeightComboBox.setItemText(1, + self.fontMainWeightComboBox.setItemText(1, translate('OpenLP.AmendThemeForm', 'Bold')) - self.FontMainWeightComboBox.setItemText(2, + self.fontMainWeightComboBox.setItemText(2, translate('OpenLP.AmendThemeForm', 'Italics')) - self.FontMainWeightComboBox.setItemText(3, + self.fontMainWeightComboBox.setItemText(3, translate('OpenLP.AmendThemeForm', 'Bold/Italics')) - self.FontMainWeightLabel.setText( + self.fontMainWeightLabel.setText( translate('OpenLP.AmendThemeForm', 'Style:')) - self.MainLocationGroupBox.setTitle( + self.mainLocationGroupBox.setTitle( translate('OpenLP.AmendThemeForm', 'Display Location')) - self.DefaultLocationLabel.setText( + self.defaultLocationLabel.setText( translate('OpenLP.AmendThemeForm', 'Use default location')) - self.FontMainXLabel.setText( + self.fontMainXLabel.setText( translate('OpenLP.AmendThemeForm', 'X position:')) - self.FontMainYLabel.setText( + self.fontMainYLabel.setText( translate('OpenLP.AmendThemeForm', 'Y position:')) - self.FontMainWidthLabel.setText( + self.fontMainWidthLabel.setText( translate('OpenLP.AmendThemeForm', 'Width:')) - self.FontMainHeightLabel.setText( + self.fontMainHeightLabel.setText( translate('OpenLP.AmendThemeForm', 'Height:')) - self.FontMainXSpinBox.setSuffix( + self.fontMainXSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'px')) - self.FontMainYSpinBox.setSuffix( + self.fontMainYSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'px')) - self.FontMainWidthSpinBox.setSuffix( + self.fontMainWidthSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'px')) - self.FontMainHeightSpinBox.setSuffix( + self.fontMainHeightSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'px')) - self.ThemeTabWidget.setTabText( - self.ThemeTabWidget.indexOf(self.FontMainTab), + self.themeTabWidget.setTabText( + self.themeTabWidget.indexOf(self.fontMainTab), translate('OpenLP.AmendThemeForm', '&Main Font')) - self.FooterFontGroupBox.setTitle( + self.footerFontGroupBox.setTitle( translate('OpenLP.AmendThemeForm', 'Footer Font')) - self.FontFooterLabel.setText( + self.fontFooterLabel.setText( translate('OpenLP.AmendThemeForm', 'Font:')) - self.FontFooterColorLabel.setText( + self.fontFooterColorLabel.setText( translate('OpenLP.AmendThemeForm', 'Color:')) - self.FontFooterSizeLabel.setText( + self.fontFooterSizeLabel.setText( translate('OpenLP.AmendThemeForm', 'Size:')) - self.FontFooterSizeSpinBox.setSuffix( + self.fontFooterSizeSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'pt')) - self.FontFooterWeightComboBox.setItemText(0, + self.fontFooterWeightComboBox.setItemText(0, translate('OpenLP.AmendThemeForm', 'Normal')) - self.FontFooterWeightComboBox.setItemText(1, + self.fontFooterWeightComboBox.setItemText(1, translate('OpenLP.AmendThemeForm', 'Bold')) - self.FontFooterWeightComboBox.setItemText(2, + self.fontFooterWeightComboBox.setItemText(2, translate('OpenLP.AmendThemeForm', 'Italics')) - self.FontFooterWeightComboBox.setItemText(3, + self.fontFooterWeightComboBox.setItemText(3, translate('OpenLP.AmendThemeForm', 'Bold/Italics')) - self.FontFooterWeightLabel.setText( + self.fontFooterWeightLabel.setText( translate('OpenLP.AmendThemeForm', 'Style:')) - self.LocationFooterGroupBox.setTitle( + self.locationFooterGroupBox.setTitle( translate('OpenLP.AmendThemeForm', 'Display Location')) - self.FontFooterDefaultLabel.setText( + self.fontFooterDefaultLabel.setText( translate('OpenLP.AmendThemeForm', 'Use default location')) - self.FontFooterXLabel.setText( + self.fontFooterXLabel.setText( translate('OpenLP.AmendThemeForm', 'X position:')) - self.FontFooterYLabel.setText( + self.fontFooterYLabel.setText( translate('OpenLP.AmendThemeForm', 'Y position:')) - self.FontFooterWidthLabel.setText( + self.fontFooterWidthLabel.setText( translate('OpenLP.AmendThemeForm', 'Width:')) - self.FontFooterHeightLabel.setText( + self.fontFooterHeightLabel.setText( translate('OpenLP.AmendThemeForm', 'Height:')) - self.FontFooterXSpinBox.setSuffix( + self.fontFooterXSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'px')) - self.FontFooterYSpinBox.setSuffix( + self.fontFooterYSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'px')) - self.FontFooterWidthSpinBox.setSuffix( + self.fontFooterWidthSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'px')) - self.FontFooterHeightSpinBox.setSuffix( + self.fontFooterHeightSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'px')) - self.ThemeTabWidget.setTabText( - self.ThemeTabWidget.indexOf(self.FontFooterTab), + self.themeTabWidget.setTabText( + self.themeTabWidget.indexOf(self.fontFooterTab), translate('OpenLP.AmendThemeForm', '&Footer Font')) - self.OutlineGroupBox.setTitle( + self.outlineGroupBox.setTitle( translate('OpenLP.AmendThemeForm', 'Outline')) - self.OutlineSpinBoxLabel.setText( + self.outlineSpinBoxLabel.setText( translate('OpenLP.AmendThemeForm', 'Outline size:')) - self.OutlineSpinBox.setSuffix( + self.outlineSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'px')) - self.OutlineColorLabel.setText( + self.outlineColorLabel.setText( translate('OpenLP.AmendThemeForm', 'Outline color:')) - self.OutlineEnabledLabel.setText( + self.outlineEnabledLabel.setText( translate('OpenLP.AmendThemeForm', 'Show outline:')) - self.ShadowGroupBox.setTitle( + self.shadowGroupBox.setTitle( translate('OpenLP.AmendThemeForm', 'Shadow')) - self.ShadowSpinBoxLabel.setText( + self.shadowSpinBoxLabel.setText( translate('OpenLP.AmendThemeForm', 'Shadow size:')) - self.ShadowSpinBox.setSuffix( + self.shadowSpinBox.setSuffix( translate('OpenLP.AmendThemeForm', 'px')) - self.ShadowColorLabel.setText( + self.shadowColorLabel.setText( translate('OpenLP.AmendThemeForm', 'Shadow color:')) - self.ShadowEnabledLabel.setText( + self.shadowEnabledLabel.setText( translate('OpenLP.AmendThemeForm', 'Show shadow:')) - self.AlignmentGroupBox.setTitle( + self.alignmentGroupBox.setTitle( translate('OpenLP.AmendThemeForm', 'Alignment')) - self.HorizontalLabel.setText( + self.horizontalLabel.setText( translate('OpenLP.AmendThemeForm', 'Horizontal align:')) - self.HorizontalComboBox.setItemText(0, + self.horizontalComboBox.setItemText(0, translate('OpenLP.AmendThemeForm', 'Left')) - self.HorizontalComboBox.setItemText(1, + self.horizontalComboBox.setItemText(1, translate('OpenLP.AmendThemeForm', 'Right')) - self.HorizontalComboBox.setItemText(2, + self.horizontalComboBox.setItemText(2, translate('OpenLP.AmendThemeForm', 'Center')) - self.VerticalLabel.setText( + self.verticalLabel.setText( translate('OpenLP.AmendThemeForm', 'Vertical align:')) - self.VerticalComboBox.setItemText(0, + self.verticalComboBox.setItemText(0, translate('OpenLP.AmendThemeForm', 'Top')) - self.VerticalComboBox.setItemText(1, + self.verticalComboBox.setItemText(1, translate('OpenLP.AmendThemeForm', 'Middle')) - self.VerticalComboBox.setItemText(2, + self.verticalComboBox.setItemText(2, translate('OpenLP.AmendThemeForm', 'Bottom')) - self.TransitionGroupBox.setTitle( + self.transitionGroupBox.setTitle( translate('OpenLP.AmendThemeForm', 'Slide Transition')) - self.SlideTransitionCheckBoxLabel.setText( + self.slideTransitionCheckBoxLabel.setText( translate('OpenLP.AmendThemeForm', 'Transition active')) - self.ThemeTabWidget.setTabText( - self.ThemeTabWidget.indexOf(self.OtherOptionsTab), + self.themeTabWidget.setTabText( + self.themeTabWidget.indexOf(self.otherOptionsTab), translate('OpenLP.AmendThemeForm', '&Other Options')) - self.PreviewGroupBox.setTitle( + self.previewGroupBox.setTitle( translate('OpenLP.AmendThemeForm', 'Preview')) diff --git a/openlp/core/ui/amendthemeform.py b/openlp/core/ui/amendthemeform.py index 2776b3f7b..cefd79df2 100644 --- a/openlp/core/ui/amendthemeform.py +++ b/openlp/core/ui/amendthemeform.py @@ -52,102 +52,102 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): self.setupUi(self) # define signals # Buttons - QtCore.QObject.connect(self.Color1PushButton, + QtCore.QObject.connect(self.color1PushButton, QtCore.SIGNAL(u'pressed()'), self.onColor1PushButtonClicked) - QtCore.QObject.connect(self.Color2PushButton, + QtCore.QObject.connect(self.color2PushButton, QtCore.SIGNAL(u'pressed()'), self.onColor2PushButtonClicked) - QtCore.QObject.connect(self.FontMainColorPushButton, + QtCore.QObject.connect(self.fontMainColorPushButton, QtCore.SIGNAL(u'pressed()'), self.onFontMainColorPushButtonClicked) - QtCore.QObject.connect(self.FontFooterColorPushButton, + QtCore.QObject.connect(self.fontFooterColorPushButton, QtCore.SIGNAL(u'pressed()'), self.onFontFooterColorPushButtonClicked) - QtCore.QObject.connect(self.OutlineColorPushButton, + QtCore.QObject.connect(self.outlineColorPushButton, QtCore.SIGNAL(u'pressed()'), self.onOutlineColorPushButtonClicked) - QtCore.QObject.connect(self.ShadowColorPushButton, + QtCore.QObject.connect(self.shadowColorPushButton, QtCore.SIGNAL(u'pressed()'), self.onShadowColorPushButtonClicked) - QtCore.QObject.connect(self.ImageToolButton, + QtCore.QObject.connect(self.imageToolButton, QtCore.SIGNAL(u'clicked()'), self.onImageToolButtonClicked) # Combo boxes - QtCore.QObject.connect(self.BackgroundComboBox, + QtCore.QObject.connect(self.backgroundComboBox, QtCore.SIGNAL(u'activated(int)'), self.onBackgroundComboBoxSelected) - QtCore.QObject.connect(self.BackgroundTypeComboBox, + QtCore.QObject.connect(self.backgroundTypeComboBox, QtCore.SIGNAL(u'activated(int)'), self.onBackgroundTypeComboBoxSelected) - QtCore.QObject.connect(self.GradientComboBox, + QtCore.QObject.connect(self.gradientComboBox, QtCore.SIGNAL(u'activated(int)'), self.onGradientComboBoxSelected) - QtCore.QObject.connect(self.FontMainComboBox, + QtCore.QObject.connect(self.fontMainComboBox, QtCore.SIGNAL(u'activated(int)'), self.onFontMainComboBoxSelected) - QtCore.QObject.connect(self.FontMainWeightComboBox, + QtCore.QObject.connect(self.fontMainWeightComboBox, QtCore.SIGNAL(u'activated(int)'), self.onFontMainWeightComboBoxSelected) - QtCore.QObject.connect(self.FontFooterComboBox, + QtCore.QObject.connect(self.fontFooterComboBox, QtCore.SIGNAL(u'activated(int)'), self.onFontFooterComboBoxSelected) - QtCore.QObject.connect(self.FontFooterWeightComboBox, + QtCore.QObject.connect(self.fontFooterWeightComboBox, QtCore.SIGNAL(u'activated(int)'), self.onFontFooterWeightComboBoxSelected) - QtCore.QObject.connect(self.HorizontalComboBox, + QtCore.QObject.connect(self.horizontalComboBox, QtCore.SIGNAL(u'activated(int)'), self.onHorizontalComboBoxSelected) - QtCore.QObject.connect(self.VerticalComboBox, + QtCore.QObject.connect(self.verticalComboBox, QtCore.SIGNAL(u'activated(int)'), self.onVerticalComboBoxSelected) # Spin boxes - QtCore.QObject.connect(self.FontMainSizeSpinBox, + QtCore.QObject.connect(self.fontMainSizeSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontMainSizeSpinBoxChanged) - QtCore.QObject.connect(self.FontFooterSizeSpinBox, + QtCore.QObject.connect(self.fontFooterSizeSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontFooterSizeSpinBoxChanged) - QtCore.QObject.connect(self.FontMainXSpinBox, + QtCore.QObject.connect(self.fontMainXSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontMainXSpinBoxChanged) - QtCore.QObject.connect(self.FontMainYSpinBox, + QtCore.QObject.connect(self.fontMainYSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontMainYSpinBoxChanged) - QtCore.QObject.connect(self.FontMainWidthSpinBox, + QtCore.QObject.connect(self.fontMainWidthSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontMainWidthSpinBoxChanged) - QtCore.QObject.connect(self.FontMainHeightSpinBox, + QtCore.QObject.connect(self.fontMainHeightSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontMainHeightSpinBoxChanged) - QtCore.QObject.connect(self.FontMainLineAdjustmentSpinBox, + QtCore.QObject.connect(self.fontMainLineAdjustmentSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontMainLineAdjustmentSpinBoxChanged) - QtCore.QObject.connect(self.FontMainLineSpacingSpinBox, + QtCore.QObject.connect(self.fontMainLineSpacingSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontMainLineSpacingSpinBoxChanged) - QtCore.QObject.connect(self.FontFooterXSpinBox, + QtCore.QObject.connect(self.fontFooterXSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontFooterXSpinBoxChanged) - QtCore.QObject.connect(self.FontFooterYSpinBox, + QtCore.QObject.connect(self.fontFooterYSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontFooterYSpinBoxChanged) - QtCore.QObject.connect(self.FontFooterWidthSpinBox, + QtCore.QObject.connect(self.fontFooterWidthSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontFooterWidthSpinBoxChanged) - QtCore.QObject.connect(self.FontFooterHeightSpinBox, + QtCore.QObject.connect(self.fontFooterHeightSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onFontFooterHeightSpinBoxChanged) - QtCore.QObject.connect(self.ShadowSpinBox, + QtCore.QObject.connect(self.shadowSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onShadowSpinBoxChanged) - QtCore.QObject.connect(self.OutlineSpinBox, + QtCore.QObject.connect(self.outlineSpinBox, QtCore.SIGNAL(u'editingFinished()'), self.onOutlineSpinBoxChanged) # CheckBoxes - QtCore.QObject.connect(self.FontMainDefaultCheckBox, + QtCore.QObject.connect(self.fontMainDefaultCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onFontMainDefaultCheckBoxChanged) - QtCore.QObject.connect(self.FontFooterDefaultCheckBox, + QtCore.QObject.connect(self.fontFooterDefaultCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onFontFooterDefaultCheckBoxChanged) - QtCore.QObject.connect(self.OutlineCheckBox, + QtCore.QObject.connect(self.outlineCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onOutlineCheckBoxChanged) - QtCore.QObject.connect(self.ShadowCheckBox, + QtCore.QObject.connect(self.shadowCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onShadowCheckBoxChanged) - QtCore.QObject.connect(self.SlideTransitionCheckBox, + QtCore.QObject.connect(self.slideTransitionCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onSlideTransitionCheckBoxChanged) def accept(self): new_theme = ThemeXML() - theme_name = unicode(self.ThemeNameEdit.text()) + theme_name = unicode(self.themeNameEdit.text()) new_theme.new_document(theme_name) save_from = None save_to = None @@ -225,7 +225,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): translate('OpenLP.AmendThemeForm', 'Select Image'), u'', images_filter) if filename: - self.ImageLineEdit.setText(filename) + self.imageLineEdit.setText(filename) self.theme.background_filename = filename self.previewTheme() @@ -233,7 +233,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): #Main Font Tab # def onFontMainComboBoxSelected(self): - self.theme.font_main_name = self.FontMainComboBox.currentFont().family() + self.theme.font_main_name = self.fontMainComboBox.currentFont().family() self.previewTheme() def onFontMainWeightComboBoxSelected(self, value): @@ -256,13 +256,13 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): QtGui.QColor(self.theme.font_main_color), self) if new_color.isValid(): self.theme.font_main_color = new_color.name() - self.FontMainColorPushButton.setStyleSheet( + self.fontMainColorPushButton.setStyleSheet( u'background-color: %s' % unicode(self.theme.font_main_color)) self.previewTheme() def onFontMainSizeSpinBoxChanged(self): - if self.theme.font_main_proportion != self.FontMainSizeSpinBox.value(): - self.theme.font_main_proportion = self.FontMainSizeSpinBox.value() + if self.theme.font_main_proportion != self.fontMainSizeSpinBox.value(): + self.theme.font_main_proportion = self.fontMainSizeSpinBox.value() self.previewTheme() def onFontMainDefaultCheckBoxChanged(self, value): @@ -277,49 +277,49 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): self.theme.font_main_y = u'10' self.theme.font_main_width = u'1024' self.theme.font_main_height = u'730' - self.FontMainXSpinBox.setValue(self.theme.font_main_x) - self.FontMainYSpinBox.setValue(self.theme.font_main_y) - self.FontMainWidthSpinBox.setValue(self.theme.font_main_width) - self.FontMainHeightSpinBox.setValue(self.theme.font_main_height) - self.FontMainLineAdjustmentSpinBox.setValue( + self.fontMainXSpinBox.setValue(self.theme.font_main_x) + self.fontMainYSpinBox.setValue(self.theme.font_main_y) + self.fontMainWidthSpinBox.setValue(self.theme.font_main_width) + self.fontMainHeightSpinBox.setValue(self.theme.font_main_height) + self.fontMainLineAdjustmentSpinBox.setValue( self.theme.font_main_line_adjustment) - self.FontMainLineSpacingSpinBox.setValue( + self.fontMainLineSpacingSpinBox.setValue( self.theme.font_main_indentation) self.stateChanging(self.theme) self.previewTheme() def onFontMainXSpinBoxChanged(self): - if self.theme.font_main_x != self.FontMainXSpinBox.value(): - self.theme.font_main_x = self.FontMainXSpinBox.value() + if self.theme.font_main_x != self.fontMainXSpinBox.value(): + self.theme.font_main_x = self.fontMainXSpinBox.value() self.previewTheme() def onFontMainYSpinBoxChanged(self): - if self.theme.font_main_y != self.FontMainYSpinBox.value(): - self.theme.font_main_y = self.FontMainYSpinBox.value() + if self.theme.font_main_y != self.fontMainYSpinBox.value(): + self.theme.font_main_y = self.fontMainYSpinBox.value() self.previewTheme() def onFontMainWidthSpinBoxChanged(self): - if self.theme.font_main_width != self.FontMainWidthSpinBox.value(): - self.theme.font_main_width = self.FontMainWidthSpinBox.value() + if self.theme.font_main_width != self.fontMainWidthSpinBox.value(): + self.theme.font_main_width = self.fontMainWidthSpinBox.value() self.previewTheme() def onFontMainLineAdjustmentSpinBoxChanged(self): if self.theme.font_main_line_adjustment != \ - self.FontMainLineAdjustmentSpinBox.value(): + self.fontMainLineAdjustmentSpinBox.value(): self.theme.font_main_line_adjustment = \ - self.FontMainLineAdjustmentSpinBox.value() + self.fontMainLineAdjustmentSpinBox.value() self.previewTheme() def onFontMainLineSpacingSpinBoxChanged(self): if self.theme.font_main_indentation != \ - self.FontMainLineSpacingSpinBox.value(): + self.fontMainLineSpacingSpinBox.value(): self.theme.font_main_indentation = \ - self.FontMainLineSpacingSpinBox.value() + self.fontMainLineSpacingSpinBox.value() self.previewTheme() def onFontMainHeightSpinBoxChanged(self): - if self.theme.font_main_height != self.FontMainHeightSpinBox.value(): - self.theme.font_main_height = self.FontMainHeightSpinBox.value() + if self.theme.font_main_height != self.fontMainHeightSpinBox.value(): + self.theme.font_main_height = self.fontMainHeightSpinBox.value() self.previewTheme() # @@ -327,7 +327,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): # def onFontFooterComboBoxSelected(self): self.theme.font_footer_name = \ - self.FontFooterComboBox.currentFont().family() + self.fontFooterComboBox.currentFont().family() self.previewTheme() def onFontFooterWeightComboBoxSelected(self, value): @@ -350,15 +350,15 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): QtGui.QColor(self.theme.font_footer_color), self) if new_color.isValid(): self.theme.font_footer_color = new_color.name() - self.FontFooterColorPushButton.setStyleSheet( + self.fontFooterColorPushButton.setStyleSheet( u'background-color: %s' % unicode(self.theme.font_footer_color)) self.previewTheme() def onFontFooterSizeSpinBoxChanged(self): if self.theme.font_footer_proportion != \ - self.FontFooterSizeSpinBox.value(): + self.fontFooterSizeSpinBox.value(): self.theme.font_footer_proportion = \ - self.FontFooterSizeSpinBox.value() + self.fontFooterSizeSpinBox.value() self.previewTheme() def onFontFooterDefaultCheckBoxChanged(self, value): @@ -373,41 +373,41 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): self.theme.font_footer_y = u'730' self.theme.font_footer_width = u'1024' self.theme.font_footer_height = u'38' - self.FontFooterXSpinBox.setValue(self.theme.font_footer_x) - self.FontFooterYSpinBox.setValue(self.theme.font_footer_y) - self.FontFooterWidthSpinBox.setValue(self.theme.font_footer_width) - self.FontFooterHeightSpinBox.setValue( + self.fontFooterXSpinBox.setValue(self.theme.font_footer_x) + self.fontFooterYSpinBox.setValue(self.theme.font_footer_y) + self.fontFooterWidthSpinBox.setValue(self.theme.font_footer_width) + self.fontFooterHeightSpinBox.setValue( self.theme.font_footer_height) self.stateChanging(self.theme) self.previewTheme() def onFontFooterXSpinBoxChanged(self): - if self.theme.font_footer_x != self.FontFooterXSpinBox.value(): - self.theme.font_footer_x = self.FontFooterXSpinBox.value() + if self.theme.font_footer_x != self.fontFooterXSpinBox.value(): + self.theme.font_footer_x = self.fontFooterXSpinBox.value() self.previewTheme() def onFontFooterYSpinBoxChanged(self): - if self.theme.font_footer_y != self.FontFooterYSpinBox.value(): - self.theme.font_footer_y = self.FontFooterYSpinBox.value() + if self.theme.font_footer_y != self.fontFooterYSpinBox.value(): + self.theme.font_footer_y = self.fontFooterYSpinBox.value() self.previewTheme() def onFontFooterWidthSpinBoxChanged(self): - if self.theme.font_footer_width != self.FontFooterWidthSpinBox.value(): - self.theme.font_footer_width = self.FontFooterWidthSpinBox.value() + if self.theme.font_footer_width != self.fontFooterWidthSpinBox.value(): + self.theme.font_footer_width = self.fontFooterWidthSpinBox.value() self.previewTheme() def onFontFooterHeightSpinBoxChanged(self): if self.theme.font_footer_height != \ - self.FontFooterHeightSpinBox.value(): + self.fontFooterHeightSpinBox.value(): self.theme.font_footer_height = \ - self.FontFooterHeightSpinBox.value() + self.fontFooterHeightSpinBox.value() self.previewTheme() # #Background Tab # def onGradientComboBoxSelected(self, currentIndex): - self.setBackground(self.BackgroundTypeComboBox.currentIndex(), + self.setBackground(self.backgroundTypeComboBox.currentIndex(), currentIndex) def onBackgroundComboBoxSelected(self, currentIndex): @@ -419,14 +419,14 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): self.previewTheme() def onBackgroundTypeComboBoxSelected(self, currentIndex): - self.setBackground(currentIndex, self.GradientComboBox.currentIndex()) + self.setBackground(currentIndex, self.gradientComboBox.currentIndex()) def setBackground(self, background, gradient): if background == 0: # Solid self.theme.background_type = u'solid' if self.theme.background_color is None: self.theme.background_color = u'#000000' - self.ImageLineEdit.setText(u'') + self.imageLineEdit.setText(u'') elif background == 1: # Gradient self.theme.background_type = u'gradient' if gradient == 0: # Horizontal @@ -439,7 +439,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): self.theme.background_startColor = u'#000000' if self.theme.background_endColor is None: self.theme.background_endColor = u'#ff0000' - self.ImageLineEdit.setText(u'') + self.imageLineEdit.setText(u'') else: self.theme.background_type = u'image' self.stateChanging(self.theme) @@ -451,14 +451,14 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): QtGui.QColor(self.theme.background_color), self) if new_color.isValid(): self.theme.background_color = new_color.name() - self.Color1PushButton.setStyleSheet(u'background-color: %s' % + self.color1PushButton.setStyleSheet(u'background-color: %s' % unicode(self.theme.background_color)) else: new_color = QtGui.QColorDialog.getColor( QtGui.QColor(self.theme.background_startColor), self) if new_color.isValid(): self.theme.background_startColor = new_color.name() - self.Color1PushButton.setStyleSheet(u'background-color: %s' % + self.color1PushButton.setStyleSheet(u'background-color: %s' % unicode(self.theme.background_startColor)) self.previewTheme() @@ -467,7 +467,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): QtGui.QColor(self.theme.background_endColor), self) if new_color.isValid(): self.theme.background_endColor = new_color.name() - self.Color2PushButton.setStyleSheet(u'background-color: %s' % + self.color2PushButton.setStyleSheet(u'background-color: %s' % unicode(self.theme.background_endColor)) self.previewTheme() @@ -483,13 +483,13 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): self.previewTheme() def onOutlineSpinBoxChanged(self): - if self.theme.display_outline_size != self.OutlineSpinBox.value(): - self.theme.display_outline_size = self.OutlineSpinBox.value() + if self.theme.display_outline_size != self.outlineSpinBox.value(): + self.theme.display_outline_size = self.outlineSpinBox.value() self.previewTheme() def onShadowSpinBoxChanged(self): - if self.theme.display_shadow_size != self.ShadowSpinBox.value(): - self.theme.display_shadow_size = self.ShadowSpinBox.value() + if self.theme.display_shadow_size != self.shadowSpinBox.value(): + self.theme.display_shadow_size = self.shadowSpinBox.value() self.previewTheme() def onOutlineColorPushButtonClicked(self): @@ -497,7 +497,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): QtGui.QColor(self.theme.display_outline_color), self) if new_color.isValid(): self.theme.display_outline_color = new_color.name() - self.OutlineColorPushButton.setStyleSheet(u'background-color: %s' % + self.outlineColorPushButton.setStyleSheet(u'background-color: %s' % unicode(self.theme.display_outline_color)) self.previewTheme() @@ -522,7 +522,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): QtGui.QColor(self.theme.display_shadow_color), self) if new_color.isValid(): self.theme.display_shadow_color = new_color.name() - self.ShadowColorPushButton.setStyleSheet(u'background-color: %s' % + self.shadowColorPushButton.setStyleSheet(u'background-color: %s' % unicode(self.theme.display_shadow_color)) self.previewTheme() @@ -541,194 +541,194 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): # def paintUi(self, theme): self.stateChanging(theme) - self.ThemeNameEdit.setText(self.theme.theme_name) + self.themeNameEdit.setText(self.theme.theme_name) # Background Tab if self.theme.background_mode == u'opaque': - self.BackgroundComboBox.setCurrentIndex(0) + self.backgroundComboBox.setCurrentIndex(0) else: - self.BackgroundComboBox.setCurrentIndex(1) - self.ImageLineEdit.setText(u'') + self.backgroundComboBox.setCurrentIndex(1) + self.imageLineEdit.setText(u'') if theme.background_type == u'solid': - self.BackgroundTypeComboBox.setCurrentIndex(0) + self.backgroundTypeComboBox.setCurrentIndex(0) elif theme.background_type == u'gradient': - self.BackgroundTypeComboBox.setCurrentIndex(1) + self.backgroundTypeComboBox.setCurrentIndex(1) else: - self.BackgroundTypeComboBox.setCurrentIndex(2) - self.ImageLineEdit.setText(self.theme.background_filename) + self.backgroundTypeComboBox.setCurrentIndex(2) + self.imageLineEdit.setText(self.theme.background_filename) if self.theme.background_direction == u'horizontal': - self.GradientComboBox.setCurrentIndex(0) + self.gradientComboBox.setCurrentIndex(0) elif self.theme.background_direction == u'vertical': - self.GradientComboBox.setCurrentIndex(1) + self.gradientComboBox.setCurrentIndex(1) else: - self.GradientComboBox.setCurrentIndex(2) + self.gradientComboBox.setCurrentIndex(2) # Font Main Tab - self.FontMainComboBox.setCurrentFont( + self.fontMainComboBox.setCurrentFont( QtGui.QFont(self.theme.font_main_name)) - self.FontMainSizeSpinBox.setValue(self.theme.font_main_proportion) + self.fontMainSizeSpinBox.setValue(self.theme.font_main_proportion) if not self.theme.font_main_italics and \ self.theme.font_main_weight == u'Normal': - self.FontMainWeightComboBox.setCurrentIndex(0) + self.fontMainWeightComboBox.setCurrentIndex(0) elif not self.theme.font_main_italics and \ self.theme.font_main_weight == u'Bold': - self.FontMainWeightComboBox.setCurrentIndex(1) + self.fontMainWeightComboBox.setCurrentIndex(1) elif self.theme.font_main_italics and \ self.theme.font_main_weight == u'Normal': - self.FontMainWeightComboBox.setCurrentIndex(2) + self.fontMainWeightComboBox.setCurrentIndex(2) else: - self.FontMainWeightComboBox.setCurrentIndex(3) - self.FontMainLineSpacingSpinBox.setValue( + self.fontMainWeightComboBox.setCurrentIndex(3) + self.fontMainLineSpacingSpinBox.setValue( self.theme.font_main_indentation) - self.FontMainXSpinBox.setValue(self.theme.font_main_x) - self.FontMainYSpinBox.setValue(self.theme.font_main_y) - self.FontMainWidthSpinBox.setValue(self.theme.font_main_width) - self.FontMainHeightSpinBox.setValue(self.theme.font_main_height) + self.fontMainXSpinBox.setValue(self.theme.font_main_x) + self.fontMainYSpinBox.setValue(self.theme.font_main_y) + self.fontMainWidthSpinBox.setValue(self.theme.font_main_width) + self.fontMainHeightSpinBox.setValue(self.theme.font_main_height) # Font Footer Tab - self.FontFooterComboBox.setCurrentFont( + self.fontFooterComboBox.setCurrentFont( QtGui.QFont(self.theme.font_footer_name)) - self.FontFooterSizeSpinBox.setValue( + self.fontFooterSizeSpinBox.setValue( self.theme.font_footer_proportion) if not self.theme.font_footer_italics and \ self.theme.font_footer_weight == u'Normal': - self.FontFooterWeightComboBox.setCurrentIndex(0) + self.fontFooterWeightComboBox.setCurrentIndex(0) elif not self.theme.font_footer_italics and \ self.theme.font_footer_weight == u'Bold': - self.FontFooterWeightComboBox.setCurrentIndex(1) + self.fontFooterWeightComboBox.setCurrentIndex(1) elif self.theme.font_footer_italics and \ self.theme.font_footer_weight == u'Normal': - self.FontFooterWeightComboBox.setCurrentIndex(2) + self.fontFooterWeightComboBox.setCurrentIndex(2) else: - self.FontFooterWeightComboBox.setCurrentIndex(3) - self.FontFooterXSpinBox.setValue(self.theme.font_footer_x) - self.FontFooterYSpinBox.setValue(self.theme.font_footer_y) - self.FontFooterWidthSpinBox.setValue(self.theme.font_footer_width) - self.FontFooterHeightSpinBox.setValue(self.theme.font_footer_height) - self.FontMainColorPushButton.setStyleSheet( + self.fontFooterWeightComboBox.setCurrentIndex(3) + self.fontFooterXSpinBox.setValue(self.theme.font_footer_x) + self.fontFooterYSpinBox.setValue(self.theme.font_footer_y) + self.fontFooterWidthSpinBox.setValue(self.theme.font_footer_width) + self.fontFooterHeightSpinBox.setValue(self.theme.font_footer_height) + self.fontMainColorPushButton.setStyleSheet( u'background-color: %s' % unicode(theme.font_main_color)) - self.FontFooterColorPushButton.setStyleSheet( + self.fontFooterColorPushButton.setStyleSheet( u'background-color: %s' % unicode(theme.font_footer_color)) if not self.theme.font_main_override: - self.FontMainDefaultCheckBox.setChecked(True) + self.fontMainDefaultCheckBox.setChecked(True) else: - self.FontMainDefaultCheckBox.setChecked(False) + self.fontMainDefaultCheckBox.setChecked(False) if not self.theme.font_footer_override: - self.FontFooterDefaultCheckBox.setChecked(True) + self.fontFooterDefaultCheckBox.setChecked(True) else: - self.FontFooterDefaultCheckBox.setChecked(False) - self.OutlineColorPushButton.setStyleSheet( + self.fontFooterDefaultCheckBox.setChecked(False) + self.outlineColorPushButton.setStyleSheet( u'background-color: %s' % unicode(theme.display_outline_color)) - self.ShadowColorPushButton.setStyleSheet( + self.shadowColorPushButton.setStyleSheet( u'background-color: %s' % unicode(theme.display_shadow_color)) if self.theme.display_outline: - self.OutlineCheckBox.setChecked(True) - self.OutlineColorPushButton.setEnabled(True) + self.outlineCheckBox.setChecked(True) + self.outlineColorPushButton.setEnabled(True) else: - self.OutlineCheckBox.setChecked(False) - self.OutlineColorPushButton.setEnabled(False) - self.OutlineSpinBox.setValue(int(self.theme.display_outline_size)) + self.outlineCheckBox.setChecked(False) + self.outlineColorPushButton.setEnabled(False) + self.outlineSpinBox.setValue(int(self.theme.display_outline_size)) if self.theme.display_shadow: - self.ShadowCheckBox.setChecked(True) - self.ShadowColorPushButton.setEnabled(True) + self.shadowCheckBox.setChecked(True) + self.shadowColorPushButton.setEnabled(True) else: - self.ShadowCheckBox.setChecked(False) - self.ShadowColorPushButton.setEnabled(False) - self.ShadowSpinBox.setValue(int(self.theme.display_shadow_size)) + self.shadowCheckBox.setChecked(False) + self.shadowColorPushButton.setEnabled(False) + self.shadowSpinBox.setValue(int(self.theme.display_shadow_size)) if self.theme.display_slideTransition: - self.SlideTransitionCheckBox.setCheckState(QtCore.Qt.Checked) + self.slideTransitionCheckBox.setCheckState(QtCore.Qt.Checked) else: - self.SlideTransitionCheckBox.setCheckState(QtCore.Qt.Unchecked) - self.HorizontalComboBox.setCurrentIndex( + self.slideTransitionCheckBox.setCheckState(QtCore.Qt.Unchecked) + self.horizontalComboBox.setCurrentIndex( self.theme.display_horizontalAlign) - self.VerticalComboBox.setCurrentIndex(self.theme.display_verticalAlign) + self.verticalComboBox.setCurrentIndex(self.theme.display_verticalAlign) def stateChanging(self, theme): if theme.background_mode == u'transparent': - self.Color1Label.setVisible(False) - self.Color1PushButton.setVisible(False) - self.Color2Label.setVisible(False) - self.Color2PushButton.setVisible(False) - self.ImageLabel.setVisible(False) - self.ImageLineEdit.setVisible(False) - self.ImageFilenameWidget.setVisible(False) - self.GradientLabel.setVisible(False) - self.GradientComboBox.setVisible(False) - self.BackgroundTypeComboBox.setVisible(False) - self.BackgroundTypeLabel.setVisible(False) + self.color1Label.setVisible(False) + self.color1PushButton.setVisible(False) + self.color2Label.setVisible(False) + self.color2PushButton.setVisible(False) + self.imageLabel.setVisible(False) + self.imageLineEdit.setVisible(False) + self.imageFilenameWidget.setVisible(False) + self.gradientLabel.setVisible(False) + self.gradientComboBox.setVisible(False) + self.backgroundTypeComboBox.setVisible(False) + self.backgroundTypeLabel.setVisible(False) else: - self.BackgroundTypeComboBox.setVisible(True) - self.BackgroundTypeLabel.setVisible(True) + self.backgroundTypeComboBox.setVisible(True) + self.backgroundTypeLabel.setVisible(True) if theme.background_type == u'solid': - self.Color1PushButton.setStyleSheet( + self.color1PushButton.setStyleSheet( u'background-color: %s' % unicode(theme.background_color)) - self.Color1Label.setText( + self.color1Label.setText( translate('OpenLP.AmendThemeForm', 'Color:')) - self.Color1Label.setVisible(True) - self.Color1PushButton.setVisible(True) - self.Color2Label.setVisible(False) - self.Color2PushButton.setVisible(False) - self.ImageLabel.setVisible(False) - self.ImageLineEdit.setVisible(False) - self.ImageFilenameWidget.setVisible(False) - self.GradientLabel.setVisible(False) - self.GradientComboBox.setVisible(False) + self.color1Label.setVisible(True) + self.color1PushButton.setVisible(True) + self.color2Label.setVisible(False) + self.color2PushButton.setVisible(False) + self.imageLabel.setVisible(False) + self.imageLineEdit.setVisible(False) + self.imageFilenameWidget.setVisible(False) + self.gradientLabel.setVisible(False) + self.gradientComboBox.setVisible(False) elif theme.background_type == u'gradient': - self.Color1PushButton.setStyleSheet(u'background-color: %s' \ + self.color1PushButton.setStyleSheet(u'background-color: %s' \ % unicode(theme.background_startColor)) - self.Color2PushButton.setStyleSheet(u'background-color: %s' \ + self.color2PushButton.setStyleSheet(u'background-color: %s' \ % unicode(theme.background_endColor)) - self.Color1Label.setText( + self.color1Label.setText( translate('OpenLP.AmendThemeForm', 'First color:')) - self.Color2Label.setText( + self.color2Label.setText( translate('OpenLP.AmendThemeForm', 'Second color:')) - self.Color1Label.setVisible(True) - self.Color1PushButton.setVisible(True) - self.Color2Label.setVisible(True) - self.Color2PushButton.setVisible(True) - self.ImageLabel.setVisible(False) - self.ImageLineEdit.setVisible(False) - self.ImageFilenameWidget.setVisible(False) - self.GradientLabel.setVisible(True) - self.GradientComboBox.setVisible(True) + self.color1Label.setVisible(True) + self.color1PushButton.setVisible(True) + self.color2Label.setVisible(True) + self.color2PushButton.setVisible(True) + self.imageLabel.setVisible(False) + self.imageLineEdit.setVisible(False) + self.imageFilenameWidget.setVisible(False) + self.gradientLabel.setVisible(True) + self.gradientComboBox.setVisible(True) else: # must be image - self.Color1Label.setVisible(False) - self.Color1PushButton.setVisible(False) - self.Color2Label.setVisible(False) - self.Color2PushButton.setVisible(False) - self.ImageLabel.setVisible(True) - self.ImageLineEdit.setVisible(True) - self.ImageFilenameWidget.setVisible(True) - self.GradientLabel.setVisible(False) - self.GradientComboBox.setVisible(False) + self.color1Label.setVisible(False) + self.color1PushButton.setVisible(False) + self.color2Label.setVisible(False) + self.color2PushButton.setVisible(False) + self.imageLabel.setVisible(True) + self.imageLineEdit.setVisible(True) + self.imageFilenameWidget.setVisible(True) + self.gradientLabel.setVisible(False) + self.gradientComboBox.setVisible(False) if not theme.font_main_override: - self.FontMainXSpinBox.setEnabled(False) - self.FontMainYSpinBox.setEnabled(False) - self.FontMainWidthSpinBox.setEnabled(False) - self.FontMainHeightSpinBox.setEnabled(False) + self.fontMainXSpinBox.setEnabled(False) + self.fontMainYSpinBox.setEnabled(False) + self.fontMainWidthSpinBox.setEnabled(False) + self.fontMainHeightSpinBox.setEnabled(False) else: - self.FontMainXSpinBox.setEnabled(True) - self.FontMainYSpinBox.setEnabled(True) - self.FontMainWidthSpinBox.setEnabled(True) - self.FontMainHeightSpinBox.setEnabled(True) + self.fontMainXSpinBox.setEnabled(True) + self.fontMainYSpinBox.setEnabled(True) + self.fontMainWidthSpinBox.setEnabled(True) + self.fontMainHeightSpinBox.setEnabled(True) if not theme.font_footer_override: - self.FontFooterXSpinBox.setEnabled(False) - self.FontFooterYSpinBox.setEnabled(False) - self.FontFooterWidthSpinBox.setEnabled(False) - self.FontFooterHeightSpinBox.setEnabled(False) + self.fontFooterXSpinBox.setEnabled(False) + self.fontFooterYSpinBox.setEnabled(False) + self.fontFooterWidthSpinBox.setEnabled(False) + self.fontFooterHeightSpinBox.setEnabled(False) else: - self.FontFooterXSpinBox.setEnabled(True) - self.FontFooterYSpinBox.setEnabled(True) - self.FontFooterWidthSpinBox.setEnabled(True) - self.FontFooterHeightSpinBox.setEnabled(True) + self.fontFooterXSpinBox.setEnabled(True) + self.fontFooterYSpinBox.setEnabled(True) + self.fontFooterWidthSpinBox.setEnabled(True) + self.fontFooterHeightSpinBox.setEnabled(True) if self.theme.display_outline: - self.OutlineColorPushButton.setEnabled(True) + self.outlineColorPushButton.setEnabled(True) else: - self.OutlineColorPushButton.setEnabled(False) + self.outlineColorPushButton.setEnabled(False) if self.theme.display_shadow: - self.ShadowColorPushButton.setEnabled(True) + self.shadowColorPushButton.setEnabled(True) else: - self.ShadowColorPushButton.setEnabled(False) + self.shadowColorPushButton.setEnabled(False) def previewTheme(self): if self.allowPreview: @@ -742,15 +742,15 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): # pixels top/bottom line_height += 2 * int(self.theme.display_outline_size) page_length = \ - ((self.FontMainHeightSpinBox.value()) / line_height ) + ((self.fontMainHeightSpinBox.value()) / line_height ) log.debug(u'Page Length area height %s, metrics %s, lines %s' % - (self.FontMainHeightSpinBox.value(), metrics.height(), + (self.fontMainHeightSpinBox.value(), metrics.height(), page_length)) page_length_text = unicode( translate('OpenLP.AmendThemeForm', 'Slide height is %s rows.')) - self.FontMainLinesPageLabel.setText(page_length_text % page_length) + self.fontMainLinesPageLabel.setText(page_length_text % page_length) frame = self.thememanager.generateImage(self.theme) - self.ThemePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) + self.themePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) def _getThemeMetrics(self): main_weight = 50 @@ -765,5 +765,5 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog): # Validate that the screen width is big enough to display the text if self.theme.font_main_width < metrics.maxWidth() * 2 + 64: self.theme.font_main_width = metrics.maxWidth() * 2 + 64 - self.FontMainWidthSpinBox.setValue(self.theme.font_main_width) + self.fontMainWidthSpinBox.setValue(self.theme.font_main_width) return metrics From 7f6920e22022af8a410abbfce5d69c9226b7fe81 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 11:46:39 +0100 Subject: [PATCH 120/148] Missed a few bits --- openlp/core/ui/amendthemedialog.py | 32 +++++++++++++++--------------- openlp/core/ui/generaltab.py | 4 ++-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/openlp/core/ui/amendthemedialog.py b/openlp/core/ui/amendthemedialog.py index bef41e8fa..893b5e32d 100644 --- a/openlp/core/ui/amendthemedialog.py +++ b/openlp/core/ui/amendthemedialog.py @@ -123,18 +123,18 @@ class Ui_AmendThemeDialog(object): self.gradientComboBox) self.imageFilenameWidget = QtGui.QWidget(self.backgroundTab) self.imageFilenameWidget.setObjectName(u'imageFilenameWidget') - self.horizontalLayout_2 = QtGui.QHBoxLayout(self.imageFilenameWidget) - self.horizontalLayout_2.setSpacing(0) - self.horizontalLayout_2.setMargin(0) - self.horizontalLayout_2.setObjectName(u'horizontalLayout_2') + self.horizontalLayout2 = QtGui.QHBoxLayout(self.imageFilenameWidget) + self.horizontalLayout2.setSpacing(0) + self.horizontalLayout2.setMargin(0) + self.horizontalLayout2.setObjectName(u'horizontalLayout2') self.imageLineEdit = QtGui.QLineEdit(self.imageFilenameWidget) self.imageLineEdit.setObjectName(u'imageLineEdit') - self.horizontalLayout_2.addWidget(self.imageLineEdit) + self.horizontalLayout2.addWidget(self.imageLineEdit) self.imageToolButton = QtGui.QToolButton(self.imageFilenameWidget) self.imageToolButton.setIcon(build_icon(u':/general/general_open.png')) self.imageToolButton.setObjectName(u'imageToolButton') self.imageToolButton.setAutoRaise(True) - self.horizontalLayout_2.addWidget(self.imageToolButton) + self.horizontalLayout2.addWidget(self.imageToolButton) self.backgroundLayout.setWidget(4, QtGui.QFormLayout.FieldRole, self.imageFilenameWidget) self.themeTabWidget.addTab(self.backgroundTab, u'') @@ -572,40 +572,40 @@ class Ui_AmendThemeDialog(object): self.optionsRightLayout.setObjectName(u'optionsRightLayout') self.alignmentGroupBox = QtGui.QGroupBox(self.optionsRightWidget) self.alignmentGroupBox.setObjectName(u'alignmentGroupBox') - self.gridLayout_4 = QtGui.QGridLayout(self.alignmentGroupBox) - self.gridLayout_4.setObjectName(u'gridLayout_4') + self.gridLayout4 = QtGui.QGridLayout(self.alignmentGroupBox) + self.gridLayout4.setObjectName(u'gridLayout4') self.horizontalLabel = QtGui.QLabel(self.alignmentGroupBox) self.horizontalLabel.setObjectName(u'horizontalLabel') - self.gridLayout_4.addWidget(self.horizontalLabel, 0, 0, 1, 1) + self.gridLayout4.addWidget(self.horizontalLabel, 0, 0, 1, 1) self.horizontalComboBox = QtGui.QComboBox(self.alignmentGroupBox) self.horizontalComboBox.setObjectName(u'horizontalComboBox') self.horizontalComboBox.addItem(QtCore.QString()) self.horizontalComboBox.addItem(QtCore.QString()) self.horizontalComboBox.addItem(QtCore.QString()) - self.gridLayout_4.addWidget(self.horizontalComboBox, 0, 1, 1, 1) + self.gridLayout4.addWidget(self.horizontalComboBox, 0, 1, 1, 1) self.verticalLabel = QtGui.QLabel(self.alignmentGroupBox) self.verticalLabel.setObjectName(u'verticalLabel') - self.gridLayout_4.addWidget(self.verticalLabel, 1, 0, 1, 1) + self.gridLayout4.addWidget(self.verticalLabel, 1, 0, 1, 1) self.verticalComboBox = QtGui.QComboBox(self.alignmentGroupBox) self.verticalComboBox.setObjectName(u'verticalComboBox') self.verticalComboBox.addItem(QtCore.QString()) self.verticalComboBox.addItem(QtCore.QString()) self.verticalComboBox.addItem(QtCore.QString()) - self.gridLayout_4.addWidget(self.verticalComboBox, 1, 1, 1, 1) + self.gridLayout4.addWidget(self.verticalComboBox, 1, 1, 1, 1) self.optionsRightLayout.addWidget(self.alignmentGroupBox) self.transitionGroupBox = QtGui.QGroupBox(self.optionsRightWidget) self.transitionGroupBox.setObjectName(u'transitionGroupBox') - self.gridLayout_5 = QtGui.QGridLayout(self.transitionGroupBox) - self.gridLayout_5.setObjectName(u'gridLayout_5') + self.gridLayout5 = QtGui.QGridLayout(self.transitionGroupBox) + self.gridLayout5.setObjectName(u'gridLayout5') self.slideTransitionCheckBoxLabel = QtGui.QLabel( self.transitionGroupBox) self.slideTransitionCheckBoxLabel.setObjectName( u'slideTransitionCheckBoxLabel') - self.gridLayout_5.addWidget( + self.gridLayout5.addWidget( self.slideTransitionCheckBoxLabel, 0, 0, 1, 1) self.slideTransitionCheckBox = QtGui.QCheckBox(self.alignmentGroupBox) self.slideTransitionCheckBox.setTristate(False) - self.gridLayout_5.addWidget(self.slideTransitionCheckBox, 0, 1, 1, 1) + self.gridLayout5.addWidget(self.slideTransitionCheckBox, 0, 1, 1, 1) self.optionsRightLayout.addWidget(self.transitionGroupBox) spacerItem6 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 4e6dc96ca..a47743c63 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -401,7 +401,7 @@ class GeneralTab(SettingsTab): self.customYValueEdit.setEnabled(self.overrideCheckBox.isChecked()) self.customHeightValueEdit.setEnabled(self.overrideCheckBox.isChecked()) self.customWidthValueEdit.setEnabled(self.overrideCheckBox.isChecked()) - self.override_changed = False + self.overrideChanged = False def save(self): """ @@ -473,4 +473,4 @@ class GeneralTab(SettingsTab): self.customYValueEdit.setEnabled(checked) self.customHeightValueEdit.setEnabled(checked) self.customWidthValueEdit.setEnabled(checked) - self.override_changed = True + self.overrideChanged = True From 9482b40b8cc8e166e809266ef6518cc8abe6c715 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 12:21:11 +0100 Subject: [PATCH 121/148] EditCustom & SongUsage naming --- .../plugins/custom/forms/editcustomdialog.py | 196 ++++++++--------- openlp/plugins/custom/forms/editcustomform.py | 200 +++++++++--------- .../songusage/forms/songusagedeletedialog.py | 34 +-- .../songusage/forms/songusagedeleteform.py | 5 +- .../songusage/forms/songusagedetaildialog.py | 72 +++---- .../songusage/forms/songusagedetailform.py | 18 +- 6 files changed, 262 insertions(+), 263 deletions(-) diff --git a/openlp/plugins/custom/forms/editcustomdialog.py b/openlp/plugins/custom/forms/editcustomdialog.py index 8d2db4219..67544d020 100644 --- a/openlp/plugins/custom/forms/editcustomdialog.py +++ b/openlp/plugins/custom/forms/editcustomdialog.py @@ -28,7 +28,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import build_icon, translate -class Ui_customEditDialog(object): +class Ui_CustomEditDialog(object): def setupUi(self, customEditDialog): customEditDialog.setObjectName(u'customEditDialog') customEditDialog.resize(590, 541) @@ -38,94 +38,94 @@ class Ui_customEditDialog(object): self.gridLayout.setObjectName(u'gridLayout') self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName(u'horizontalLayout') - self.TitleLabel = QtGui.QLabel(customEditDialog) - self.TitleLabel.setObjectName(u'TitleLabel') - self.horizontalLayout.addWidget(self.TitleLabel) - self.TitleEdit = QtGui.QLineEdit(customEditDialog) - self.TitleLabel.setBuddy(self.TitleEdit) - self.TitleEdit.setObjectName(u'TitleEdit') - self.horizontalLayout.addWidget(self.TitleEdit) + self.titleLabel = QtGui.QLabel(customEditDialog) + self.titleLabel.setObjectName(u'titleLabel') + self.horizontalLayout.addWidget(self.titleLabel) + self.titleEdit = QtGui.QLineEdit(customEditDialog) + self.titleLabel.setBuddy(self.titleEdit) + self.titleEdit.setObjectName(u'titleEdit') + self.horizontalLayout.addWidget(self.titleEdit) self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1) - self.horizontalLayout_4 = QtGui.QHBoxLayout() - self.horizontalLayout_4.setObjectName(u'horizontalLayout_4') - self.VerseListView = QtGui.QListWidget(customEditDialog) - self.VerseListView.setAlternatingRowColors(True) - self.VerseListView.setObjectName(u'VerseListView') - self.horizontalLayout_4.addWidget(self.VerseListView) + self.horizontalLayout4 = QtGui.QHBoxLayout() + self.horizontalLayout4.setObjectName(u'horizontalLayout4') + self.verseListView = QtGui.QListWidget(customEditDialog) + self.verseListView.setAlternatingRowColors(True) + self.verseListView.setObjectName(u'verseListView') + self.horizontalLayout4.addWidget(self.verseListView) self.verticalLayout = QtGui.QVBoxLayout() self.verticalLayout.setObjectName(u'verticalLayout') - self.UpButton = QtGui.QPushButton(customEditDialog) - self.UpButton.setIcon(build_icon(u':/services/service_up.png')) - self.UpButton.setObjectName(u'UpButton') - self.verticalLayout.addWidget(self.UpButton) + self.upButton = QtGui.QPushButton(customEditDialog) + self.upButton.setIcon(build_icon(u':/services/service_up.png')) + self.upButton.setObjectName(u'upButton') + self.verticalLayout.addWidget(self.upButton) spacerItem = QtGui.QSpacerItem(20, 128, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem) - self.DownButton = QtGui.QPushButton(customEditDialog) - self.DownButton.setIcon(build_icon(u':/services/service_down.png')) - self.DownButton.setObjectName(u'DownButton') - self.verticalLayout.addWidget(self.DownButton) - self.horizontalLayout_4.addLayout(self.verticalLayout) - self.gridLayout.addLayout(self.horizontalLayout_4, 1, 0, 1, 1) - self.EditWidget = QtGui.QWidget(customEditDialog) - self.EditWidget.setObjectName(u'EditWidget') - self.EditLayout_3 = QtGui.QHBoxLayout(self.EditWidget) - self.EditLayout_3.setSpacing(8) - self.EditLayout_3.setMargin(0) - self.EditLayout_3.setObjectName(u'EditLayout_3') - self.VerseTextEdit = QtGui.QTextEdit(self.EditWidget) + self.downButton = QtGui.QPushButton(customEditDialog) + self.downButton.setIcon(build_icon(u':/services/service_down.png')) + self.downButton.setObjectName(u'downButton') + self.verticalLayout.addWidget(self.downButton) + self.horizontalLayout4.addLayout(self.verticalLayout) + self.gridLayout.addLayout(self.horizontalLayout4, 1, 0, 1, 1) + self.editWidget = QtGui.QWidget(customEditDialog) + self.editWidget.setObjectName(u'editWidget') + self.editLayout3 = QtGui.QHBoxLayout(self.editWidget) + self.editLayout3.setSpacing(8) + self.editLayout3.setMargin(0) + self.editLayout3.setObjectName(u'editLayout3') + self.VerseTextEdit = QtGui.QTextEdit(self.editWidget) self.VerseTextEdit.setObjectName(u'VerseTextEdit') - self.EditLayout_3.addWidget(self.VerseTextEdit) - self.ButtonWidge = QtGui.QWidget(self.EditWidget) + self.editLayout3.addWidget(self.VerseTextEdit) + self.ButtonWidge = QtGui.QWidget(self.editWidget) self.ButtonWidge.setObjectName(u'ButtonWidge') - self.verticalLayout_2 = QtGui.QVBoxLayout(self.ButtonWidge) - self.verticalLayout_2.setObjectName(u'verticalLayout_2') - self.AddButton = QtGui.QPushButton(self.ButtonWidge) - self.AddButton.setObjectName(u'AddButton') - self.verticalLayout_2.addWidget(self.AddButton) - self.EditButton = QtGui.QPushButton(self.ButtonWidge) - self.EditButton.setObjectName(u'EditButton') - self.verticalLayout_2.addWidget(self.EditButton) - self.EditAllButton = QtGui.QPushButton(self.ButtonWidge) - self.EditAllButton.setObjectName(u'EditAllButton') - self.verticalLayout_2.addWidget(self.EditAllButton) - self.SaveButton = QtGui.QPushButton(self.ButtonWidge) - self.SaveButton.setObjectName(u'SaveButton') - self.verticalLayout_2.addWidget(self.SaveButton) - self.DeleteButton = QtGui.QPushButton(self.ButtonWidge) - self.DeleteButton.setObjectName(u'DeleteButton') - self.verticalLayout_2.addWidget(self.DeleteButton) - self.ClearButton = QtGui.QPushButton(self.ButtonWidge) - self.ClearButton.setObjectName(u'ClearButton') - self.verticalLayout_2.addWidget(self.ClearButton) - self.SplitButton = QtGui.QPushButton(self.ButtonWidge) - self.SplitButton.setObjectName(u'SplitButton') - self.verticalLayout_2.addWidget(self.SplitButton) + self.verticalLayout2 = QtGui.QVBoxLayout(self.ButtonWidge) + self.verticalLayout2.setObjectName(u'verticalLayout2') + self.addButton = QtGui.QPushButton(self.ButtonWidge) + self.addButton.setObjectName(u'addButton') + self.verticalLayout2.addWidget(self.addButton) + self.editButton = QtGui.QPushButton(self.ButtonWidge) + self.editButton.setObjectName(u'editButton') + self.verticalLayout2.addWidget(self.editButton) + self.editAllButton = QtGui.QPushButton(self.ButtonWidge) + self.editAllButton.setObjectName(u'editAllButton') + self.verticalLayout2.addWidget(self.editAllButton) + self.saveButton = QtGui.QPushButton(self.ButtonWidge) + self.saveButton.setObjectName(u'saveButton') + self.verticalLayout2.addWidget(self.saveButton) + self.deleteButton = QtGui.QPushButton(self.ButtonWidge) + self.deleteButton.setObjectName(u'deleteButton') + self.verticalLayout2.addWidget(self.deleteButton) + self.clearButton = QtGui.QPushButton(self.ButtonWidge) + self.clearButton.setObjectName(u'clearButton') + self.verticalLayout2.addWidget(self.clearButton) + self.splitButton = QtGui.QPushButton(self.ButtonWidge) + self.splitButton.setObjectName(u'splitButton') + self.verticalLayout2.addWidget(self.splitButton) spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.verticalLayout_2.addItem(spacerItem1) - self.EditLayout_3.addWidget(self.ButtonWidge) - self.gridLayout.addWidget(self.EditWidget, 2, 0, 1, 1) - self.horizontalLayout_3 = QtGui.QHBoxLayout() - self.horizontalLayout_3.setObjectName(u'horizontalLayout_3') - self.ThemeLabel = QtGui.QLabel(customEditDialog) - self.ThemeLabel.setObjectName(u'ThemeLabel') - self.horizontalLayout_3.addWidget(self.ThemeLabel) - self.ThemeComboBox = QtGui.QComboBox(customEditDialog) - self.ThemeLabel.setBuddy(self.ThemeComboBox) - self.ThemeComboBox.setObjectName(u'ThemeComboBox') - self.horizontalLayout_3.addWidget(self.ThemeComboBox) - self.gridLayout.addLayout(self.horizontalLayout_3, 3, 0, 1, 1) - self.horizontalLayout_2 = QtGui.QHBoxLayout() - self.horizontalLayout_2.setObjectName(u'horizontalLayout_2') - self.CreditLabel = QtGui.QLabel(customEditDialog) - self.CreditLabel.setObjectName(u'CreditLabel') - self.horizontalLayout_2.addWidget(self.CreditLabel) - self.CreditEdit = QtGui.QLineEdit(customEditDialog) - self.CreditLabel.setBuddy(self.CreditEdit) - self.CreditEdit.setObjectName(u'CreditEdit') - self.horizontalLayout_2.addWidget(self.CreditEdit) - self.gridLayout.addLayout(self.horizontalLayout_2, 4, 0, 1, 1) + self.verticalLayout2.addItem(spacerItem1) + self.editLayout3.addWidget(self.ButtonWidge) + self.gridLayout.addWidget(self.editWidget, 2, 0, 1, 1) + self.horizontalLayout3 = QtGui.QHBoxLayout() + self.horizontalLayout3.setObjectName(u'horizontalLayout3') + self.themeLabel = QtGui.QLabel(customEditDialog) + self.themeLabel.setObjectName(u'themeLabel') + self.horizontalLayout3.addWidget(self.themeLabel) + self.themeComboBox = QtGui.QComboBox(customEditDialog) + self.themeLabel.setBuddy(self.themeComboBox) + self.themeComboBox.setObjectName(u'themeComboBox') + self.horizontalLayout3.addWidget(self.themeComboBox) + self.gridLayout.addLayout(self.horizontalLayout3, 3, 0, 1, 1) + self.horizontalLayout2 = QtGui.QHBoxLayout() + self.horizontalLayout2.setObjectName(u'horizontalLayout2') + self.creditLabel = QtGui.QLabel(customEditDialog) + self.creditLabel.setObjectName(u'creditLabel') + self.horizontalLayout2.addWidget(self.creditLabel) + self.creditEdit = QtGui.QLineEdit(customEditDialog) + self.creditLabel.setBuddy(self.creditEdit) + self.creditEdit.setObjectName(u'creditEdit') + self.horizontalLayout2.addWidget(self.creditEdit) + self.gridLayout.addLayout(self.horizontalLayout2, 4, 0, 1, 1) self.buttonBox = QtGui.QDialogButtonBox(customEditDialog) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Save) @@ -141,49 +141,49 @@ class Ui_customEditDialog(object): def retranslateUi(self, customEditDialog): customEditDialog.setWindowTitle( translate('CustomPlugin.EditCustomForm', 'Edit Custom Slides')) - self.UpButton.setToolTip( + self.upButton.setToolTip( translate('CustomPlugin.EditCustomForm', 'Move slide up once ' 'position.')) - self.DownButton.setToolTip( + self.downButton.setToolTip( translate('CustomPlugin.EditCustomForm', 'Move slide down one ' 'position.')) - self.TitleLabel.setText( + self.titleLabel.setText( translate('CustomPlugin.EditCustomForm', '&Title:')) - self.AddButton.setText( + self.addButton.setText( translate('CustomPlugin.EditCustomForm', 'Add New')) - self.AddButton.setToolTip( + self.addButton.setToolTip( translate('CustomPlugin.EditCustomForm', 'Add a new slide at ' 'bottom.')) - self.EditButton.setText( + self.editButton.setText( translate('CustomPlugin.EditCustomForm', 'Edit')) - self.EditButton.setToolTip( + self.editButton.setToolTip( translate('CustomPlugin.EditCustomForm', 'Edit the selected ' 'slide.')) - self.EditAllButton.setText( + self.editAllButton.setText( translate('CustomPlugin.EditCustomForm', 'Edit All')) - self.EditAllButton.setToolTip( + self.editAllButton.setToolTip( translate('CustomPlugin.EditCustomForm', 'Edit all the slides at ' 'once.')) - self.SaveButton.setText( + self.saveButton.setText( translate('CustomPlugin.EditCustomForm', 'Save')) - self.SaveButton.setToolTip( + self.saveButton.setToolTip( translate('CustomPlugin.EditCustomForm', 'Save the slide currently ' 'being edited.')) - self.DeleteButton.setText( + self.deleteButton.setText( translate('CustomPlugin.EditCustomForm', 'Delete')) - self.DeleteButton.setToolTip( + self.deleteButton.setToolTip( translate('CustomPlugin.EditCustomForm', 'Delete the selected ' 'slide.')) - self.ClearButton.setText( + self.clearButton.setText( translate('CustomPlugin.EditCustomForm', 'Clear')) - self.ClearButton.setToolTip( + self.clearButton.setToolTip( translate('CustomPlugin.EditCustomForm', 'Clear edit area')) - self.SplitButton.setText( + self.splitButton.setText( translate('CustomPlugin.EditCustomForm', 'Split Slide')) - self.SplitButton.setToolTip( + self.splitButton.setToolTip( translate('CustomPlugin.EditCustomForm', 'Split a slide into two ' 'by inserting a slide splitter.')) - self.ThemeLabel.setText( + self.themeLabel.setText( translate('CustomPlugin.EditCustomForm', 'The&me:')) - self.CreditLabel.setText( + self.creditLabel.setText( translate('CustomPlugin.EditCustomForm', '&Credits:')) diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index 24c0f4b49..8121d59d1 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -28,14 +28,14 @@ import logging from PyQt4 import QtCore, QtGui -from editcustomdialog import Ui_customEditDialog from openlp.core.lib import Receiver, translate from openlp.plugins.custom.lib import CustomXMLBuilder, CustomXMLParser from openlp.plugins.custom.lib.db import CustomSlide +from editcustomdialog import Ui_CustomEditDialog log = logging.getLogger(__name__) -class EditCustomForm(QtGui.QDialog, Ui_customEditDialog): +class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): """ Class documentation goes here. """ @@ -55,28 +55,28 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog): self.previewButton, QtGui.QDialogButtonBox.ActionRole) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'clicked(QAbstractButton*)'), self.onPreview) - QtCore.QObject.connect(self.AddButton, + QtCore.QObject.connect(self.addButton, QtCore.SIGNAL(u'pressed()'), self.onAddButtonPressed) - QtCore.QObject.connect(self.EditButton, + QtCore.QObject.connect(self.editButton, QtCore.SIGNAL(u'pressed()'), self.onEditButtonPressed) - QtCore.QObject.connect(self.EditAllButton, + QtCore.QObject.connect(self.editAllButton, QtCore.SIGNAL(u'pressed()'), self.onEditAllButtonPressed) - QtCore.QObject.connect(self.SaveButton, + QtCore.QObject.connect(self.saveButton, QtCore.SIGNAL(u'pressed()'), self.onSaveButtonPressed) - QtCore.QObject.connect(self.DeleteButton, + QtCore.QObject.connect(self.deleteButton, QtCore.SIGNAL(u'pressed()'), self.onDeleteButtonPressed) - QtCore.QObject.connect(self.ClearButton, + QtCore.QObject.connect(self.clearButton, QtCore.SIGNAL(u'pressed()'), self.onClearButtonPressed) - QtCore.QObject.connect(self.UpButton, + QtCore.QObject.connect(self.upButton, QtCore.SIGNAL(u'pressed()'), self.onUpButtonPressed) - QtCore.QObject.connect(self.DownButton, + QtCore.QObject.connect(self.downButton, QtCore.SIGNAL(u'pressed()'), self.onDownButtonPressed) - QtCore.QObject.connect(self.SplitButton, + QtCore.QObject.connect(self.splitButton, QtCore.SIGNAL(u'pressed()'), self.onSplitButtonPressed) - QtCore.QObject.connect(self.VerseListView, + QtCore.QObject.connect(self.verseListView, QtCore.SIGNAL(u'itemDoubleClicked(QListWidgetItem*)'), self.onVerseListViewSelected) - QtCore.QObject.connect(self.VerseListView, + QtCore.QObject.connect(self.verseListView, QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'), self.onVerseListViewPressed) QtCore.QObject.connect(Receiver.get_receiver(), @@ -93,45 +93,45 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog): def initialise(self): self.editAll = False - self.AddButton.setEnabled(True) - self.DeleteButton.setEnabled(False) - self.EditButton.setEnabled(False) - self.EditAllButton.setEnabled(True) - self.SaveButton.setEnabled(False) - self.ClearButton.setEnabled(False) - self.SplitButton.setEnabled(False) - self.TitleEdit.setText(u'') - self.CreditEdit.setText(u'') - self.VerseTextEdit.clear() - self.VerseListView.clear() + self.addButton.setEnabled(True) + self.deleteButton.setEnabled(False) + self.editButton.setEnabled(False) + self.editAllButton.setEnabled(True) + self.saveButton.setEnabled(False) + self.clearButton.setEnabled(False) + self.splitButton.setEnabled(False) + self.titleEdit.setText(u'') + self.creditEdit.setText(u'') + self.verseTextEdit.clear() + self.verseListView.clear() #make sure we have a new item self.customSlide = CustomSlide() - self.ThemeComboBox.addItem(u'') + self.themeComboBox.addItem(u'') def loadThemes(self, themelist): - self.ThemeComboBox.clear() - self.ThemeComboBox.addItem(u'') + self.themeComboBox.clear() + self.themeComboBox.addItem(u'') for themename in themelist: - self.ThemeComboBox.addItem(themename) + self.themeComboBox.addItem(themename) def loadCustom(self, id, preview=False): self.customSlide = CustomSlide() self.initialise() if id != 0: self.customSlide = self.custommanager.get_object(CustomSlide, id) - self.TitleEdit.setText(self.customSlide.title) - self.CreditEdit.setText(self.customSlide.credits) + self.titleEdit.setText(self.customSlide.title) + self.creditEdit.setText(self.customSlide.credits) customXML = CustomXMLParser(self.customSlide.text) verseList = customXML.get_verses() for verse in verseList: - self.VerseListView.addItem(verse[1]) + self.verseListView.addItem(verse[1]) theme = self.customSlide.theme_name - id = self.ThemeComboBox.findText(theme, QtCore.Qt.MatchExactly) + id = self.themeComboBox.findText(theme, QtCore.Qt.MatchExactly) if id == -1: id = 0 # Not Found - self.ThemeComboBox.setCurrentIndex(id) + self.themeComboBox.setCurrentIndex(id) else: - self.ThemeComboBox.setCurrentIndex(0) + self.themeComboBox.setCurrentIndex(0) #if not preview hide the preview button self.previewButton.setVisible(False) if preview: @@ -158,126 +158,126 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog): sxml.new_document() sxml.add_lyrics_to_song() count = 1 - for i in range (0, self.VerseListView.count()): + for i in range (0, self.verseListView.count()): sxml.add_verse_to_lyrics(u'custom', unicode(count), - unicode(self.VerseListView.item(i).text())) + unicode(self.verseListView.item(i).text())) count += 1 - self.customSlide.title = unicode(self.TitleEdit.displayText(), u'utf-8') + self.customSlide.title = unicode(self.titleEdit.displayText(), u'utf-8') self.customSlide.text = unicode(sxml.extract_xml(), u'utf-8') - self.customSlide.credits = unicode(self.CreditEdit.displayText(), + self.customSlide.credits = unicode(self.creditEdit.displayText(), u'utf-8') - self.customSlide.theme_name = unicode(self.ThemeComboBox.currentText(), + self.customSlide.theme_name = unicode(self.themeComboBox.currentText(), u'utf-8') return self.custommanager.save_object(self.customSlide) def onUpButtonPressed(self): - selectedRow = self.VerseListView.currentRow() + selectedRow = self.verseListView.currentRow() if selectedRow != 0: - qw = self.VerseListView.takeItem(selectedRow) - self.VerseListView.insertItem(selectedRow - 1, qw) - self.VerseListView.setCurrentRow(selectedRow - 1) + qw = self.verseListView.takeItem(selectedRow) + self.verseListView.insertItem(selectedRow - 1, qw) + self.verseListView.setCurrentRow(selectedRow - 1) def onDownButtonPressed(self): - selectedRow = self.VerseListView.currentRow() + selectedRow = self.verseListView.currentRow() # zero base arrays - if selectedRow != self.VerseListView.count() - 1: - qw = self.VerseListView.takeItem(selectedRow) - self.VerseListView.insertItem(selectedRow + 1, qw) - self.VerseListView.setCurrentRow(selectedRow + 1) + if selectedRow != self.verseListView.count() - 1: + qw = self.verseListView.takeItem(selectedRow) + self.verseListView.insertItem(selectedRow + 1, qw) + self.verseListView.setCurrentRow(selectedRow + 1) def onClearButtonPressed(self): - self.VerseTextEdit.clear() + self.verseTextEdit.clear() self.editAll = False - self.AddButton.setEnabled(True) - self.EditAllButton.setEnabled(True) - self.SaveButton.setEnabled(False) + self.addButton.setEnabled(True) + self.editAllButton.setEnabled(True) + self.saveButton.setEnabled(False) def onVerseListViewPressed(self, item): - self.DeleteButton.setEnabled(True) - self.EditButton.setEnabled(True) + self.deleteButton.setEnabled(True) + self.editButton.setEnabled(True) def onVerseListViewSelected(self, item): self.editText(item.text()) def onAddButtonPressed(self): - self.VerseListView.addItem(self.VerseTextEdit.toPlainText()) - self.DeleteButton.setEnabled(False) - self.VerseTextEdit.clear() + self.verseListView.addItem(self.verseTextEdit.toPlainText()) + self.deleteButton.setEnabled(False) + self.verseTextEdit.clear() def onEditButtonPressed(self): - self.editText(self.VerseListView.currentItem().text()) + self.editText(self.verseListView.currentItem().text()) def onEditAllButtonPressed(self): self.editAll = True - self.AddButton.setEnabled(False) - self.SplitButton.setEnabled(True) - if self.VerseListView.count() > 0: + self.addButton.setEnabled(False) + self.splitButton.setEnabled(True) + if self.verseListView.count() > 0: verse_list = u'' - for row in range(0, self.VerseListView.count()): - item = self.VerseListView.item(row) + for row in range(0, self.verseListView.count()): + item = self.verseListView.item(row) verse_list += item.text() - if row != self.VerseListView.count() - 1: + if row != self.verseListView.count() - 1: verse_list += u'\n[---]\n' self.editText(verse_list) def editText(self, text): self.beforeText = text - self.VerseTextEdit.setPlainText(text) - self.DeleteButton.setEnabled(False) - self.EditButton.setEnabled(False) - self.EditAllButton.setEnabled(False) - self.SaveButton.setEnabled(True) - self.ClearButton.setEnabled(True) + self.verseTextEdit.setPlainText(text) + self.deleteButton.setEnabled(False) + self.editButton.setEnabled(False) + self.editAllButton.setEnabled(False) + self.saveButton.setEnabled(True) + self.clearButton.setEnabled(True) def onSaveButtonPressed(self): if self.editAll: - self.VerseListView.clear() - for row in unicode(self.VerseTextEdit.toPlainText()).split( + self.verseListView.clear() + for row in unicode(self.verseTextEdit.toPlainText()).split( u'\n[---]\n'): - self.VerseListView.addItem(row) + self.verseListView.addItem(row) else: - self.VerseListView.currentItem().setText( - self.VerseTextEdit.toPlainText()) + self.verseListView.currentItem().setText( + self.verseTextEdit.toPlainText()) #number of lines has change if len(self.beforeText.split(u'\n')) != \ - len(self.VerseTextEdit.toPlainText().split(u'\n')): + len(self.verseTextEdit.toPlainText().split(u'\n')): tempList = {} - for row in range(0, self.VerseListView.count()): - tempList[row] = self.VerseListView.item(row).text() - self.VerseListView.clear() + for row in range(0, self.verseListView.count()): + tempList[row] = self.verseListView.item(row).text() + self.verseListView.clear() for row in range (0, len(tempList)): - self.VerseListView.addItem(tempList[row]) - self.VerseListView.repaint() - self.AddButton.setEnabled(True) - self.SaveButton.setEnabled(False) - self.EditButton.setEnabled(False) - self.EditAllButton.setEnabled(True) - self.SplitButton.setEnabled(False) - self.VerseTextEdit.clear() + self.verseListView.addItem(tempList[row]) + self.verseListView.repaint() + self.addButton.setEnabled(True) + self.saveButton.setEnabled(False) + self.editButton.setEnabled(False) + self.editAllButton.setEnabled(True) + self.splitButton.setEnabled(False) + self.verseTextEdit.clear() def onSplitButtonPressed(self): - if self.VerseTextEdit.textCursor().columnNumber() != 0: - self.VerseTextEdit.insertPlainText(u'\n') - self.VerseTextEdit.insertPlainText(u'[---]\n' ) - self.VerseTextEdit.setFocus() + if self.verseTextEdit.textCursor().columnNumber() != 0: + self.verseTextEdit.insertPlainText(u'\n') + self.verseTextEdit.insertPlainText(u'[---]\n' ) + self.verseTextEdit.setFocus() def onDeleteButtonPressed(self): - self.VerseListView.takeItem(self.VerseListView.currentRow()) - self.EditButton.setEnabled(False) - self.EditAllButton.setEnabled(True) + self.verseListView.takeItem(self.verseListView.currentRow()) + self.editButton.setEnabled(False) + self.editAllButton.setEnabled(True) def _validate(self): - if len(self.TitleEdit.displayText()) == 0: - self.TitleEdit.setFocus() + if len(self.titleEdit.displayText()) == 0: + self.titleEdit.setFocus() return False, translate('CustomPlugin.EditCustomForm', 'You need to type in a title.') # must have 1 slide - if self.VerseListView.count() == 0: - self.VerseTextEdit.setFocus() + if self.verseListView.count() == 0: + self.verseTextEdit.setFocus() return False, translate('CustomPlugin.EditCustomForm', 'You need to add at least one slide') - if self.VerseTextEdit.toPlainText(): - self.VerseTextEdit.setFocus() + if self.verseTextEdit.toPlainText(): + self.verseTextEdit.setFocus() return False, translate('CustomPlugin.EditCustomForm', 'You have one or more unsaved slides, please either save your ' 'slide(s) or clear your changes.') diff --git a/openlp/plugins/songusage/forms/songusagedeletedialog.py b/openlp/plugins/songusage/forms/songusagedeletedialog.py index cfdbe338f..c29142ab8 100644 --- a/openlp/plugins/songusage/forms/songusagedeletedialog.py +++ b/openlp/plugins/songusage/forms/songusagedeletedialog.py @@ -28,37 +28,37 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import translate class Ui_SongUsageDeleteDialog(object): - def setupUi(self, SongUsageDeleteDialog): - SongUsageDeleteDialog.setObjectName(u'SongUsageDeleteDialog') - SongUsageDeleteDialog.resize(291, 243) - self.layoutWidget = QtGui.QWidget(SongUsageDeleteDialog) + def setupUi(self, songUsageDeleteDialog): + songUsageDeleteDialog.setObjectName(u'songUsageDeleteDialog') + songUsageDeleteDialog.resize(291, 243) + self.layoutWidget = QtGui.QWidget(songUsageDeleteDialog) self.layoutWidget.setGeometry(QtCore.QRect(20, 10, 247, 181)) self.layoutWidget.setObjectName(u'layoutWidget') self.verticalLayout = QtGui.QVBoxLayout(self.layoutWidget) self.verticalLayout.setObjectName(u'verticalLayout') - self.DeleteCalendar = QtGui.QCalendarWidget(self.layoutWidget) - self.DeleteCalendar.setFirstDayOfWeek(QtCore.Qt.Sunday) - self.DeleteCalendar.setGridVisible(True) - self.DeleteCalendar.setVerticalHeaderFormat( + self.deleteCalendar = QtGui.QCalendarWidget(self.layoutWidget) + self.deleteCalendar.setFirstDayOfWeek(QtCore.Qt.Sunday) + self.deleteCalendar.setGridVisible(True) + self.deleteCalendar.setVerticalHeaderFormat( QtGui.QCalendarWidget.NoVerticalHeader) - self.DeleteCalendar.setObjectName(u'DeleteCalendar') - self.verticalLayout.addWidget(self.DeleteCalendar) - self.buttonBox = QtGui.QDialogButtonBox(SongUsageDeleteDialog) + self.deleteCalendar.setObjectName(u'deleteCalendar') + self.verticalLayout.addWidget(self.deleteCalendar) + self.buttonBox = QtGui.QDialogButtonBox(songUsageDeleteDialog) self.buttonBox.setGeometry(QtCore.QRect(30, 210, 245, 25)) self.buttonBox.setStandardButtons( QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) self.buttonBox.setObjectName(u'buttonBox') - self.retranslateUi(SongUsageDeleteDialog) + self.retranslateUi(songUsageDeleteDialog) QtCore.QObject.connect( self.buttonBox, QtCore.SIGNAL(u'accepted()'), - SongUsageDeleteDialog.accept) + songUsageDeleteDialog.accept) QtCore.QObject.connect( self.buttonBox, QtCore.SIGNAL(u'rejected()'), - SongUsageDeleteDialog.close) - QtCore.QMetaObject.connectSlotsByName(SongUsageDeleteDialog) + songUsageDeleteDialog.close) + QtCore.QMetaObject.connectSlotsByName(songUsageDeleteDialog) - def retranslateUi(self, SongUsageDeleteDialog): - SongUsageDeleteDialog.setWindowTitle( + def retranslateUi(self, songUsageDeleteDialog): + songUsageDeleteDialog.setWindowTitle( translate('SongUsagePlugin.SongUsageDeleteForm', 'Delete Song Usage Data')) diff --git a/openlp/plugins/songusage/forms/songusagedeleteform.py b/openlp/plugins/songusage/forms/songusagedeleteform.py index 8b1912fa0..637916aff 100644 --- a/openlp/plugins/songusage/forms/songusagedeleteform.py +++ b/openlp/plugins/songusage/forms/songusagedeleteform.py @@ -48,12 +48,11 @@ class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog): 'Delete Selected Song Usage Events?'), translate('SongUsagePlugin.SongUsageDeleteForm', 'Are you sure you want to delete selected Song Usage data?'), - QtGui.QMessageBox.StandardButtons( - QtGui.QMessageBox.Ok | + QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel), QtGui.QMessageBox.Cancel) if ret == QtGui.QMessageBox.Ok: - deleteDate = self.DeleteCalendar.selectedDate().toPyDate() + deleteDate = self.deleteCalendar.selectedDate().toPyDate() self.songusagemanager.delete_all_objects(SongUsageItem, SongUsageItem.usagedate <= deleteDate) self.close() diff --git a/openlp/plugins/songusage/forms/songusagedetaildialog.py b/openlp/plugins/songusage/forms/songusagedetaildialog.py index 3c8541ff0..c021f00e4 100644 --- a/openlp/plugins/songusage/forms/songusagedetaildialog.py +++ b/openlp/plugins/songusage/forms/songusagedetaildialog.py @@ -34,41 +34,41 @@ class Ui_SongUsageDetailDialog(object): SongUsageDetailDialog.resize(609, 413) self.verticalLayout = QtGui.QVBoxLayout(SongUsageDetailDialog) self.verticalLayout.setObjectName(u'verticalLayout') - self.DateRangeGroupBox = QtGui.QGroupBox(SongUsageDetailDialog) - self.DateRangeGroupBox.setObjectName(u'DateRangeGroupBox') - self.verticalLayout_2 = QtGui.QVBoxLayout(self.DateRangeGroupBox) - self.verticalLayout_2.setObjectName(u'verticalLayout_2') - self.DateHorizontalLayout = QtGui.QHBoxLayout() - self.DateHorizontalLayout.setObjectName(u'DateHorizontalLayout') - self.FromDate = QtGui.QCalendarWidget(self.DateRangeGroupBox) - self.FromDate.setObjectName(u'FromDate') - self.DateHorizontalLayout.addWidget(self.FromDate) - self.ToLabel = QtGui.QLabel(self.DateRangeGroupBox) - self.ToLabel.setScaledContents(False) - self.ToLabel.setAlignment(QtCore.Qt.AlignCenter) - self.ToLabel.setObjectName(u'ToLabel') - self.DateHorizontalLayout.addWidget(self.ToLabel) - self.ToDate = QtGui.QCalendarWidget(self.DateRangeGroupBox) - self.ToDate.setObjectName(u'ToDate') - self.DateHorizontalLayout.addWidget(self.ToDate) - self.verticalLayout_2.addLayout(self.DateHorizontalLayout) - self.FileGroupBox = QtGui.QGroupBox(self.DateRangeGroupBox) - self.FileGroupBox.setObjectName(u'FileGroupBox') - self.verticalLayout_4 = QtGui.QVBoxLayout(self.FileGroupBox) - self.verticalLayout_4.setObjectName(u'verticalLayout_4') + self.dateRangeGroupBox = QtGui.QGroupBox(SongUsageDetailDialog) + self.dateRangeGroupBox.setObjectName(u'dateRangeGroupBox') + self.verticalLayout2 = QtGui.QVBoxLayout(self.dateRangeGroupBox) + self.verticalLayout2.setObjectName(u'verticalLayout2') + self.dateHorizontalLayout = QtGui.QHBoxLayout() + self.dateHorizontalLayout.setObjectName(u'dateHorizontalLayout') + self.fromDate = QtGui.QCalendarWidget(self.dateRangeGroupBox) + self.fromDate.setObjectName(u'fromDate') + self.dateHorizontalLayout.addWidget(self.fromDate) + self.toLabel = QtGui.QLabel(self.dateRangeGroupBox) + self.toLabel.setScaledContents(False) + self.toLabel.setAlignment(QtCore.Qt.AlignCenter) + self.toLabel.setObjectName(u'toLabel') + self.dateHorizontalLayout.addWidget(self.toLabel) + self.toDate = QtGui.QCalendarWidget(self.dateRangeGroupBox) + self.toDate.setObjectName(u'toDate') + self.dateHorizontalLayout.addWidget(self.toDate) + self.verticalLayout2.addLayout(self.dateHorizontalLayout) + self.fileGroupBox = QtGui.QGroupBox(self.dateRangeGroupBox) + self.fileGroupBox.setObjectName(u'fileGroupBox') + self.verticalLayout4 = QtGui.QVBoxLayout(self.fileGroupBox) + self.verticalLayout4.setObjectName(u'verticalLayout4') self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName(u'horizontalLayout') - self.FileLineEdit = QtGui.QLineEdit(self.FileGroupBox) - self.FileLineEdit.setObjectName(u'FileLineEdit') - self.horizontalLayout.addWidget(self.FileLineEdit) - self.SaveFilePushButton = QtGui.QPushButton(self.FileGroupBox) - self.SaveFilePushButton.setIcon( + self.fileLineEdit = QtGui.QLineEdit(self.fileGroupBox) + self.fileLineEdit.setObjectName(u'fileLineEdit') + self.horizontalLayout.addWidget(self.fileLineEdit) + self.saveFilePushButton = QtGui.QPushButton(self.fileGroupBox) + self.saveFilePushButton.setIcon( build_icon(u':/general/general_load.png')) - self.SaveFilePushButton.setObjectName(u'SaveFilePushButton') - self.horizontalLayout.addWidget(self.SaveFilePushButton) - self.verticalLayout_4.addLayout(self.horizontalLayout) - self.verticalLayout_2.addWidget(self.FileGroupBox) - self.verticalLayout.addWidget(self.DateRangeGroupBox) + self.saveFilePushButton.setObjectName(u'saveFilePushButton') + self.horizontalLayout.addWidget(self.saveFilePushButton) + self.verticalLayout4.addLayout(self.horizontalLayout) + self.verticalLayout2.addWidget(self.fileGroupBox) + self.verticalLayout.addWidget(self.dateRangeGroupBox) self.buttonBox = QtGui.QDialogButtonBox(SongUsageDetailDialog) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok) @@ -80,7 +80,7 @@ class Ui_SongUsageDetailDialog(object): SongUsageDetailDialog.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'), SongUsageDetailDialog.close) - QtCore.QObject.connect(self.SaveFilePushButton, + QtCore.QObject.connect(self.saveFilePushButton, QtCore.SIGNAL(u'pressed()'), SongUsageDetailDialog.defineOutputLocation) QtCore.QMetaObject.connectSlotsByName(SongUsageDetailDialog) @@ -89,11 +89,11 @@ class Ui_SongUsageDetailDialog(object): SongUsageDetailDialog.setWindowTitle( translate('SongUsagePlugin.SongUsageDetailForm', 'Song Usage Extraction')) - self.DateRangeGroupBox.setTitle( + self.dateRangeGroupBox.setTitle( translate('SongUsagePlugin.SongUsageDetailForm', 'Select Date Range')) - self.ToLabel.setText( + self.toLabel.setText( translate('SongUsagePlugin.SongUsageDetailForm', 'to')) - self.FileGroupBox.setTitle( + self.fileGroupBox.setTitle( translate('SongUsagePlugin.SongUsageDetailForm', 'Report Location')) diff --git a/openlp/plugins/songusage/forms/songusagedetailform.py b/openlp/plugins/songusage/forms/songusagedetailform.py index 3f72bf1ce..8ff44bfe4 100644 --- a/openlp/plugins/songusage/forms/songusagedetailform.py +++ b/openlp/plugins/songusage/forms/songusagedetailform.py @@ -56,9 +56,9 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog): year -= 1 toDate = QtCore.QDate(year, 8, 31) fromDate = QtCore.QDate(year - 1, 9, 1) - self.FromDate.setSelectedDate(fromDate) - self.ToDate.setSelectedDate(toDate) - self.FileLineEdit.setText( + self.fromDate.setSelectedDate(fromDate) + self.toDate.setSelectedDate(toDate) + self.fileLineEdit.setText( SettingsManager.get_last_dir(self.parent.settingsSection, 1)) def defineOutputLocation(self): @@ -69,19 +69,19 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog): path = unicode(path) if path != u'': SettingsManager.set_last_dir(self.parent.settingsSection, path, 1) - self.FileLineEdit.setText(path) + self.fileLineEdit.setText(path) def accept(self): log.debug(u'Detailed report generated') filename = u'usage_detail_%s_%s.txt' % ( - self.FromDate.selectedDate().toString(u'ddMMyyyy'), - self.ToDate.selectedDate().toString(u'ddMMyyyy')) + self.fromDate.selectedDate().toString(u'ddMMyyyy'), + self.toDate.selectedDate().toString(u'ddMMyyyy')) usage = self.parent.songusagemanager.get_all_objects( SongUsageItem, and_( - SongUsageItem.usagedate >= self.FromDate.selectedDate().toPyDate(), - SongUsageItem.usagedate < self.ToDate.selectedDate().toPyDate()), + SongUsageItem.usagedate >= self.fromDate.selectedDate().toPyDate(), + SongUsageItem.usagedate < self.toDate.selectedDate().toPyDate()), [SongUsageItem.usagedate, SongUsageItem.usagetime]) - outname = os.path.join(unicode(self.FileLineEdit.text()), filename) + outname = os.path.join(unicode(self.fileLineEdit.text()), filename) file = None try: file = open(outname, u'w') From 88be71f625daacb946932b02d8a33739bc0d1663 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 12:42:38 +0100 Subject: [PATCH 122/148] Missing bits --- .../plugins/custom/forms/editcustomdialog.py | 28 +++++++++---------- .../songusage/forms/songusagedetaildialog.py | 26 ++++++++--------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/openlp/plugins/custom/forms/editcustomdialog.py b/openlp/plugins/custom/forms/editcustomdialog.py index 67544d020..241f96237 100644 --- a/openlp/plugins/custom/forms/editcustomdialog.py +++ b/openlp/plugins/custom/forms/editcustomdialog.py @@ -73,38 +73,38 @@ class Ui_CustomEditDialog(object): self.editLayout3.setSpacing(8) self.editLayout3.setMargin(0) self.editLayout3.setObjectName(u'editLayout3') - self.VerseTextEdit = QtGui.QTextEdit(self.editWidget) - self.VerseTextEdit.setObjectName(u'VerseTextEdit') - self.editLayout3.addWidget(self.VerseTextEdit) - self.ButtonWidge = QtGui.QWidget(self.editWidget) - self.ButtonWidge.setObjectName(u'ButtonWidge') - self.verticalLayout2 = QtGui.QVBoxLayout(self.ButtonWidge) + self.verseTextEdit = QtGui.QTextEdit(self.editWidget) + self.verseTextEdit.setObjectName(u'verseTextEdit') + self.editLayout3.addWidget(self.verseTextEdit) + self.buttonWidget = QtGui.QWidget(self.editWidget) + self.buttonWidget.setObjectName(u'buttonWidget') + self.verticalLayout2 = QtGui.QVBoxLayout(self.buttonWidget) self.verticalLayout2.setObjectName(u'verticalLayout2') - self.addButton = QtGui.QPushButton(self.ButtonWidge) + self.addButton = QtGui.QPushButton(self.buttonWidget) self.addButton.setObjectName(u'addButton') self.verticalLayout2.addWidget(self.addButton) - self.editButton = QtGui.QPushButton(self.ButtonWidge) + self.editButton = QtGui.QPushButton(self.buttonWidget) self.editButton.setObjectName(u'editButton') self.verticalLayout2.addWidget(self.editButton) - self.editAllButton = QtGui.QPushButton(self.ButtonWidge) + self.editAllButton = QtGui.QPushButton(self.buttonWidget) self.editAllButton.setObjectName(u'editAllButton') self.verticalLayout2.addWidget(self.editAllButton) - self.saveButton = QtGui.QPushButton(self.ButtonWidge) + self.saveButton = QtGui.QPushButton(self.buttonWidget) self.saveButton.setObjectName(u'saveButton') self.verticalLayout2.addWidget(self.saveButton) - self.deleteButton = QtGui.QPushButton(self.ButtonWidge) + self.deleteButton = QtGui.QPushButton(self.buttonWidget) self.deleteButton.setObjectName(u'deleteButton') self.verticalLayout2.addWidget(self.deleteButton) - self.clearButton = QtGui.QPushButton(self.ButtonWidge) + self.clearButton = QtGui.QPushButton(self.buttonWidget) self.clearButton.setObjectName(u'clearButton') self.verticalLayout2.addWidget(self.clearButton) - self.splitButton = QtGui.QPushButton(self.ButtonWidge) + self.splitButton = QtGui.QPushButton(self.buttonWidget) self.splitButton.setObjectName(u'splitButton') self.verticalLayout2.addWidget(self.splitButton) spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout2.addItem(spacerItem1) - self.editLayout3.addWidget(self.ButtonWidge) + self.editLayout3.addWidget(self.buttonWidget) self.gridLayout.addWidget(self.editWidget, 2, 0, 1, 1) self.horizontalLayout3 = QtGui.QHBoxLayout() self.horizontalLayout3.setObjectName(u'horizontalLayout3') diff --git a/openlp/plugins/songusage/forms/songusagedetaildialog.py b/openlp/plugins/songusage/forms/songusagedetaildialog.py index c021f00e4..0eff17783 100644 --- a/openlp/plugins/songusage/forms/songusagedetaildialog.py +++ b/openlp/plugins/songusage/forms/songusagedetaildialog.py @@ -29,12 +29,12 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import build_icon, translate class Ui_SongUsageDetailDialog(object): - def setupUi(self, SongUsageDetailDialog): - SongUsageDetailDialog.setObjectName(u'SongUsageDetailDialog') - SongUsageDetailDialog.resize(609, 413) - self.verticalLayout = QtGui.QVBoxLayout(SongUsageDetailDialog) + def setupUi(self, songUsageDetailDialog): + songUsageDetailDialog.setObjectName(u'songUsageDetailDialog') + songUsageDetailDialog.resize(609, 413) + self.verticalLayout = QtGui.QVBoxLayout(songUsageDetailDialog) self.verticalLayout.setObjectName(u'verticalLayout') - self.dateRangeGroupBox = QtGui.QGroupBox(SongUsageDetailDialog) + self.dateRangeGroupBox = QtGui.QGroupBox(songUsageDetailDialog) self.dateRangeGroupBox.setObjectName(u'dateRangeGroupBox') self.verticalLayout2 = QtGui.QVBoxLayout(self.dateRangeGroupBox) self.verticalLayout2.setObjectName(u'verticalLayout2') @@ -69,24 +69,24 @@ class Ui_SongUsageDetailDialog(object): self.verticalLayout4.addLayout(self.horizontalLayout) self.verticalLayout2.addWidget(self.fileGroupBox) self.verticalLayout.addWidget(self.dateRangeGroupBox) - self.buttonBox = QtGui.QDialogButtonBox(SongUsageDetailDialog) + self.buttonBox = QtGui.QDialogButtonBox(songUsageDetailDialog) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok) self.buttonBox.setObjectName(u'buttonBox') self.verticalLayout.addWidget(self.buttonBox) - self.retranslateUi(SongUsageDetailDialog) + self.retranslateUi(songUsageDetailDialog) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'), - SongUsageDetailDialog.accept) + songUsageDetailDialog.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'), - SongUsageDetailDialog.close) + songUsageDetailDialog.close) QtCore.QObject.connect(self.saveFilePushButton, QtCore.SIGNAL(u'pressed()'), - SongUsageDetailDialog.defineOutputLocation) - QtCore.QMetaObject.connectSlotsByName(SongUsageDetailDialog) + songUsageDetailDialog.defineOutputLocation) + QtCore.QMetaObject.connectSlotsByName(songUsageDetailDialog) - def retranslateUi(self, SongUsageDetailDialog): - SongUsageDetailDialog.setWindowTitle( + def retranslateUi(self, songUsageDetailDialog): + songUsageDetailDialog.setWindowTitle( translate('SongUsagePlugin.SongUsageDetailForm', 'Song Usage Extraction')) self.dateRangeGroupBox.setTitle( From 62be523f10c98f873bab9d9d9aa9702e5228f4db Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 12:57:25 +0100 Subject: [PATCH 123/148] PluginForm naming --- openlp/core/ui/plugindialog.py | 142 ++++++++++++++++----------------- openlp/core/ui/pluginform.py | 32 ++++---- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/openlp/core/ui/plugindialog.py b/openlp/core/ui/plugindialog.py index 1a1edf917..a4256c0e5 100644 --- a/openlp/core/ui/plugindialog.py +++ b/openlp/core/ui/plugindialog.py @@ -28,91 +28,91 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import translate class Ui_PluginViewDialog(object): - def setupUi(self, PluginViewDialog): - PluginViewDialog.setObjectName(u'PluginViewDialog') - PluginViewDialog.setWindowModality(QtCore.Qt.ApplicationModal) - PluginViewDialog.resize(554, 344) - self.PluginLayout = QtGui.QVBoxLayout(PluginViewDialog) - self.PluginLayout.setSpacing(8) - self.PluginLayout.setMargin(8) - self.PluginLayout.setObjectName(u'PluginLayout') - self.ListLayout = QtGui.QHBoxLayout() - self.ListLayout.setSpacing(8) - self.ListLayout.setObjectName(u'ListLayout') - self.PluginListWidget = QtGui.QListWidget(PluginViewDialog) + def setupUi(self, pluginViewDialog): + pluginViewDialog.setObjectName(u'pluginViewDialog') + pluginViewDialog.setWindowModality(QtCore.Qt.ApplicationModal) + pluginViewDialog.resize(554, 344) + self.pluginLayout = QtGui.QVBoxLayout(pluginViewDialog) + self.pluginLayout.setSpacing(8) + self.pluginLayout.setMargin(8) + self.pluginLayout.setObjectName(u'pluginLayout') + self.listLayout = QtGui.QHBoxLayout() + self.listLayout.setSpacing(8) + self.listLayout.setObjectName(u'listLayout') + self.pluginListWidget = QtGui.QListWidget(pluginViewDialog) sizePolicy = QtGui.QSizePolicy( QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( - self.PluginListWidget.sizePolicy().hasHeightForWidth()) - self.PluginListWidget.setSizePolicy(sizePolicy) - self.PluginListWidget.setMaximumSize(QtCore.QSize(192, 16777215)) - self.PluginListWidget.setObjectName(u'PluginListWidget') - self.ListLayout.addWidget(self.PluginListWidget) - self.PluginInfoGroupBox = QtGui.QGroupBox(PluginViewDialog) - self.PluginInfoGroupBox.setAlignment( + self.pluginListWidget.sizePolicy().hasHeightForWidth()) + self.pluginListWidget.setSizePolicy(sizePolicy) + self.pluginListWidget.setMaximumSize(QtCore.QSize(192, 16777215)) + self.pluginListWidget.setObjectName(u'pluginListWidget') + self.listLayout.addWidget(self.pluginListWidget) + self.pluginInfoGroupBox = QtGui.QGroupBox(pluginViewDialog) + self.pluginInfoGroupBox.setAlignment( QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) - self.PluginInfoGroupBox.setFlat(False) - self.PluginInfoGroupBox.setObjectName(u'PluginInfoGroupBox') - self.PluginInfoLayout = QtGui.QFormLayout(self.PluginInfoGroupBox) - self.PluginInfoLayout.setMargin(8) - self.PluginInfoLayout.setSpacing(8) - self.PluginInfoLayout.setObjectName(u'PluginInfoLayout') - self.VersionLabel = QtGui.QLabel(self.PluginInfoGroupBox) - self.VersionLabel.setObjectName(u'VersionLabel') - self.PluginInfoLayout.setWidget( - 1, QtGui.QFormLayout.LabelRole, self.VersionLabel) - self.VersionNumberLabel = QtGui.QLabel(self.PluginInfoGroupBox) - self.VersionNumberLabel.setObjectName(u'VersionNumberLabel') - self.PluginInfoLayout.setWidget( - 1, QtGui.QFormLayout.FieldRole, self.VersionNumberLabel) - self.AboutLabel = QtGui.QLabel(self.PluginInfoGroupBox) - self.AboutLabel.setObjectName(u'AboutLabel') - self.PluginInfoLayout.setWidget( - 2, QtGui.QFormLayout.LabelRole, self.AboutLabel) - self.StatusLabel = QtGui.QLabel(self.PluginInfoGroupBox) - self.StatusLabel.setObjectName(u'StatusLabel') - self.PluginInfoLayout.setWidget( - 0, QtGui.QFormLayout.LabelRole, self.StatusLabel) - self.StatusComboBox = QtGui.QComboBox(self.PluginInfoGroupBox) - self.StatusComboBox.setObjectName(u'StatusComboBox') - self.StatusComboBox.addItem(QtCore.QString()) - self.StatusComboBox.addItem(QtCore.QString()) - self.PluginInfoLayout.setWidget( - 0, QtGui.QFormLayout.FieldRole, self.StatusComboBox) - self.AboutTextBrowser = QtGui.QTextBrowser(self.PluginInfoGroupBox) - self.AboutTextBrowser.setTextInteractionFlags( + self.pluginInfoGroupBox.setFlat(False) + self.pluginInfoGroupBox.setObjectName(u'pluginInfoGroupBox') + self.pluginInfoLayout = QtGui.QFormLayout(self.pluginInfoGroupBox) + self.pluginInfoLayout.setMargin(8) + self.pluginInfoLayout.setSpacing(8) + self.pluginInfoLayout.setObjectName(u'pluginInfoLayout') + self.versionLabel = QtGui.QLabel(self.pluginInfoGroupBox) + self.versionLabel.setObjectName(u'versionLabel') + self.pluginInfoLayout.setWidget( + 1, QtGui.QFormLayout.LabelRole, self.versionLabel) + self.versionNumberLabel = QtGui.QLabel(self.pluginInfoGroupBox) + self.versionNumberLabel.setObjectName(u'versionNumberLabel') + self.pluginInfoLayout.setWidget( + 1, QtGui.QFormLayout.FieldRole, self.versionNumberLabel) + self.aboutLabel = QtGui.QLabel(self.pluginInfoGroupBox) + self.aboutLabel.setObjectName(u'aboutLabel') + self.pluginInfoLayout.setWidget( + 2, QtGui.QFormLayout.LabelRole, self.aboutLabel) + self.statusLabel = QtGui.QLabel(self.pluginInfoGroupBox) + self.statusLabel.setObjectName(u'statusLabel') + self.pluginInfoLayout.setWidget( + 0, QtGui.QFormLayout.LabelRole, self.statusLabel) + self.statusComboBox = QtGui.QComboBox(self.pluginInfoGroupBox) + self.statusComboBox.setObjectName(u'statusComboBox') + self.statusComboBox.addItem(QtCore.QString()) + self.statusComboBox.addItem(QtCore.QString()) + self.pluginInfoLayout.setWidget( + 0, QtGui.QFormLayout.FieldRole, self.statusComboBox) + self.aboutTextBrowser = QtGui.QTextBrowser(self.pluginInfoGroupBox) + self.aboutTextBrowser.setTextInteractionFlags( QtCore.Qt.LinksAccessibleByMouse) - self.AboutTextBrowser.setObjectName(u'AboutTextBrowser') - self.PluginInfoLayout.setWidget( - 2, QtGui.QFormLayout.FieldRole, self.AboutTextBrowser) - self.ListLayout.addWidget(self.PluginInfoGroupBox) - self.PluginLayout.addLayout(self.ListLayout) - self.PluginListButtonBox = QtGui.QDialogButtonBox(PluginViewDialog) - self.PluginListButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok) - self.PluginListButtonBox.setObjectName(u'PluginListButtonBox') - self.PluginLayout.addWidget(self.PluginListButtonBox) + self.aboutTextBrowser.setObjectName(u'aboutTextBrowser') + self.pluginInfoLayout.setWidget( + 2, QtGui.QFormLayout.FieldRole, self.aboutTextBrowser) + self.listLayout.addWidget(self.pluginInfoGroupBox) + self.pluginLayout.addLayout(self.listLayout) + self.pluginListButtonBox = QtGui.QDialogButtonBox(pluginViewDialog) + self.pluginListButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok) + self.pluginListButtonBox.setObjectName(u'pluginListButtonBox') + self.pluginLayout.addWidget(self.pluginListButtonBox) - self.retranslateUi(PluginViewDialog) - QtCore.QObject.connect(self.PluginListButtonBox, - QtCore.SIGNAL(u'accepted()'), PluginViewDialog.close) - QtCore.QMetaObject.connectSlotsByName(PluginViewDialog) + self.retranslateUi(pluginViewDialog) + QtCore.QObject.connect(self.pluginListButtonBox, + QtCore.SIGNAL(u'accepted()'), pluginViewDialog.close) + QtCore.QMetaObject.connectSlotsByName(pluginViewDialog) - def retranslateUi(self, PluginViewDialog): - PluginViewDialog.setWindowTitle( + def retranslateUi(self, pluginViewDialog): + pluginViewDialog.setWindowTitle( translate('OpenLP.PluginForm', 'Plugin List')) - self.PluginInfoGroupBox.setTitle( + self.pluginInfoGroupBox.setTitle( translate('OpenLP.PluginForm', 'Plugin Details')) - self.VersionLabel.setText( + self.versionLabel.setText( translate('OpenLP.PluginForm', 'Version:')) - self.VersionNumberLabel.setText( + self.versionNumberLabel.setText( translate('OpenLP.PluginForm', 'TextLabel')) - self.AboutLabel.setText( + self.aboutLabel.setText( translate('OpenLP.PluginForm', 'About:')) - self.StatusLabel.setText( + self.statusLabel.setText( translate('OpenLP.PluginForm', 'Status:')) - self.StatusComboBox.setItemText(0, + self.statusComboBox.setItemText(0, translate('OpenLP.PluginForm', 'Active')) - self.StatusComboBox.setItemText(1, + self.statusComboBox.setItemText(1, translate('OpenLP.PluginForm', 'Inactive')) diff --git a/openlp/core/ui/pluginform.py b/openlp/core/ui/pluginform.py index 2f03ef4af..c0fd53938 100644 --- a/openlp/core/ui/pluginform.py +++ b/openlp/core/ui/pluginform.py @@ -45,11 +45,11 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): self._clearDetails() # Right, now let's put some signals and slots together! QtCore.QObject.connect( - self.PluginListWidget, + self.pluginListWidget, QtCore.SIGNAL(u'itemSelectionChanged()'), self.onPluginListWidgetSelectionChanged) QtCore.QObject.connect( - self.StatusComboBox, + self.statusComboBox, QtCore.SIGNAL(u'currentIndexChanged(int)'), self.onStatusComboBoxChanged) @@ -57,9 +57,9 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): """ Load the plugin details into the screen """ - self.PluginListWidget.clear() + self.pluginListWidget.clear() for plugin in self.parent.plugin_manager.plugins: - item = QtGui.QListWidgetItem(self.PluginListWidget) + item = QtGui.QListWidgetItem(self.pluginListWidget) # We do this just to make 100% sure the status is an integer as # sometimes when it's loaded from the config, it isn't cast to int. plugin.status = int(plugin.status) @@ -79,31 +79,31 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): # If the plugin has an icon, set it! if plugin.icon: item.setIcon(plugin.icon) - self.PluginListWidget.addItem(item) + self.pluginListWidget.addItem(item) def _clearDetails(self): - self.StatusComboBox.setCurrentIndex(-1) - self.VersionNumberLabel.setText(u'') - self.AboutTextBrowser.setHtml(u'') - self.StatusComboBox.setEnabled(False) + self.statusComboBox.setCurrentIndex(-1) + self.versionNumberLabel.setText(u'') + self.aboutTextBrowser.setHtml(u'') + self.statusComboBox.setEnabled(False) def _setDetails(self): log.debug('PluginStatus: %s', str(self.activePlugin.status)) - self.VersionNumberLabel.setText(self.activePlugin.version) - self.AboutTextBrowser.setHtml(self.activePlugin.about()) + self.versionNumberLabel.setText(self.activePlugin.version) + self.aboutTextBrowser.setHtml(self.activePlugin.about()) self.programaticChange = True status = 1 if self.activePlugin.status == PluginStatus.Active: status = 0 - self.StatusComboBox.setCurrentIndex(status) - self.StatusComboBox.setEnabled(True) + self.statusComboBox.setCurrentIndex(status) + self.statusComboBox.setEnabled(True) self.programaticChange = False def onPluginListWidgetSelectionChanged(self): - if self.PluginListWidget.currentItem() is None: + if self.pluginListWidget.currentItem() is None: self._clearDetails() return - plugin_name = self.PluginListWidget.currentItem().text().split(u' ')[0] + plugin_name = self.pluginListWidget.currentItem().text().split(u' ')[0] self.activePlugin = None for plugin in self.parent.plugin_manager.plugins: if plugin.name == plugin_name: @@ -134,5 +134,5 @@ class PluginForm(QtGui.QDialog, Ui_PluginViewDialog): elif self.activePlugin.status == PluginStatus.Disabled: status_text = unicode( translate('OpenLP.PluginForm', '%s (Disabled)')) - self.PluginListWidget.currentItem().setText( + self.pluginListWidget.currentItem().setText( status_text % self.activePlugin.name) From c3594624d3eba57ddf0088eaad196ef550581609 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 13:18:10 +0100 Subject: [PATCH 124/148] ServiceNote, Settings & ThemeManager naming --- openlp/core/ui/servicenotedialog.py | 16 ++--- openlp/core/ui/settingsdialog.py | 26 +++---- openlp/core/ui/thememanager.py | 106 ++++++++++++++-------------- 3 files changed, 74 insertions(+), 74 deletions(-) diff --git a/openlp/core/ui/servicenotedialog.py b/openlp/core/ui/servicenotedialog.py index 4044181f5..899db64be 100644 --- a/openlp/core/ui/servicenotedialog.py +++ b/openlp/core/ui/servicenotedialog.py @@ -28,10 +28,10 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import translate class Ui_ServiceNoteEdit(object): - def setupUi(self, ServiceNoteEdit): - ServiceNoteEdit.setObjectName(u'ServiceNoteEdit') - ServiceNoteEdit.resize(400, 243) - self.widget = QtGui.QWidget(ServiceNoteEdit) + def setupUi(self, serviceNoteEdit): + serviceNoteEdit.setObjectName(u'serviceNoteEdit') + serviceNoteEdit.resize(400, 243) + self.widget = QtGui.QWidget(serviceNoteEdit) self.widget.setGeometry(QtCore.QRect(20, 10, 361, 223)) self.widget.setObjectName(u'widget') self.verticalLayout = QtGui.QVBoxLayout(self.widget) @@ -45,9 +45,9 @@ class Ui_ServiceNoteEdit(object): self.buttonBox.setObjectName(u'buttonBox') self.verticalLayout.addWidget(self.buttonBox) - self.retranslateUi(ServiceNoteEdit) - QtCore.QMetaObject.connectSlotsByName(ServiceNoteEdit) + self.retranslateUi(serviceNoteEdit) + QtCore.QMetaObject.connectSlotsByName(serviceNoteEdit) - def retranslateUi(self, ServiceNoteEdit): - ServiceNoteEdit.setWindowTitle( + def retranslateUi(self, serviceNoteEdit): + serviceNoteEdit.setWindowTitle( translate('OpenLP.ServiceNoteForm', 'Service Item Notes')) diff --git a/openlp/core/ui/settingsdialog.py b/openlp/core/ui/settingsdialog.py index ebe8c2cf1..93b4e6141 100644 --- a/openlp/core/ui/settingsdialog.py +++ b/openlp/core/ui/settingsdialog.py @@ -29,19 +29,19 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import translate, build_icon class Ui_SettingsDialog(object): - def setupUi(self, SettingsDialog): - SettingsDialog.setObjectName(u'SettingsDialog') - SettingsDialog.resize(724, 502) - SettingsDialog.setWindowIcon( + def setupUi(self, settingsDialog): + settingsDialog.setObjectName(u'settingsDialog') + settingsDialog.resize(724, 502) + settingsDialog.setWindowIcon( build_icon(u':/system/system_settings.png')) - self.settingsLayout = QtGui.QVBoxLayout(SettingsDialog) + self.settingsLayout = QtGui.QVBoxLayout(settingsDialog) self.settingsLayout.setSpacing(8) self.settingsLayout.setMargin(8) self.settingsLayout.setObjectName(u'settingsLayout') - self.settingsTabWidget = QtGui.QTabWidget(SettingsDialog) + self.settingsTabWidget = QtGui.QTabWidget(settingsDialog) self.settingsTabWidget.setObjectName(u'settingsTabWidget') self.settingsLayout.addWidget(self.settingsTabWidget) - self.buttonBox = QtGui.QDialogButtonBox(SettingsDialog) + self.buttonBox = QtGui.QDialogButtonBox(settingsDialog) sizePolicy = QtGui.QSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) @@ -55,14 +55,14 @@ class Ui_SettingsDialog(object): QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok) self.buttonBox.setObjectName(u'buttonBox') self.settingsLayout.addWidget(self.buttonBox) - self.retranslateUi(SettingsDialog) + self.retranslateUi(settingsDialog) self.settingsTabWidget.setCurrentIndex(0) QtCore.QObject.connect(self.buttonBox, - QtCore.SIGNAL(u'accepted()'), SettingsDialog.accept) + QtCore.SIGNAL(u'accepted()'), settingsDialog.accept) QtCore.QObject.connect(self.buttonBox, - QtCore.SIGNAL(u'rejected()'), SettingsDialog.reject) - QtCore.QMetaObject.connectSlotsByName(SettingsDialog) + QtCore.SIGNAL(u'rejected()'), settingsDialog.reject) + QtCore.QMetaObject.connectSlotsByName(settingsDialog) - def retranslateUi(self, SettingsDialog): - SettingsDialog.setWindowTitle(translate('OpenLP.SettingsForm', + def retranslateUi(self, settingsDialog): + settingsDialog.setWindowTitle(translate('OpenLP.SettingsForm', 'Configure OpenLP')) diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index fb3881047..5198c0ea4 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -50,70 +50,70 @@ class ThemeManager(QtGui.QWidget): self.parent = parent self.settingsSection = u'themes' self.serviceComboBox = self.parent.ServiceManagerContents.ThemeComboBox - self.Layout = QtGui.QVBoxLayout(self) - self.Layout.setSpacing(0) - self.Layout.setMargin(0) + self.layout = QtGui.QVBoxLayout(self) + self.layout.setSpacing(0) + self.layout.setMargin(0) self.amendThemeForm = AmendThemeForm(self) - self.Toolbar = OpenLPToolbar(self) - self.Toolbar.addToolbarButton( + self.toolbar = OpenLPToolbar(self) + self.toolbar.addToolbarButton( translate('OpenLP.ThemeManager', 'New Theme'), u':/themes/theme_new.png', translate('OpenLP.ThemeManager', 'Create a new theme.'), self.onAddTheme) - self.Toolbar.addToolbarButton( + self.toolbar.addToolbarButton( translate('OpenLP.ThemeManager', 'Edit Theme'), u':/themes/theme_edit.png', translate('OpenLP.ThemeManager', 'Edit a theme.'), self.onEditTheme) - self.Toolbar.addToolbarButton( + self.toolbar.addToolbarButton( translate('OpenLP.ThemeManager', 'Delete Theme'), u':/general/general_delete.png', translate('OpenLP.ThemeManager', 'Delete a theme.'), self.onDeleteTheme) - self.Toolbar.addSeparator() - self.Toolbar.addToolbarButton( + self.toolbar.addSeparator() + self.toolbar.addToolbarButton( translate('OpenLP.ThemeManager', 'Import Theme'), u':/general/general_import.png', translate('OpenLP.ThemeManager', 'Import a theme.'), self.onImportTheme) - self.Toolbar.addToolbarButton( + self.toolbar.addToolbarButton( translate('OpenLP.ThemeManager', 'Export Theme'), u':/general/general_export.png', translate('OpenLP.ThemeManager', 'Export a theme.'), self.onExportTheme) - self.ThemeWidget = QtGui.QWidgetAction(self.Toolbar) - self.Layout.addWidget(self.Toolbar) - self.ThemeListWidget = QtGui.QListWidget(self) - self.ThemeListWidget.setAlternatingRowColors(True) - self.ThemeListWidget.setIconSize(QtCore.QSize(88, 50)) - self.Layout.addWidget(self.ThemeListWidget) - self.ThemeListWidget.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) - self.ThemeListWidget.addAction( - context_menu_action(self.ThemeListWidget, + self.themeWidget = QtGui.QWidgetAction(self.toolbar) + self.layout.addWidget(self.toolbar) + self.themeListWidget = QtGui.QListWidget(self) + self.themeListWidget.setAlternatingRowColors(True) + self.themeListWidget.setIconSize(QtCore.QSize(88, 50)) + self.layout.addWidget(self.themeListWidget) + self.themeListWidget.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) + self.themeListWidget.addAction( + context_menu_action(self.themeListWidget, u':/themes/theme_edit.png', translate('OpenLP.ThemeManager', '&Edit Theme'), self.onEditTheme)) - self.ThemeListWidget.addAction( - context_menu_separator(self.ThemeListWidget)) - self.ThemeListWidget.addAction( - context_menu_action(self.ThemeListWidget, + self.themeListWidget.addAction( + context_menu_separator(self.themeListWidget)) + self.themeListWidget.addAction( + context_menu_action(self.themeListWidget, u':/general/general_delete.png', translate('OpenLP.ThemeManager', '&Delete Theme'), self.onDeleteTheme)) - self.ThemeListWidget.addAction( - context_menu_action(self.ThemeListWidget, + self.themeListWidget.addAction( + context_menu_action(self.themeListWidget, u':/general/general_export.png', translate('OpenLP.ThemeManager', 'Set As &Global Default'), self.changeGlobalFromScreen)) - self.ThemeListWidget.addAction( - context_menu_action(self.ThemeListWidget, + self.themeListWidget.addAction( + context_menu_action(self.themeListWidget, u':/general/general_export.png', translate('OpenLP.ThemeManager', 'E&xport Theme'), self.onExportTheme)) - self.ThemeListWidget.addAction( - context_menu_separator(self.ThemeListWidget)) + self.themeListWidget.addAction( + context_menu_separator(self.themeListWidget)) #Signals - QtCore.QObject.connect(self.ThemeListWidget, + QtCore.QObject.connect(self.themeListWidget, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.changeGlobalFromScreen) QtCore.QObject.connect(Receiver.get_receiver(), @@ -138,18 +138,18 @@ class ThemeManager(QtGui.QWidget): tab """ log.debug(u'changeGlobalFromTab %s', themeName) - for count in range (0, self.ThemeListWidget.count()): + for count in range (0, self.themeListWidget.count()): #reset the old name - item = self.ThemeListWidget.item(count) + item = self.themeListWidget.item(count) oldName = item.text() newName = unicode(item.data(QtCore.Qt.UserRole).toString()) if oldName != newName: - self.ThemeListWidget.item(count).setText(newName) + self.themeListWidget.item(count).setText(newName) #Set the new name if themeName == newName: name = unicode(translate('OpenLP.ThemeManager', '%s (default)')) % newName - self.ThemeListWidget.item(count).setText(name) + self.themeListWidget.item(count).setText(name) def changeGlobalFromScreen(self, index = -1): """ @@ -157,21 +157,21 @@ class ThemeManager(QtGui.QWidget): Theme Manager list """ log.debug(u'changeGlobalFromScreen %s', index) - selected_row = self.ThemeListWidget.currentRow() - for count in range (0, self.ThemeListWidget.count()): - item = self.ThemeListWidget.item(count) + selected_row = self.themeListWidget.currentRow() + for count in range (0, self.themeListWidget.count()): + item = self.themeListWidget.item(count) oldName = item.text() #reset the old name if oldName != unicode(item.data(QtCore.Qt.UserRole).toString()): - self.ThemeListWidget.item(count).setText( + self.themeListWidget.item(count).setText( unicode(item.data(QtCore.Qt.UserRole).toString())) #Set the new name if count == selected_row: self.global_theme = unicode( - self.ThemeListWidget.item(count).text()) + self.themeListWidget.item(count).text()) name = unicode(translate('OpenLP.ThemeManager', '%s (default)')) % self.global_theme - self.ThemeListWidget.item(count).setText(name) + self.themeListWidget.item(count).setText(name) QtCore.QSettings().setValue( self.settingsSection + u'/global theme', QtCore.QVariant(self.global_theme)) @@ -194,10 +194,10 @@ class ThemeManager(QtGui.QWidget): Loads the settings for the theme that is to be edited and launches the theme editing form so the user can make their changes. """ - if check_item_selected(self.ThemeListWidget, + if check_item_selected(self.themeListWidget, translate('OpenLP.ThemeManager', 'You must select a theme to edit.')): - item = self.ThemeListWidget.currentItem() + item = self.themeListWidget.currentItem() themeName = unicode(item.text()) if themeName != unicode(item.data(QtCore.Qt.UserRole).toString()): self.editingDefault = True @@ -217,10 +217,10 @@ class ThemeManager(QtGui.QWidget): self.global_theme = unicode(QtCore.QSettings().value( self.settingsSection + u'/global theme', QtCore.QVariant(u'')).toString()) - if check_item_selected(self.ThemeListWidget, + if check_item_selected(self.themeListWidget, translate('OpenLP.ThemeManager', 'You must select a theme to delete.')): - item = self.ThemeListWidget.currentItem() + item = self.themeListWidget.currentItem() theme = unicode(item.text()) # confirm deletion answer = QtGui.QMessageBox.question(self, @@ -252,8 +252,8 @@ class ThemeManager(QtGui.QWidget): unicode(translate('OpenLP.ThemeManager', 'Theme %s is use by the service manager.')) % theme) return - row = self.ThemeListWidget.row(item) - self.ThemeListWidget.takeItem(row) + row = self.themeListWidget.row(item) + self.themeListWidget.takeItem(row) self.deleteTheme(theme) def deleteTheme(self, theme): @@ -281,7 +281,7 @@ class ThemeManager(QtGui.QWidget): """ Save the theme in a zip file """ - item = self.ThemeListWidget.currentItem() + item = self.themeListWidget.currentItem() if item is None: QtGui.QMessageBox.critical(self, translate('OpenLP.ThemeManager', 'Error'), @@ -346,7 +346,7 @@ class ThemeManager(QtGui.QWidget): """ log.debug(u'Load themes from dir') self.themelist = [] - self.ThemeListWidget.clear() + self.themeListWidget.clear() #root, dirs, files = os.walk(self.path) dirList = os.listdir(self.path) for name in dirList: @@ -371,7 +371,7 @@ class ThemeManager(QtGui.QWidget): item_name.setIcon(icon) item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(textName)) - self.ThemeListWidget.addItem(item_name) + self.themeListWidget.addItem(item_name) self.themelist.append(textName) self.pushThemes() @@ -622,15 +622,15 @@ class ThemeManager(QtGui.QWidget): self.serviceComboBox.setCurrentIndex(newThemeIndex) if self.editingDefault: if self.saveThemeName != name: - newThemeItem = self.ThemeListWidget.findItems(name, + newThemeItem = self.themeListWidget.findItems(name, QtCore.Qt.MatchExactly)[0] - newThemeIndex = self.ThemeListWidget.indexFromItem( + newThemeIndex = self.themeListWidget.indexFromItem( newThemeItem).row() self.global_theme = unicode( - self.ThemeListWidget.item(newThemeIndex).text()) + self.themeListWidget.item(newThemeIndex).text()) newName = unicode(translate('OpenLP.ThemeManager', '%s (default)')) % self.global_theme - self.ThemeListWidget.item(newThemeIndex).setText(newName) + self.themeListWidget.item(newThemeIndex).setText(newName) QtCore.QSettings().setValue( self.settingsSection + u'/global theme', QtCore.QVariant(self.global_theme)) From cc38e0f367a50e32a92999b4e5765636e35db784 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 13:54:26 +0100 Subject: [PATCH 125/148] Explicit exception catching --- openlp/plugins/bibles/lib/http.py | 61 +++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 9d5ef6e5a..cc78943bb 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -30,6 +30,7 @@ import re import sqlite3 import urllib import urllib2 +from HTMLParser import HTMLParseError from BeautifulSoup import BeautifulSoup, NavigableString @@ -201,12 +202,26 @@ class BGExtract(BibleCommon): url_params = urllib.urlencode( {u'search': u'%s %s' % (bookname, chapter), u'version': u'%s' % version}) - page = urllib2.urlopen( - u'http://www.biblegateway.com/passage/?%s' % url_params) - log.debug(u'BibleGateway url = %s' % page.geturl()) - Receiver.send_message(u'openlp_process_events') + page = None + try: + page = urllib2.urlopen( + u'http://www.biblegateway.com/passage/?%s' % url_params) + log.debug(u'BibleGateway url = %s' % page.geturl()) + Receiver.send_message(u'openlp_process_events') + except urllib2.URLError: + log.exception(u'The web bible page could not be downloaded.') + finally: + if not page: + return None cleaner = [(re.compile(' |
'), lambda match: '')] - soup = BeautifulSoup(page, markupMassage=cleaner) + soup = None + try: + soup = BeautifulSoup(page, markupMassage=cleaner) + except HTMLParseError: + log.exception(u'BeautifulSoup could not parse the bible page.') + finally: + if not soup: + return None Receiver.send_message(u'openlp_process_events') footnotes = soup.findAll(u'sup', u'footnote') [footnote.extract() for footnote in footnotes] @@ -250,11 +265,23 @@ class CWExtract(BibleCommon): chapter_url = u'http://www.biblestudytools.com/%s/%s/%s.html' % \ (version, urlbookname.lower(), chapter) log.debug(u'URL: %s', chapter_url) - page = urllib2.urlopen(chapter_url) - Receiver.send_message(u'openlp_process_events') - if not page: - return None - soup = BeautifulSoup(page) + page = None + try: + page = urllib2.urlopen(chapter_url) + Receiver.send_message(u'openlp_process_events') + except urllib2.URLError: + log.exception(u'The web bible page could not be downloaded') + finally: + if not page: + return None + soup = None + try: + soup = BeautifulSoup(page) + except HTMLParseError: + log.exception(u'BeautifulSoup could not parse the bible page.') + finally: + if not soup: + return None Receiver.send_message(u'openlp_process_events') htmlverses = soup.findAll(u'span', u'versetext') verses = {} @@ -404,15 +431,11 @@ class HTTPBible(BibleDB): """ log.debug(u'get_chapter %s, %s', book, chapter) log.debug(u'source = %s', self.download_source) - try: - if self.download_source.lower() == u'crosswalk': - ev = CWExtract(self.proxy_server) - else: - ev = BGExtract(self.proxy_server) - return ev.get_bible_chapter(self.download_name, book, chapter) - except: - log.exception("Failed to get bible chapter") - return None + if self.download_source.lower() == u'crosswalk': + ev = CWExtract(self.proxy_server) + else: + ev = BGExtract(self.proxy_server) + return ev.get_bible_chapter(self.download_name, book, chapter) def get_books(self): """ From db87a9e7dd1b363fa1eed226ebac99b57360f4f0 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Tue, 27 Jul 2010 16:07:00 +0100 Subject: [PATCH 126/148] Exception handling fixes in bible import --- openlp/plugins/bibles/forms/importwizardform.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openlp/plugins/bibles/forms/importwizardform.py b/openlp/plugins/bibles/forms/importwizardform.py index ba48ed5fb..371dcfa56 100644 --- a/openlp/plugins/bibles/forms/importwizardform.py +++ b/openlp/plugins/bibles/forms/importwizardform.py @@ -327,6 +327,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): #Load and store Crosswalk Bibles filepath = AppLocation.get_directory(AppLocation.PluginsDir) filepath = os.path.join(filepath, u'bibles', u'resources') + books_file = None try: self.web_bible_list[WebDownload.Crosswalk] = {} books_file = open( @@ -348,6 +349,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): if books_file: books_file.close() #Load and store BibleGateway Bibles + books_file = None try: self.web_bible_list[WebDownload.BibleGateway] = {} books_file = open(os.path.join(filepath, u'biblegateway.csv'), 'r') From 2b9bc517ae1a2ac716c63b2eb97a1a987e192b47 Mon Sep 17 00:00:00 2001 From: Philip Ridout Date: Tue, 27 Jul 2010 17:14:11 +0100 Subject: [PATCH 127/148] Removal of comment --- openlp/core/ui/maindisplay.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index a8156aeec..3a0ef05c1 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -455,7 +455,7 @@ class MainDisplay(DisplayWidget): self.displayText.setPixmap(frame) else: self.displayText.setPixmap(QtGui.QPixmap.fromImage(frame)) - if not self.isVisible() and self.screens.current['primary']: # self.screens.display + if not self.isVisible() and self.screens.current['primary']: self.setVisible(True) class VideoDisplay(Phonon.VideoWidget): From 73650e65365c0e924afda8ebe9a044202d17ef31 Mon Sep 17 00:00:00 2001 From: Philip Ridout Date: Tue, 27 Jul 2010 21:35:50 +0100 Subject: [PATCH 128/148] Moved loop delay on to the general tab from the image tab, as it was being used in songs and custom slides as well. Deleted image tab, as the loop delay was the only setting on it! --- openlp/core/ui/generaltab.py | 29 +++++++-- openlp/plugins/images/imageplugin.py | 5 +- openlp/plugins/images/lib/__init__.py | 1 - openlp/plugins/images/lib/imagetab.py | 93 --------------------------- 4 files changed, 25 insertions(+), 103 deletions(-) delete mode 100644 openlp/plugins/images/lib/imagetab.py diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index a47743c63..ce33c65f0 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -104,17 +104,23 @@ class GeneralTab(SettingsTab): self.generalLeftLayout.addWidget(self.startupGroupBox) self.settingsGroupBox = QtGui.QGroupBox(self) self.settingsGroupBox.setObjectName(u'settingsGroupBox') - self.settingsLayout = QtGui.QVBoxLayout(self.settingsGroupBox) + self.settingsLayout = QtGui.QGridLayout(self.settingsGroupBox) self.settingsLayout.setSpacing(8) self.settingsLayout.setMargin(8) self.settingsLayout.setObjectName(u'settingsLayout') self.saveCheckServiceCheckBox = QtGui.QCheckBox(self.settingsGroupBox) self.saveCheckServiceCheckBox.setObjectName(u'saveCheckServiceCheckBox') - self.settingsLayout.addWidget(self.saveCheckServiceCheckBox) - self.generalLeftLayout.addWidget(self.settingsGroupBox) + self.settingsLayout.addWidget(self.saveCheckServiceCheckBox, 0, 0, 1, 2) self.autoPreviewCheckBox = QtGui.QCheckBox(self.settingsGroupBox) self.autoPreviewCheckBox.setObjectName(u'autoPreviewCheckBox') - self.settingsLayout.addWidget(self.autoPreviewCheckBox) + self.settingsLayout.addWidget(self.autoPreviewCheckBox, 1, 0, 1, 2) + # Moved here from image tab + self.timeoutLabel = QtGui.QLabel(self.settingsGroupBox) + self.timeoutLabel.setObjectName("timeoutLabel") + self.settingsLayout.addWidget(self.timeoutLabel, 2, 0, 1, 1) + self.timeoutSpinBox = QtGui.QSpinBox(self.settingsGroupBox) + self.timeoutSpinBox.setObjectName("timeoutSpinBox") + self.settingsLayout.addWidget(self.timeoutSpinBox, 2,1, 1, 1) self.generalLeftLayout.addWidget(self.settingsGroupBox) self.generalLeftSpacer = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) @@ -306,6 +312,10 @@ class GeneralTab(SettingsTab): 'Prompt to save before starting a new service')) self.autoPreviewCheckBox.setText(translate('OpenLP.GeneralTab', 'Automatically preview next item in service')) + self.timeoutLabel.setText(translate('OpenLP.GeneralTab', + 'Slide loop delay:')) + self.timeoutSpinBox.setSuffix( + translate('OpenLP.GeneralTab', ' sec')) self.ccliGroupBox.setTitle( translate('OpenLP.GeneralTab', 'CCLI Details')) self.numberLabel.setText( @@ -366,6 +376,8 @@ class GeneralTab(SettingsTab): QtCore.QVariant(True)).toBool()) self.autoPreviewCheckBox.setChecked(settings.value(u'auto preview', QtCore.QVariant(False)).toBool()) + self.timeoutSpinBox.setValue(settings.value(u'loop delay', + QtCore.QVariant(5)).toInt()[0]) self.currentXValueLabel.setText( unicode(self.screens.current[u'size'].x())) self.currentYValueLabel.setText( @@ -423,6 +435,10 @@ class GeneralTab(SettingsTab): QtCore.QVariant(self.saveCheckServiceCheckBox.isChecked())) settings.setValue(u'auto preview', QtCore.QVariant(self.autoPreviewCheckBox.isChecked())) + settings.setValue(u'loop delay', + QtCore.QVariant(self.timeoutSpinBox.value())) + Receiver.send_message(u'slidecontroller_live_spin_delay', + self.timeoutSpinBox.value()) settings.setValue(u'ccli number', QtCore.QVariant(self.numberEdit.displayText())) settings.setValue(u'songselect username', @@ -452,8 +468,11 @@ class GeneralTab(SettingsTab): def postSetUp(self): """ - Reset screens after initial definition + Apply settings after settings tab has loaded """ + Receiver.send_message(u'slidecontroller_live_spin_delay', + self.timeoutSpinBox.value()) + # Reset screens after initial definition self.screens.override[u'size'] = QtCore.QRect( int(self.customXValueEdit.text()), int(self.customYValueEdit.text()), diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py index b94c3ce9b..909defd6b 100644 --- a/openlp/plugins/images/imageplugin.py +++ b/openlp/plugins/images/imageplugin.py @@ -27,7 +27,7 @@ import logging from openlp.core.lib import Plugin, build_icon, PluginStatus, translate -from openlp.plugins.images.lib import ImageMediaItem, ImageTab +from openlp.plugins.images.lib import ImageMediaItem log = logging.getLogger(__name__) @@ -41,9 +41,6 @@ class ImagePlugin(Plugin): self.icon = build_icon(self.icon_path) self.status = PluginStatus.Active - def getSettingsTab(self): - return ImageTab(self.name) - def getMediaManagerItem(self): # Create the MediaManagerItem object return ImageMediaItem(self, self.icon, self.name) diff --git a/openlp/plugins/images/lib/__init__.py b/openlp/plugins/images/lib/__init__.py index b2ab22faf..fb7b0a249 100644 --- a/openlp/plugins/images/lib/__init__.py +++ b/openlp/plugins/images/lib/__init__.py @@ -25,4 +25,3 @@ ############################################################################### from mediaitem import ImageMediaItem -from imagetab import ImageTab diff --git a/openlp/plugins/images/lib/imagetab.py b/openlp/plugins/images/lib/imagetab.py deleted file mode 100644 index 73274a39c..000000000 --- a/openlp/plugins/images/lib/imagetab.py +++ /dev/null @@ -1,93 +0,0 @@ -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 - -############################################################################### -# OpenLP - Open Source Lyrics Projection # -# --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, 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 # -# Software Foundation; version 2 of the License. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with this program; if not, write to the Free Software Foundation, Inc., 59 # -# Temple Place, Suite 330, Boston, MA 02111-1307 USA # -############################################################################### - -from PyQt4 import QtCore, QtGui - -from openlp.core.lib import SettingsTab, Receiver, translate - -class ImageTab(SettingsTab): - """ - ImageTab is the Image settings tab in the settings dialog. - """ - def __init__(self, title): - SettingsTab.__init__(self, title) - - def setupUi(self): - self.setObjectName(u'ImageTab') - self.tabTitleVisible = translate('ImagePlugin.ImageTab', 'Images') - self.ImageLayout = QtGui.QFormLayout(self) - self.ImageLayout.setSpacing(8) - self.ImageLayout.setMargin(8) - self.ImageLayout.setObjectName(u'ImageLayout') - self.ImageSettingsGroupBox = QtGui.QGroupBox(self) - self.ImageSettingsGroupBox.setObjectName(u'ImageSettingsGroupBox') - self.TimeoutLayout = QtGui.QHBoxLayout(self.ImageSettingsGroupBox) - self.TimeoutLayout.setSpacing(8) - self.TimeoutLayout.setMargin(8) - self.TimeoutLayout.setObjectName(u'TimeoutLayout') - self.TimeoutLabel = QtGui.QLabel(self.ImageSettingsGroupBox) - self.TimeoutLabel.setObjectName(u'TimeoutLabel') - self.TimeoutLayout.addWidget(self.TimeoutLabel) - self.TimeoutSpinBox = QtGui.QSpinBox(self.ImageSettingsGroupBox) - self.TimeoutSpinBox.setMinimum(1) - self.TimeoutSpinBox.setMaximum(180) - self.TimeoutSpinBox.setObjectName(u'TimeoutSpinBox') - self.TimeoutLayout.addWidget(self.TimeoutSpinBox) - self.TimeoutSpacer = QtGui.QSpacerItem(147, 20, - QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) - self.TimeoutLayout.addItem(self.TimeoutSpacer) - self.ImageLayout.setWidget( - 0, QtGui.QFormLayout.LabelRole, self.ImageSettingsGroupBox) - # Signals and slots - QtCore.QObject.connect(self.TimeoutSpinBox, - QtCore.SIGNAL(u'valueChanged(int)'), self.onTimeoutSpinBoxChanged) - - def retranslateUi(self): - self.ImageSettingsGroupBox.setTitle( - translate('ImagePlugin.ImageTab', 'Image Settings')) - self.TimeoutLabel.setText( - translate('ImagePlugin.ImageTab', 'Slide loop delay:')) - self.TimeoutSpinBox.setSuffix( - translate('ImagePlugin.ImageTab', 'sec')) - - def onTimeoutSpinBoxChanged(self): - self.loop_delay = self.TimeoutSpinBox.value() - - def load(self): - self.loop_delay = QtCore.QSettings().value( - self.settingsSection + u'/loop delay', - QtCore.QVariant(5)).toInt()[0] - self.TimeoutSpinBox.setValue(self.loop_delay) - - def save(self): - QtCore.QSettings().setValue(self.settingsSection + u'/loop delay', - QtCore.QVariant(self.loop_delay)) - Receiver.send_message(u'slidecontroller_live_spin_delay', - self.loop_delay) - - def postSetUp(self): - Receiver.send_message(u'slidecontroller_live_spin_delay', - self.loop_delay) From 3b5c29dc073bb893ef8d76fc78a304f4a613cafd Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Wed, 28 Jul 2010 13:44:33 +0100 Subject: [PATCH 129/148] Missing space --- openlp/core/ui/generaltab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index ce33c65f0..ec0d10743 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -120,7 +120,7 @@ class GeneralTab(SettingsTab): self.settingsLayout.addWidget(self.timeoutLabel, 2, 0, 1, 1) self.timeoutSpinBox = QtGui.QSpinBox(self.settingsGroupBox) self.timeoutSpinBox.setObjectName("timeoutSpinBox") - self.settingsLayout.addWidget(self.timeoutSpinBox, 2,1, 1, 1) + self.settingsLayout.addWidget(self.timeoutSpinBox, 2, 1, 1, 1) self.generalLeftLayout.addWidget(self.settingsGroupBox) self.generalLeftSpacer = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) From 2bd442ff4fd120afbbb24a729a4e415ac7e6d87d Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Wed, 28 Jul 2010 14:15:39 +0100 Subject: [PATCH 130/148] More naming cleanup --- openlp/core/ui/servicemanager.py | 143 +++++++++--------- openlp/core/utils/languagemanager.py | 6 +- openlp/plugins/alerts/alertsplugin.py | 6 +- openlp/plugins/bibles/bibleplugin.py | 30 ++-- .../plugins/bibles/forms/importwizardform.py | 8 +- openlp/plugins/bibles/lib/biblestab.py | 8 +- openlp/plugins/bibles/lib/manager.py | 12 +- 7 files changed, 104 insertions(+), 109 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index a9f7af20c..b1ccce77e 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -112,60 +112,60 @@ class ServiceManager(QtGui.QWidget): self.serviceNoteForm = ServiceNoteForm(self.parent) self.serviceItemEditForm = ServiceItemEditForm(self.parent) #start with the layout - self.Layout = QtGui.QVBoxLayout(self) - self.Layout.setSpacing(0) - self.Layout.setMargin(0) + self.layout = QtGui.QVBoxLayout(self) + self.layout.setSpacing(0) + self.layout.setMargin(0) # Create the top toolbar - self.Toolbar = OpenLPToolbar(self) - self.Toolbar.addToolbarButton( + self.toolbar = OpenLPToolbar(self) + self.toolbar.addToolbarButton( translate('OpenLP.ServiceManager', 'New Service'), u':/general/general_new.png', translate('OpenLP.ServiceManager', 'Create a new service'), self.onNewService) - self.Toolbar.addToolbarButton( + self.toolbar.addToolbarButton( translate('OpenLP.ServiceManager', 'Open Service'), u':/general/general_open.png', translate('OpenLP.ServiceManager', 'Load an existing service'), self.onLoadService) - self.Toolbar.addToolbarButton( + self.toolbar.addToolbarButton( translate('OpenLP.ServiceManager', 'Save Service'), u':/general/general_save.png', translate('OpenLP.ServiceManager', 'Save this service'), self.onQuickSaveService) - self.Toolbar.addSeparator() - self.ThemeLabel = QtGui.QLabel(translate('OpenLP.ServiceManager', + self.toolbar.addSeparator() + self.themeLabel = QtGui.QLabel(translate('OpenLP.ServiceManager', 'Theme:'), self) - self.ThemeLabel.setMargin(3) - self.Toolbar.addToolbarWidget(u'ThemeLabel', self.ThemeLabel) - self.ThemeComboBox = QtGui.QComboBox(self.Toolbar) - self.ThemeComboBox.setToolTip(translate('OpenLP.ServiceManager', + self.themeLabel.setMargin(3) + self.toolbar.addToolbarWidget(u'ThemeLabel', self.themeLabel) + self.themeComboBox = QtGui.QComboBox(self.toolbar) + self.themeComboBox.setToolTip(translate('OpenLP.ServiceManager', 'Select a theme for the service')) - self.ThemeComboBox.setSizeAdjustPolicy( + self.themeComboBox.setSizeAdjustPolicy( QtGui.QComboBox.AdjustToContents) - self.Toolbar.addToolbarWidget(u'ThemeWidget', self.ThemeComboBox) - self.Layout.addWidget(self.Toolbar) + self.toolbar.addToolbarWidget(u'ThemeWidget', self.themeComboBox) + self.layout.addWidget(self.toolbar) # Create the service manager list - self.ServiceManagerList = ServiceManagerList(self) - self.ServiceManagerList.setEditTriggers( + self.serviceManagerList = ServiceManagerList(self) + self.serviceManagerList.setEditTriggers( QtGui.QAbstractItemView.CurrentChanged | QtGui.QAbstractItemView.DoubleClicked | QtGui.QAbstractItemView.EditKeyPressed) - self.ServiceManagerList.setDragDropMode( + self.serviceManagerList.setDragDropMode( QtGui.QAbstractItemView.DragDrop) - self.ServiceManagerList.setAlternatingRowColors(True) - self.ServiceManagerList.setHeaderHidden(True) - self.ServiceManagerList.setExpandsOnDoubleClick(False) - self.ServiceManagerList.setContextMenuPolicy( + self.serviceManagerList.setAlternatingRowColors(True) + self.serviceManagerList.setHeaderHidden(True) + self.serviceManagerList.setExpandsOnDoubleClick(False) + self.serviceManagerList.setContextMenuPolicy( QtCore.Qt.CustomContextMenu) - QtCore.QObject.connect(self.ServiceManagerList, + QtCore.QObject.connect(self.serviceManagerList, QtCore.SIGNAL('customContextMenuRequested(QPoint)'), self.contextMenu) - self.ServiceManagerList.setObjectName(u'ServiceManagerList') + self.serviceManagerList.setObjectName(u'serviceManagerList') # enable drop - self.ServiceManagerList.__class__.dragEnterEvent = self.dragEnterEvent - self.ServiceManagerList.__class__.dragMoveEvent = self.dragEnterEvent - self.ServiceManagerList.__class__.dropEvent = self.dropEvent - self.Layout.addWidget(self.ServiceManagerList) + self.serviceManagerList.__class__.dragEnterEvent = self.dragEnterEvent + self.serviceManagerList.__class__.dragMoveEvent = self.dragEnterEvent + self.serviceManagerList.__class__.dropEvent = self.dropEvent + self.layout.addWidget(self.serviceManagerList) # Add the bottom toolbar self.OrderToolbar = OpenLPToolbar(self) self.OrderToolbar.addToolbarButton( @@ -199,15 +199,15 @@ class ServiceManager(QtGui.QWidget): translate('OpenLP.ServiceManager', 'Delete the selected item from the service.'), self.onDeleteFromService) - self.Layout.addWidget(self.OrderToolbar) + self.layout.addWidget(self.OrderToolbar) # Connect up our signals and slots - QtCore.QObject.connect(self.ThemeComboBox, + QtCore.QObject.connect(self.themeComboBox, QtCore.SIGNAL(u'activated(int)'), self.onThemeComboBoxSelected) - QtCore.QObject.connect(self.ServiceManagerList, + QtCore.QObject.connect(self.serviceManagerList, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.makeLive) - QtCore.QObject.connect(self.ServiceManagerList, + QtCore.QObject.connect(self.serviceManagerList, QtCore.SIGNAL(u'itemCollapsed(QTreeWidgetItem*)'), self.collapsed) - QtCore.QObject.connect(self.ServiceManagerList, + QtCore.QObject.connect(self.serviceManagerList, QtCore.SIGNAL(u'itemExpanded(QTreeWidgetItem*)'), self.expanded) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'theme_update_list'), self.updateThemeList) @@ -268,7 +268,7 @@ class ServiceManager(QtGui.QWidget): self.suffixes.append(suffix) def contextMenu(self, point): - item = self.ServiceManagerList.itemAt(point) + item = self.serviceManagerList.itemAt(point) if item is None: return if item.parent() is None: @@ -289,7 +289,7 @@ class ServiceManager(QtGui.QWidget): self.themeMenu.menuAction().setVisible(False) if serviceItem[u'service_item'].is_text(): self.themeMenu.menuAction().setVisible(True) - action = self.menu.exec_(self.ServiceManagerList.mapToGlobal(point)) + action = self.menu.exec_(self.serviceManagerList.mapToGlobal(point)) if action == self.editAction: self.remoteEdit() if action == self.maintainAction: @@ -326,14 +326,14 @@ class ServiceManager(QtGui.QWidget): Called by the SlideController to select the next service item """ - if len(self.ServiceManagerList.selectedItems()) == 0: + if len(self.serviceManagerList.selectedItems()) == 0: return - selected = self.ServiceManagerList.selectedItems()[0] + selected = self.serviceManagerList.selectedItems()[0] lookFor = 0 - serviceIterator = QtGui.QTreeWidgetItemIterator(self.ServiceManagerList) + serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList) while serviceIterator.value(): if lookFor == 1 and serviceIterator.value().parent() is None: - self.ServiceManagerList.setCurrentItem(serviceIterator.value()) + self.serviceManagerList.setCurrentItem(serviceIterator.value()) self.makeLive() return if serviceIterator.value() == selected: @@ -345,15 +345,15 @@ class ServiceManager(QtGui.QWidget): Called by the SlideController to select the previous service item """ - if len(self.ServiceManagerList.selectedItems()) == 0: + if len(self.serviceManagerList.selectedItems()) == 0: return - selected = self.ServiceManagerList.selectedItems()[0] + selected = self.serviceManagerList.selectedItems()[0] prevItem = None - serviceIterator = QtGui.QTreeWidgetItemIterator(self.ServiceManagerList) + serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList) while serviceIterator.value(): if serviceIterator.value() == selected: if prevItem: - self.ServiceManagerList.setCurrentItem(prevItem) + self.serviceManagerList.setCurrentItem(prevItem) self.makeLive() return if serviceIterator.value().parent() is None: @@ -370,9 +370,9 @@ class ServiceManager(QtGui.QWidget): """ Makes a specific item in the service live """ - if index >= 0 and index < self.ServiceManagerList.topLevelItemCount: - item = self.ServiceManagerList.topLevelItem(index) - self.ServiceManagerList.setCurrentItem(item) + if index >= 0 and index < self.serviceManagerList.topLevelItemCount: + item = self.serviceManagerList.topLevelItem(index) + self.serviceManagerList.setCurrentItem(item) self.makeLive() def onMoveSelectionUp(self): @@ -380,7 +380,7 @@ class ServiceManager(QtGui.QWidget): Moves the selection up the window Called by the up arrow """ - serviceIterator = QtGui.QTreeWidgetItemIterator(self.ServiceManagerList) + serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList) tempItem = None setLastItem = False while serviceIterator: @@ -405,7 +405,7 @@ class ServiceManager(QtGui.QWidget): Moves the selection down the window Called by the down arrow """ - serviceIterator = QtGui.QTreeWidgetItemIterator(self.ServiceManagerList) + serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList) firstItem = serviceIterator setSelected = False while serviceIterator: @@ -503,7 +503,7 @@ class ServiceManager(QtGui.QWidget): QtGui.QMessageBox.Save) if ret == QtGui.QMessageBox.Save: self.onSaveService() - self.ServiceManagerList.clear() + self.serviceManagerList.clear() self.serviceItems = [] self.serviceName = u'' self.isNew = True @@ -531,10 +531,10 @@ class ServiceManager(QtGui.QWidget): item[u'order'] = count count += 1 #Repaint the screen - self.ServiceManagerList.clear() + self.serviceManagerList.clear() for itemcount, item in enumerate(self.serviceItems): serviceitem = item[u'service_item'] - treewidgetitem = QtGui.QTreeWidgetItem(self.ServiceManagerList) + treewidgetitem = QtGui.QTreeWidgetItem(self.serviceManagerList) if serviceitem.is_valid: if serviceitem.notes: icon = QtGui.QImage(serviceitem.icon) @@ -565,7 +565,7 @@ class ServiceManager(QtGui.QWidget): if serviceItem == itemcount and serviceItemCount == count: #preserve expanding status as setCurrentItem sets it to True temp = item[u'expanded'] - self.ServiceManagerList.setCurrentItem(treewidgetitem1) + self.serviceManagerList.setCurrentItem(treewidgetitem1) item[u'expanded'] = temp treewidgetitem.setExpanded(item[u'expanded']) @@ -758,7 +758,7 @@ class ServiceManager(QtGui.QWidget): """ Set the theme for the current service """ - self.service_theme = unicode(self.ThemeComboBox.currentText()) + self.service_theme = unicode(self.themeComboBox.currentText()) self.parent.RenderManager.set_service_theme(self.service_theme) QtCore.QSettings().setValue( self.parent.serviceSettingsSection + u'/service theme', @@ -771,11 +771,11 @@ class ServiceManager(QtGui.QWidget): sure the theme combo box is in the correct state. """ if self.parent.RenderManager.theme_level == ThemeLevel.Global: - self.Toolbar.actions[u'ThemeLabel'].setVisible(False) - self.Toolbar.actions[u'ThemeWidget'].setVisible(False) + self.toolbar.actions[u'ThemeLabel'].setVisible(False) + self.toolbar.actions[u'ThemeWidget'].setVisible(False) else: - self.Toolbar.actions[u'ThemeLabel'].setVisible(True) - self.Toolbar.actions[u'ThemeWidget'].setVisible(True) + self.toolbar.actions[u'ThemeLabel'].setVisible(True) + self.toolbar.actions[u'ThemeWidget'].setVisible(True) def regenerateServiceItems(self): """ @@ -786,7 +786,7 @@ class ServiceManager(QtGui.QWidget): self.parent.RenderManager.themedata = None if self.serviceItems: tempServiceItems = self.serviceItems - self.ServiceManagerList.clear() + self.serviceManagerList.clear() self.serviceItems = [] self.isNew = True for item in tempServiceItems: @@ -903,7 +903,7 @@ class ServiceManager(QtGui.QWidget): """ Finds a ServiceItem in the list """ - items = self.ServiceManagerList.selectedItems() + items = self.serviceManagerList.selectedItems() pos = 0 count = 0 for item in items: @@ -923,7 +923,6 @@ class ServiceManager(QtGui.QWidget): ``event`` Handle of the event pint passed - """ event.accept() @@ -939,7 +938,7 @@ class ServiceManager(QtGui.QWidget): link = event.mimeData() if link.hasText(): plugin = event.mimeData().text() - item = self.ServiceManagerList.itemAt(event.pos()) + item = self.serviceManagerList.itemAt(event.pos()) #ServiceManager started the drag and drop if plugin == u'ServiceManager': startpos, startCount = self.findServiceItem() @@ -983,23 +982,21 @@ class ServiceManager(QtGui.QWidget): ``theme_list`` A list of current themes to be displayed """ - self.ThemeComboBox.clear() + self.themeComboBox.clear() self.themeMenu.clear() - self.ThemeComboBox.addItem(u'') + self.themeComboBox.addItem(u'') for theme in theme_list: - self.ThemeComboBox.addItem(theme) - action = context_menu_action( - self.ServiceManagerList, - None, - theme , self.onThemeChangeAction) + self.themeComboBox.addItem(theme) + action = context_menu_action(self.serviceManagerList, None, theme, + self.onThemeChangeAction) self.themeMenu.addAction(action) - id = self.ThemeComboBox.findText(self.service_theme, + index = self.themeComboBox.findText(self.service_theme, QtCore.Qt.MatchExactly) # Not Found - if id == -1: - id = 0 + if index == -1: + index = 0 self.service_theme = u'' - self.ThemeComboBox.setCurrentIndex(id) + self.themeComboBox.setCurrentIndex(index) self.parent.RenderManager.set_service_theme(self.service_theme) self.regenerateServiceItems() diff --git a/openlp/core/utils/languagemanager.py b/openlp/core/utils/languagemanager.py index 6b939d9b2..275d6985b 100644 --- a/openlp/core/utils/languagemanager.py +++ b/openlp/core/utils/languagemanager.py @@ -54,10 +54,10 @@ class LanguageManager(object): """ if LanguageManager.AutoLanguage: language = QtCore.QLocale.system().name() - lang_Path = AppLocation.get_directory(AppLocation.AppDir) - lang_Path = os.path.join(lang_Path, u'resources', u'i18n') + lang_path = AppLocation.get_directory(AppLocation.AppDir) + lang_path = os.path.join(lang_path, u'resources', u'i18n') app_translator = QtCore.QTranslator() - if app_translator.load("openlp_" + language, lang_Path): + if app_translator.load("openlp_" + language, lang_path): return app_translator @staticmethod diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index c62f088a6..c4e1f50ea 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -66,11 +66,9 @@ class AlertsPlugin(Plugin): """ log.info(u'add tools menu') self.toolsAlertItem = QtGui.QAction(tools_menu) - AlertIcon = build_icon(u':/plugins/plugin_alerts.png') - self.toolsAlertItem.setIcon(AlertIcon) + self.toolsAlertItem.setIcon(build_icon(u':/plugins/plugin_alerts.png')) self.toolsAlertItem.setObjectName(u'toolsAlertItem') - self.toolsAlertItem.setText( - translate('AlertsPlugin', '&Alert')) + self.toolsAlertItem.setText(translate('AlertsPlugin', '&Alert')) self.toolsAlertItem.setStatusTip( translate('AlertsPlugin', 'Show an alert message.')) self.toolsAlertItem.setShortcut(u'F7') diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index d81aed399..5550dd90e 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -50,14 +50,14 @@ class BiblePlugin(Plugin): if self.manager is None: self.manager = BibleManager(self) Plugin.initialise(self) - self.ImportBibleItem.setVisible(True) - self.ExportBibleItem.setVisible(True) + self.importBibleItem.setVisible(True) + self.exportBibleItem.setVisible(True) def finalise(self): log.info(u'Plugin Finalise') Plugin.finalise(self) - self.ImportBibleItem.setVisible(False) - self.ExportBibleItem.setVisible(False) + self.importBibleItem.setVisible(False) + self.exportBibleItem.setVisible(False) def getSettingsTab(self): return BiblesTab(self.name) @@ -67,23 +67,23 @@ class BiblePlugin(Plugin): return BibleMediaItem(self, self.icon, self.name) def addImportMenuItem(self, import_menu): - self.ImportBibleItem = QtGui.QAction(import_menu) - self.ImportBibleItem.setObjectName(u'ImportBibleItem') - import_menu.addAction(self.ImportBibleItem) - self.ImportBibleItem.setText( + self.importBibleItem = QtGui.QAction(import_menu) + self.importBibleItem.setObjectName(u'importBibleItem') + import_menu.addAction(self.importBibleItem) + self.importBibleItem.setText( translate('BiblesPlugin', '&Bible')) # signals and slots - QtCore.QObject.connect(self.ImportBibleItem, + QtCore.QObject.connect(self.importBibleItem, QtCore.SIGNAL(u'triggered()'), self.onBibleImportClick) - self.ImportBibleItem.setVisible(False) + self.importBibleItem.setVisible(False) def addExportMenuItem(self, export_menu): - self.ExportBibleItem = QtGui.QAction(export_menu) - self.ExportBibleItem.setObjectName(u'ExportBibleItem') - export_menu.addAction(self.ExportBibleItem) - self.ExportBibleItem.setText(translate( + self.exportBibleItem = QtGui.QAction(export_menu) + self.exportBibleItem.setObjectName(u'exportBibleItem') + export_menu.addAction(self.exportBibleItem) + self.exportBibleItem.setText(translate( 'BiblesPlugin', '&Bible')) - self.ExportBibleItem.setVisible(False) + self.exportBibleItem.setVisible(False) def onBibleImportClick(self): if self.mediaItem: diff --git a/openlp/plugins/bibles/forms/importwizardform.py b/openlp/plugins/bibles/forms/importwizardform.py index 371dcfa56..c955847c6 100644 --- a/openlp/plugins/bibles/forms/importwizardform.py +++ b/openlp/plugins/bibles/forms/importwizardform.py @@ -50,8 +50,8 @@ class WebDownload(object): } @classmethod - def get_name(cls, id): - return cls.Names[id] + def get_name(cls, name): + return cls.Names[name] class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): @@ -260,8 +260,8 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): if self.currentId() == 3: Receiver.send_message(u'bibles_stop_import') - def onCurrentIdChanged(self, id): - if id == 3: + def onCurrentIdChanged(self, pageId): + if pageId == 3: self.preImport() self.performImport() self.postImport() diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index 162ab13d2..8399ee1d4 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -241,10 +241,10 @@ class BiblesTab(SettingsTab): self.BibleThemeComboBox.addItem(u'') for theme in theme_list: self.BibleThemeComboBox.addItem(theme) - id = self.BibleThemeComboBox.findText( + index = self.BibleThemeComboBox.findText( unicode(self.bible_theme), QtCore.Qt.MatchExactly) - if id == -1: + if index == -1: # Not Found - id = 0 + index = 0 self.bible_theme = u'' - self.BibleThemeComboBox.setCurrentIndex(id) + self.BibleThemeComboBox.setCurrentIndex(index) diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index 0f06764ad..5c2767d0e 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -63,20 +63,20 @@ class BibleFormat(object): WebDownload = 3 @staticmethod - def get_class(id): + def get_class(format): """ Return the appropriate imeplementation class. - ``id`` + ``format`` The Bible format. """ - if id == BibleFormat.OSIS: + if format == BibleFormat.OSIS: return OSISBible - elif id == BibleFormat.CSV: + elif format == BibleFormat.CSV: return CSVBible - elif id == BibleFormat.OpenSong: + elif format == BibleFormat.OpenSong: return OpenSongBible - elif id == BibleFormat.WebDownload: + elif format == BibleFormat.WebDownload: return HTTPBible else: return None From c099e6f8083bad8fdbaa4aca0abbd41788175b55 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Wed, 28 Jul 2010 14:32:12 +0100 Subject: [PATCH 131/148] Naming cleanup --- openlp/plugins/custom/lib/customtab.py | 38 +++++++++++++------------- openlp/plugins/songs/lib/__init__.py | 12 ++++---- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/openlp/plugins/custom/lib/customtab.py b/openlp/plugins/custom/lib/customtab.py index 0081524b6..77ef0f3f6 100644 --- a/openlp/plugins/custom/lib/customtab.py +++ b/openlp/plugins/custom/lib/customtab.py @@ -38,29 +38,29 @@ class CustomTab(SettingsTab): def setupUi(self): self.setObjectName(u'CustomTab') self.tabTitleVisible = translate('CustomPlugin.CustomTab', 'Custom') - self.CustomLayout = QtGui.QFormLayout(self) - self.CustomLayout.setSpacing(8) - self.CustomLayout.setMargin(8) - self.CustomLayout.setObjectName(u'CustomLayout') - self.CustomModeGroupBox = QtGui.QGroupBox(self) - self.CustomModeGroupBox.setObjectName(u'CustomModeGroupBox') - self.CustomModeLayout = QtGui.QVBoxLayout(self.CustomModeGroupBox) - self.CustomModeLayout.setSpacing(8) - self.CustomModeLayout.setMargin(8) - self.CustomModeLayout.setObjectName(u'CustomModeLayout') - self.DisplayFooterCheckBox = QtGui.QCheckBox(self.CustomModeGroupBox) - self.DisplayFooterCheckBox.setObjectName(u'DisplayFooterCheckBox') - self.CustomModeLayout.addWidget(self.DisplayFooterCheckBox) - self.CustomLayout.setWidget( - 0, QtGui.QFormLayout.LabelRole, self.CustomModeGroupBox) - QtCore.QObject.connect(self.DisplayFooterCheckBox, + self.customLayout = QtGui.QFormLayout(self) + self.customLayout.setSpacing(8) + self.customLayout.setMargin(8) + self.customLayout.setObjectName(u'customLayout') + self.customModeGroupBox = QtGui.QGroupBox(self) + self.customModeGroupBox.setObjectName(u'customModeGroupBox') + self.customModeLayout = QtGui.QVBoxLayout(self.customModeGroupBox) + self.customModeLayout.setSpacing(8) + self.customModeLayout.setMargin(8) + self.customModeLayout.setObjectName(u'customModeLayout') + self.displayFooterCheckBox = QtGui.QCheckBox(self.customModeGroupBox) + self.displayFooterCheckBox.setObjectName(u'displayFooterCheckBox') + self.customModeLayout.addWidget(self.displayFooterCheckBox) + self.customLayout.setWidget( + 0, QtGui.QFormLayout.LabelRole, self.customModeGroupBox) + QtCore.QObject.connect(self.displayFooterCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onDisplayFooterCheckBoxChanged) def retranslateUi(self): - self.CustomModeGroupBox.setTitle(translate('CustomPlugin.CustomTab', + self.customModeGroupBox.setTitle(translate('CustomPlugin.CustomTab', 'Custom Display')) - self.DisplayFooterCheckBox.setText( + self.displayFooterCheckBox.setText( translate('CustomPlugin.CustomTab', 'Display footer')) def onDisplayFooterCheckBoxChanged(self, check_state): @@ -73,7 +73,7 @@ class CustomTab(SettingsTab): self.displayFooter = QtCore.QSettings().value( self.settingsSection + u'/display footer', QtCore.QVariant(True)).toBool() - self.DisplayFooterCheckBox.setChecked(self.displayFooter) + self.displayFooterCheckBox.setChecked(self.displayFooter) def save(self): QtCore.QSettings().setValue(self.settingsSection + u'/display footer', diff --git a/openlp/plugins/songs/lib/__init__.py b/openlp/plugins/songs/lib/__init__.py index 23bbc2a52..b8f4d9a05 100644 --- a/openlp/plugins/songs/lib/__init__.py +++ b/openlp/plugins/songs/lib/__init__.py @@ -42,20 +42,20 @@ class SongFormat(object): CSV = 3 @staticmethod - def get_class(id): + def get_class(format): """ Return the appropriate imeplementation class. - ``id`` + ``format`` The song format. """ -# if id == SongFormat.OpenLyrics: +# if format == SongFormat.OpenLyrics: # return OpenLyricsSong -# elif id == SongFormat.OpenSong: +# elif format == SongFormat.OpenSong: # return OpenSongSong -# elif id == SongFormat.CCLI: +# elif format == SongFormat.CCLI: # return CCLISong -# elif id == SongFormat.CSV: +# elif format == SongFormat.CSV: # return CSVSong # else: return None From 8838e9563eab69ac44925f9b5aad69f03ba8757c Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Wed, 28 Jul 2010 14:36:29 +0100 Subject: [PATCH 132/148] Naming cleanup fixes --- openlp/core/ui/mainwindow.py | 6 +++--- openlp/core/ui/thememanager.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index cbbe7f5bd..1730e02d8 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -220,17 +220,17 @@ class Ui_MainWindow(object): # Create the menu items self.FileNewItem = QtGui.QAction(MainWindow) self.FileNewItem.setIcon( - self.ServiceManagerContents.Toolbar.getIconFromTitle( + self.ServiceManagerContents.toolbar.getIconFromTitle( u'New Service')) self.FileNewItem.setObjectName(u'FileNewItem') self.FileOpenItem = QtGui.QAction(MainWindow) self.FileOpenItem.setIcon( - self.ServiceManagerContents.Toolbar.getIconFromTitle( + self.ServiceManagerContents.toolbar.getIconFromTitle( u'Open Service')) self.FileOpenItem.setObjectName(u'FileOpenItem') self.FileSaveItem = QtGui.QAction(MainWindow) self.FileSaveItem.setIcon( - self.ServiceManagerContents.Toolbar.getIconFromTitle( + self.ServiceManagerContents.toolbar.getIconFromTitle( u'Save Service')) self.FileSaveItem.setObjectName(u'FileSaveItem') self.FileSaveAsItem = QtGui.QAction(MainWindow) diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 5198c0ea4..760d8b059 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -49,7 +49,7 @@ class ThemeManager(QtGui.QWidget): QtGui.QWidget.__init__(self, parent) self.parent = parent self.settingsSection = u'themes' - self.serviceComboBox = self.parent.ServiceManagerContents.ThemeComboBox + self.serviceComboBox = self.parent.ServiceManagerContents.themeComboBox self.layout = QtGui.QVBoxLayout(self) self.layout.setSpacing(0) self.layout.setMargin(0) From fc849398a916277176b180805c5174380f7993a3 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Thu, 29 Jul 2010 15:36:02 +0100 Subject: [PATCH 133/148] Bible reference refactor --- openlp/plugins/bibles/lib/__init__.py | 160 +++++++++++++++- openlp/plugins/bibles/lib/common.py | 256 -------------------------- openlp/plugins/bibles/lib/http.py | 7 +- openlp/plugins/bibles/lib/manager.py | 2 +- 4 files changed, 164 insertions(+), 261 deletions(-) delete mode 100644 openlp/plugins/bibles/lib/common.py diff --git a/openlp/plugins/bibles/lib/__init__.py b/openlp/plugins/bibles/lib/__init__.py index 3ad4fe39b..fbb292db5 100644 --- a/openlp/plugins/bibles/lib/__init__.py +++ b/openlp/plugins/bibles/lib/__init__.py @@ -23,8 +23,166 @@ # with this program; if not, write to the Free Software Foundation, Inc., 59 # # Temple Place, Suite 330, Boston, MA 02111-1307 USA # ############################################################################### +""" +The :mod:`lib` module contains all the library functionality for the bibles +plugin. +""" +import logging +import re + +log = logging.getLogger(__name__) + +############################################################################### +# BIBLE_REFERENCE regular expression produces the following match groups: +# +# 0 This is a special group consisting of the whole string that matched. +# 1 [\w ]+ The book the reference is from. +# 2 [0-9]+ The first (possibly only) chapter in the reference. +# 3 None|[0-9]+ None or the only verse or the first verse in a +# verse range or the start verse in a chapter range. +# 4 None|[0-9]+|end None or the end verse of the first verse range or +# the end chapter of a chapter range. +# 5 None|[0-9]+ None or the second chapter in multiple (non-ranged) +# chapters. +# 6 None|[0-9]+|end None, the start of the second verse range or the +# end of a chapter range. +# 7 None|[0-9]+|end None or the end of the second verse range. +############################################################################### + +BIBLE_REFERENCE = re.compile( + r'^([\w ]+?) *([0-9]+)' # Initial book and chapter + r'(?: *[:|v|V] *([0-9]+))?' # Verse for first chapter + r'(?: *- *([0-9]+|end$))?' # Range for verses or chapters + r'(?:(?:,([0-9]+))?' # Second chapter + r' *[,|:|v|V] *([0-9]+|end$)' # More range for verses or chapters + r'(?: *- *([0-9]+|end$))?)?$', # End of second verse range + re.UNICODE) + +def check_end(match_group): + """ + Check if a regular expression match group contains the text u'end' or + should be converted to an int. + + ``match_group`` + The match group to check. + """ + if match_group == u'end': + return -1 + else: + return int(match_group) + +def parse_reference(reference): + """ + This is the über-awesome function that takes a person's typed in string + and converts it to a reference list, a list of references to be queried + from the Bible database files. + + The reference list is a list of tuples, with each tuple structured like + this:: + (book, chapter, start_verse, end_verse) + + ``reference`` + The bible reference to parse. + + Returns None or a reference list. + """ + reference = reference.strip() + log.debug('parse_reference("%s")', reference) + unified_ref_list = [] + match = BIBLE_REFERENCE.match(reference) + if match: + log.debug(u'Matched reference %s' % reference) + book = match.group(1) + chapter = int(match.group(2)) + if match.group(7): + # Two verse ranges + vr1_start = int(match.group(3)) + vr1_end = int(match.group(4)) + unified_ref_list.append((book, chapter, vr1_start, vr1_end)) + vr2_start = int(match.group(6)) + vr2_end = check_end(match.group(7)) + if match.group(5): + # One verse range per chapter + chapter2 = int(match.group(5)) + unified_ref_list.append((book, chapter2, vr2_start, vr2_end)) + else: + unified_ref_list.append((book, chapter, vr2_start, vr2_end)) + elif match.group(6): + # Chapter range with verses + if match.group(3): + vr1_start = int(match.group(3)) + else: + vr1_start = 1 + if match.group(2) == match.group(4): + vr1_end = int(match.group(6)) + unified_ref_list.append((book, chapter, vr1_start, vr1_end)) + else: + vr1_end = -1 + unified_ref_list.append((book, chapter, vr1_start, vr1_end)) + vr2_end = check_end(match.group(6)) + if int(match.group(4)) > chapter: + for x in range(chapter + 1, int(match.group(4)) + 1): + if x == int(match.group(4)): + unified_ref_list.append((book, x, 1, vr2_end)) + else: + unified_ref_list.append((book, x, 1, -1)) + elif match.group(4): + # Chapter range or chapter and verse range + if match.group(3): + vr1_start = int(match.group(3)) + vr1_end = check_end(match.group(4)) + if vr1_end == -1 or vr1_end > vr1_start: + unified_ref_list.append((book, chapter, vr1_start, vr1_end)) + else: + log.debug(u'Ambiguous reference: %s' % reference) + return None + elif match.group(4) != u'end': + for x in range(chapter, int(match.group(4)) + 1): + unified_ref_list.append((book, x, 1, -1)) + else: + log.debug(u'Unsupported reference: %s' % reference) + return None + elif match.group(3): + # Single chapter and verse + verse = int(match.group(3)) + unified_ref_list.append((book, chapter, verse, verse)) + else: + # Single chapter + unified_ref_list.append((book, chapter, -1, -1)) + else: + log.debug(u'Invalid reference: %s' % reference) + return None + return unified_ref_list + + +class SearchResults(object): + """ + Encapsulate a set of search results. This is Bible-type independant. + """ + def __init__(self, book, chapter, verselist): + """ + Create the search result object. + + ``book`` + The book of the Bible. + + ``chapter`` + The chapter of the book. + + ``verselist`` + The list of verses for this reading + """ + self.book = book + self.chapter = chapter + self.verselist = verselist + + def has_verselist(self): + """ + Returns whether or not the verse list contains verses. + """ + return len(self.verselist) > 0 + -from common import BibleCommon from manager import BibleManager from biblestab import BiblesTab from mediaitem import BibleMediaItem diff --git a/openlp/plugins/bibles/lib/common.py b/openlp/plugins/bibles/lib/common.py deleted file mode 100644 index 5308495a3..000000000 --- a/openlp/plugins/bibles/lib/common.py +++ /dev/null @@ -1,256 +0,0 @@ -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 - -############################################################################### -# OpenLP - Open Source Lyrics Projection # -# --------------------------------------------------------------------------- # -# Copyright (c) 2008-2010 Raoul Snyman # -# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Meinert Jordan, Andreas Preikschat, Christian # -# Richter, Philip Ridout, Maikel Stuivenberg, Martin Thompson, Jon Tibble, # -# Carsten Tinggaard, 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 # -# Software Foundation; version 2 of the License. # -# # -# This program is distributed in the hope that it will be useful, but WITHOUT # -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # -# more details. # -# # -# You should have received a copy of the GNU General Public License along # -# with this program; if not, write to the Free Software Foundation, Inc., 59 # -# Temple Place, Suite 330, Boston, MA 02111-1307 USA # -############################################################################### - -import urllib2 -import logging -import re -import chardet -import htmlentitydefs - -only_verses = re.compile(r'([\w .]+)[ ]+([0-9]+)[ ]*[:|v|V][ ]*([0-9]+)' - r'(?:[ ]*-[ ]*([0-9]+|end))?(?:[ ]*,[ ]*([0-9]+)' - r'(?:[ ]*-[ ]*([0-9]+|end))?)?', - re.UNICODE) -chapter_range = re.compile(r'([\w .]+)[ ]+([0-9]+)[ ]*[:|v|V][ ]*' - r'([0-9]+|end)[ ]*-[ ]*([0-9]+)[ ]*[:|v|V][ ]*([0-9]+|end)', - re.UNICODE) - -log = logging.getLogger(__name__) - -def parse_reference(reference): - """ - This is the über-awesome function that takes a person's typed in string - and converts it to a reference list, a list of references to be queried - from the Bible database files. - - The reference list is a list of tuples, with each tuple structured like - this:: - - (book, chapter, start_verse, end_verse) - """ - reference = reference.strip() - log.debug('parse_reference("%s")', reference) - reference_list = [] - # We start with the most "complicated" match first, so that they are found - # first, and we don't have any "false positives". - match = chapter_range.match(reference) - if match: - log.debug('Found a chapter range.') - book = match.group(1) - from_verse = match.group(3) - to_verse = match.group(5) - if int(match.group(2)) == int(match.group(4)): - reference_list.append( - (book, int(match.group(2)), from_verse, to_verse) - ) - else: - if int(match.group(2)) > int(match.group(4)): - from_chapter = int(match.group(4)) - to_chapter = int(match.group(2)) - else: - from_chapter = int(match.group(2)) - to_chapter = int(match.group(4)) - for chapter in xrange(from_chapter, to_chapter + 1): - if chapter == from_chapter: - reference_list.append((book, chapter, from_verse, -1)) - elif chapter == to_chapter: - reference_list.append((book, chapter, 1, to_verse)) - else: - reference_list.append((book, chapter, 1, -1)) - else: - match = only_verses.match(reference) - if match: - log.debug('Found a verse range.') - book = match.group(1) - chapter = match.group(2) - verse = match.group(3) - if match.group(4) is None: - reference_list.append((book, chapter, verse, verse)) - elif match.group(5) is None: - end_verse = match.group(4) - if end_verse == u'end': - end_verse = -1 - reference_list.append((book, chapter, verse, end_verse)) - elif match.group(6) is None: - reference_list.extend([ - (book, chapter, verse, match.group(4)), - (book, chapter, match.group(5), match.group(5)) - ]) - else: - end_verse = match.group(6) - if end_verse == u'end': - end_verse = -1 - reference_list.extend([ - (book, chapter, verse, match.group(4)), - (book, chapter, match.group(5), end_verse) - ]) - else: - log.debug('Didn\'t find anything.') - log.debug(reference_list) - return reference_list - -class SearchResults(object): - """ - Encapsulate a set of search results. This is Bible-type independant. - """ - def __init__(self, book, chapter, verselist): - """ - Create the search result object. - - ``book`` - The book of the Bible. - - ``chapter`` - The chapter of the book. - - ``verselist`` - The list of verses for this reading - """ - self.book = book - self.chapter = chapter - self.verselist = verselist - - def has_verselist(self): - """ - Returns whether or not the verse list contains verses. - """ - return len(self.verselist) > 0 - - -class BibleCommon(object): - """ - A common ancestor for bible download sites. - """ - log.info(u'BibleCommon') - - def _get_web_text(self, urlstring, proxyurl): - """ - Get the HTML from the web page. - - ``urlstring`` - The URL of the page to open. - - ``proxyurl`` - The URL of a proxy server used to access the Internet. - """ - log.debug(u'get_web_text %s %s', proxyurl, urlstring) - if proxyurl: - proxy_support = urllib2.ProxyHandler({'http': self.proxyurl}) - http_support = urllib2.HTTPHandler() - opener = urllib2.build_opener(proxy_support, http_support) - urllib2.install_opener(opener) - xml_string = u'' - req = urllib2.Request(urlstring) - #Make us look like an IE Browser on XP to stop blocking by web site - req.add_header(u'User-Agent', - u'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)') - try: - handle = urllib2.urlopen(req) - html = handle.read() - details = chardet.detect(html) - xml_string = unicode(html, details[u'encoding']) - except IOError, e: - if hasattr(e, u'reason'): - log.exception(u'Reason for failure: %s', e.reason) - return xml_string - - def _clean_text(self, text): - """ - Clean up text and remove extra characters after been downloaded from - the Internet. - - ``text`` - The text from the web page that needs to be cleaned up. - """ - #return text.rstrip() - # Remove Headings from the Text - start_tag = text.find(u' -1: - end_tag = text.find(u'') - while start_tag > -1: - end_tag = text.find(u'') - text = text[:start_tag] + text[end_tag + 6:len(text)] - start_tag = text.find(u'') - start_tag = text.find(u'') - while start_tag > -1: - end_tag = text.find(u'') - text = text[:start_tag] + text[end_tag + 6:len(text)] - start_tag = text.find(u'') - # Static Clean ups - text = text.replace(u'\n', u'') - text = text.replace(u'\r', u'') - text = text.replace(u' ', u'') - text = text.replace(u'

', u'') - text = text.replace(u'', u'') - text = text.replace(u'', u'') - text = text.replace(u'

', u'') - text = text.replace(u'

', u'') - text = text.replace(u'

', u'') - text = text.replace(u'
', u'') - text = text.replace(u'
', u'') - text = text.replace(u'"', u'\"') - text = text.replace(u''', u'\'') - # Remove some other tags - start_tag = text.find(u'<') - while start_tag > -1: - end_tag = text.find(u'>', start_tag) - text = text[:start_tag] + text[end_tag + 1:] - start_tag = text.find(u'<') - text = text.replace(u'>', u'') - return text.rstrip().lstrip() - - -def unescape(text): - """ - Removes HTML or XML character references and entities from a text string. - Courtesy of Fredrik Lundh, http://effbot.org/zone/re-sub.htm#unescape-html - - @param text The HTML (or XML) source text. - @return The plain text, as a Unicode string, if necessary. - """ - def fixup(markup): - text = markup.group(0) - if text.startswith(u'&#'): - # character reference - try: - if text.startswith(u'&#x'): - return unichr(int(text[3:-1], 16)) - else: - return unichr(int(text[2:-1])) - except ValueError: - pass - else: - # named entity - try: - text = unichr(htmlentitydefs.name2codepoint[text[1:-1]]) - except KeyError: - pass - return text # leave as is - return re.sub(u'&#?\w+;', fixup, text) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 971677fde..415a0cde5 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -36,7 +36,7 @@ from BeautifulSoup import BeautifulSoup, NavigableString from openlp.core.lib import Receiver from openlp.core.utils import AppLocation -from openlp.plugins.bibles.lib.common import BibleCommon, SearchResults +from openlp.plugins.bibles.lib import SearchResults from openlp.plugins.bibles.lib.db import BibleDB, Book log = logging.getLogger(__name__) @@ -177,7 +177,7 @@ class HTTPBooks(object): return 0 -class BGExtract(BibleCommon): +class BGExtract(object): """ Extract verses from BibleGateway """ @@ -239,7 +239,8 @@ class BGExtract(BibleCommon): found_count += 1 return SearchResults(bookname, chapter, verse_list) -class CWExtract(BibleCommon): + +class CWExtract(object): """ Extract verses from CrossWalk/BibleStudyTools """ diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index 5c2767d0e..ebca8ca97 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -30,9 +30,9 @@ from PyQt4 import QtCore from openlp.core.lib import SettingsManager from openlp.core.utils import AppLocation +from openlp.plugins.bibles.lib import parse_reference from openlp.plugins.bibles.lib.db import BibleDB, BibleMeta -from common import parse_reference from opensong import OpenSongBible from osis import OSISBible from csvbible import CSVBible From 7729ba3ced6a2ab0b81187ae2435290dd5943cdb Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Thu, 29 Jul 2010 16:04:09 +0100 Subject: [PATCH 134/148] Bible reference error message --- openlp/plugins/bibles/lib/manager.py | 26 +++++++++++++++++++++++--- openlp/plugins/bibles/lib/mediaitem.py | 8 ++------ 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index ebca8ca97..45c39f72b 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -26,9 +26,9 @@ import logging -from PyQt4 import QtCore +from PyQt4 import QtCore, QtGui -from openlp.core.lib import SettingsManager +from openlp.core.lib import SettingsManager, translate from openlp.core.utils import AppLocation from openlp.plugins.bibles.lib import parse_reference from openlp.plugins.bibles.lib.db import BibleDB, BibleMeta @@ -229,13 +229,33 @@ class BibleManager(object): ``versetext`` Unicode. The scripture reference. Valid scripture references are: + - Genesis 1 + - Genesis 1-2 - Genesis 1:1 - Genesis 1:1-10 + - Genesis 1:1-10,15-20 - Genesis 1:1-2:10 + - Genesis 1:1-10,2:1-10 """ log.debug(u'BibleManager.get_verses("%s", "%s")', bible, versetext) reflist = parse_reference(versetext) - return self.db_cache[bible].get_verses(reflist) + if reflist: + return self.db_cache[bible].get_verses(reflist) + else: + QtGui.QMessageBox.information(self.parent.mediaitem, + translate('BiblesPlugin.BibleManager', + 'Scripture Reference Error'), + translate('BiblesPlugin.BibleManager', 'Your scripture ' + 'reference is either not supported by OpenLP or invalid. ' + 'Please make sure your reference conforms to one of the ' + 'following patterns:\n\n' + 'Book Chapter\n' + 'Book Chapter-Chapter\n' + 'Book Chapter:Verse-Verse\n' + 'Book Chapter:Verse-Verse,Verse-Verse\n' + 'Book Chapter:Verse-Verse,Chapter:Verse-Verse\n' + 'Book Chapter:Verse-Chapter:Verse\n')) + return None def save_meta_data(self, bible, version, copyright, permissions): """ diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index 5d6984231..bc9c6d1c5 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -431,8 +431,8 @@ class BibleMediaItem(MediaManagerItem): chapter_to = int(self.AdvancedToChapter.currentText()) verse_from = int(self.AdvancedFromVerse.currentText()) verse_to = int(self.AdvancedToVerse.currentText()) - versetext = u'%s %s:%s-%s:%s' % (book, chapter_from, verse_from, \ - chapter_to, verse_to) + versetext = u'%s %s:%s-%s:%s' % (book, chapter_from, verse_from, + chapter_to, verse_to) self.search_results = self.parent.manager.get_verses(bible, versetext) if self.ClearAdvancedSearchComboBox.currentIndex() == 0: self.listView.clear() @@ -656,7 +656,3 @@ class BibleMediaItem(MediaManagerItem): row = self.listView.setCurrentRow(count) if row: row.setSelected(True) - - def searchByReference(self, bible, search): - log.debug(u'searchByReference %s, %s', bible, search) - self.search_results = self.parent.manager.get_verses(bible, search) From 26bae2e35bfe9ac32981106809a351a8a9ccfd3c Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Thu, 29 Jul 2010 16:10:40 +0100 Subject: [PATCH 135/148] Fix message parenting --- openlp/plugins/bibles/lib/manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/bibles/lib/manager.py b/openlp/plugins/bibles/lib/manager.py index 45c39f72b..a0734aa98 100644 --- a/openlp/plugins/bibles/lib/manager.py +++ b/openlp/plugins/bibles/lib/manager.py @@ -242,7 +242,7 @@ class BibleManager(object): if reflist: return self.db_cache[bible].get_verses(reflist) else: - QtGui.QMessageBox.information(self.parent.mediaitem, + QtGui.QMessageBox.information(self.parent.mediaItem, translate('BiblesPlugin.BibleManager', 'Scripture Reference Error'), translate('BiblesPlugin.BibleManager', 'Your scripture ' From 9df8cb11f9c0be8e6e1106b3117bfa8c4428e23e Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Fri, 30 Jul 2010 13:04:15 +0100 Subject: [PATCH 136/148] Fix doc text location --- openlp/plugins/bibles/lib/__init__.py | 31 ++++++++++++--------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/openlp/plugins/bibles/lib/__init__.py b/openlp/plugins/bibles/lib/__init__.py index fbb292db5..284a10c44 100644 --- a/openlp/plugins/bibles/lib/__init__.py +++ b/openlp/plugins/bibles/lib/__init__.py @@ -32,23 +32,6 @@ import re log = logging.getLogger(__name__) -############################################################################### -# BIBLE_REFERENCE regular expression produces the following match groups: -# -# 0 This is a special group consisting of the whole string that matched. -# 1 [\w ]+ The book the reference is from. -# 2 [0-9]+ The first (possibly only) chapter in the reference. -# 3 None|[0-9]+ None or the only verse or the first verse in a -# verse range or the start verse in a chapter range. -# 4 None|[0-9]+|end None or the end verse of the first verse range or -# the end chapter of a chapter range. -# 5 None|[0-9]+ None or the second chapter in multiple (non-ranged) -# chapters. -# 6 None|[0-9]+|end None, the start of the second verse range or the -# end of a chapter range. -# 7 None|[0-9]+|end None or the end of the second verse range. -############################################################################### - BIBLE_REFERENCE = re.compile( r'^([\w ]+?) *([0-9]+)' # Initial book and chapter r'(?: *[:|v|V] *([0-9]+))?' # Verse for first chapter @@ -77,6 +60,20 @@ def parse_reference(reference): and converts it to a reference list, a list of references to be queried from the Bible database files. + BIBLE_REFERENCE regular expression produces the following match groups: + 0 This is a special group consisting of the whole string that matched. + 1 [\w ]+ The book the reference is from. + 2 [0-9]+ The first (or only) chapter in the reference. + 3 None|[0-9]+ None or the only verse or the first verse in a + verse range or the start verse in a chapter range. + 4 None|[0-9]+|end None or the end verse of the first verse range or + the end chapter of a chapter range. + 5 None|[0-9]+ None or the second chapter in multiple + (non-ranged) chapters. + 6 None|[0-9]+|end None, the start of the second verse range or the + end of a chapter range. + 7 None|[0-9]+|end None or the end of the second verse range. + The reference list is a list of tuples, with each tuple structured like this:: (book, chapter, start_verse, end_verse) From 003cfd1e684db53e780b9364fba5ed73449325b2 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Fri, 30 Jul 2010 17:13:17 +0100 Subject: [PATCH 137/148] Fix unused var and standardise loop vars --- openlp.pyw | 2 +- openlp/core/ui/splashscreen.py | 2 +- openlp/plugins/bibles/lib/__init__.py | 12 ++++++------ openlp/plugins/custom/forms/editcustomform.py | 2 +- openlp/plugins/songs/forms/editsongform.py | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index 9c87ee62a..a6a88b7bf 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -122,7 +122,7 @@ class OpenLP(QtGui.QApplication): show_splash = QtCore.QSettings().value( u'general/show splash', QtCore.QVariant(True)).toBool() if show_splash: - self.splash = SplashScreen(self.applicationVersion()) + self.splash = SplashScreen() self.splash.show() # make sure Qt really display the splash screen self.processEvents() diff --git a/openlp/core/ui/splashscreen.py b/openlp/core/ui/splashscreen.py index a0b0e8f12..95fdba841 100644 --- a/openlp/core/ui/splashscreen.py +++ b/openlp/core/ui/splashscreen.py @@ -27,7 +27,7 @@ from PyQt4 import QtCore, QtGui class SplashScreen(object): - def __init__(self, version): + def __init__(self): self.splash_screen = QtGui.QSplashScreen() self.setupUi() diff --git a/openlp/plugins/bibles/lib/__init__.py b/openlp/plugins/bibles/lib/__init__.py index 284a10c44..06f9d7cc7 100644 --- a/openlp/plugins/bibles/lib/__init__.py +++ b/openlp/plugins/bibles/lib/__init__.py @@ -118,11 +118,11 @@ def parse_reference(reference): unified_ref_list.append((book, chapter, vr1_start, vr1_end)) vr2_end = check_end(match.group(6)) if int(match.group(4)) > chapter: - for x in range(chapter + 1, int(match.group(4)) + 1): - if x == int(match.group(4)): - unified_ref_list.append((book, x, 1, vr2_end)) + for i in range(chapter + 1, int(match.group(4)) + 1): + if i == int(match.group(4)): + unified_ref_list.append((book, i, 1, vr2_end)) else: - unified_ref_list.append((book, x, 1, -1)) + unified_ref_list.append((book, i, 1, -1)) elif match.group(4): # Chapter range or chapter and verse range if match.group(3): @@ -134,8 +134,8 @@ def parse_reference(reference): log.debug(u'Ambiguous reference: %s' % reference) return None elif match.group(4) != u'end': - for x in range(chapter, int(match.group(4)) + 1): - unified_ref_list.append((book, x, 1, -1)) + for i in range(chapter, int(match.group(4)) + 1): + unified_ref_list.append((book, i, 1, -1)) else: log.debug(u'Unsupported reference: %s' % reference) return None diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index 8121d59d1..a94e6fefa 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -158,7 +158,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): sxml.new_document() sxml.add_lyrics_to_song() count = 1 - for i in range (0, self.verseListView.count()): + for i in range(0, self.verseListView.count()): sxml.add_verse_to_lyrics(u'custom', unicode(count), unicode(self.verseListView.item(i).text())) count += 1 diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 9cffc9256..3e12b552b 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -663,7 +663,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): sxml = SongXMLBuilder() text = u'' multiple = [] - for i in range (0, self.VerseListWidget.rowCount()): + for i in range(0, self.VerseListWidget.rowCount()): item = self.VerseListWidget.item(i, 0) verseId = unicode(item.data(QtCore.Qt.UserRole).toString()) bits = verseId.split(u':') From 751d16e2e055b166a19f42832e3f277a7cd78183 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Fri, 30 Jul 2010 17:19:32 +0100 Subject: [PATCH 138/148] ServiceManager naming --- openlp/core/ui/servicemanager.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index b1ccce77e..9c4e4f0f5 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -167,39 +167,39 @@ class ServiceManager(QtGui.QWidget): self.serviceManagerList.__class__.dropEvent = self.dropEvent self.layout.addWidget(self.serviceManagerList) # Add the bottom toolbar - self.OrderToolbar = OpenLPToolbar(self) - self.OrderToolbar.addToolbarButton( + self.orderToolbar = OpenLPToolbar(self) + self.orderToolbar.addToolbarButton( translate('OpenLP.ServiceManager', 'Move to &top'), u':/services/service_top.png', translate('OpenLP.ServiceManager', 'Move item to the top of the service.'), self.onServiceTop) - self.OrderToolbar.addToolbarButton( + self.orderToolbar.addToolbarButton( translate('OpenLP.ServiceManager', 'Move &up'), u':/services/service_up.png', translate('OpenLP.ServiceManager', 'Move item up one position in the service.'), self.onServiceUp) - self.OrderToolbar.addToolbarButton( + self.orderToolbar.addToolbarButton( translate('OpenLP.ServiceManager', 'Move &down'), u':/services/service_down.png', translate('OpenLP.ServiceManager', 'Move item down one position in the service.'), self.onServiceDown) - self.OrderToolbar.addToolbarButton( + self.orderToolbar.addToolbarButton( translate('OpenLP.ServiceManager', 'Move to &bottom'), u':/services/service_bottom.png', translate('OpenLP.ServiceManager', 'Move item to the end of the service.'), self.onServiceEnd) - self.OrderToolbar.addSeparator() - self.OrderToolbar.addToolbarButton( + self.orderToolbar.addSeparator() + self.orderToolbar.addToolbarButton( translate('OpenLP.ServiceManager', '&Delete From Service'), u':/general/general_delete.png', translate('OpenLP.ServiceManager', 'Delete the selected item from the service.'), self.onDeleteFromService) - self.layout.addWidget(self.OrderToolbar) + self.layout.addWidget(self.orderToolbar) # Connect up our signals and slots QtCore.QObject.connect(self.themeComboBox, QtCore.SIGNAL(u'activated(int)'), self.onThemeComboBoxSelected) From a36f922be62b25d5d17b65e0ec38a13bab95d02e Mon Sep 17 00:00:00 2001 From: Philip Ridout Date: Fri, 30 Jul 2010 23:12:04 +0100 Subject: [PATCH 139/148] A very minor presentation fix. About text for remotes was not going on to next line after heading. --- openlp/plugins/remotes/remoteplugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/remotes/remoteplugin.py b/openlp/plugins/remotes/remoteplugin.py index fbd1c680e..59ad9a99c 100644 --- a/openlp/plugins/remotes/remoteplugin.py +++ b/openlp/plugins/remotes/remoteplugin.py @@ -72,7 +72,7 @@ class RemotesPlugin(Plugin): Information about this plugin """ about_text = translate('RemotePlugin', 'Remote Plugin' - '
The remote plugin provides the ability to send messages to ' + '
The remote plugin provides the ability to send messages to ' 'a running version of OpenLP on a different computer via a web ' 'browser or through the remote API.') return about_text From ee803089975899aae86a9cd870ec620459a57195 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Fri, 30 Jul 2010 23:48:09 +0100 Subject: [PATCH 140/148] Code sorting, refactoring and cleaning --- openlp.pyw | 8 +-- openlp/core/ui/mainwindow.py | 130 ++++++++-------------------------- openlp/core/utils/__init__.py | 52 +++++++++++++- 3 files changed, 81 insertions(+), 109 deletions(-) diff --git a/openlp.pyw b/openlp.pyw index a6a88b7bf..fb96ef17c 100755 --- a/openlp.pyw +++ b/openlp.pyw @@ -32,12 +32,12 @@ from optparse import OptionParser from PyQt4 import QtCore, QtGui -log = logging.getLogger() - from openlp.core.lib import Receiver from openlp.core.resources import qInitResources from openlp.core.ui import MainWindow, SplashScreen, ScreenList -from openlp.core.utils import AppLocation, LanguageManager +from openlp.core.utils import AppLocation, LanguageManager, VersionThread + +log = logging.getLogger() application_stylesheet = u""" QMainWindow::separator @@ -141,7 +141,7 @@ class OpenLP(QtGui.QApplication): # now kill the splashscreen self.splash.finish(self.mainWindow) self.mainWindow.repaint() - self.mainWindow.versionThread() + VersionThread(self.mainWindow, app_version).start() return self.exec_() def main(): diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 1730e02d8..4a3d22b29 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -25,8 +25,6 @@ ############################################################################### import logging -import time -import re from PyQt4 import QtCore, QtGui @@ -34,8 +32,7 @@ from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \ ThemeManager, SlideController, PluginForm, MediaDockManager, DisplayManager from openlp.core.lib import RenderManager, build_icon, OpenLPDockWidget, \ SettingsManager, PluginManager, Receiver, translate -from openlp.core.utils import check_latest_version, AppLocation, add_actions, \ - LanguageManager +from openlp.core.utils import AppLocation, add_actions, LanguageManager log = logging.getLogger(__name__) @@ -58,49 +55,6 @@ MEDIA_MANAGER_STYLE = """ font-weight: bold; } """ -class VersionThread(QtCore.QThread): - """ - A special Qt thread class to fetch the version of OpenLP from the website. - This is threaded so that it doesn't affect the loading time of OpenLP. - """ - def __init__(self, parent, app_version): - QtCore.QThread.__init__(self, parent) - self.parent = parent - self.app_version = app_version - self.version_splitter = re.compile( - r'([0-9]+).([0-9]+).([0-9]+)(?:-bzr([0-9]+))?') - - def run(self): - """ - Run the thread. - """ - time.sleep(1) - Receiver.send_message(u'maindisplay_blank_check') - version = check_latest_version(self.app_version) - remote_version = {} - local_version = {} - match = self.version_splitter.match(version) - if match: - remote_version[u'major'] = int(match.group(1)) - remote_version[u'minor'] = int(match.group(2)) - remote_version[u'release'] = int(match.group(3)) - if len(match.groups()) > 3 and match.group(4): - remote_version[u'revision'] = int(match.group(4)) - match = self.version_splitter.match(self.app_version[u'full']) - if match: - local_version[u'major'] = int(match.group(1)) - local_version[u'minor'] = int(match.group(2)) - local_version[u'release'] = int(match.group(3)) - if len(match.groups()) > 3 and match.group(4): - local_version[u'revision'] = int(match.group(4)) - if remote_version[u'major'] > local_version[u'major'] or \ - remote_version[u'minor'] > local_version[u'minor'] or \ - remote_version[u'release'] > local_version[u'release']: - Receiver.send_message(u'openlp_version_check', u'%s' % version) - elif remote_version.get(u'revision') and \ - local_version.get(u'revision') and \ - remote_version[u'revision'] > local_version[u'revision']: - Receiver.send_message(u'openlp_version_check', u'%s' % version) class Ui_MainWindow(object): def setupUi(self, MainWindow): @@ -578,20 +532,15 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): QtCore.SIGNAL(u'triggered()'), self.ThemeManagerContents.onExportTheme) QtCore.QObject.connect(self.ViewMediaManagerItem, - QtCore.SIGNAL(u'triggered(bool)'), - self.toggleMediaManager) + QtCore.SIGNAL(u'triggered(bool)'), self.toggleMediaManager) QtCore.QObject.connect(self.ViewServiceManagerItem, - QtCore.SIGNAL(u'triggered(bool)'), - self.toggleServiceManager) + QtCore.SIGNAL(u'triggered(bool)'), self.toggleServiceManager) QtCore.QObject.connect(self.ViewThemeManagerItem, - QtCore.SIGNAL(u'triggered(bool)'), - self.toggleThemeManager) + QtCore.SIGNAL(u'triggered(bool)'), self.toggleThemeManager) QtCore.QObject.connect(self.ViewPreviewPanel, - QtCore.SIGNAL(u'toggled(bool)'), - self.setPreviewPanelVisibility) + QtCore.SIGNAL(u'toggled(bool)'), self.setPreviewPanelVisibility) QtCore.QObject.connect(self.ViewLivePanel, - QtCore.SIGNAL(u'toggled(bool)'), - self.setLivePanelVisibility) + QtCore.SIGNAL(u'toggled(bool)'), self.setLivePanelVisibility) QtCore.QObject.connect(self.MediaManagerDock, QtCore.SIGNAL(u'visibilityChanged(bool)'), self.ViewMediaManagerItem.setChecked) @@ -609,8 +558,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): QtCore.SIGNAL(u'triggered()'), self.onPluginItemClicked) QtCore.QObject.connect(self.SettingsConfigureItem, QtCore.SIGNAL(u'triggered()'), self.onOptionsSettingsItemClicked) - QtCore.QObject.connect(self.FileNewItem, - QtCore.SIGNAL(u'triggered()'), + QtCore.QObject.connect(self.FileNewItem, QtCore.SIGNAL(u'triggered()'), self.ServiceManagerContents.onNewService) QtCore.QObject.connect(self.FileOpenItem, QtCore.SIGNAL(u'triggered()'), @@ -623,22 +571,18 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.ServiceManagerContents.onSaveService) #i18n set signals for languages QtCore.QObject.connect(self.AutoLanguageItem, - QtCore.SIGNAL(u'toggled(bool)'), - self.setAutoLanguage) + QtCore.SIGNAL(u'toggled(bool)'), self.setAutoLanguage) self.LanguageGroup.triggered.connect(LanguageManager.set_language) QtCore.QObject.connect(self.ModeDefaultItem, - QtCore.SIGNAL(u'triggered()'), - self.onModeDefaultItemClicked) + QtCore.SIGNAL(u'triggered()'), self.setViewMode) QtCore.QObject.connect(self.ModeSetupItem, - QtCore.SIGNAL(u'triggered()'), - self.onModeSetupItemClicked) + QtCore.SIGNAL(u'triggered()'), self.onModeSetupItemClicked) QtCore.QObject.connect(self.ModeLiveItem, - QtCore.SIGNAL(u'triggered()'), - self.onModeLiveItemClicked) + QtCore.SIGNAL(u'triggered()'), self.onModeLiveItemClicked) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'theme_update_global'), self.defaultThemeChanged) QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'openlp_version_check'), self.versionCheck) + QtCore.SIGNAL(u'openlp_version_check'), self.versionNotice) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'maindisplay_blank_check'), self.blankCheck) QtCore.QObject.connect(Receiver.get_receiver(), @@ -699,12 +643,11 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): LanguageManager.AutoLanguage = value LanguageManager.set_language(self.LanguageGroup.checkedAction()) - def versionCheck(self, version): + def versionNotice(self, version): """ - Checks the version of the Application called from openlp.pyw + Notifies the user that a newer version of OpenLP is available. Triggered by delay thread. """ - app_version = self.applicationVersion[u'full'] version_text = unicode(translate('OpenLP.MainWindow', 'Version %s of OpenLP is now available for download (you are ' 'currently running version %s). \n\nYou can download the latest ' @@ -712,16 +655,13 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): 'http://openlp.org/.')) QtGui.QMessageBox.question(self, translate('OpenLP.MainWindow', 'OpenLP Version Updated'), - version_text % (version, app_version), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok), - QtGui.QMessageBox.Ok) + version_text % (version, self.applicationVersion[u'full'])) def show(self): """ Show the main form, as well as the display form """ QtGui.QWidget.show(self) - #screen_number = self.getMonitorNumber() self.displayManager.setup() if self.displayManager.mainDisplay.isVisible(): self.displayManager.mainDisplay.setFocus() @@ -749,13 +689,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): 'The Main Display has been blanked out')) settings.endGroup() - def versionThread(self): - """ - Start an initial setup thread to delay notifications - """ - vT = VersionThread(self, self.applicationVersion) - vT.start() - def onHelpWebSiteClicked(self): """ Load the OpenLP website @@ -783,35 +716,28 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): """ self.settingsForm.exec_() - def onModeDefaultItemClicked(self): - """ - Put OpenLP into "Default" view mode. - """ - self.MediaManagerDock.setVisible(True) - self.ServiceManagerDock.setVisible(True) - self.ThemeManagerDock.setVisible(True) - self.setPreviewPanelVisibility(True) - self.setLivePanelVisibility(True) - def onModeSetupItemClicked(self): """ Put OpenLP into "Setup" view mode. """ - self.MediaManagerDock.setVisible(True) - self.ServiceManagerDock.setVisible(True) - self.ThemeManagerDock.setVisible(False) - self.setPreviewPanelVisibility(True) - self.setLivePanelVisibility(False) + self.setViewMode(True, True, False, True, False) def onModeLiveItemClicked(self): """ Put OpenLP into "Live" view mode. """ - self.MediaManagerDock.setVisible(False) - self.ServiceManagerDock.setVisible(True) - self.ThemeManagerDock.setVisible(False) - self.setPreviewPanelVisibility(False) - self.setLivePanelVisibility(True) + self.setViewMode(False, True, False, False, True) + + def setViewMode(self, media=True, service=True, theme=True, preview=True, + live=True): + """ + Set OpenLP to a different view mode. + """ + self.MediaManagerDock.setVisible(media) + self.ServiceManagerDock.setVisible(service) + self.ThemeManagerDock.setVisible(theme) + self.setPreviewPanelVisibility(preview) + self.setLivePanelVisibility(live) def screenChanged(self): """ diff --git a/openlp/core/utils/__init__.py b/openlp/core/utils/__init__.py index 51ecc73df..d2db95e40 100644 --- a/openlp/core/utils/__init__.py +++ b/openlp/core/utils/__init__.py @@ -27,20 +27,66 @@ The :mod:`utils` module provides the utility libraries for OpenLP """ -import os -import sys import logging +import os +import re +import sys +import time import urllib2 from datetime import datetime from PyQt4 import QtGui, QtCore import openlp -from openlp.core.lib import translate +from openlp.core.lib import Receiver, translate log = logging.getLogger(__name__) images_filter = None +class VersionThread(QtCore.QThread): + """ + A special Qt thread class to fetch the version of OpenLP from the website. + This is threaded so that it doesn't affect the loading time of OpenLP. + """ + def __init__(self, parent, app_version): + QtCore.QThread.__init__(self, parent) + self.app_version = app_version + self.version_splitter = re.compile( + r'([0-9]+).([0-9]+).([0-9]+)(?:-bzr([0-9]+))?') + + def run(self): + """ + Run the thread. + """ + time.sleep(1) + Receiver.send_message(u'maindisplay_blank_check') + version = check_latest_version(self.app_version) + remote_version = {} + local_version = {} + match = self.version_splitter.match(version) + if match: + remote_version[u'major'] = int(match.group(1)) + remote_version[u'minor'] = int(match.group(2)) + remote_version[u'release'] = int(match.group(3)) + if len(match.groups()) > 3 and match.group(4): + remote_version[u'revision'] = int(match.group(4)) + match = self.version_splitter.match(self.app_version[u'full']) + if match: + local_version[u'major'] = int(match.group(1)) + local_version[u'minor'] = int(match.group(2)) + local_version[u'release'] = int(match.group(3)) + if len(match.groups()) > 3 and match.group(4): + local_version[u'revision'] = int(match.group(4)) + if remote_version[u'major'] > local_version[u'major'] or \ + remote_version[u'minor'] > local_version[u'minor'] or \ + remote_version[u'release'] > local_version[u'release']: + Receiver.send_message(u'openlp_version_check', u'%s' % version) + elif remote_version.get(u'revision') and \ + local_version.get(u'revision') and \ + remote_version[u'revision'] > local_version[u'revision']: + Receiver.send_message(u'openlp_version_check', u'%s' % version) + + class AppLocation(object): """ The :class:`AppLocation` class is a static class which retrieves a From ab3efd2b3bdef19e0c5c04832f99ddbdcca63a74 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 31 Jul 2010 01:05:27 +0100 Subject: [PATCH 141/148] Fix issues with plugins (inc. bug #605655) --- openlp/core/lib/pluginmanager.py | 1 - openlp/plugins/alerts/alertsplugin.py | 3 +-- openlp/plugins/bibles/bibleplugin.py | 4 +--- openlp/plugins/custom/customplugin.py | 3 +-- openlp/plugins/images/imageplugin.py | 3 +-- openlp/plugins/media/mediaplugin.py | 3 +-- openlp/plugins/presentations/lib/impresscontroller.py | 4 ++-- openlp/plugins/presentations/lib/mediaitem.py | 5 ++--- openlp/plugins/presentations/lib/powerpointcontroller.py | 2 +- openlp/plugins/presentations/lib/pptviewcontroller.py | 2 +- openlp/plugins/presentations/presentationplugin.py | 4 ++-- openlp/plugins/songs/songsplugin.py | 4 +--- 12 files changed, 14 insertions(+), 24 deletions(-) diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py index bb99e3d03..d4570bec5 100644 --- a/openlp/core/lib/pluginmanager.py +++ b/openlp/core/lib/pluginmanager.py @@ -77,7 +77,6 @@ class PluginManager(object): startdepth = len(os.path.abspath(plugin_dir).split(os.sep)) log.debug(u'finding plugins in %s at depth %d', unicode(plugin_dir), startdepth) - for root, dirs, files in os.walk(plugin_dir): for name in files: if name.endswith(u'.py') and not name.startswith(u'__'): diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index c4e1f50ea..0e4f868cc 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -28,7 +28,7 @@ import logging from PyQt4 import QtCore, QtGui -from openlp.core.lib import Plugin, build_icon, PluginStatus, translate +from openlp.core.lib import Plugin, build_icon, translate from openlp.core.lib.db import Manager from openlp.plugins.alerts.lib import AlertsManager, AlertsTab from openlp.plugins.alerts.lib.db import init_schema @@ -46,7 +46,6 @@ class AlertsPlugin(Plugin): self.alertsmanager = AlertsManager(self) self.manager = Manager(u'alerts', init_schema) self.alertForm = AlertForm(self.manager, self) - self.status = PluginStatus.Active def getSettingsTab(self): """ diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 5550dd90e..da542b23b 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -28,7 +28,7 @@ import logging from PyQt4 import QtCore, QtGui -from openlp.core.lib import Plugin, build_icon, PluginStatus, translate +from openlp.core.lib import Plugin, build_icon, translate from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem log = logging.getLogger(__name__) @@ -41,8 +41,6 @@ class BiblePlugin(Plugin): self.weight = -9 self.icon_path = u':/plugins/plugin_bibles.png' self.icon = build_icon(self.icon_path) - # Register the bible Manager. - self.status = PluginStatus.Active self.manager = None def initialise(self): diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py index c83521ccc..4e3819961 100644 --- a/openlp/plugins/custom/customplugin.py +++ b/openlp/plugins/custom/customplugin.py @@ -28,7 +28,7 @@ import logging from forms import EditCustomForm -from openlp.core.lib import Plugin, build_icon, PluginStatus, translate +from openlp.core.lib import Plugin, build_icon, translate from openlp.core.lib.db import Manager from openlp.plugins.custom.lib import CustomMediaItem, CustomTab from openlp.plugins.custom.lib.db import CustomSlide, init_schema @@ -53,7 +53,6 @@ class CustomPlugin(Plugin): self.edit_custom_form = EditCustomForm(self.custommanager) self.icon_path = u':/plugins/plugin_custom.png' self.icon = build_icon(self.icon_path) - self.status = PluginStatus.Active def getSettingsTab(self): return CustomTab(self.name) diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py index 909defd6b..d34cd6a3c 100644 --- a/openlp/plugins/images/imageplugin.py +++ b/openlp/plugins/images/imageplugin.py @@ -26,7 +26,7 @@ import logging -from openlp.core.lib import Plugin, build_icon, PluginStatus, translate +from openlp.core.lib import Plugin, build_icon, translate from openlp.plugins.images.lib import ImageMediaItem log = logging.getLogger(__name__) @@ -39,7 +39,6 @@ class ImagePlugin(Plugin): self.weight = -7 self.icon_path = u':/plugins/plugin_images.png' self.icon = build_icon(self.icon_path) - self.status = PluginStatus.Active def getMediaManagerItem(self): # Create the MediaManagerItem object diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 6e27860d9..db326f843 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -28,7 +28,7 @@ import logging from PyQt4.phonon import Phonon -from openlp.core.lib import Plugin, build_icon, PluginStatus, translate +from openlp.core.lib import Plugin, build_icon, translate from openlp.plugins.media.lib import MediaMediaItem log = logging.getLogger(__name__) @@ -43,7 +43,6 @@ class MediaPlugin(Plugin): self.icon = build_icon(self.icon_path) # passed with drag and drop messages self.dnd_id = u'Media' - self.status = PluginStatus.Active self.audio_list = u'' self.video_list = u'' for mimetype in Phonon.BackendCapabilities.availableMimeTypes(): diff --git a/openlp/plugins/presentations/lib/impresscontroller.py b/openlp/plugins/presentations/lib/impresscontroller.py index b548071e0..9ada43a5a 100644 --- a/openlp/plugins/presentations/lib/impresscontroller.py +++ b/openlp/plugins/presentations/lib/impresscontroller.py @@ -69,8 +69,8 @@ class ImpressController(PresentationController): """ log.debug(u'Initialising') PresentationController.__init__(self, plugin, u'Impress') - self.supports = [u'.odp'] - self.alsosupports = [u'.ppt', u'.pps', u'.pptx', u'.ppsx'] + self.supports = [u'odp'] + self.alsosupports = [u'ppt', u'pps', u'pptx', u'ppsx'] self.process = None self.desktop = None self.manager = None diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index 0b84313b8..10f6b41e2 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -79,7 +79,6 @@ class PresentationMediaItem(MediaManagerItem): 'Select Presentation(s)') self.Automatic = translate('PresentationPlugin.MediaItem', 'Automatic') - self.buildFileMaskString() def buildFileMaskString(self): """ @@ -92,7 +91,7 @@ class PresentationMediaItem(MediaManagerItem): self.controllers[controller].alsosupports for type in types: if fileType.find(type) == -1: - fileType += u'*%s ' % type + fileType += u'*.%s ' % type self.parent.serviceManager.supportedSuffixes(type) self.OnNewFileMasks = translate('PresentationPlugin.MediaItem', 'Presentations (%s)' % fileType) @@ -288,7 +287,7 @@ class PresentationMediaItem(MediaManagerItem): "supports" the extension. If none found, then look for a controller which "alsosupports" it instead. """ - filetype = os.path.splitext(filename)[1] + filetype = filename.split(u'.')[1] if not filetype: return None for controller in self.controllers: diff --git a/openlp/plugins/presentations/lib/powerpointcontroller.py b/openlp/plugins/presentations/lib/powerpointcontroller.py index acf307c65..5059f5f76 100644 --- a/openlp/plugins/presentations/lib/powerpointcontroller.py +++ b/openlp/plugins/presentations/lib/powerpointcontroller.py @@ -54,7 +54,7 @@ class PowerpointController(PresentationController): """ log.debug(u'Initialising') PresentationController.__init__(self, plugin, u'Powerpoint') - self.supports = [u'.ppt', u'.pps', u'.pptx', u'.ppsx'] + self.supports = [u'ppt', u'pps', u'pptx', u'ppsx'] self.process = None def check_available(self): diff --git a/openlp/plugins/presentations/lib/pptviewcontroller.py b/openlp/plugins/presentations/lib/pptviewcontroller.py index e1a1c9daa..54b09be32 100644 --- a/openlp/plugins/presentations/lib/pptviewcontroller.py +++ b/openlp/plugins/presentations/lib/pptviewcontroller.py @@ -50,7 +50,7 @@ class PptviewController(PresentationController): log.debug(u'Initialising') self.process = None PresentationController.__init__(self, plugin, u'Powerpoint Viewer') - self.supports = [u'.ppt', u'.pps', u'.pptx', u'.ppsx'] + self.supports = [u'ppt', u'pps', u'pptx', u'ppsx'] def check_available(self): """ diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index c4fd699b1..e63063ffd 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -30,7 +30,7 @@ presentations from a variety of document formats. import os import logging -from openlp.core.lib import Plugin, build_icon, PluginStatus, translate +from openlp.core.lib import Plugin, build_icon, translate from openlp.core.utils import AppLocation from openlp.plugins.presentations.lib import PresentationController, \ PresentationMediaItem, PresentationTab @@ -55,7 +55,6 @@ class PresentationPlugin(Plugin): self.weight = -8 self.icon_path = u':/plugins/plugin_presentations.png' self.icon = build_icon(self.icon_path) - self.status = PluginStatus.Active def getSettingsTab(self): """ @@ -74,6 +73,7 @@ class PresentationPlugin(Plugin): for controller in self.controllers: if self.controllers[controller].enabled(): self.controllers[controller].start_process() + self.mediaItem.buildFileMaskString() def finalise(self): """ diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 6645633ba..ff285a18c 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -28,8 +28,7 @@ import logging from PyQt4 import QtCore, QtGui -from openlp.core.lib import Plugin, build_icon, PluginStatus, Receiver, \ - translate +from openlp.core.lib import Plugin, build_icon, Receiver, translate from openlp.core.lib.db import Manager from openlp.plugins.songs.lib import OpenLPSongImport, SongMediaItem, SongsTab from openlp.plugins.songs.lib.db import init_schema, Song @@ -63,7 +62,6 @@ class SongsPlugin(Plugin): self.manager = Manager(u'songs', init_schema) self.icon_path = u':/plugins/plugin_songs.png' self.icon = build_icon(self.icon_path) - self.status = PluginStatus.Active def getSettingsTab(self): return SongsTab(self.name) From 8f0d30c48b28e83c76ee99c78938e13e72ac39f5 Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 31 Jul 2010 01:34:37 +0100 Subject: [PATCH 142/148] Fix plugin forms --- openlp/core/lib/plugin.py | 1 + openlp/core/ui/mainwindow.py | 1 + openlp/plugins/alerts/alertsplugin.py | 2 +- openlp/plugins/alerts/forms/alertform.py | 5 ++--- .../songusage/forms/songusagedeleteform.py | 2 +- .../songusage/forms/songusagedetailform.py | 15 ++++++++------- openlp/plugins/songusage/songusageplugin.py | 5 +++-- 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index 7105cfa82..45fb12ec4 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -133,6 +133,7 @@ class Plugin(QtCore.QObject): self.mediadock = plugin_helpers[u'toolbox'] self.displayManager = plugin_helpers[u'displaymanager'] self.pluginManager = plugin_helpers[u'pluginmanager'] + self.formparent = plugin_helpers[u'formparent'] QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'%s_add_service_item' % self.name), self.processAddServiceEvent) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 4a3d22b29..6f1a1f6c1 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -607,6 +607,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): self.plugin_helpers[u'toolbox'] = self.mediaDockManager self.plugin_helpers[u'displaymanager'] = self.displayManager self.plugin_helpers[u'pluginmanager'] = self.plugin_manager + self.plugin_helpers[u'formparent'] = self self.plugin_manager.find_plugins(pluginpath, self.plugin_helpers) # hook methods have to happen after find_plugins. Find plugins needs # the controllers hence the hooks have moved from setupUI() to here diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 0e4f868cc..05b973397 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -45,7 +45,7 @@ class AlertsPlugin(Plugin): self.icon = build_icon(u':/plugins/plugin_alerts.png') self.alertsmanager = AlertsManager(self) self.manager = Manager(u'alerts', init_schema) - self.alertForm = AlertForm(self.manager, self) + self.alertForm = AlertForm(self.manager, self.formparent) def getSettingsTab(self): """ diff --git a/openlp/plugins/alerts/forms/alertform.py b/openlp/plugins/alerts/forms/alertform.py index ddc7a3743..7e9293845 100644 --- a/openlp/plugins/alerts/forms/alertform.py +++ b/openlp/plugins/alerts/forms/alertform.py @@ -40,9 +40,8 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog): Initialise the alert form """ self.manager = manager - self.parent = parent self.item_id = None - QtGui.QDialog.__init__(self, None) + QtGui.QDialog.__init__(self, parent) self.setupUi(self) QtCore.QObject.connect(self.DisplayButton, QtCore.SIGNAL(u'clicked()'), self.onDisplayClicked) @@ -153,6 +152,6 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog): def triggerAlert(self, text): if text: text = text.replace(u'<>', unicode(self.ParameterEdit.text())) - self.parent.alertsmanager.displayAlert(text) + self.parent().alertsmanager.displayAlert(text) return True return False diff --git a/openlp/plugins/songusage/forms/songusagedeleteform.py b/openlp/plugins/songusage/forms/songusagedeleteform.py index 637916aff..36eda98b2 100644 --- a/openlp/plugins/songusage/forms/songusagedeleteform.py +++ b/openlp/plugins/songusage/forms/songusagedeleteform.py @@ -34,7 +34,7 @@ class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog): """ Class documentation goes here. """ - def __init__(self, songusagemanager, parent=None): + def __init__(self, songusagemanager, parent): """ Constructor """ diff --git a/openlp/plugins/songusage/forms/songusagedetailform.py b/openlp/plugins/songusage/forms/songusagedetailform.py index 8ff44bfe4..b1668990b 100644 --- a/openlp/plugins/songusage/forms/songusagedetailform.py +++ b/openlp/plugins/songusage/forms/songusagedetailform.py @@ -42,12 +42,12 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog): """ log.info(u'SongUsage Detail Form Loaded') - def __init__(self, parent=None): + def __init__(self, plugin, parent): """ Initialise the form """ - QtGui.QDialog.__init__(self, None) - self.parent = parent + QtGui.QDialog.__init__(self, parent) + self.plugin = plugin self.setupUi(self) def initialise(self): @@ -59,16 +59,16 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog): self.fromDate.setSelectedDate(fromDate) self.toDate.setSelectedDate(toDate) self.fileLineEdit.setText( - SettingsManager.get_last_dir(self.parent.settingsSection, 1)) + SettingsManager.get_last_dir(self.plugin.settingsSection, 1)) def defineOutputLocation(self): path = QtGui.QFileDialog.getExistingDirectory(self, translate('SongUsagePlugin.SongUsageDetailForm', 'Output File Location'), - SettingsManager.get_last_dir(self.parent.settingsSection, 1)) + SettingsManager.get_last_dir(self.plugin.settingsSection, 1)) path = unicode(path) if path != u'': - SettingsManager.set_last_dir(self.parent.settingsSection, path, 1) + SettingsManager.set_last_dir(self.plugin.settingsSection, path, 1) self.fileLineEdit.setText(path) def accept(self): @@ -76,7 +76,7 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog): filename = u'usage_detail_%s_%s.txt' % ( self.fromDate.selectedDate().toString(u'ddMMyyyy'), self.toDate.selectedDate().toString(u'ddMMyyyy')) - usage = self.parent.songusagemanager.get_all_objects( + usage = self.plugin.songusagemanager.get_all_objects( SongUsageItem, and_( SongUsageItem.usagedate >= self.fromDate.selectedDate().toPyDate(), SongUsageItem.usagedate < self.toDate.selectedDate().toPyDate()), @@ -95,3 +95,4 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog): finally: if file: file.close() + self.close() diff --git a/openlp/plugins/songusage/songusageplugin.py b/openlp/plugins/songusage/songusageplugin.py index 57448b321..0ec82d15f 100644 --- a/openlp/plugins/songusage/songusageplugin.py +++ b/openlp/plugins/songusage/songusageplugin.py @@ -117,8 +117,9 @@ class SongUsagePlugin(Plugin): self.SongUsageStatus.setChecked(self.SongUsageActive) if self.songusagemanager is None: self.songusagemanager = Manager(u'songusage', init_schema) - self.SongUsagedeleteform = SongUsageDeleteForm(self.songusagemanager) - self.SongUsagedetailform = SongUsageDetailForm(self) + self.SongUsagedeleteform = SongUsageDeleteForm(self.songusagemanager, + self.formparent) + self.SongUsagedetailform = SongUsageDetailForm(self, self.formparent) self.SongUsageMenu.menuAction().setVisible(True) def finalise(self): From 8eb7fd4c3034a006fc6f671be14022e8becbce1f Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 31 Jul 2010 01:46:15 +0100 Subject: [PATCH 143/148] Fix alert form parenting --- openlp/plugins/alerts/alertsplugin.py | 2 +- openlp/plugins/alerts/forms/alertform.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 05b973397..45f8ebfc4 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -45,7 +45,7 @@ class AlertsPlugin(Plugin): self.icon = build_icon(u':/plugins/plugin_alerts.png') self.alertsmanager = AlertsManager(self) self.manager = Manager(u'alerts', init_schema) - self.alertForm = AlertForm(self.manager, self.formparent) + self.alertForm = AlertForm(self) def getSettingsTab(self): """ diff --git a/openlp/plugins/alerts/forms/alertform.py b/openlp/plugins/alerts/forms/alertform.py index 7e9293845..e2ff6e2e2 100644 --- a/openlp/plugins/alerts/forms/alertform.py +++ b/openlp/plugins/alerts/forms/alertform.py @@ -35,13 +35,14 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog): """ Provide UI for the alert system """ - def __init__(self, manager, parent): + def __init__(self, plugin): """ Initialise the alert form """ - self.manager = manager + self.manager = plugin.manager + self.parent = plugin self.item_id = None - QtGui.QDialog.__init__(self, parent) + QtGui.QDialog.__init__(self, plugin.formparent) self.setupUi(self) QtCore.QObject.connect(self.DisplayButton, QtCore.SIGNAL(u'clicked()'), self.onDisplayClicked) @@ -152,6 +153,6 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog): def triggerAlert(self, text): if text: text = text.replace(u'<>', unicode(self.ParameterEdit.text())) - self.parent().alertsmanager.displayAlert(text) + self.parent.alertsmanager.displayAlert(text) return True return False From c9edfb95085aeb457098cb068898e7e73eb0cbbe Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 31 Jul 2010 03:06:44 +0100 Subject: [PATCH 144/148] Cleanup QMessageBoxes using defaults --- openlp/core/ui/servicemanager.py | 17 ++++----------- openlp/core/ui/thememanager.py | 3 +-- .../plugins/bibles/forms/importwizardform.py | 21 +++++++------------ openlp/plugins/bibles/lib/mediaitem.py | 5 +---- openlp/plugins/custom/forms/editcustomform.py | 3 +-- openlp/plugins/presentations/lib/mediaitem.py | 6 ++---- openlp/plugins/songs/forms/authorsform.py | 6 ++---- openlp/plugins/songs/forms/editsongform.py | 6 ++---- openlp/plugins/songs/forms/songbookform.py | 3 +-- openlp/plugins/songs/forms/songimportform.py | 12 ++++------- openlp/plugins/songs/forms/topicsform.py | 3 +-- openlp/plugins/songs/songsplugin.py | 21 ++++++------------- 12 files changed, 32 insertions(+), 74 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 9c4e4f0f5..49f7607d5 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -498,8 +498,7 @@ class ServiceManager(QtGui.QWidget): 'Your service is unsaved, do you want to save ' 'those changes before creating a new one?'), QtGui.QMessageBox.StandardButtons( - QtGui.QMessageBox.Cancel | - QtGui.QMessageBox.Save), + QtGui.QMessageBox.Cancel | QtGui.QMessageBox.Save), QtGui.QMessageBox.Save) if ret == QtGui.QMessageBox.Save: self.onSaveService() @@ -656,8 +655,7 @@ class ServiceManager(QtGui.QWidget): 'Your current service is unsaved, do you want to ' 'save the changes before opening a new one?'), QtGui.QMessageBox.StandardButtons( - QtGui.QMessageBox.Discard | - QtGui.QMessageBox.Save), + QtGui.QMessageBox.Discard | QtGui.QMessageBox.Save), QtGui.QMessageBox.Save) if ret == QtGui.QMessageBox.Save: self.onSaveService() @@ -802,7 +800,6 @@ class ServiceManager(QtGui.QWidget): ``item`` Service Item to be added - """ sitem = self.findServiceItem()[0] item.render() @@ -847,10 +844,7 @@ class ServiceManager(QtGui.QWidget): QtGui.QMessageBox.critical(self, translate('OpenLP.ServiceManager', 'Missing Display Handler'), translate('OpenLP.ServiceManager', 'Your item cannot be ' - 'displayed as there is no handler to display it'), - QtGui.QMessageBox.StandardButtons( - QtGui.QMessageBox.Ok), - QtGui.QMessageBox.Ok) + 'displayed as there is no handler to display it')) def getServiceItem(self): """ @@ -883,10 +877,7 @@ class ServiceManager(QtGui.QWidget): QtGui.QMessageBox.critical(self, translate('OpenLP.ServiceManager', 'Missing Display Handler'), translate('OpenLP.ServiceManager', 'Your item cannot be ' - 'displayed as there is no handler to display it'), - QtGui.QMessageBox.StandardButtons( - QtGui.QMessageBox.Ok), - QtGui.QMessageBox.Ok) + 'displayed as there is no handler to display it')) def remoteEdit(self): """ diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 760d8b059..d48926606 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -235,8 +235,7 @@ class ThemeManager(QtGui.QWidget): QtGui.QMessageBox.critical(self, translate('OpenLP.ThemeManager', 'Error'), translate('OpenLP.ThemeManager', - 'You are unable to delete the default theme.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'You are unable to delete the default theme.')) else: for plugin in self.parent.plugin_manager.plugins: if plugin.usesTheme(theme): diff --git a/openlp/plugins/bibles/forms/importwizardform.py b/openlp/plugins/bibles/forms/importwizardform.py index c955847c6..67f3756dc 100644 --- a/openlp/plugins/bibles/forms/importwizardform.py +++ b/openlp/plugins/bibles/forms/importwizardform.py @@ -129,8 +129,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): 'Invalid Bible Location'), translate('BiblesPlugin.ImportWizardForm', 'You need to specify a file to import your ' - 'Bible from.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'Bible from.')) self.OSISLocationEdit.setFocus() return False elif self.field(u'source_format').toInt()[0] == BibleFormat.CSV: @@ -140,8 +139,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): 'Invalid Books File'), translate('BiblesPlugin.ImportWizardForm', 'You need to specify a file with books of ' - 'the Bible to use in the import.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'the Bible to use in the import.')) self.BooksLocationEdit.setFocus() return False elif self.field(u'csv_versefile').toString() == u'': @@ -150,8 +148,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): 'Invalid Verse File'), translate('BiblesPlugin.ImportWizardForm', 'You need to specify a file of Bible ' - 'verses to import.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'verses to import.')) self.CsvVerseLocationEdit.setFocus() return False elif self.field(u'source_format').toInt()[0] == \ @@ -162,8 +159,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): 'Invalid OpenSong Bible'), translate('BiblesPlugin.ImportWizardForm', 'You need to specify an OpenSong Bible ' - 'file to import.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'file to import.')) self.OpenSongFileEdit.setFocus() return False return True @@ -178,8 +174,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): 'Empty Version Name'), translate('BiblesPlugin.ImportWizardForm', 'You need to specify a version name for your ' - 'Bible.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'Bible.')) self.VersionNameEdit.setFocus() return False elif license_copyright == u'': @@ -189,8 +184,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): translate('BiblesPlugin.ImportWizardForm', 'You need to set a copyright for your Bible! ' 'Bibles in the Public Domain need to be marked as ' - 'such.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'such.')) self.CopyrightEdit.setFocus() return False elif self.manager.exists(license_version): @@ -199,8 +193,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard): 'Bible Exists'), translate('BiblesPlugin.ImportWizardForm', 'This Bible already exists! Please import ' - 'a different Bible or first delete the existing one.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'a different Bible or first delete the existing one.')) self.VersionNameEdit.setFocus() return False return True diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index bc9c6d1c5..1c5243af4 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -387,10 +387,7 @@ class BibleMediaItem(MediaManagerItem): QtGui.QMessageBox.critical(self, translate('BiblesPlugin.MediaItem', 'No Book Found'), translate('BiblesPlugin.MediaItem', - 'No matching book could be found in this Bible.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok), - QtGui.QMessageBox.Ok - ) + 'No matching book could be found in this Bible.')) def onAdvancedVersionComboBox(self): self.initialiseBible( diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py index a94e6fefa..910fe65e7 100644 --- a/openlp/plugins/custom/forms/editcustomform.py +++ b/openlp/plugins/custom/forms/editcustomform.py @@ -151,8 +151,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog): valid, message = self._validate() if not valid: QtGui.QMessageBox.critical(self, - translate('CustomPlugin.EditCustomForm', 'Error'), message, - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + translate('CustomPlugin.EditCustomForm', 'Error'), message) return False sxml = CustomXMLBuilder() sxml.new_document() diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index 10f6b41e2..001aeac4d 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -188,8 +188,7 @@ class PresentationMediaItem(MediaManagerItem): translate('PresentationPlugin.MediaItem', 'File Exists'), translate('PresentationPlugin.MediaItem', - 'A presentation with that filename already exists.'), - QtGui.QMessageBox.Ok) + 'A presentation with that filename already exists.')) continue controller_name = self.findControllerByType(filename) if controller_name: @@ -213,8 +212,7 @@ class PresentationMediaItem(MediaManagerItem): self, translate('PresentationPlugin.MediaItem', 'Unsupported File'), translate('PresentationPlugin.MediaItem', - 'This type of presentation is not supported'), - QtGui.QMessageBox.Ok) + 'This type of presentation is not supported')) continue item_name = QtGui.QListWidgetItem(filename) item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file)) diff --git a/openlp/plugins/songs/forms/authorsform.py b/openlp/plugins/songs/forms/authorsform.py index 5787d8de1..c7d1b0396 100644 --- a/openlp/plugins/songs/forms/authorsform.py +++ b/openlp/plugins/songs/forms/authorsform.py @@ -82,16 +82,14 @@ class AuthorsForm(QtGui.QDialog, Ui_AuthorsDialog): QtGui.QMessageBox.critical( self, translate('SongsPlugin.AuthorsForm', 'Error'), translate('SongsPlugin.AuthorsForm', - 'You need to type in the first name of the author.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'You need to type in the first name of the author.')) self.FirstNameEdit.setFocus() return False elif not self.LastNameEdit.text(): QtGui.QMessageBox.critical( self, translate('SongsPlugin.AuthorsForm', 'Error'), translate('SongsPlugin.AuthorsForm', - 'You need to type in the last name of the author.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'You need to type in the last name of the author.')) self.LastNameEdit.setFocus() return False elif not self.DisplayEdit.text(): diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 3e12b552b..1567fa62e 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -331,8 +331,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): translate('SongsPlugin.EditSongForm', 'You have not selected ' 'a valid author. Either select an author from the list, ' 'or type in a new author and click the "Add Author to ' - 'Song" button to add the new author.'), - QtGui.QMessageBox.Ok, QtGui.QMessageBox.Ok) + 'Song" button to add the new author.')) def onAuthorsListViewPressed(self): if self.AuthorsListView.count() > 1: @@ -389,8 +388,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): translate('SongsPlugin.EditSongForm', 'You have not selected ' 'a valid topic. Either select a topic from the list, or ' 'type in a new topic and click the "Add Topic to Song" ' - 'button to add the new topic.'), - QtGui.QMessageBox.Ok, QtGui.QMessageBox.Ok) + 'button to add the new topic.')) def onTopicListViewPressed(self): self.TopicRemoveButton.setEnabled(True) diff --git a/openlp/plugins/songs/forms/songbookform.py b/openlp/plugins/songs/forms/songbookform.py index 30c9f0fd1..bdec26dfe 100644 --- a/openlp/plugins/songs/forms/songbookform.py +++ b/openlp/plugins/songs/forms/songbookform.py @@ -52,8 +52,7 @@ class SongBookForm(QtGui.QDialog, Ui_SongBookDialog): QtGui.QMessageBox.critical( self, translate('SongsPlugin.SongBookForm', 'Error'), translate('SongsPlugin.SongBookForm', - 'You need to type in a name for the book.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'You need to type in a name for the book.')) self.NameEdit.setFocus() return False else: diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index 879f6ce72..9524e8981 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -109,8 +109,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard): 'No OpenLyrics Files Selected'), translate('SongsPlugin.ImportWizardForm', 'You need to add at least one OpenLyrics ' - 'song file to import from.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'song file to import from.')) self.OpenLyricsAddButton.setFocus() return False elif source_format == SongFormat.OpenSong: @@ -120,8 +119,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard): 'No OpenSong Files Selected'), translate('SongsPlugin.ImportWizardForm', 'You need to add at least one OpenSong ' - 'song file to import from.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'song file to import from.')) self.OpenSongAddButton.setFocus() return False elif source_format == SongFormat.CCLI: @@ -131,8 +129,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard): 'No CCLI Files Selected'), translate('SongsPlugin.ImportWizardForm', 'You need to add at least one CCLI file ' - 'to import from.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'to import from.')) self.CCLIAddButton.setFocus() return False elif source_format == SongFormat.CSV: @@ -141,8 +138,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_SongImportWizard): translate('SongsPlugin.ImportWizardForm', 'No CSV File Selected'), translate('SongsPlugin.ImportWizardForm', - 'You need to specify a CSV file to import from.'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'You need to specify a CSV file to import from.')) self.CSVFilenameEdit.setFocus() return False return True diff --git a/openlp/plugins/songs/forms/topicsform.py b/openlp/plugins/songs/forms/topicsform.py index 79c160083..a618dd9db 100644 --- a/openlp/plugins/songs/forms/topicsform.py +++ b/openlp/plugins/songs/forms/topicsform.py @@ -51,8 +51,7 @@ class TopicsForm(QtGui.QDialog, Ui_TopicsDialog): QtGui.QMessageBox.critical( self, translate('SongsPlugin.TopicsForm', 'Error'), translate('SongsPlugin.TopicsForm', - 'You need to type in a topic name!'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) + 'You need to type in a topic name!')) self.NameEdit.setFocus() return False else: diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index ff285a18c..c09e7a1bb 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -198,15 +198,11 @@ class SongsPlugin(Plugin): except: log.exception('Could not import SoF file') QtGui.QMessageBox.critical(None, - translate('SongsPlugin', - 'Import Error'), - translate('SongsPlugin', - 'Error importing Songs of ' + translate('SongsPlugin', 'Import Error'), + translate('SongsPlugin', 'Error importing Songs of ' 'Fellowship file.\nOpenOffice.org must be installed' ' and you must be using an unedited copy of the RTF' - ' included with the Songs of Fellowship Music Editions'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok), - QtGui.QMessageBox.Ok) + ' included with the Songs of Fellowship Music Editions')) Receiver.send_message(u'songs_load_list') def onImportOpenSongItemClick(self): @@ -221,12 +217,8 @@ class SongsPlugin(Plugin): except: log.exception('Could not import OpenSong file') QtGui.QMessageBox.critical(None, - translate('SongsPlugin', - 'Import Error'), - translate('SongsPlugin', - 'Error importing OpenSong file'), - QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok), - QtGui.QMessageBox.Ok) + translate('SongsPlugin', 'Import Error'), + translate('SongsPlugin', 'Error importing OpenSong file')) Receiver.send_message(u'songs_load_list') def onImportOpenLPSongItemClick(self): @@ -250,8 +242,7 @@ class SongsPlugin(Plugin): def onImportOooItemClick(self): filenames = QtGui.QFileDialog.getOpenFileNames( - None, translate('SongsPlugin', - 'Open documents or presentations'), + None, translate('SongsPlugin', 'Open documents or presentations'), '', u'All Files(*.*)') oooimport = OooImport(self.manager) oooimport.import_docs(filenames) From 23022c095d8113d53aa7e0b02a059de30ef6c9b5 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 31 Jul 2010 13:52:17 +0200 Subject: [PATCH 145/148] improved button behaviour --- .../plugins/songs/forms/songmaintenanceform.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index da4351fbc..83dba85a2 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -113,6 +113,12 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): u'%s %s' % (author.first_name, author.last_name)) author_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(author.id)) self.AuthorsListWidget.addItem(author_name) + if self.AuthorsListWidget.count() == 0: + self.AuthorDeleteButton.setEnabled(False) + self.AuthorEditButton.setEnabled(False) + else: + self.AuthorDeleteButton.setEnabled(True) + self.AuthorEditButton.setEnabled(True) def resetTopics(self): """ @@ -125,6 +131,12 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): topic_name = QtGui.QListWidgetItem(topic.name) topic_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(topic.id)) self.TopicsListWidget.addItem(topic_name) + if self.TopicsListWidget.count() == 0: + self.TopicDeleteButton.setEnabled(False) + self.TopicEditButton.setEnabled(False) + else: + self.TopicDeleteButton.setEnabled(True) + self.TopicEditButton.setEnabled(True) def resetBooks(self): """ @@ -137,6 +149,12 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book.publisher)) book_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(book.id)) self.BooksListWidget.addItem(book_name) + if self.BooksListWidget.count() == 0: + self.BookDeleteButton.setEnabled(False) + self.BookEditButton.setEnabled(False) + else: + self.BookDeleteButton.setEnabled(True) + self.BookEditButton.setEnabled(True) def checkAuthor(self, new_author, edit=False): """ From e815a5ff0875375b898deebd5574b8938cbbd66d Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 31 Jul 2010 22:58:56 +0100 Subject: [PATCH 146/148] Fix non-updating screen when unchecking override --- openlp/core/ui/generaltab.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index ec0d10743..212d67aca 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -38,6 +38,7 @@ class GeneralTab(SettingsTab): """ self.screens = screens self.monitorNumber = 0 + self.overrideChanged = False SettingsTab.__init__(self, u'General') def preLoad(self): @@ -473,16 +474,18 @@ class GeneralTab(SettingsTab): Receiver.send_message(u'slidecontroller_live_spin_delay', self.timeoutSpinBox.value()) # Reset screens after initial definition - self.screens.override[u'size'] = QtCore.QRect( - int(self.customXValueEdit.text()), - int(self.customYValueEdit.text()), - int(self.customWidthValueEdit.text()), - int(self.customHeightValueEdit.text())) - if self.overrideCheckBox.isChecked(): - self.screens.set_override_display() - Receiver.send_message(u'config_screen_changed') - else: - self.screens.reset_current_display() + if self.overrideChanged: + self.screens.override[u'size'] = QtCore.QRect( + int(self.customXValueEdit.text()), + int(self.customYValueEdit.text()), + int(self.customWidthValueEdit.text()), + int(self.customHeightValueEdit.text())) + if self.overrideCheckBox.isChecked(): + self.screens.set_override_display() + Receiver.send_message(u'config_screen_changed') + else: + self.screens.reset_current_display() + Receiver.send_message(u'config_screen_changed') def onOverrideCheckBoxToggled(self, checked): """ From 4b0093e97b21621c8fe9fbd24a0f2e695367ff8a Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sat, 31 Jul 2010 23:23:48 +0100 Subject: [PATCH 147/148] Fix alerts width --- openlp/core/ui/maindisplay.py | 2 +- openlp/plugins/alerts/alertsplugin.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index c45e6cd47..169faa5a0 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -252,6 +252,7 @@ class MainDisplay(DisplayWidget): self.size().height()) self.webView.setGeometry(0, 0, self.size().width(), self.size().height()) + self.alertText.setTextWidth(self.size().width()) #Build a custom splash screen self.initialFrame = QtGui.QImage( self.screen[u'size'].width(), @@ -322,7 +323,6 @@ class MainDisplay(DisplayWidget): def setupAlert(self): self.alertText = QtGui.QGraphicsTextItem() - self.alertText.setTextWidth(self.size().width()) self.alertText.setZValue(8) self.scene.addItem(self.alertText) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 45f8ebfc4..6879d3475 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -88,8 +88,7 @@ class AlertsPlugin(Plugin): def toggleAlertsState(self): self.alertsActive = not self.alertsActive - QtCore.QSettings().setValue( - self.settingsSection + u'/active', + QtCore.QSettings().setValue(self.settingsSection + u'/active', QtCore.QVariant(self.alertsActive)) def onAlertsTrigger(self): From 41ed61bfe35bdd80e66463762397ea8ff5e1e12d Mon Sep 17 00:00:00 2001 From: Jon Tibble Date: Sun, 1 Aug 2010 15:28:40 +0100 Subject: [PATCH 148/148] Fix previous fix --- openlp/core/ui/generaltab.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 212d67aca..faafb5223 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -38,7 +38,8 @@ class GeneralTab(SettingsTab): """ self.screens = screens self.monitorNumber = 0 - self.overrideChanged = False + # Set to True to allow PostSetup to work on application start up + self.overrideChanged = True SettingsTab.__init__(self, u'General') def preLoad(self): @@ -414,7 +415,6 @@ class GeneralTab(SettingsTab): self.customYValueEdit.setEnabled(self.overrideCheckBox.isChecked()) self.customHeightValueEdit.setEnabled(self.overrideCheckBox.isChecked()) self.customWidthValueEdit.setEnabled(self.overrideCheckBox.isChecked()) - self.overrideChanged = False def save(self): """ @@ -458,7 +458,7 @@ class GeneralTab(SettingsTab): QtCore.QVariant(self.overrideCheckBox.isChecked())) settings.endGroup() self.screens.display = self.displayOnMonitorCheck.isChecked() - #Monitor Number has changed. + # Monitor Number has changed. if self.screens.monitor_number != self.monitorNumber: self.screens.monitor_number = self.monitorNumber self.screens.set_current_display(self.monitorNumber)