← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~trb143/openlp/theme-cleanup into lp:openlp

 

Tim Bentley has proposed merging lp:~trb143/openlp/theme-cleanup into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)

For more details, see:
https://code.launchpad.net/~trb143/openlp/theme-cleanup/+merge/200054

Code cleanups and 2013 to 2014 conversion
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~trb143/openlp/theme-cleanup/+merge/200054
Your team OpenLP Core is requested to review the proposed merge of lp:~trb143/openlp/theme-cleanup into lp:openlp.
=== modified file 'copyright.txt'
--- copyright.txt	2013-10-26 17:25:07 +0000
+++ copyright.txt	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp.py'
--- openlp.py	2013-08-31 18:17:38 +0000
+++ openlp.py	2013-12-26 09:01:49 +0000
@@ -5,8 +5,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Edwin Lunando, Joshua Miller, Stevan Pettit,  #
 # Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout,      #

=== modified file 'openlp/__init__.py'
--- openlp/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/__init__.py'
--- openlp/core/__init__.py	2013-10-30 20:34:23 +0000
+++ openlp/core/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/common/__init__.py'
--- openlp/core/common/__init__.py	2013-10-13 20:36:42 +0000
+++ openlp/core/common/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/common/applocation.py'
--- openlp/core/common/applocation.py	2013-10-13 20:36:42 +0000
+++ openlp/core/common/applocation.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/common/settings.py'
--- openlp/core/common/settings.py	2013-10-15 19:17:53 +0000
+++ openlp/core/common/settings.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -172,46 +172,46 @@
         'shortcuts/importBibleItem': [],
         'shortcuts/listViewBiblesDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
         'shortcuts/listViewBiblesPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.Key_Return)],
+                                                QtGui.QKeySequence(QtCore.Qt.Key_Return)],
         'shortcuts/listViewBiblesLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
+                                             QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
         'shortcuts/listViewBiblesServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
-            QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
+                                                QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
         'shortcuts/listViewCustomDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
         'shortcuts/listViewCustomPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.Key_Return)],
+                                                QtGui.QKeySequence(QtCore.Qt.Key_Return)],
         'shortcuts/listViewCustomLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
+                                             QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
         'shortcuts/listViewCustomServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
-            QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
+                                                QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
         'shortcuts/listViewImagesDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
         'shortcuts/listViewImagesPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.Key_Return)],
+                                                QtGui.QKeySequence(QtCore.Qt.Key_Return)],
         'shortcuts/listViewImagesLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
+                                             QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
         'shortcuts/listViewImagesServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
-            QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
+                                                QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
         'shortcuts/listViewMediaDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
         'shortcuts/listViewMediaPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.Key_Return)],
+                                               QtGui.QKeySequence(QtCore.Qt.Key_Return)],
         'shortcuts/listViewMediaLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
+                                            QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
         'shortcuts/listViewMediaServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
-            QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
+                                               QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
         'shortcuts/listViewPresentationsDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
         'shortcuts/listViewPresentationsPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.Key_Return)],
+                                                       QtGui.QKeySequence(QtCore.Qt.Key_Return)],
         'shortcuts/listViewPresentationsLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
+                                                    QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
         'shortcuts/listViewPresentationsServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
-            QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
+                                                       QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
         'shortcuts/listViewSongsDeleteItem': [QtGui.QKeySequence(QtCore.Qt.Key_Delete)],
         'shortcuts/listViewSongsPreviewItem': [QtGui.QKeySequence(QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.Key_Return)],
+                                               QtGui.QKeySequence(QtCore.Qt.Key_Return)],
         'shortcuts/listViewSongsLiveItem': [QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Enter),
-            QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
+                                            QtGui.QKeySequence(QtCore.Qt.ShiftModifier | QtCore.Qt.Key_Return)],
         'shortcuts/listViewSongsServiceItem': [QtGui.QKeySequence(QtCore.Qt.Key_Plus),
-            QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
+                                               QtGui.QKeySequence(QtCore.Qt.Key_Equal)],
         'shortcuts/lockPanel': [],
         'shortcuts/modeDefaultItem': [],
         'shortcuts/modeLiveItem': [],
@@ -222,8 +222,7 @@
         'shortcuts/moveBottom': [QtGui.QKeySequence(QtCore.Qt.Key_End)],
         'shortcuts/moveDown': [QtGui.QKeySequence(QtCore.Qt.Key_PageDown)],
         'shortcuts/nextTrackItem': [],
-        'shortcuts/nextItem_live': [QtGui.QKeySequence(QtCore.Qt.Key_Down),
-            QtGui.QKeySequence(QtCore.Qt.Key_PageDown)],
+        'shortcuts/nextItem_live': [QtGui.QKeySequence(QtCore.Qt.Key_Down), QtGui.QKeySequence(QtCore.Qt.Key_PageDown)],
         'shortcuts/nextItem_preview': [],
         'shortcuts/nextService': [QtGui.QKeySequence(QtCore.Qt.Key_Right)],
         'shortcuts/newService': [],
@@ -231,8 +230,7 @@
         'shortcuts/onlineHelpItem': [QtGui.QKeySequence('Alt+F1')],
         'shortcuts/openService': [],
         'shortcuts/saveService': [],
-        'shortcuts/previousItem_live': [QtGui.QKeySequence(QtCore.Qt.Key_Up),
-            QtGui.QKeySequence(QtCore.Qt.Key_PageUp)],
+        'shortcuts/previousItem_live': [QtGui.QKeySequence(QtCore.Qt.Key_Up), QtGui.QKeySequence(QtCore.Qt.Key_PageUp)],
         'shortcuts/playbackPause': [],
         'shortcuts/playbackPlay': [],
         'shortcuts/playbackStop': [],

=== modified file 'openlp/core/common/uistrings.py'
--- openlp/core/common/uistrings.py	2013-11-16 20:32:50 +0000
+++ openlp/core/common/uistrings.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/lib/__init__.py'
--- openlp/core/lib/__init__.py	2013-11-16 20:32:50 +0000
+++ openlp/core/lib/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -273,7 +273,7 @@
     """
     if not list_widget.selectedIndexes():
         QtGui.QMessageBox.information(list_widget.parent(),
-            translate('OpenLP.MediaManagerItem', 'No Items Selected'), message)
+                                      translate('OpenLP.MediaManagerItem', 'No Items Selected'), message)
         return False
     return True
 
@@ -319,13 +319,13 @@
         return string_list[0]
     elif len(string_list) == 2:
         return translate('OpenLP.core.lib', '%s and %s',
-            'Locale list separator: 2 items') % (string_list[0], string_list[1])
+                         'Locale list separator: 2 items') % (string_list[0], string_list[1])
     else:
         merged = translate('OpenLP.core.lib', '%s, and %s',
-            'Locale list separator: end') % (string_list[-2], string_list[-1])
+                           'Locale list separator: end') % (string_list[-2], string_list[-1])
         for index in reversed(list(range(1, len(string_list) - 2))):
             merged = translate('OpenLP.core.lib', '%s, %s',
-                'Locale list separator: middle') % (string_list[index], merged)
+                               'Locale list separator: middle') % (string_list[index], merged)
         return translate('OpenLP.core.lib', '%s, %s', 'Locale list separator: start') % (string_list[0], merged)
 
 

=== modified file 'openlp/core/lib/db.py'
--- openlp/core/lib/db.py	2013-10-13 21:07:28 +0000
+++ openlp/core/lib/db.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -97,8 +97,8 @@
         pass
 
     metadata_table = Table('metadata', metadata,
-        Column('key', types.Unicode(64), primary_key=True),
-        Column('value', types.UnicodeText(), default=None)
+                           Column('key', types.Unicode(64), primary_key=True),
+                           Column('value', types.UnicodeText(), default=None)
     )
     metadata_table.create(checkfirst=True)
     mapper(Metadata, metadata_table)
@@ -199,11 +199,10 @@
             else:
                 self.db_url = 'sqlite:///%s/%s.sqlite' % (AppLocation.get_section_data_path(plugin_name), plugin_name)
         else:
-            self.db_url = '%s://%s:%s@%s/%s' % (db_type,
-                urlquote(settings.value('db username')),
-                urlquote(settings.value('db password')),
-                urlquote(settings.value('db hostname')),
-                urlquote(settings.value('db database')))
+            self.db_url = '%s://%s:%s@%s/%s' % (db_type, urlquote(settings.value('db username')),
+                                                urlquote(settings.value('db password')),
+                                                urlquote(settings.value('db hostname')),
+                                                urlquote(settings.value('db database')))
             if db_type == 'mysql':
                 db_encoding = settings.value('db encoding')
                 self.db_url += '?charset=%s' % urlquote(db_encoding)
@@ -214,18 +213,17 @@
                 critical_error_message_box(
                     translate('OpenLP.Manager', 'Database Error'),
                     translate('OpenLP.Manager', 'The database being loaded was created in a more recent version of '
-                        'OpenLP. The database is version %d, while OpenLP expects version %d. The database will not '
-                        'be loaded.\n\nDatabase: %s') % (db_ver, up_ver, self.db_url)
+                              'OpenLP. The database is version %d, while OpenLP expects version %d. The database will '
+                              'not be loaded.\n\nDatabase: %s') % (db_ver, up_ver, self.db_url)
                 )
                 return
         try:
             self.session = init_schema(self.db_url)
         except (SQLAlchemyError, DBAPIError):
             log.exception('Error loading database: %s', self.db_url)
-            critical_error_message_box(
-                translate('OpenLP.Manager', 'Database Error'),
-                translate('OpenLP.Manager', 'OpenLP cannot load your database.\n\nDatabase: %s') % self.db_url
-            )
+            critical_error_message_box(translate('OpenLP.Manager', 'Database Error'),
+                                       translate('OpenLP.Manager', 'OpenLP cannot load your database.\n\nDatabase: %s')
+                                       % self.db_url)
 
     def save_object(self, object_instance, commit=True):
         """

=== modified file 'openlp/core/lib/dockwidget.py'
--- openlp/core/lib/dockwidget.py	2013-08-31 18:17:38 +0000
+++ openlp/core/lib/dockwidget.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/lib/filedialog.py'
--- openlp/core/lib/filedialog.py	2013-11-16 21:04:16 +0000
+++ openlp/core/lib/filedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -40,6 +40,7 @@
 
 log = logging.getLogger(__name__)
 
+
 class FileDialog(QtGui.QFileDialog):
     """
     Subclass QFileDialog to work round a bug
@@ -54,13 +55,12 @@
         file_list = []
         for file in files:
             if not os.path.exists(file):
-                log.info('File %s not found. Attempting to unquote.')
+                log.info('File not found. Attempting to unquote.')
                 file = parse.unquote(file)
                 if not os.path.exists(file):
                     log.error('File %s not found.' % file)
                     QtGui.QMessageBox.information(parent, UiStrings().FileNotFound,
-                        UiStrings().FileNotFoundMessage % file)
+                                                  UiStrings().FileNotFoundMessage % file)
                     continue
-                log.info('File %s found.')
             file_list.append(file)
         return file_list
\ No newline at end of file

=== modified file 'openlp/core/lib/formattingtags.py'
--- openlp/core/lib/formattingtags.py	2013-10-13 20:36:42 +0000
+++ openlp/core/lib/formattingtags.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -68,47 +68,56 @@
         FormattingTags.html_expands = []
         base_tags = []
         # Append the base tags.
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'Red'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'Red'),
             'start tag': '{r}',
             'start html': '<span style="-webkit-text-fill-color:red">',
             'end tag': '{/r}', 'end html': '</span>', 'protected': True,
             'temporary': False})
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'Black'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'Black'),
             'start tag': '{b}',
             'start html': '<span style="-webkit-text-fill-color:black">',
             'end tag': '{/b}', 'end html': '</span>', 'protected': True,
             'temporary': False})
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'Blue'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'Blue'),
             'start tag': '{bl}',
             'start html': '<span style="-webkit-text-fill-color:blue">',
             'end tag': '{/bl}', 'end html': '</span>', 'protected': True,
             'temporary': False})
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'Yellow'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'Yellow'),
             'start tag': '{y}',
             'start html': '<span style="-webkit-text-fill-color:yellow">',
             'end tag': '{/y}', 'end html': '</span>', 'protected': True,
             'temporary': False})
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'Green'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'Green'),
             'start tag': '{g}',
             'start html': '<span style="-webkit-text-fill-color:green">',
             'end tag': '{/g}', 'end html': '</span>', 'protected': True,
             'temporary': False})
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'Pink'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'Pink'),
             'start tag': '{pk}',
             'start html': '<span style="-webkit-text-fill-color:#FFC0CB">',
             'end tag': '{/pk}', 'end html': '</span>', 'protected': True,
             'temporary': False})
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'Orange'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'Orange'),
             'start tag': '{o}',
             'start html': '<span style="-webkit-text-fill-color:#FFA500">',
             'end tag': '{/o}', 'end html': '</span>', 'protected': True,
             'temporary': False})
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'Purple'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'Purple'),
             'start tag': '{pp}',
             'start html': '<span style="-webkit-text-fill-color:#800080">',
             'end tag': '{/pp}', 'end html': '</span>', 'protected': True,
             'temporary': False})
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'White'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'White'),
             'start tag': '{w}',
             'start html': '<span style="-webkit-text-fill-color:white">',
             'end tag': '{/w}', 'end html': '</span>', 'protected': True,
@@ -128,7 +137,8 @@
             'start tag': '{p}', 'start html': '<p>', 'end tag': '{/p}',
             'end html': '</p>', 'protected': True,
             'temporary': False})
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'Bold'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'Bold'),
             'start tag': '{st}', 'start html': '<strong>',
             'end tag': '{/st}', 'end html': '</strong>',
             'protected': True, 'temporary': False})
@@ -142,9 +152,11 @@
             'start html': '<span style="text-decoration: underline;">',
             'end tag': '{/u}', 'end html': '</span>', 'protected': True,
             'temporary': False})
-        base_tags.append({'desc': translate('OpenLP.FormattingTags', 'Break'),
+        base_tags.append({
+            'desc': translate('OpenLP.FormattingTags', 'Break'),
             'start tag': '{br}', 'start html': '<br>', 'end tag': '',
-            'end html': '', 'protected': True, 'temporary': False})
+            'end html': '', 'protected': True,
+            'temporary': False})
         FormattingTags.add_html_tags(base_tags)
         FormattingTags.add_html_tags(temporary_tags)
         user_expands_string = str(Settings().value('formattingTags/html_tags'))

=== modified file 'openlp/core/lib/htmlbuilder.py'
--- openlp/core/lib/htmlbuilder.py	2013-09-11 14:22:28 +0000
+++ openlp/core/lib/htmlbuilder.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -576,7 +576,7 @@
     """
     width = screen['size'].width()
     height = screen['size'].height()
-    theme_data = item.themedata
+    theme_data = item.theme_data
     # Image generated and poked in
     if background:
         bgimage_src = 'src="data:image/png;base64,%s"' % background
@@ -630,7 +630,7 @@
         Service Item containing theme and location information
     """
     width = int(width) // 2
-    theme = item.themedata
+    theme = item.theme_data
     background = 'background-color: black'
     if theme:
         if theme.background_type == BackgroundType.to_string(BackgroundType.Transparent):
@@ -681,7 +681,7 @@
     %s
 }
 """
-    theme_data = item.themedata
+    theme_data = item.theme_data
     lyricstable = ''
     lyrics = ''
     lyricsmain = ''
@@ -769,10 +769,10 @@
     text-align: left;
     white-space: nowrap;
     """
-    theme = item.themedata
+    theme = item.theme_data
     if not theme or not item.footer:
         return ''
     bottom = height - int(item.footer.y()) - int(item.footer.height())
     lyrics_html = style % (item.footer.x(), bottom, item.footer.width(),
-        theme.font_footer_name, theme.font_footer_size, theme.font_footer_color)
+                           theme.font_footer_name, theme.font_footer_size, theme.font_footer_color)
     return lyrics_html

=== modified file 'openlp/core/lib/imagemanager.py'
--- openlp/core/lib/imagemanager.py	2013-08-31 18:17:38 +0000
+++ openlp/core/lib/imagemanager.py	2013-12-26 09:01:49 +0000
@@ -5,8 +5,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/lib/listwidgetwithdnd.py'
--- openlp/core/lib/listwidgetwithdnd.py	2013-08-31 18:17:38 +0000
+++ openlp/core/lib/listwidgetwithdnd.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -45,8 +45,7 @@
         Initialise the list widget
         """
         super(ListWidgetWithDnD, self).__init__(parent)
-        self.mimeDataText = name
-        assert(self.mimeDataText)
+        self.mime_data_text = name
 
     def activateDnD(self):
         """
@@ -54,7 +53,7 @@
         """
         self.setAcceptDrops(True)
         self.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
-        Registry().register_function(('%s_dnd' % self.mimeDataText), self.parent().load_file)
+        Registry().register_function(('%s_dnd' % self.mime_data_text), self.parent().load_file)
 
     def mouseMoveEvent(self, event):
         """
@@ -68,9 +67,9 @@
             event.ignore()
             return
         drag = QtGui.QDrag(self)
-        mimeData = QtCore.QMimeData()
-        drag.setMimeData(mimeData)
-        mimeData.setText(self.mimeDataText)
+        mime_data = QtCore.QMimeData()
+        drag.setMimeData(mime_data)
+        mime_data.setText(self.mime_data_text)
         drag.start(QtCore.Qt.CopyAction)
 
     def dragEnterEvent(self, event):
@@ -104,13 +103,13 @@
             event.accept()
             files = []
             for url in event.mimeData().urls():
-                localFile = url.toLocalFile()
-                if os.path.isfile(localFile):
-                    files.append(localFile)
-                elif os.path.isdir(localFile):
-                    listing = os.listdir(localFile)
+                local_file = url.toLocalFile()
+                if os.path.isfile(local_file):
+                    files.append(local_file)
+                elif os.path.isdir(local_file):
+                    listing = os.listdir(local_file)
                     for file in listing:
-                        files.append(os.path.join(localFile, file))
-            Registry().execute('%s_dnd' % self.mimeDataText, files)
+                        files.append(os.path.join(local_file, file))
+            Registry().execute('%s_dnd' % self.mime_data_text, files)
         else:
             event.ignore()

=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2013-11-16 20:32:50 +0000
+++ openlp/core/lib/mediamanageritem.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -171,7 +171,7 @@
         ## Import Button ##
         if self.has_import_icon:
             toolbar_actions.append(['Import', StringContent.Import,
-                ':/general/general_import.png', self.on_import_click])
+                                    ':/general/general_import.png', self.on_import_click])
         ## Load Button ##
         if self.has_file_icon:
             toolbar_actions.append(['Load', StringContent.Load, ':/general/general_open.png', self.on_file_click])
@@ -184,10 +184,10 @@
         ## Delete Button ##
         if self.has_delete_icon:
             toolbar_actions.append(['Delete', StringContent.Delete,
-                ':/general/general_delete.png', self.on_delete_click])
+                                    ':/general/general_delete.png', self.on_delete_click])
         ## Preview ##
         toolbar_actions.append(['Preview', StringContent.Preview,
-            ':/general/general_preview.png', self.on_preview_click])
+                                ':/general/general_preview.png', self.on_preview_click])
         ## Live Button ##
         toolbar_actions.append(['Live', StringContent.Live, ':/general/general_live.png', self.on_live_click])
         ## Add to service Button ##
@@ -196,9 +196,9 @@
             if action[0] == StringContent.Preview:
                 self.toolbar.addSeparator()
             self.toolbar.add_toolbar_action('%s%sAction' % (self.plugin.name, action[0]),
-                text=self.plugin.get_string(action[1])['title'], icon=action[2],
-                tooltip=self.plugin.get_string(action[1])['tooltip'],
-                triggers=action[3])
+                                            text=self.plugin.get_string(action[1])['title'], icon=action[2],
+                                            tooltip=self.plugin.get_string(action[1])['tooltip'],
+                                            triggers=action[3])
 
     def add_list_view_to_toolbar(self):
         """
@@ -216,41 +216,41 @@
         self.list_view.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
         if self.has_edit_icon:
             create_widget_action(self.list_view,
-                text=self.plugin.get_string(StringContent.Edit)['title'],
-                icon=':/general/general_edit.png',
-                triggers=self.on_edit_click)
+                                 text=self.plugin.get_string(StringContent.Edit)['title'],
+                                 icon=':/general/general_edit.png',
+                                 triggers=self.on_edit_click)
             create_widget_action(self.list_view, separator=True)
         if self.has_delete_icon:
             create_widget_action(self.list_view,
-                'listView%s%sItem' % (self.plugin.name.title(), StringContent.Delete.title()),
-                text=self.plugin.get_string(StringContent.Delete)['title'],
-                icon=':/general/general_delete.png',
-                can_shortcuts=True, triggers=self.on_delete_click)
+                                 'listView%s%sItem' % (self.plugin.name.title(), StringContent.Delete.title()),
+                                 text=self.plugin.get_string(StringContent.Delete)['title'],
+                                 icon=':/general/general_delete.png',
+                                 can_shortcuts=True, triggers=self.on_delete_click)
             create_widget_action(self.list_view, separator=True)
         create_widget_action(self.list_view,
-            'listView%s%sItem' % (self.plugin.name.title(), StringContent.Preview.title()),
-            text=self.plugin.get_string(StringContent.Preview)['title'],
-            icon=':/general/general_preview.png',
-            can_shortcuts=True,
-            triggers=self.on_preview_click)
-        create_widget_action(self.list_view,
-            'listView%s%sItem' % (self.plugin.name.title(), StringContent.Live.title()),
-            text=self.plugin.get_string(StringContent.Live)['title'],
-            icon=':/general/general_live.png',
-            can_shortcuts=True,
-            triggers=self.on_live_click)
-        create_widget_action(self.list_view,
-            'listView%s%sItem' % (self.plugin.name.title(), StringContent.Service.title()),
-            can_shortcuts=True,
-            text=self.plugin.get_string(StringContent.Service)['title'],
-            icon=':/general/general_add.png',
-            triggers=self.on_add_click)
+                             'listView%s%sItem' % (self.plugin.name.title(), StringContent.Preview.title()),
+                             text=self.plugin.get_string(StringContent.Preview)['title'],
+                             icon=':/general/general_preview.png',
+                             can_shortcuts=True,
+                             triggers=self.on_preview_click)
+        create_widget_action(self.list_view,
+                             'listView%s%sItem' % (self.plugin.name.title(), StringContent.Live.title()),
+                             text=self.plugin.get_string(StringContent.Live)['title'],
+                             icon=':/general/general_live.png',
+                             can_shortcuts=True,
+                             triggers=self.on_live_click)
+        create_widget_action(self.list_view,
+                             'listView%s%sItem' % (self.plugin.name.title(), StringContent.Service.title()),
+                             can_shortcuts=True,
+                             text=self.plugin.get_string(StringContent.Service)['title'],
+                             icon=':/general/general_add.png',
+                             triggers=self.on_add_click)
         if self.add_to_service_item:
             create_widget_action(self.list_view, separator=True)
             create_widget_action(self.list_view,
-                text=translate('OpenLP.MediaManagerItem', '&Add to selected Service Item'),
-                icon=':/general/general_add.png',
-                triggers=self.on_add_edit_click)
+                                 text=translate('OpenLP.MediaManagerItem', '&Add to selected Service Item'),
+                                 icon=':/general/general_add.png',
+                                 triggers=self.on_add_edit_click)
         self.add_custom_context_actions()
         # Create the context menu and add all actions from the list_view.
         self.menu = QtGui.QMenu()
@@ -291,21 +291,21 @@
 
     def add_custom_context_actions(self):
         """
-        Implement this method in your descendent media manager item to
-        add any context menu items. This method is called automatically.
+        Implement this method in your descendant media manager item to add any context menu items.
+        This method is called automatically.
         """
         pass
 
     def initialise(self):
         """
-        Implement this method in your descendent media manager item to
-        do any UI or other initialisation. This method is called automatically.
+        Implement this method in your descendant media manager item to do any UI or other initialisation.
+        This method is called automatically.
         """
         pass
 
     def add_start_header_bar(self):
         """
-        Slot at start of toolbar for plugin to addwidgets
+        Slot at start of toolbar for plugin to add widgets
         """
         pass
 
@@ -320,8 +320,9 @@
         Add a file to the list widget to make it available for showing
         """
         files = FileDialog.getOpenFileNames(self, self.on_new_prompt,
-            Settings().value(self.settings_section + '/last directory'), self.on_new_file_masks)
-        log.info('New files(s) %s', files)
+                                            Settings().value(self.settings_section + '/last directory'),
+                                            self.on_new_file_masks)
+        log.info('New files(s) %s' % files)
         if files:
             self.application.set_busy_cursor()
             self.validate_and_load(files)
@@ -341,7 +342,8 @@
             if file_type.lower() not in self.on_new_file_masks:
                 if not error_shown:
                     critical_error_message_box(translate('OpenLP.MediaManagerItem', 'Invalid File Type'),
-                        translate('OpenLP.MediaManagerItem', 'Invalid File %s.\nSuffix not supported') % file_name)
+                                               translate('OpenLP.MediaManagerItem',
+                                                         'Invalid File %s.\nSuffix not supported') % file_name)
                     error_shown = True
             else:
                 new_files.append(file_name)
@@ -391,7 +393,8 @@
             Settings().setValue('%s/%s files' % (self.settings_section, self.settings_section), self.get_file_list())
         if duplicates_found:
             critical_error_message_box(UiStrings().Duplicate,
-                translate('OpenLP.MediaManagerItem', 'Duplicate files were found on import and were ignored.'))
+                                       translate('OpenLP.MediaManagerItem',
+                                                 'Duplicate files were found on import and were ignored.'))
 
     def context_menu(self, point):
         """
@@ -411,12 +414,12 @@
         """
         file_list = []
         for index in range(self.list_view.count()):
-            bitem = self.list_view.item(index)
-            filename = bitem.data(QtCore.Qt.UserRole)
+            list_item = self.list_view.item(index)
+            filename = list_item.data(QtCore.Qt.UserRole)
             file_list.append(filename)
         return file_list
 
-    def load_list(self, list, target_group):
+    def load_list(self, load_list, target_group):
         """
         Load a list. Needs to be implemented by the plugin.
         """
@@ -448,7 +451,7 @@
         pass
 
     def generate_slide_data(self, service_item, item=None, xml_version=False, remote=False,
-            context=ServiceItemContext.Live):
+                            context=ServiceItemContext.Live):
         """
         Generate the slide data. Needs to be implemented by the plugin.
         """
@@ -477,9 +480,10 @@
         """
         if not self.list_view.selectedIndexes() and not self.remote_triggered:
             QtGui.QMessageBox.information(self, UiStrings().NISp,
-                translate('OpenLP.MediaManagerItem', 'You must select one or more items to preview.'))
+                                          translate('OpenLP.MediaManagerItem',
+                                                    'You must select one or more items to preview.'))
         else:
-            log.debug('%s Preview requested', self.plugin.name)
+            log.debug('%s Preview requested' % self.plugin.name)
             service_item = self.build_service_item()
             if service_item:
                 service_item.from_plugin = True
@@ -493,7 +497,8 @@
         """
         if not self.list_view.selectedIndexes():
             QtGui.QMessageBox.information(self, UiStrings().NISp,
-                translate('OpenLP.MediaManagerItem', 'You must select one or more items to send live.'))
+                                          translate('OpenLP.MediaManagerItem',
+                                                    'You must select one or more items to send live.'))
         else:
             self.go_live()
 
@@ -536,7 +541,8 @@
         """
         if not self.list_view.selectedIndexes():
             QtGui.QMessageBox.information(self, UiStrings().NISp,
-                translate('OpenLP.MediaManagerItem', 'You must select one or more items to add.'))
+                                          translate('OpenLP.MediaManagerItem',
+                                                    'You must select one or more items to add.'))
         else:
             # Is it possible to process multiple list items to generate
             # multiple service items?
@@ -572,20 +578,22 @@
         """
         if not self.list_view.selectedIndexes() and not self.remote_triggered:
             QtGui.QMessageBox.information(self, UiStrings().NISp,
-                translate('OpenLP.MediaManagerItem', 'You must select one or more items.'))
+                                          translate('OpenLP.MediaManagerItem', 'You must select one or more items.'))
         else:
             log.debug('%s Add requested', self.plugin.name)
             service_item = self.service_manager.get_service_item()
             if not service_item:
                 QtGui.QMessageBox.information(self, UiStrings().NISs,
-                    translate('OpenLP.MediaManagerItem', 'You must select an existing service item to add to.'))
+                                              translate('OpenLP.MediaManagerItem',
+                                                        'You must select an existing service item to add to.'))
             elif self.plugin.name == service_item.name:
                 self.generate_slide_data(service_item)
                 self.service_manager.add_service_item(service_item, replace=True)
             else:
                 # Turn off the remote edit update message indicator
                 QtGui.QMessageBox.information(self, translate('OpenLP.MediaManagerItem', 'Invalid Service Item'),
-                    translate('OpenLP.MediaManagerItem', 'You must select a %s service item.') % self.title)
+                                              translate('OpenLP.MediaManagerItem',
+                                                        'You must select a %s service item.') % self.title)
 
     def build_service_item(self, item=None, xml_version=False, remote=False, context=ServiceItemContext.Live):
         """

=== modified file 'openlp/core/lib/plugin.py'
--- openlp/core/lib/plugin.py	2013-10-13 20:36:42 +0000
+++ openlp/core/lib/plugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -227,29 +227,29 @@
         """
         pass
 
-    def add_import_menu_item(self, importMenu):
+    def add_import_menu_item(self, import_menu):
         """
         Create a menu item and add it to the "Import" menu.
 
-        ``importMenu``
+        ``import_menu``
             The Import menu.
         """
         pass
 
-    def add_export_menu_Item(self, exportMenu):
+    def add_export_menu_Item(self, export_menu):
         """
         Create a menu item and add it to the "Export" menu.
 
-        ``exportMenu``
+        ``export_menu``
             The Export menu
         """
         pass
 
-    def add_tools_menu_item(self, toolsMenu):
+    def add_tools_menu_item(self, tools_menu):
         """
         Create a menu item and add it to the "Tools" menu.
 
-        ``toolsMenu``
+        ``tools_menu``
             The Tools menu
         """
         pass
@@ -261,7 +261,8 @@
         """
         if self.settings_tab_class:
             self.settings_tab = self.settings_tab_class(parent, self.name,
-                self.get_string(StringContent.VisibleName)['title'], self.icon_path)
+                                                        self.get_string(StringContent.VisibleName)['title'],
+                                                        self.icon_path)
 
     def add_to_menu(self, menubar):
         """
@@ -324,14 +325,14 @@
         """
         return False
 
-    def rename_theme(self, oldTheme, newTheme):
+    def rename_theme(self, old_theme, new_theme):
         """
         Renames a theme a plugin is using making the plugin use the new name.
 
-        ``oldTheme``
+        ``old_theme``
             The name of the theme the plugin should stop using.
 
-        ``newTheme``
+        ``new_theme``
             The new name the plugin should now use.
         """
         pass
@@ -365,9 +366,8 @@
 
     def __set_name_text_string(self, name, title, tooltip):
         """
-        Utility method for creating a plugin's text_strings. This method makes
-        use of the singular name of the plugin object so must only be called
-        after this has been set.
+        Utility method for creating a plugin's text_strings. This method makes use of the singular name of the
+        plugin object so must only be called after this has been set.
         """
         self.text_strings[name] = {'title': title, 'tooltip': tooltip}
 

=== modified file 'openlp/core/lib/pluginmanager.py'
--- openlp/core/lib/pluginmanager.py	2013-10-13 13:51:13 +0000
+++ openlp/core/lib/pluginmanager.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/lib/registry.py'
--- openlp/core/lib/registry.py	2013-08-31 18:17:38 +0000
+++ openlp/core/lib/registry.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/lib/renderer.py'
--- openlp/core/lib/renderer.py	2013-10-13 20:36:42 +0000
+++ openlp/core/lib/renderer.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -229,7 +229,7 @@
             self.image_manager.add_image(
                 theme_data.background_filename, ImageSource.Theme, QtGui.QColor(theme_data.background_border_color))
         theme_data, main, footer = self.pre_render(theme_data)
-        service_item.themedata = theme_data
+        service_item.theme_data = theme_data
         service_item.main = main
         service_item.footer = footer
         service_item.render(True)
@@ -298,7 +298,7 @@
                         if len(slides) > 1 and text:
                             # Add all slides apart from the last one the list.
                             pages.extend(slides[:-1])
-                            if  text_contains_split:
+                            if text_contains_split:
                                 text = slides[-1] + '\n[---]\n' + text
                             else:
                                 text = slides[-1] + '\n' + text
@@ -344,7 +344,7 @@
             return QtCore.QRect(10, 0, self.width - 20, self.footer_start)
         else:
             return QtCore.QRect(theme_data.font_main_x, theme_data.font_main_y,
-                theme_data.font_main_width - 1, theme_data.font_main_height - 1)
+                                theme_data.font_main_width - 1, theme_data.font_main_height - 1)
 
     def get_footer_rectangle(self, theme_data):
         """
@@ -357,7 +357,8 @@
             return QtCore.QRect(10, self.footer_start, self.width - 20, self.height - self.footer_start)
         else:
             return QtCore.QRect(theme_data.font_footer_x,
-                theme_data.font_footer_y, theme_data.font_footer_width - 1, theme_data.font_footer_height - 1)
+                                theme_data.font_footer_y, theme_data.font_footer_width - 1,
+                                theme_data.font_footer_height - 1)
 
     def _set_text_rectangle(self, theme_data, rect_main, rect_footer):
         """
@@ -400,8 +401,8 @@
             </script><style>*{margin: 0; padding: 0; border: 0;}
             #main {position: absolute; top: 0px; %s %s}</style></head><body>
             <div id="main"></div></body></html>""" % \
-            (build_lyrics_format_css(theme_data, self.page_width,
-            self.page_height), build_lyrics_outline_css(theme_data))
+            (build_lyrics_format_css(theme_data, self.page_width, self.page_height),
+             build_lyrics_outline_css(theme_data))
         self.web.setHtml(html)
         self.empty_height = self.web_frame.contentsSize().height()
 

=== modified file 'openlp/core/lib/screen.py'
--- openlp/core/lib/screen.py	2013-10-13 20:36:42 +0000
+++ openlp/core/lib/screen.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -90,17 +90,17 @@
         log.info('screen_resolution_changed %d' % number)
         for screen in self.screen_list:
             if number == screen['number']:
-                newScreen = {
+                new_screen = {
                     'number': number,
                     'size': self.desktop.screenGeometry(number),
                     'primary': self.desktop.primaryScreen() == number
                 }
                 self.remove_screen(number)
-                self.add_screen(newScreen)
+                self.add_screen(new_screen)
                 # The screen's default size is used, that is why we have to
                 # update the override screen.
                 if screen == self.override:
-                    self.override = copy.deepcopy(newScreen)
+                    self.override = copy.deepcopy(new_screen)
                     self.set_override_display()
                 Registry().execute('config_screen_changed')
                 break
@@ -160,7 +160,7 @@
                     u'size': PyQt4.QtCore.QRect(0, 0, 1024, 768)
                 }
         """
-        log.info('Screen %d found with resolution %s', screen['number'], screen['size'])
+        log.info('Screen %d found with resolution %s' % (screen['number'], screen['size']))
         if screen['primary']:
             self.current = screen
             self.override = copy.deepcopy(self.current)
@@ -200,7 +200,7 @@
         ``number``
             The screen number (int).
         """
-        log.debug('set_current_display %s', number)
+        log.debug('set_current_display %s' % number)
         if number + 1 > self.display_count:
             self.current = self.screen_list[0]
         else:

=== modified file 'openlp/core/lib/searchedit.py'
--- openlp/core/lib/searchedit.py	2013-08-31 18:17:38 +0000
+++ openlp/core/lib/searchedit.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -73,7 +73,7 @@
         self.setStyleSheet(stylesheet)
         msz = self.minimumSizeHint()
         self.setMinimumSize(max(msz.width(), self.clear_button.width() + (frame_width * 2) + 2),
-            max(msz.height(), self.clear_button.height() + (frame_width * 2) + 2))
+                            max(msz.height(), self.clear_button.height() + (frame_width * 2) + 2))
 
     def resizeEvent(self, event):
         """
@@ -85,7 +85,7 @@
         size = self.clear_button.size()
         frame_width = self.style().pixelMetric(QtGui.QStyle.PM_DefaultFrameWidth)
         self.clear_button.move(self.rect().right() - frame_width - size.width(),
-            (self.rect().bottom() + 1 - size.height()) // 2)
+                               (self.rect().bottom() + 1 - size.height()) // 2)
         if hasattr(self, 'menu_button'):
             size = self.menu_button.size()
             self.menu_button.move(self.rect().left() + frame_width + 2, (self.rect().bottom() + 1 - size.height()) // 2)

=== modified file 'openlp/core/lib/serviceitem.py'
--- openlp/core/lib/serviceitem.py	2013-10-13 21:07:28 +0000
+++ openlp/core/lib/serviceitem.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -161,7 +161,7 @@
         self.capabilities = []
         self.is_valid = True
         self.icon = None
-        self.themedata = None
+        self.theme_data = None
         self.main = None
         self.footer = None
         self.bg_image_bytes = None
@@ -238,7 +238,7 @@
         self.bg_image_bytes = None
         if not provides_own_theme_data:
             self.renderer.set_item_theme(self.theme)
-            self.themedata, self.main, self.footer = self.renderer.pre_render()
+            self.theme_data, self.main, self.footer = self.renderer.pre_render()
         if self.service_item_type == ServiceItemType.Text:
             log.debug('Formatting slides: %s' % self.title)
             # Save rendered pages to this dict. In the case that a slide is used

=== modified file 'openlp/core/lib/settingstab.py'
--- openlp/core/lib/settingstab.py	2013-08-31 18:17:38 +0000
+++ openlp/core/lib/settingstab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -125,7 +125,7 @@
         """
         self.load()
 
-    def post_set_up(self, postUpdate=False):
+    def post_set_up(self, post_update=False):
         """
         Changes which need to be made after setup of application
 

=== modified file 'openlp/core/lib/spelltextedit.py'
--- openlp/core/lib/spelltextedit.py	2013-08-31 18:17:38 +0000
+++ openlp/core/lib/spelltextedit.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -79,7 +79,7 @@
         if event.button() == QtCore.Qt.RightButton:
             # Rewrite the mouse event to a left button event so the cursor is moved to the location of the pointer.
             event = QtGui.QMouseEvent(QtCore.QEvent.MouseButtonPress,
-                event.pos(), QtCore.Qt.LeftButton, QtCore.Qt.LeftButton, QtCore.Qt.NoModifier)
+                                      event.pos(), QtCore.Qt.LeftButton, QtCore.Qt.LeftButton, QtCore.Qt.NoModifier)
         QtGui.QPlainTextEdit.mousePressEvent(self, event)
 
     def contextMenuEvent(self, event):
@@ -133,7 +133,7 @@
         """
         self.dictionary = enchant.Dict(action.text())
         self.highlighter.spelling_dictionary = self.dictionary
-        self.highlighter.highlightBlock(self.toPlainText())
+        self.highlighter.highlight_block(self.toPlainText())
         self.highlighter.rehighlight()
 
     def correct_word(self, word):
@@ -180,7 +180,7 @@
         super(Highlighter, self).__init__(*args)
         self.spelling_dictionary = None
 
-    def highlightBlock(self, text):
+    def highlight_block(self, text):
         """
         Highlight misspelt words in a block of text.
         """

=== modified file 'openlp/core/lib/theme.py'
--- openlp/core/lib/theme.py	2013-10-18 18:10:47 +0000
+++ openlp/core/lib/theme.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -150,7 +150,7 @@
 BOOLEAN_LIST = ['bold', 'italics', 'override', 'outline', 'shadow', 'slide_transition']
 
 INTEGER_LIST = ['size', 'line_adjustment', 'x', 'height', 'y', 'width', 'shadow_size', 'outline_size',
-    'horizontal_align', 'vertical_align', 'wrap_style']
+                'horizontal_align', 'vertical_align', 'wrap_style']
 
 
 class ThemeXML(object):
@@ -260,7 +260,7 @@
         # Create direction element
         self.child_element(background, 'direction', str(direction))
 
-    def add_background_image(self, filename, borderColor):
+    def add_background_image(self, filename, border_color):
         """
         Add a image background.
 
@@ -273,11 +273,11 @@
         # Create Filename element
         self.child_element(background, 'filename', filename)
         # Create endColor element
-        self.child_element(background, 'borderColor', str(borderColor))
+        self.child_element(background, 'borderColor', str(border_color))
 
     def add_font(self, name, color, size, override, fonttype='main', bold='False', italics='False',
-        line_adjustment=0, xpos=0, ypos=0, width=0, height=0, outline='False', outline_color='#ffffff',
-        outline_pixel=2, shadow='False', shadow_color='#ffffff', shadow_pixel=5):
+                 line_adjustment=0, xpos=0, ypos=0, width=0, height=0, outline='False', outline_color='#ffffff',
+                 outline_pixel=2, shadow='False', shadow_color='#ffffff', shadow_pixel=5):
         """
         Add a Font.
 

=== modified file 'openlp/core/lib/toolbar.py'
--- openlp/core/lib/toolbar.py	2013-08-31 18:17:38 +0000
+++ openlp/core/lib/toolbar.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -72,7 +72,7 @@
 
     def set_widget_visible(self, widgets, visible=True):
         """
-        Set the visibitity for a widget or a list of widgets.
+        Set the visibility for a widget or a list of widgets.
 
         ``widget``
             A list of string with widget object names.

=== modified file 'openlp/core/lib/treewidgetwithdnd.py'
--- openlp/core/lib/treewidgetwithdnd.py	2013-08-31 18:17:38 +0000
+++ openlp/core/lib/treewidgetwithdnd.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -45,13 +45,12 @@
         Initialise the tree widget
         """
         super(TreeWidgetWithDnD, self).__init__(parent)
-        self.mimeDataText = name
+        self.mime_data_text = name
         self.allow_internal_dnd = False
         self.header().close()
         self.default_indentation = self.indentation()
         self.setIndentation(0)
         self.setAnimated(True)
-        assert(self.mimeDataText)
 
     def activateDnD(self):
         """
@@ -59,8 +58,8 @@
         """
         self.setAcceptDrops(True)
         self.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
-        Registry().register_function(('%s_dnd' % self.mimeDataText), self.parent().load_file)
-        Registry().register_function(('%s_dnd_internal' % self.mimeDataText), self.parent().dnd_move_internal)
+        Registry().register_function(('%s_dnd' % self.mime_data_text), self.parent().load_file)
+        Registry().register_function(('%s_dnd_internal' % self.mime_data_text), self.parent().dnd_move_internal)
 
     def mouseMoveEvent(self, event):
         """
@@ -77,9 +76,9 @@
             event.ignore()
             return
         drag = QtGui.QDrag(self)
-        mimeData = QtCore.QMimeData()
-        drag.setMimeData(mimeData)
-        mimeData.setText(self.mimeDataText)
+        mime_data = QtCore.QMimeData()
+        drag.setMimeData(mime_data)
+        mime_data.setText(self.mime_data_text)
         drag.start(QtCore.Qt.CopyAction)
 
     def dragEnterEvent(self, event):
@@ -132,11 +131,11 @@
                     listing = os.listdir(local_file)
                     for file_name in listing:
                         files.append(os.path.join(local_file, file_name))
-            Registry().execute('%s_dnd' % self.mimeDataText, {'files': files, 'target': self.itemAt(event.pos())})
+            Registry().execute('%s_dnd' % self.mime_Data_Text, {'files': files, 'target': self.itemAt(event.pos())})
         elif self.allow_internal_dnd:
             event.setDropAction(QtCore.Qt.CopyAction)
             event.accept()
-            Registry().execute('%s_dnd_internal' % self.mimeDataText, self.itemAt(event.pos()))
+            Registry().execute('%s_dnd_internal' % self.mime_data_text, self.itemAt(event.pos()))
         else:
             event.ignore()
 

=== modified file 'openlp/core/lib/ui.py'
--- openlp/core/lib/ui.py	2013-10-13 20:36:42 +0000
+++ openlp/core/lib/ui.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -131,7 +131,8 @@
     """
     if question:
         return QtGui.QMessageBox.critical(parent, UiStrings().Error, message,
-            QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No))
+                                          QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes |
+                                                                            QtGui.QMessageBox.No))
     return Registry().get('main_window').error_message(title if title else UiStrings().Error, message)
 
 
@@ -293,9 +294,8 @@
     if kwargs.get('triggers'):
         action.triggered.connect(kwargs.pop('triggers'))
     for key in list(kwargs.keys()):
-        if key not in ['text', 'icon', 'tooltip', 'statustip', 'checked', 'can_shortcuts',
-                'category', 'triggers']:
-            log.warn('Parameter %s was not consumed in create_action().', key)
+        if key not in ['text', 'icon', 'tooltip', 'statustip', 'checked', 'can_shortcuts', 'category', 'triggers']:
+            log.warn('Parameter %s was not consumed in create_action().' % key)
     return action
 
 

=== modified file 'openlp/core/ui/__init__.py'
--- openlp/core/ui/__init__.py	2013-10-13 13:51:13 +0000
+++ openlp/core/ui/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/aboutdialog.py'
--- openlp/core/ui/aboutdialog.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/aboutdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -272,8 +272,8 @@
         self.about_notebook.setTabText(self.about_notebook.indexOf(self.credits_tab),
             translate('OpenLP.AboutForm', 'Credits'))
         copyright_note = translate('OpenLP.AboutForm',
-            'Copyright \xa9 2004-2013 %s\n'
-            'Portions copyright \xa9 2004-2013 %s') % ('Raoul Snyman',
+            'Copyright \xa9 2004-2014 %s\n'
+            'Portions copyright \xa9 2004-2014 %s') % ('Raoul Snyman',
             'Tim Bentley, Gerald Britton, Jonathan Corwin, Samuel Findlay, '
             'Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, '
             'Armin K\xf6hler, Erik Lundin, Edwin Lunando, Joshua Miller, '

=== modified file 'openlp/core/ui/aboutform.py'
--- openlp/core/ui/aboutform.py	2013-08-31 18:17:38 +0000
+++ openlp/core/ui/aboutform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/advancedtab.py'
--- openlp/core/ui/advancedtab.py	2013-10-27 20:19:19 +0000
+++ openlp/core/ui/advancedtab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -268,15 +268,15 @@
         self.data_directory_group_box.setTitle(translate('OpenLP.AdvancedTab', 'Data Location'))
         self.recent_label.setText(translate('OpenLP.AdvancedTab', 'Number of recent files to display:'))
         self.media_plugin_check_box.setText(translate('OpenLP.AdvancedTab',
-            'Remember active media manager tab on startup'))
+                                                      'Remember active media manager tab on startup'))
         self.double_click_live_check_box.setText(translate('OpenLP.AdvancedTab',
-            'Double-click to send items straight to live'))
+                                                           'Double-click to send items straight to live'))
         self.single_click_preview_check_box.setText(translate('OpenLP.AdvancedTab',
-            'Preview items when clicked in Media Manager'))
+                                                              'Preview items when clicked in Media Manager'))
         self.expand_service_item_check_box.setText(translate('OpenLP.AdvancedTab',
-            'Expand new service items on creation'))
+                                                             'Expand new service items on creation'))
         self.enable_auto_close_check_box.setText(translate('OpenLP.AdvancedTab',
-            'Enable application exit confirmation'))
+                                                           'Enable application exit confirmation'))
         self.service_name_group_box.setTitle(translate('OpenLP.AdvancedTab', 'Default Service Name'))
         self.service_name_check_box.setText(translate('OpenLP.AdvancedTab', 'Enable default service name'))
         self.service_name_time_label.setText(translate('OpenLP.AdvancedTab', 'Date and Time:'))
@@ -293,7 +293,7 @@
         self.service_name_edit.setToolTip(translate('OpenLP.AdvancedTab', 'Consult the OpenLP manual for usage.'))
         self.service_name_revert_button.setToolTip(
             translate('OpenLP.AdvancedTab', 'Revert to the default service name "%s".') %
-                UiStrings().DefaultServiceName)
+            UiStrings().DefaultServiceName)
         self.service_name_example_label.setText(translate('OpenLP.AdvancedTab', 'Example:'))
         self.hide_mouse_group_box.setTitle(translate('OpenLP.AdvancedTab', 'Mouse Cursor'))
         self.hide_mouse_check_box.setText(translate('OpenLP.AdvancedTab', 'Hide mouse cursor when over display window'))
@@ -306,7 +306,7 @@
         self.data_directory_current_label.setText(translate('OpenLP.AdvancedTab', 'Current path:'))
         self.data_directory_new_label.setText(translate('OpenLP.AdvancedTab', 'Custom path:'))
         self.data_directory_browse_button.setToolTip(translate('OpenLP.AdvancedTab',
-            'Browse for new data file location.'))
+                                                               'Browse for new data file location.'))
         self.data_directory_default_button.setToolTip(
             translate('OpenLP.AdvancedTab', 'Set the data location to the default.'))
         self.data_directory_cancel_button.setText(translate('OpenLP.AdvancedTab', 'Cancel'))
@@ -317,7 +317,7 @@
             'OpenLP.AdvancedTab', 'Copy the OpenLP data files to the new location.'))
         self.new_data_directory_has_files_label.setText(
             translate('OpenLP.AdvancedTab', '<strong>WARNING:</strong> New data directory location contains '
-                'OpenLP data files.  These files WILL be replaced during a copy.'))
+                      'OpenLP data files.  These files WILL be replaced during a copy.'))
         self.display_workaround_group_box.setTitle(translate('OpenLP.AdvancedTab', 'Display Workarounds'))
         self.x11_bypass_check_box.setText(translate('OpenLP.AdvancedTab','Bypass X11 Window Manager'))
         self.alternate_rows_check_box.setText(translate('OpenLP.AdvancedTab', 'Use alternating row colours in lists'))
@@ -347,7 +347,7 @@
         self.hide_mouse_check_box.setChecked(settings.value('hide mouse'))
         self.service_name_day.setCurrentIndex(settings.value('default service day'))
         self.service_name_time.setTime(QtCore.QTime(settings.value('default service hour'),
-            settings.value('default service minute')))
+                                                    settings.value('default service minute')))
         self.should_update_service_name_example = True
         self.service_name_edit.setText(settings.value('default service name'))
         default_service_enabled = settings.value('default service enabled')
@@ -375,15 +375,14 @@
         self.current_data_path = AppLocation.get_data_path()
         if not os.path.exists(self.current_data_path):
             log.error('Data path not found %s' % self.current_data_path)
-            answer = QtGui.QMessageBox.critical(self,
-                translate('OpenLP.AdvancedTab', 'Data Directory Error'),
+            answer = QtGui.QMessageBox.critical(self, translate('OpenLP.AdvancedTab', 'Data Directory Error'),
                 translate('OpenLP.AdvancedTab', 'OpenLP data directory was not found\n\n%s\n\n'
-                'This data directory was previously changed from the OpenLP '
-                'default location.  If the new location was on removable '
-                'media, that media needs to be made available.\n\n'
-                'Click "No" to stop loading OpenLP. allowing you to fix the the problem.\n\n'
-                'Click "Yes" to reset the data directory to the default '
-                'location.').replace('%s', self.current_data_path),
+                          'This data directory was previously changed from the OpenLP '
+                          'default location.  If the new location was on removable '
+                          'media, that media needs to be made available.\n\n'
+                          'Click "No" to stop loading OpenLP. allowing you to fix the the problem.\n\n'
+                          'Click "Yes" to reset the data directory to the default '
+                          'location.').replace('%s', self.current_data_path),
                 QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No),
                 QtGui.QMessageBox.No)
             if answer == QtGui.QMessageBox.No:
@@ -513,7 +512,7 @@
         """
         file_filters = '%s;;%s (*.*) (*)' % (get_images_filter(), UiStrings().AllFiles)
         filename = QtGui.QFileDialog.getOpenFileName(self, translate('OpenLP.AdvancedTab', 'Open File'), '',
-            file_filters)
+                                                     file_filters)
         if filename:
             self.default_file_edit.setText(filename)
         self.default_file_edit.setFocus()
@@ -524,9 +523,9 @@
         """
         old_root_path = str(self.data_directory_label.text())
         # Get the new directory location.
-        new_data_path = QtGui.QFileDialog.getExistingDirectory(
-            self, translate('OpenLP.AdvancedTab', 'Select Data Directory Location'), old_root_path,
-            options=QtGui.QFileDialog.ShowDirsOnly)
+        new_data_path = QtGui.QFileDialog.getExistingDirectory(self, translate('OpenLP.AdvancedTab',
+                                                                               'Select Data Directory Location'),
+                                                               old_root_path, options=QtGui.QFileDialog.ShowDirsOnly)
         # Set the new data path.
         if new_data_path:
             new_data_path = os.path.normpath(new_data_path)
@@ -536,12 +535,13 @@
         else:
             return
         # Make sure they want to change the data.
-        answer = QtGui.QMessageBox.question(self,
-            translate('OpenLP.AdvancedTab', 'Confirm Data Directory Change'),
-            translate('OpenLP.AdvancedTab', 'Are you sure you want to change the location of the OpenLP '
-                'data directory to:\n\n%s\n\n '
-                'The data directory will be changed when OpenLP is closed.').replace('%s', new_data_path),
-            QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No), QtGui.QMessageBox.No)
+        answer = QtGui.QMessageBox.question(self, translate('OpenLP.AdvancedTab', 'Confirm Data Directory Change'),
+                                            translate('OpenLP.AdvancedTab', 'Are you sure you want to change the '
+                                            'location of the OpenLP data directory to:\n\n%s\n\nThe data directory '
+                                            'will be changed when OpenLP is closed.').replace('%s', new_data_path),
+                                            QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes |
+                                                                              QtGui.QMessageBox.No),
+                                            QtGui.QMessageBox.No)
         if answer != QtGui.QMessageBox.Yes:
             return
         # Check if data already exists here.
@@ -559,11 +559,13 @@
         if self.current_data_path.lower() != new_data_path.lower():
             # Make sure they want to change the data location back to the
             # default.
-            answer = QtGui.QMessageBox.question(self,
-                translate('OpenLP.AdvancedTab', 'Reset Data Directory'),
-                translate('OpenLP.AdvancedTab', 'Are you sure you want to change the location of the OpenLP '
-                'data directory to the default location?\n\nThis location will be used after OpenLP is closed.'),
-                QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No), QtGui.QMessageBox.No)
+            answer = QtGui.QMessageBox.question(self, translate('OpenLP.AdvancedTab', 'Reset Data Directory'),
+                                                translate('OpenLP.AdvancedTab', 'Are you sure you want to change the '
+                                                'location of the OpenLP data directory to the default location?\n\nThis'
+                                                ' location will be used after OpenLP is closed.'),
+                                                QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes |
+                                                                                  QtGui.QMessageBox.No),
+                                                QtGui.QMessageBox.No)
             if answer != QtGui.QMessageBox.Yes:
                 return
             self.check_data_overwrite(new_data_path)
@@ -596,11 +598,15 @@
             self.data_exists = True
             # Check is they want to replace existing data.
             answer = QtGui.QMessageBox.warning(self,
-                translate('OpenLP.AdvancedTab', 'Overwrite Existing Data'),
-                translate('OpenLP.AdvancedTab', 'WARNING: \n\nThe location you have selected \n\n%s\n\n'
-                'appears to contain OpenLP data files. Do you wish to replace these files with the current data files?'
-                ).replace('%s', os.path.abspath(data_path,)),
-                QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No), QtGui.QMessageBox.No)
+                                               translate('OpenLP.AdvancedTab', 'Overwrite Existing Data'),
+                                               translate('OpenLP.AdvancedTab',
+                                                         'WARNING: \n\nThe location you have selected \n\n%s\n\n'
+                                                         'appears to contain OpenLP data files. Do you wish to '
+                                                         'replace these files with the current data files?').replace
+                                                         ('%s', os.path.abspath(data_path,)),
+                                               QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes |
+                                                                                 QtGui.QMessageBox.No),
+                                               QtGui.QMessageBox.No)
             if answer == QtGui.QMessageBox.Yes:
                 self.data_directory_copy_check_box.setChecked(True)
                 self.new_data_directory_has_files_label.show()
@@ -638,9 +644,9 @@
         ``checked``
             The state of the check box (boolean).
         """
-        QtGui.QMessageBox.information(self,
-            translate('OpenLP.AdvancedTab', 'Restart Required'),
-            translate('OpenLP.AdvancedTab', 'This change will only take effect once OpenLP has been restarted.'))
+        QtGui.QMessageBox.information(self, translate('OpenLP.AdvancedTab', 'Restart Required'),
+                                      translate('OpenLP.AdvancedTab', 'This change will only take effect once OpenLP '
+                                                                      'has been restarted.'))
 
     def on_end_slide_button_clicked(self):
         """

=== modified file 'openlp/core/ui/exceptiondialog.py'
--- openlp/core/ui/exceptiondialog.py	2013-08-31 18:17:38 +0000
+++ openlp/core/ui/exceptiondialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -75,13 +75,17 @@
         self.exception_text_edit.setObjectName('exception_text_edit')
         self.exception_layout.addWidget(self.exception_text_edit)
         self.send_report_button = create_button(exception_dialog, 'send_report_button',
-            icon=':/general/general_email.png', click=self.on_send_report_button_clicked)
+                                                icon=':/general/general_email.png',
+                                                click=self.on_send_report_button_clicked)
         self.save_report_button = create_button(exception_dialog, 'save_report_button',
-            icon=':/general/general_save.png', click=self.on_save_report_button_clicked)
+                                                icon=':/general/general_save.png',
+                                                click=self.on_save_report_button_clicked)
         self.attach_tile_button = create_button(exception_dialog, 'attach_tile_button',
-            icon=':/general/general_open.png', click=self.on_attach_file_button_clicked)
+                                                icon=':/general/general_open.png',
+                                                click=self.on_attach_file_button_clicked)
         self.button_box = create_button_box(exception_dialog, 'button_box',
-            ['close'], [self.send_report_button, self.save_report_button, self.attach_tile_button])
+                                            ['close'], [self.send_report_button,
+                                            self.save_report_button, self.attach_tile_button])
         self.exception_layout.addWidget(self.button_box)
 
         self.retranslateUi(exception_dialog)
@@ -93,14 +97,14 @@
         """
         exception_dialog.setWindowTitle(translate('OpenLP.ExceptionDialog', 'Error Occurred'))
         self.description_explanation.setText(translate('OpenLP.ExceptionDialog',
-            'Please enter a description of what you were doing to cause this '
-            'error \n(Minimum 20 characters)'))
+                                             'Please enter a description of what you were doing to cause this error '
+                                             '\n(Minimum 20 characters)'))
         self.message_label.setText(translate('OpenLP.ExceptionDialog', 'Oops! '
-            'OpenLP hit a problem, and couldn\'t recover. The text in the box '
-            'below contains information that might be helpful to the OpenLP '
-            'developers, so please e-mail it to bugs@xxxxxxxxxx, along with a '
-            'detailed description of what you were doing when the problem '
-            'occurred.'))
+                                             'OpenLP hit a problem, and couldn\'t recover. The text in the box '
+                                             'below contains information that might be helpful to the OpenLP '
+                                             'developers, so please e-mail it to bugs@xxxxxxxxxx, along with a '
+                                             'detailed description of what you were doing when the problem '
+                                             'occurred.'))
         self.send_report_button.setText(translate('OpenLP.ExceptionDialog', 'Send E-Mail'))
         self.save_report_button.setText(translate('OpenLP.ExceptionDialog', 'Save to File'))
         self.attach_tile_button.setText(translate('OpenLP.ExceptionDialog', 'Attach File'))

=== modified file 'openlp/core/ui/exceptionform.py'
--- openlp/core/ui/exceptionform.py	2013-10-30 20:34:23 +0000
+++ openlp/core/ui/exceptionform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -144,19 +144,19 @@
                 system += 'Desktop: GNOME\n'
             elif os.environ.get('DESKTOP_SESSION') == 'xfce':
                 system += 'Desktop: Xfce\n'
-        return (openlp_version, description, traceback, system, libraries)
+        return openlp_version, description, traceback, system, libraries
 
     def on_save_report_button_clicked(self):
         """
         Saving exception log and system information to a file.
         """
         report_text = translate('OpenLP.ExceptionForm',
-            '**OpenLP Bug Report**\n'
-            'Version: %s\n\n'
-            '--- Details of the Exception. ---\n\n%s\n\n '
-            '--- Exception Traceback ---\n%s\n'
-            '--- System information ---\n%s\n'
-            '--- Library Versions ---\n%s\n')
+                                '**OpenLP Bug Report**\n'
+                                'Version: %s\n\n'
+                                '--- Details of the Exception. ---\n\n%s\n\n '
+                                '--- Exception Traceback ---\n%s\n'
+                                '--- System information ---\n%s\n'
+                                '--- Library Versions ---\n%s\n')
         filename = QtGui.QFileDialog.getSaveFileName(self,
             translate('OpenLP.ExceptionForm', 'Save Crash Report'),
             Settings().value(self.settings_section + '/last directory'),
@@ -202,12 +202,12 @@
             if ':' in line:
                 exception = line.split('\n')[-1].split(':')[0]
         subject = 'Bug report: %s in %s' % (exception, source)
-        mailto_url = QtCore.QUrl('mailto:bugs@xxxxxxxxxx')
-        mailto_url.addQueryItem('subject', subject)
-        mailto_url.addQueryItem('body', body % content)
+        mail_to_url = QtCore.QUrl('mailto:bugs@xxxxxxxxxx')
+        mail_to_url.addQueryItem('subject', subject)
+        mail_to_url.addQueryItem('body', body % content)
         if self.file_attachment:
-            mailto_url.addQueryItem('attach', self.file_attachment)
-        QtGui.QDesktopServices.openUrl(mailto_url)
+            mail_to_url.addQueryItem('attach', self.file_attachment)
+        QtGui.QDesktopServices.openUrl(mail_to_url)
 
     def on_description_updated(self):
         """
@@ -226,9 +226,9 @@
         """
         Attache files to the bug report e-mail.
         """
-        files = QtGui.QFileDialog.getOpenFileName(
-            self, translate('ImagePlugin.ExceptionDialog', 'Select Attachment'),
-                Settings().value(self.settings_section + '/last directory'), '%s (*.*) (*)' % UiStrings().AllFiles)
+        files = QtGui.QFileDialog.getOpenFileName(self, translate('ImagePlugin.ExceptionDialog', 'Select Attachment'),
+                                                  Settings().value(self.settings_section + '/last directory'),
+                                                  '%s (*.*) (*)' % UiStrings().AllFiles)
         log.info('New files(s) %s', str(files))
         if files:
             self.file_attachment = str(files)

=== modified file 'openlp/core/ui/filerenamedialog.py'
--- openlp/core/ui/filerenamedialog.py	2013-08-31 18:17:38 +0000
+++ openlp/core/ui/filerenamedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/filerenameform.py'
--- openlp/core/ui/filerenameform.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/filerenameform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/firsttimeform.py'
--- openlp/core/ui/firsttimeform.py	2013-12-20 19:25:42 +0000
+++ openlp/core/ui/firsttimeform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -137,13 +137,13 @@
             bible_languages = bible_languages.split(',')
             for lang in bible_languages:
                 language = self.config.get('bibles_%s' % lang, 'title')
-                langItem = QtGui.QTreeWidgetItem(self.bibles_tree_widget, [language])
+                lang_item = QtGui.QTreeWidgetItem(self.bibles_tree_widget, [language])
                 bibles = self.config.get('bibles_%s' % lang, 'translations')
                 bibles = bibles.split(',')
                 for bible in bibles:
                     title = self.config.get('bible_%s' % bible, 'title')
                     filename = self.config.get('bible_%s' % bible, 'filename')
-                    item = QtGui.QTreeWidgetItem(langItem, [title])
+                    item = QtGui.QTreeWidgetItem(lang_item, [title])
                     item.setData(0, QtCore.Qt.UserRole, filename)
                     item.setCheckState(0, QtCore.Qt.Unchecked)
                     item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
@@ -239,7 +239,8 @@
         """
         Process the triggering of the cancel button.
         """
-        if self.last_id == FirstTimePage.NoInternet or (self.last_id <= FirstTimePage.Plugins and not self.has_run_wizard):
+        if self.last_id == FirstTimePage.NoInternet or \
+                (self.last_id <= FirstTimePage.Plugins and not self.has_run_wizard):
             QtCore.QCoreApplication.exit()
             sys.exit()
         self.was_download_cancelled = True
@@ -391,17 +392,17 @@
             self.progress_bar.setValue(self.progress_bar.maximum())
             if self.has_run_wizard:
                 self.progress_label.setText(translate('OpenLP.FirstTimeWizard',
-                    'Download complete. Click the finish button to return to OpenLP.'))
+                                            'Download complete. Click the finish button to return to OpenLP.'))
             else:
                 self.progress_label.setText(translate('OpenLP.FirstTimeWizard',
-                    'Download complete. Click the finish button to start OpenLP.'))
+                                            'Download complete. Click the finish button to start OpenLP.'))
         else:
             if self.has_run_wizard:
                 self.progress_label.setText(translate('OpenLP.FirstTimeWizard',
-                    'Click the finish button to return to OpenLP.'))
+                                            'Click the finish button to return to OpenLP.'))
             else:
                 self.progress_label.setText(translate('OpenLP.FirstTimeWizard',
-                    'Click the finish button to start OpenLP.'))
+                                            'Click the finish button to start OpenLP.'))
         self.finish_button.setVisible(True)
         self.finish_button.setEnabled(True)
         self.cancel_button.setVisible(False)

=== modified file 'openlp/core/ui/firsttimelanguagedialog.py'
--- openlp/core/ui/firsttimelanguagedialog.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/firsttimelanguagedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/firsttimelanguageform.py'
--- openlp/core/ui/firsttimelanguageform.py	2013-08-31 18:17:38 +0000
+++ openlp/core/ui/firsttimelanguageform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -46,9 +46,9 @@
         """
         super(FirstTimeLanguageForm, self).__init__(parent)
         self.setupUi(self)
-        self.qmList = LanguageManager.get_qm_list()
+        self.qm_list = LanguageManager.get_qm_list()
         self.language_combo_box.addItem('Autodetect')
-        self.language_combo_box.addItems(sorted(self.qmList.keys()))
+        self.language_combo_box.addItems(sorted(self.qm_list.keys()))
 
     def exec_(self):
         """

=== modified file 'openlp/core/ui/firsttimewizard.py'
--- openlp/core/ui/firsttimewizard.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/firsttimewizard.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -64,7 +64,7 @@
         first_time_wizard.setModal(True)
         first_time_wizard.setWizardStyle(QtGui.QWizard.ModernStyle)
         first_time_wizard.setOptions(QtGui.QWizard.IndependentPages | QtGui.QWizard.NoBackButtonOnStartPage |
-            QtGui.QWizard.NoBackButtonOnLastPage | QtGui.QWizard.HaveCustomButton1)
+                                     QtGui.QWizard.NoBackButtonOnLastPage | QtGui.QWizard.HaveCustomButton1)
         self.finish_button = self.button(QtGui.QWizard.FinishButton)
         self.no_internet_finish_button = self.button(QtGui.QWizard.CustomButton1)
         self.cancel_button = self.button(QtGui.QWizard.CancelButton)
@@ -210,9 +210,10 @@
         """
         first_time_wizard.setWindowTitle(translate('OpenLP.FirstTimeWizard', 'First Time Wizard'))
         self.title_label.setText('<span style="font-size:14pt; font-weight:600;">%s</span>' %
-            translate('OpenLP.FirstTimeWizard', 'Welcome to the First Time Wizard'))
+                                 translate('OpenLP.FirstTimeWizard', 'Welcome to the First Time Wizard'))
         self.information_label.setText(translate('OpenLP.FirstTimeWizard',
-            'This wizard will help you to configure OpenLP for initial use. Click the next button below to start.'))
+                                       'This wizard will help you to configure OpenLP for initial use. '
+                                       'Click the next button below to start.'))
         self.plugin_page.setTitle(translate('OpenLP.FirstTimeWizard', 'Activate required Plugins'))
         self.plugin_page.setSubTitle(translate('OpenLP.FirstTimeWizard', 'Select the Plugins you wish to use. '))
         self.songs_check_box.setText(translate('OpenLP.FirstTimeWizard', 'Songs'))
@@ -231,13 +232,15 @@
         self.no_internet_page.setSubTitle(
             translate('OpenLP.FirstTimeWizard', 'Unable to detect an Internet connection.'))
         self.no_internet_text = translate('OpenLP.FirstTimeWizard',
-            'No Internet connection was found. The First Time Wizard needs an Internet connection in order to be able '
-            'to download sample songs, Bibles and themes.  Click the Finish button now to start OpenLP with initial '
-            'settings and no sample data.\n\nTo re-run the First Time Wizard and import this sample data at a later '
-            'time, check your Internet connection and re-run this wizard by selecting "Tools/Re-run First Time Wizard" '
-            'from OpenLP.')
+                                          'No Internet connection was found. The First Time Wizard needs an Internet '
+                                          'connection in order to be able to download sample songs, Bibles and themes.'
+                                          '  Click the Finish button now to start OpenLP with initial settings and '
+                                          'no sample data.\n\nTo re-run the First Time Wizard and import this sample '
+                                          'data at a later time, check your Internet connection and re-run this '
+                                          'wizard by selecting "Tools/Re-run First Time Wizard" from OpenLP.')
         self.cancelWizardText = translate('OpenLP.FirstTimeWizard',
-            '\n\nTo cancel the First Time Wizard completely (and not start OpenLP), click the Cancel button now.')
+                                          '\n\nTo cancel the First Time Wizard completely (and not start OpenLP), '
+                                          'click the Cancel button now.')
         self.songs_page.setTitle(translate('OpenLP.FirstTimeWizard', 'Sample Songs'))
         self.songs_page.setSubTitle(translate('OpenLP.FirstTimeWizard', 'Select and download public domain songs.'))
         self.bibles_page.setTitle(translate('OpenLP.FirstTimeWizard', 'Sample Bibles'))
@@ -246,7 +249,7 @@
         self.themes_page.setSubTitle(translate('OpenLP.FirstTimeWizard', 'Select and download sample themes.'))
         self.defaults_page.setTitle(translate('OpenLP.FirstTimeWizard', 'Default Settings'))
         self.defaults_page.setSubTitle(translate('OpenLP.FirstTimeWizard',
-            'Set up default settings to be used by OpenLP.'))
+                                                 'Set up default settings to be used by OpenLP.'))
         self.display_label.setText(translate('OpenLP.FirstTimeWizard', 'Default output display:'))
         self.theme_label.setText(translate('OpenLP.FirstTimeWizard', 'Select default theme:'))
         self.progress_label.setText(translate('OpenLP.FirstTimeWizard', 'Starting configuration process...'))

=== modified file 'openlp/core/ui/formattingtagcontroller.py'
--- openlp/core/ui/formattingtagcontroller.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/formattingtagcontroller.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -45,11 +45,12 @@
         """
         Initiator
         """
-        self.html_tag_regex = re.compile(r'<(?:(?P<close>/(?=[^\s/>]+>))?'
-        r'(?P<tag>[^\s/!\?>]+)(?:\s+[^\s=]+="[^"]*")*\s*(?P<empty>/)?'
-        r'|(?P<cdata>!\[CDATA\[(?:(?!\]\]>).)*\]\])'
-        r'|(?P<procinst>\?(?:(?!\?>).)*\?)'
-        r'|(?P<comment>!--(?:(?!-->).)*--))>', re.UNICODE)
+        self.html_tag_regex = re.compile(
+            r'<(?:(?P<close>/(?=[^\s/>]+>))?'
+            r'(?P<tag>[^\s/!\?>]+)(?:\s+[^\s=]+="[^"]*")*\s*(?P<empty>/)?'
+            r'|(?P<cdata>!\[CDATA\[(?:(?!\]\]>).)*\]\])'
+            r'|(?P<procinst>\?(?:(?!\?>).)*\?)'
+            r'|(?P<comment>!--(?:(?!-->).)*--))>', re.UNICODE)
         self.html_regex = re.compile(r'^(?:[^<>]*%s)*[^<>]*$' % self.html_tag_regex.pattern)
 
     def pre_save(self):
@@ -76,12 +77,12 @@
             The end html tag.
 
         """
-        for linenumber, html1 in enumerate(self.protected_tags):
+        for line_number, html1 in enumerate(self.protected_tags):
             if self._strip(html1['start tag']) == tag:
                 return translate('OpenLP.FormattingTagForm', 'Tag %s already defined.') % tag
             if self._strip(html1['desc']) == desc:
                 return translate('OpenLP.FormattingTagForm', 'Description %s already defined.') % tag
-        for linenumber, html1 in enumerate(self.custom_tags):
+        for line_number, html1 in enumerate(self.custom_tags):
             if self._strip(html1['start tag']) == tag:
                 return translate('OpenLP.FormattingTagForm', 'Tag %s already defined.') % tag
             if self._strip(html1['desc']) == desc:
@@ -172,5 +173,5 @@
             return None, end
         if end and end != end_html:
             return translate('OpenLP.FormattingTagForm',
-                'End tag %s does not match end tag for start tag %s' % (end, start_html)), None
+                             'End tag %s does not match end tag for start tag %s' % (end, start_html)), None
         return None, None
\ No newline at end of file

=== modified file 'openlp/core/ui/formattingtagdialog.py'
--- openlp/core/ui/formattingtagdialog.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/formattingtagdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/formattingtagform.py'
--- openlp/core/ui/formattingtagform.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/formattingtagform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -93,10 +93,11 @@
         new_row = self.tag_table_widget.rowCount()
         self.tag_table_widget.insertRow(new_row)
         self.tag_table_widget.setItem(new_row, 0,
-            QtGui.QTableWidgetItem(translate('OpenLP.FormattingTagForm', 'New Tag%s') % str(new_row)))
+                                      QtGui.QTableWidgetItem(translate('OpenLP.FormattingTagForm', 'New Tag%s')
+                                                             % str(new_row)))
         self.tag_table_widget.setItem(new_row, 1, QtGui.QTableWidgetItem('n%s' % str(new_row)))
         self.tag_table_widget.setItem(new_row, 2,
-            QtGui.QTableWidgetItem(translate('OpenLP.FormattingTagForm', '<HTML here>')))
+                                      QtGui.QTableWidgetItem(translate('OpenLP.FormattingTagForm', '<HTML here>')))
         self.tag_table_widget.setItem(new_row, 3, QtGui.QTableWidgetItem(''))
         self.tag_table_widget.resizeRowsToContents()
         self.tag_table_widget.scrollToBottom()
@@ -119,11 +120,12 @@
         self.services.pre_save()
         while count < self.tag_table_widget.rowCount():
             error = self.services.validate_for_save(self.tag_table_widget.item(count, 0).text(),
-                self.tag_table_widget.item(count, 1).text(), self.tag_table_widget.item(count, 2).text(),
-                self.tag_table_widget.item(count, 3).text())
+                                                    self.tag_table_widget.item(count, 1).text(),
+                                                    self.tag_table_widget.item(count, 2).text(),
+                                                    self.tag_table_widget.item(count, 3).text())
             if error:
-                QtGui.QMessageBox.warning(self,
-                    translate('OpenLP.FormattingTagForm', 'Validation Error'), error, QtGui.QMessageBox.Ok)
+                QtGui.QMessageBox.warning(self, translate('OpenLP.FormattingTagForm', 'Validation Error'), error,
+                                          QtGui.QMessageBox.Ok)
                 self.tag_table_widget.selectRow(count)
                 return
             count += 1
@@ -141,7 +143,7 @@
         self.tag_table_widget.setRowCount(0)
         self.new_button.setEnabled(True)
         self.delete_button.setEnabled(False)
-        for linenumber, html in enumerate(FormattingTags.get_html_tags()):
+        for line_number, html in enumerate(FormattingTags.get_html_tags()):
             if html['protected']:
                 line = self.tag_table_widget_read.rowCount()
                 self.tag_table_widget_read.setRowCount(line + 1)
@@ -198,8 +200,8 @@
                 if tag:
                     self.tag_table_widget.setItem(pre_row, 3, QtGui.QTableWidgetItem(tag))
             if errors:
-                QtGui.QMessageBox.warning(self,
-                    translate('OpenLP.FormattingTagForm', 'Validation Error'), errors, QtGui.QMessageBox.Ok)
+                QtGui.QMessageBox.warning(self, translate('OpenLP.FormattingTagForm', 'Validation Error'), errors,
+                                          QtGui.QMessageBox.Ok)
             #self.tag_table_widget.selectRow(pre_row - 1)
             self.tag_table_widget.resizeRowsToContents()
 

=== modified file 'openlp/core/ui/generaltab.py'
--- openlp/core/ui/generaltab.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/generaltab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -221,7 +221,7 @@
         self.check_for_updates_check_box.setText(translate('OpenLP.GeneralTab', 'Check for updates to OpenLP'))
         self.settings_group_box.setTitle(translate('OpenLP.GeneralTab', 'Application Settings'))
         self.save_check_service_check_box.setText(translate('OpenLP.GeneralTab',
-            'Prompt to save before starting a new service'))
+                                                  'Prompt to save before starting a new service'))
         self.auto_unblank_check_box.setText(translate('OpenLP.GeneralTab', 'Unblank display when adding new live item'))
         self.auto_preview_check_box.setText(translate('OpenLP.GeneralTab', 'Automatically preview next item in service'))
         self.timeout_label.setText(translate('OpenLP.GeneralTab', 'Timed slide interval:'))
@@ -248,8 +248,8 @@
         settings.beginGroup(self.settings_section)
         self.monitor_combo_box.clear()
         self.monitor_combo_box.addItems(self.screens.get_screen_list())
-        monitorNumber = settings.value('monitor')
-        self.monitor_combo_box.setCurrentIndex(monitorNumber)
+        monitor_number = settings.value('monitor')
+        self.monitor_combo_box.setCurrentIndex(monitor_number)
         self.number_edit.setText(settings.value('ccli number'))
         self.username_edit.setText(settings.value('songselect username'))
         self.password_edit.setText(settings.value('songselect password'))

=== modified file 'openlp/core/ui/listpreviewwidget.py'
--- openlp/core/ui/listpreviewwidget.py	2013-08-31 18:17:38 +0000
+++ openlp/core/ui/listpreviewwidget.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -75,9 +75,9 @@
                 self.resizeRowsToContents()
             else:
                 # Sort out image heights.
-                for framenumber in range(len(self.service_item.get_frames())):
+                for frame_number in range(len(self.service_item.get_frames())):
                     height = self.viewport().width() // self.screen_ratio
-                    self.setRowHeight(framenumber, height)
+                    self.setRowHeight(frame_number, height)
 
     def screen_size_changed(self, screen_ratio):
         """
@@ -87,7 +87,7 @@
         self.screen_ratio = screen_ratio
         self.__recalculate_layout()
 
-    def replace_service_item(self, service_item, width, slideNumber):
+    def replace_service_item(self, service_item, width, slide_number):
         """
         Replaces the current preview items with the ones in service_item.
         Displays the given slide.
@@ -98,7 +98,7 @@
         self.setColumnWidth(0, width)
         row = 0
         text = []
-        for framenumber, frame in enumerate(self.service_item.get_frames()):
+        for frame_number, frame in enumerate(self.service_item.get_frames()):
             self.setRowCount(self.slide_count() + 1)
             item = QtGui.QTableWidgetItem()
             slide_height = 0
@@ -124,19 +124,19 @@
                 else:
                     image = self.image_manager.get_image(frame['path'], ImageSource.ImagePlugin)
                     label.setPixmap(QtGui.QPixmap.fromImage(image))
-                self.setCellWidget(framenumber, 0, label)
+                self.setCellWidget(frame_number, 0, label)
                 slide_height = width // self.screen_ratio
                 row += 1
             text.append(str(row))
-            self.setItem(framenumber, 0, item)
+            self.setItem(frame_number, 0, item)
             if slide_height:
-                self.setRowHeight(framenumber, slide_height)
+                self.setRowHeight(frame_number, slide_height)
         self.setVerticalHeaderLabels(text)
         if self.service_item.is_text():
             self.resizeRowsToContents()
         self.setColumnWidth(0, self.viewport().width())
         self.setFocus()
-        self.change_slide(slideNumber)
+        self.change_slide(slide_number)
 
     def change_slide(self, slide):
         """

=== modified file 'openlp/core/ui/maindisplay.py'
--- openlp/core/ui/maindisplay.py	2013-10-23 18:49:39 +0000
+++ openlp/core/ui/maindisplay.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -215,7 +215,7 @@
             service_item = ServiceItem()
             service_item.bg_image_bytes = image_to_byte(self.initial_fame)
             self.web_view.setHtml(build_html(service_item, self.screen, self.is_live, None,
-                plugins=self.plugin_manager.plugins))
+                                  plugins=self.plugin_manager.plugins))
             self.__hideMouse()
         log.debug('Finished MainDisplay setup')
 
@@ -283,7 +283,7 @@
         if not hasattr(self, 'service_item'):
             return False
         self.override['image'] = path
-        self.override['theme'] = self.service_item.themedata.background_filename
+        self.override['theme'] = self.service_item.theme_data.background_filename
         self.image(path)
         # Update the preview frame.
         if self.is_live:
@@ -343,7 +343,7 @@
         if self.is_live and hasattr(self, 'service_item'):
             # Wait for the fade to finish before geting the preview.
             # Important otherwise preview will have incorrect text if at all!
-            if self.service_item.themedata and self.service_item.themedata.display_slide_transition:
+            if self.service_item.theme_data and self.service_item.theme_data.display_slide_transition:
                 while not self.frame.evaluateJavaScript('show_text_completed()'):
                     self.application.process_events()
         # Wait for the webview to update before getting the preview.
@@ -383,24 +383,24 @@
                 Registry().execute('video_background_replaced')
                 self.override = {}
             # We have a different theme.
-            elif self.override['theme'] != service_item.themedata.background_filename:
+            elif self.override['theme'] != service_item.theme_data.background_filename:
                 Registry().execute('live_theme_changed')
                 self.override = {}
             else:
                 # replace the background
                 background = self.image_manager.get_image_bytes(self.override['image'], ImageSource.ImagePlugin)
-        self.set_transparency(self.service_item.themedata.background_type ==
-            BackgroundType.to_string(BackgroundType.Transparent))
-        if self.service_item.themedata.background_filename:
+        self.set_transparency(self.service_item.theme_data.background_type ==
+                              BackgroundType.to_string(BackgroundType.Transparent))
+        if self.service_item.theme_data.background_filename:
             self.service_item.bg_image_bytes = self.image_manager.get_image_bytes(
-                self.service_item.themedata.background_filename, ImageSource.Theme
+                self.service_item.theme_data.background_filename, ImageSource.Theme
             )
         if image_path:
             image_bytes = self.image_manager.get_image_bytes(image_path, ImageSource.ImagePlugin)
         else:
             image_bytes = None
         html = build_html(self.service_item, self.screen, self.is_live, background, image_bytes,
-            plugins=self.plugin_manager.plugins)
+                          plugins=self.plugin_manager.plugins)
         log.debug('buildHtml - pre setHtml')
         self.web_view.setHtml(html)
         log.debug('buildHtml - post setHtml')
@@ -535,7 +535,7 @@
         """
         log.debug('AudioPlayer Initialisation started')
         super(AudioPlayer, self).__init__(parent)
-        self.currentIndex = -1
+        self.current_index = -1
         self.playlist = []
         self.repeat = False
         self.media_object = Phonon.MediaObject()
@@ -558,9 +558,9 @@
         Just before the audio player finishes the current track, queue the next
         item in the playlist, if there is one.
         """
-        self.currentIndex += 1
-        if len(self.playlist) > self.currentIndex:
-            self.media_object.enqueue(self.playlist[self.currentIndex])
+        self.current_index += 1
+        if len(self.playlist) > self.current_index:
+            self.media_object.enqueue(self.playlist[self.current_index])
 
     def on_finished(self):
         """
@@ -570,7 +570,7 @@
             log.debug('Repeat is enabled... here we go again!')
             self.media_object.clearQueue()
             self.media_object.clear()
-            self.currentIndex = -1
+            self.current_index = -1
             self.play()
 
     def connectVolumeSlider(self, slider):
@@ -583,7 +583,7 @@
         """
         Reset the audio player, clearing the playlist and the queue.
         """
-        self.currentIndex = -1
+        self.current_index = -1
         self.playlist = []
         self.stop()
         self.media_object.clear()
@@ -593,7 +593,7 @@
         We want to play the file so start it
         """
         log.debug('AudioPlayer.play() called')
-        if self.currentIndex == -1:
+        if self.current_index == -1:
             self.on_about_to_finish()
         self.media_object.play()
 
@@ -611,43 +611,43 @@
         log.debug('AudioPlayer.stop() called')
         self.media_object.stop()
 
-    def add_to_playlist(self, filenames):
+    def add_to_playlist(self, file_names):
         """
         Add another file to the playlist.
 
-        ``filenames``
+        ``file_names``
             A list with files to be added to the playlist.
         """
-        if not isinstance(filenames, list):
-            filenames = [filenames]
-        self.playlist.extend(list(map(Phonon.MediaSource, filenames)))
+        if not isinstance(file_names, list):
+            file_names = [file_names]
+        self.playlist.extend(list(map(Phonon.MediaSource, file_names)))
 
     def next(self):
         """
         Skip forward to the next track in the list
         """
-        if not self.repeat and self.currentIndex + 1 >= len(self.playlist):
+        if not self.repeat and self.current_index + 1 >= len(self.playlist):
             return
-        isPlaying = self.media_object.state() == Phonon.PlayingState
-        self.currentIndex += 1
-        if self.repeat and self.currentIndex == len(self.playlist):
-            self.currentIndex = 0
+        is_playing = self.media_object.state() == Phonon.PlayingState
+        self.current_index += 1
+        if self.repeat and self.current_index == len(self.playlist):
+            self.current_index = 0
         self.media_object.clearQueue()
         self.media_object.clear()
-        self.media_object.enqueue(self.playlist[self.currentIndex])
-        if isPlaying:
+        self.media_object.enqueue(self.playlist[self.current_index])
+        if is_playing:
             self.media_object.play()
 
     def go_to(self, index):
         """
         Go to a particular track in the list
         """
-        isPlaying = self.media_object.state() == Phonon.PlayingState
+        is_playing = self.media_object.state() == Phonon.PlayingState
         self.media_object.clearQueue()
         self.media_object.clear()
-        self.currentIndex = index
-        self.media_object.enqueue(self.playlist[self.currentIndex])
-        if isPlaying:
+        self.current_index = index
+        self.media_object.enqueue(self.playlist[self.current_index])
+        if is_playing:
             self.media_object.play()
 
     def connectSlot(self, signal, slot):

=== modified file 'openlp/core/ui/mainwindow.py'
--- openlp/core/ui/mainwindow.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/mainwindow.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/media/__init__.py'
--- openlp/core/ui/media/__init__.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/media/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/media/mediacontroller.py'
--- openlp/core/ui/media/mediacontroller.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/media/mediacontroller.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/media/mediaplayer.py'
--- openlp/core/ui/media/mediaplayer.py	2013-08-31 18:17:38 +0000
+++ openlp/core/ui/media/mediaplayer.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/media/phononplayer.py'
--- openlp/core/ui/media/phononplayer.py	2013-10-23 18:49:39 +0000
+++ openlp/core/ui/media/phononplayer.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/media/playertab.py'
--- openlp/core/ui/media/playertab.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/media/playertab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Eric Ludin, Edwin Lunando, Brian T. Meyer,    #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/media/vendor/__init__.py'
--- openlp/core/ui/media/vendor/__init__.py	2013-07-18 19:28:35 +0000
+++ openlp/core/ui/media/vendor/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Eric Ludin, Edwin Lunando, Brian T. Meyer,    #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/media/vlcplayer.py'
--- openlp/core/ui/media/vlcplayer.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/media/vlcplayer.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/media/webkitplayer.py'
--- openlp/core/ui/media/webkitplayer.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/media/webkitplayer.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/mediadockmanager.py'
--- openlp/core/ui/mediadockmanager.py	2013-08-31 18:17:38 +0000
+++ openlp/core/ui/mediadockmanager.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/plugindialog.py'
--- openlp/core/ui/plugindialog.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/plugindialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -45,38 +45,38 @@
         """
         pluginViewDialog.setObjectName('pluginViewDialog')
         pluginViewDialog.setWindowModality(QtCore.Qt.ApplicationModal)
-        self.pluginLayout = QtGui.QVBoxLayout(pluginViewDialog)
-        self.pluginLayout.setObjectName('pluginLayout')
-        self.listLayout = QtGui.QHBoxLayout()
-        self.listLayout.setObjectName('listLayout')
-        self.pluginListWidget = QtGui.QListWidget(pluginViewDialog)
-        self.pluginListWidget.setObjectName('pluginListWidget')
-        self.listLayout.addWidget(self.pluginListWidget)
-        self.pluginInfoGroupBox = QtGui.QGroupBox(pluginViewDialog)
-        self.pluginInfoGroupBox.setObjectName('pluginInfoGroupBox')
-        self.pluginInfoLayout = QtGui.QFormLayout(self.pluginInfoGroupBox)
-        self.pluginInfoLayout.setObjectName('pluginInfoLayout')
-        self.statusLabel = QtGui.QLabel(self.pluginInfoGroupBox)
-        self.statusLabel.setObjectName('statusLabel')
-        self.statusComboBox = QtGui.QComboBox(self.pluginInfoGroupBox)
-        self.statusComboBox.addItems(('', ''))
-        self.statusComboBox.setObjectName('statusComboBox')
-        self.pluginInfoLayout.addRow(self.statusLabel, self.statusComboBox)
-        self.versionLabel = QtGui.QLabel(self.pluginInfoGroupBox)
-        self.versionLabel.setObjectName('versionLabel')
-        self.versionNumberLabel = QtGui.QLabel(self.pluginInfoGroupBox)
-        self.versionNumberLabel.setObjectName('versionNumberLabel')
-        self.pluginInfoLayout.addRow(self.versionLabel, self.versionNumberLabel)
-        self.aboutLabel = QtGui.QLabel(self.pluginInfoGroupBox)
-        self.aboutLabel.setObjectName('aboutLabel')
-        self.aboutTextBrowser = QtGui.QTextBrowser(self.pluginInfoGroupBox)
-        self.aboutTextBrowser.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse)
-        self.aboutTextBrowser.setObjectName('aboutTextBrowser')
-        self.pluginInfoLayout.addRow(self.aboutLabel, self.aboutTextBrowser)
-        self.listLayout.addWidget(self.pluginInfoGroupBox)
-        self.pluginLayout.addLayout(self.listLayout)
+        self.plugin_layout = QtGui.QVBoxLayout(pluginViewDialog)
+        self.plugin_layout.setObjectName('plugin_layout')
+        self.list_layout = QtGui.QHBoxLayout()
+        self.list_layout.setObjectName('list_layout')
+        self.plugin_list_widget = QtGui.QListWidget(pluginViewDialog)
+        self.plugin_list_widget.setObjectName('plugin_list_widget')
+        self.list_layout.addWidget(self.plugin_list_widget)
+        self.plugin_info_group_box = QtGui.QGroupBox(pluginViewDialog)
+        self.plugin_info_group_box.setObjectName('plugin_info_group_box')
+        self.plugin_info_layout = QtGui.QFormLayout(self.plugin_info_group_box)
+        self.plugin_info_layout.setObjectName('plugin_info_layout')
+        self.status_label = QtGui.QLabel(self.plugin_info_group_box)
+        self.status_label.setObjectName('status_label')
+        self.status_combo_box = QtGui.QComboBox(self.plugin_info_group_box)
+        self.status_combo_box.addItems(('', ''))
+        self.status_combo_box.setObjectName('status_combo_box')
+        self.plugin_info_layout.addRow(self.status_label, self.status_combo_box)
+        self.version_label = QtGui.QLabel(self.plugin_info_group_box)
+        self.version_label.setObjectName('version_label')
+        self.version_number_label = QtGui.QLabel(self.plugin_info_group_box)
+        self.version_number_label.setObjectName('version_number_label')
+        self.plugin_info_layout.addRow(self.version_label, self.version_number_label)
+        self.about_label = QtGui.QLabel(self.plugin_info_group_box)
+        self.about_label.setObjectName('about_label')
+        self.about_text_browser = QtGui.QTextBrowser(self.plugin_info_group_box)
+        self.about_text_browser.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse)
+        self.about_text_browser.setObjectName('aboutTextBrowser')
+        self.plugin_info_layout.addRow(self.about_label, self.about_text_browser)
+        self.list_layout.addWidget(self.plugin_info_group_box)
+        self.plugin_layout.addLayout(self.list_layout)
         self.button_box = create_button_box(pluginViewDialog, 'button_box', ['ok'])
-        self.pluginLayout.addWidget(self.button_box)
+        self.plugin_layout.addWidget(self.button_box)
         self.retranslateUi(pluginViewDialog)
 
     def retranslateUi(self, pluginViewDialog):
@@ -84,9 +84,9 @@
         Translate the UI on the fly
         """
         pluginViewDialog.setWindowTitle(translate('OpenLP.PluginForm', 'Plugin List'))
-        self.pluginInfoGroupBox.setTitle(translate('OpenLP.PluginForm', 'Plugin Details'))
-        self.versionLabel.setText('%s:' % UiStrings().Version)
-        self.aboutLabel.setText('%s:' % UiStrings().About)
-        self.statusLabel.setText(translate('OpenLP.PluginForm', 'Status:'))
-        self.statusComboBox.setItemText(0, translate('OpenLP.PluginForm', 'Active'))
-        self.statusComboBox.setItemText(1, translate('OpenLP.PluginForm', 'Inactive'))
+        self.plugin_info_group_box.setTitle(translate('OpenLP.PluginForm', 'Plugin Details'))
+        self.version_label.setText('%s:' % UiStrings().Version)
+        self.about_label.setText('%s:' % UiStrings().About)
+        self.status_label.setText(translate('OpenLP.PluginForm', 'Status:'))
+        self.status_combo_box.setItemText(0, translate('OpenLP.PluginForm', 'Active'))
+        self.status_combo_box.setItemText(1, translate('OpenLP.PluginForm', 'Inactive'))

=== modified file 'openlp/core/ui/pluginform.py'
--- openlp/core/ui/pluginform.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/pluginform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -50,26 +50,26 @@
         Constructor
         """
         super(PluginForm, self).__init__(parent)
-        self.activePlugin = None
-        self.programaticChange = False
+        self.active_plugin = None
+        self.programatic_change = False
         self.setupUi(self)
         self.load()
-        self._clearDetails()
+        self._clear_details()
         # Right, now let's put some signals and slots together!
-        self.pluginListWidget.itemSelectionChanged.connect(self.onPluginListWidgetSelectionChanged)
-        self.statusComboBox.currentIndexChanged.connect(self.onStatusComboBoxChanged)
+        self.plugin_list_widget.itemSelectionChanged.connect(self.on_plugin_list_widget_selection_changed)
+        self.status_combo_box.currentIndexChanged.connect(self.on_status_combo_box_changed)
 
     def load(self):
         """
         Load the plugin details into the screen
         """
-        self.pluginListWidget.clear()
-        self.programaticChange = True
-        self._clearDetails()
-        self.programaticChange = True
-        pluginListWidth = 0
+        self.plugin_list_widget.clear()
+        self.programatic_change = True
+        self._clear_details()
+        self.programatic_change = True
+        plugin_list_width = 0
         for plugin in self.plugin_manager.plugins:
-            item = QtGui.QListWidgetItem(self.pluginListWidget)
+            item = QtGui.QListWidgetItem(self.plugin_list_widget)
             # 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)
@@ -85,76 +85,76 @@
             # If the plugin has an icon, set it!
             if plugin.icon:
                 item.setIcon(plugin.icon)
-            self.pluginListWidget.addItem(item)
-            pluginListWidth = max(pluginListWidth, self.fontMetrics().width(
+            self.plugin_list_widget.addItem(item)
+            plugin_list_width = max(plugin_list_width, self.fontMetrics().width(
                 translate('OpenLP.PluginForm', '%s (Inactive)') % plugin.name_strings['singular']))
-        self.pluginListWidget.setFixedWidth(pluginListWidth + self.pluginListWidget.iconSize().width() + 48)
+        self.plugin_list_widget.setFixedWidth(plugin_list_width + self.plugin_list_widget.iconSize().width() + 48)
 
-    def _clearDetails(self):
+    def _clear_details(self):
         """
         Clear the plugin details widgets
         """
-        self.statusComboBox.setCurrentIndex(-1)
-        self.versionNumberLabel.setText('')
-        self.aboutTextBrowser.setHtml('')
-        self.statusComboBox.setEnabled(False)
+        self.status_combo_box.setCurrentIndex(-1)
+        self.version_number_label.setText('')
+        self.about_text_browser.setHtml('')
+        self.status_combo_box.setEnabled(False)
 
-    def _setDetails(self):
+    def _set_details(self):
         """
         Set the details of the currently selected plugin
         """
-        log.debug('PluginStatus: %s', str(self.activePlugin.status))
-        self.versionNumberLabel.setText(self.activePlugin.version)
-        self.aboutTextBrowser.setHtml(self.activePlugin.about())
-        self.programaticChange = True
+        log.debug('PluginStatus: %s', str(self.active_plugin.status))
+        self.version_number_label.setText(self.active_plugin.version)
+        self.about_text_browser.setHtml(self.active_plugin.about())
+        self.programatic_change = True
         status = PluginStatus.Active
-        if self.activePlugin.status == PluginStatus.Active:
+        if self.active_plugin.status == PluginStatus.Active:
             status = PluginStatus.Inactive
-        self.statusComboBox.setCurrentIndex(status)
-        self.statusComboBox.setEnabled(True)
-        self.programaticChange = False
+        self.status_combo_box.setCurrentIndex(status)
+        self.status_combo_box.setEnabled(True)
+        self.programatic_change = False
 
-    def onPluginListWidgetSelectionChanged(self):
+    def on_plugin_list_widget_selection_changed(self):
         """
         If the selected plugin changes, update the form
         """
-        if self.pluginListWidget.currentItem() is None:
-            self._clearDetails()
+        if self.plugin_list_widget.currentItem() is None:
+            self._clear_details()
             return
-        plugin_name_singular = self.pluginListWidget.currentItem().text().split('(')[0][:-1]
-        self.activePlugin = None
+        plugin_name_singular = self.plugin_list_widget.currentItem().text().split('(')[0][:-1]
+        self.active_plugin = None
         for plugin in self.plugin_manager.plugins:
             if plugin.status != PluginStatus.Disabled:
                 if plugin.name_strings['singular'] == plugin_name_singular:
-                    self.activePlugin = plugin
+                    self.active_plugin = plugin
                     break
-        if self.activePlugin:
-            self._setDetails()
+        if self.active_plugin:
+            self._set_details()
         else:
-            self._clearDetails()
+            self._clear_details()
 
-    def onStatusComboBoxChanged(self, status):
+    def on_status_combo_box_changed(self, status):
         """
         If the status of a plugin is altered, apply the change
         """
-        if self.programaticChange or status == PluginStatus.Disabled:
+        if self.programatic_change or status == PluginStatus.Disabled:
             return
         if status == PluginStatus.Inactive:
             self.application.set_busy_cursor()
-            self.activePlugin.toggle_status(PluginStatus.Active)
+            self.active_plugin.toggle_status(PluginStatus.Active)
             self.application.set_normal_cursor()
-            self.activePlugin.app_startup()
+            self.active_plugin.app_startup()
         else:
-            self.activePlugin.toggle_status(PluginStatus.Inactive)
+            self.active_plugin.toggle_status(PluginStatus.Inactive)
         status_text = translate('OpenLP.PluginForm', '%s (Inactive)')
-        if self.activePlugin.status == PluginStatus.Active:
+        if self.active_plugin.status == PluginStatus.Active:
             status_text = translate('OpenLP.PluginForm', '%s (Active)')
-        elif self.activePlugin.status == PluginStatus.Inactive:
+        elif self.active_plugin.status == PluginStatus.Inactive:
             status_text = translate('OpenLP.PluginForm', '%s (Inactive)')
-        elif self.activePlugin.status == PluginStatus.Disabled:
+        elif self.active_plugin.status == PluginStatus.Disabled:
             status_text = translate('OpenLP.PluginForm', '%s (Disabled)')
-        self.pluginListWidget.currentItem().setText(
-            status_text % self.activePlugin.name_strings['singular'])
+        self.plugin_list_widget.currentItem().setText(
+            status_text % self.active_plugin.name_strings['singular'])
 
     def _get_plugin_manager(self):
         """

=== modified file 'openlp/core/ui/printservicedialog.py'
--- openlp/core/ui/printservicedialog.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/printservicedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -65,7 +65,7 @@
         self.toolbar.setIconSize(QtCore.QSize(22, 22))
         self.toolbar.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
         self.print_button = self.toolbar.addAction(build_icon(':/general/general_print.png'),
-            translate('OpenLP.PrintServiceForm', 'Print'))
+                                                   translate('OpenLP.PrintServiceForm', 'Print'))
         self.options_button = QtGui.QToolButton(self.toolbar)
         self.options_button.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
         self.options_button.setIcon(build_icon(':/system/system_configure.png'))
@@ -73,9 +73,9 @@
         self.toolbar.addWidget(self.options_button)
         self.toolbar.addSeparator()
         self.plain_copy = self.toolbar.addAction(build_icon(':/system/system_edit_copy.png'),
-            translate('OpenLP.PrintServiceForm', 'Copy'))
+                                                 translate('OpenLP.PrintServiceForm', 'Copy'))
         self.html_copy = self.toolbar.addAction(build_icon(':/system/system_edit_copy.png'),
-            translate('OpenLP.PrintServiceForm', 'Copy as HTML'))
+                                                translate('OpenLP.PrintServiceForm', 'Copy as HTML'))
         self.toolbar.addSeparator()
         self.zoom_in_button = QtGui.QToolButton(self.toolbar)
         self.zoom_in_button.setIcon(build_icon(':/general/general_zoom_in.png'))

=== modified file 'openlp/core/ui/printserviceform.py'
--- openlp/core/ui/printserviceform.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/printserviceform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -29,7 +29,6 @@
 """
 The actual print service dialog
 """
-import cgi
 import datetime
 import os
 
@@ -175,7 +174,7 @@
             custom_css = DEFAULT_CSS
         self._add_element('style', custom_css, html_data.head, attribute=('type', 'text/css'))
         self._add_element('body', parent=html_data)
-        self._add_element('h1', cgi.escape(self.title_line_edit.text()), html_data.body, classId='serviceTitle')
+        self._add_element('h1', html.escape(self.title_line_edit.text()), html_data.body, classId='serviceTitle')
         for index, item in enumerate(self.service_manager.service_items):
             self._add_preview_item(html_data.body, item['service_item'], index)
         # Add the custom service notes:
@@ -183,7 +182,7 @@
             div = self._add_element('div', parent=html_data.body, classId='customNotes')
             self._add_element(
                 'span', translate('OpenLP.ServiceManager', 'Custom Service Notes: '), div, classId='customNotesTitle')
-            self._add_element('span', cgi.escape(self.footer_text_edit.toPlainText()), div, classId='customNotesText')
+            self._add_element('span', html.escape(self.footer_text_edit.toPlainText()), div, classId='customNotesText')
         self.document.setHtml(html.tostring(html_data).decode())
         self.preview_widget.updatePreview()
 
@@ -195,7 +194,7 @@
         # Add the title of the service item.
         item_title = self._add_element('h2', parent=div, classId='itemTitle')
         self._add_element('img', parent=item_title, attribute=('src', item.icon))
-        self._add_element('span', '&nbsp;' + cgi.escape(item.get_display_title()), item_title)
+        self._add_element('span', '&nbsp;' + html.escape(item.get_display_title()), item_title)
         if self.slide_text_check_box.isChecked():
             # Add the text of the service item.
             if item.is_text():
@@ -219,14 +218,14 @@
             foot_text = item.foot_text
             foot_text = foot_text.partition('<br>')[2]
             if foot_text:
-                foot_text = cgi.escape(foot_text.replace('<br>', '\n'))
+                foot_text = html.escape(foot_text.replace('<br>', '\n'))
                 self._add_element('div', foot_text.replace('\n', '<br>'), parent=div, classId='itemFooter')
         # Add service items' notes.
         if self.notes_check_box.isChecked():
             if item.notes:
                 p = self._add_element('div', classId='itemNotes', parent=div)
                 self._add_element('span', translate('OpenLP.ServiceManager', 'Notes: '), p, classId='itemNotesTitle')
-                self._add_element('span', cgi.escape(item.notes).replace('\n', '<br>'), p, classId='itemNotesText')
+                self._add_element('span', html.escape(item.notes).replace('\n', '<br>'), p, classId='itemNotesText')
         # Add play length of media files.
         if item.is_media() and self.meta_data_check_box.isChecked():
             tme = item.media_length

=== modified file 'openlp/core/ui/serviceitemeditdialog.py'
--- openlp/core/ui/serviceitemeditdialog.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/serviceitemeditdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -55,13 +55,13 @@
         self.button_layout = QtGui.QVBoxLayout()
         self.button_layout.setObjectName('button_layout')
         self.delete_button = create_button(serviceItemEditDialog, 'deleteButton', role='delete',
-            click=serviceItemEditDialog.on_delete_button_clicked)
+                                           click=serviceItemEditDialog.on_delete_button_clicked)
         self.button_layout.addWidget(self.delete_button)
         self.button_layout.addStretch()
         self.up_button = create_button(serviceItemEditDialog, 'up_button', role='up',
-            click=serviceItemEditDialog.on_up_button_clicked)
+                                       click=serviceItemEditDialog.on_up_button_clicked)
         self.down_button = create_button(serviceItemEditDialog, 'down_button', role='down',
-            click=serviceItemEditDialog.on_down_button_clicked)
+                                         click=serviceItemEditDialog.on_down_button_clicked)
         self.button_layout.addWidget(self.up_button)
         self.button_layout.addWidget(self.down_button)
         self.dialog_layout.addLayout(self.button_layout, 0, 1)

=== modified file 'openlp/core/ui/serviceitemeditform.py'
--- openlp/core/ui/serviceitemeditform.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/serviceitemeditform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/servicemanager.py'
--- openlp/core/ui/servicemanager.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/servicemanager.py	2013-12-26 09:01:49 +0000
@@ -29,7 +29,7 @@
 """
 The service manager sets up, loads, saves and manages services.
 """
-import cgi
+import html
 import logging
 import os
 import shutil
@@ -55,12 +55,12 @@
     """
     Set up key bindings and mouse behaviour for the service list
     """
-    def __init__(self, serviceManager, parent=None):
+    def __init__(self, service_manager, parent=None):
         """
         Constructor
         """
         super(ServiceManagerList, self).__init__(parent)
-        self.serviceManager = serviceManager
+        self.service_manager = service_manager
 
     def keyPressEvent(self, event):
         """
@@ -69,13 +69,13 @@
         if isinstance(event, QtGui.QKeyEvent):
             # here accept the event and do something
             if event.key() == QtCore.Qt.Key_Up:
-                self.serviceManager.on_move_selection_up()
+                self.service_manager.on_move_selection_up()
                 event.accept()
             elif event.key() == QtCore.Qt.Key_Down:
-                self.serviceManager.on_move_selection_down()
+                self.service_manager.on_move_selection_down()
                 event.accept()
             elif event.key() == QtCore.Qt.Key_Delete:
-                self.serviceManager.onDeleteFromService()
+                self.service_manager.onDeleteFromService()
                 event.accept()
             event.ignore()
         else:
@@ -110,14 +110,15 @@
         # Create the top toolbar
         self.toolbar = OpenLPToolbar(self)
         self.toolbar.add_toolbar_action('newService', text=UiStrings().NewService, icon=':/general/general_new.png',
-            tooltip=UiStrings().CreateService, triggers=self.on_new_service_clicked)
+                                        tooltip=UiStrings().CreateService, triggers=self.on_new_service_clicked)
         self.toolbar.add_toolbar_action('openService', text=UiStrings().OpenService,
-            icon=':/general/general_open.png',
-            tooltip=translate('OpenLP.ServiceManager', 'Load an existing service.'),
-            triggers=self.on_load_service_clicked)
+                                        icon=':/general/general_open.png',
+                                        tooltip=translate('OpenLP.ServiceManager', 'Load an existing service.'),
+                                        triggers=self.on_load_service_clicked)
         self.toolbar.add_toolbar_action('saveService', text=UiStrings().SaveService,
-            icon=':/general/general_save.png',
-            tooltip=translate('OpenLP.ServiceManager', 'Save this service.'), triggers=self.decide_save_method)
+                                        icon=':/general/general_save.png',
+                                        tooltip=translate('OpenLP.ServiceManager', 'Save this service.'),
+                                        triggers=self.decide_save_method)
         self.toolbar.addSeparator()
         self.theme_label = QtGui.QLabel('%s:' % UiStrings().Theme, self)
         self.theme_label.setMargin(3)
@@ -153,19 +154,19 @@
         self.order_toolbar = OpenLPToolbar(self)
         action_list = ActionList.get_instance()
         action_list.add_category(UiStrings().Service, CategoryOrder.standard_toolbar)
-        self.service_manager_list.moveTop = self.order_toolbar.add_toolbar_action('moveTop',
+        self.service_manager_list.move_top = self.order_toolbar.add_toolbar_action('moveTop',
             text=translate('OpenLP.ServiceManager', 'Move to &top'), icon=':/services/service_top.png',
             tooltip=translate('OpenLP.ServiceManager', 'Move item to the top of the service.'),
             can_shortcuts=True, category=UiStrings().Service, triggers=self.onServiceTop)
-        self.service_manager_list.moveUp = self.order_toolbar.add_toolbar_action('moveUp',
+        self.service_manager_list.move_up = self.order_toolbar.add_toolbar_action('moveUp',
             text=translate('OpenLP.ServiceManager', 'Move &up'), icon=':/services/service_up.png',
             tooltip=translate('OpenLP.ServiceManager', 'Move item up one position in the service.'),
             can_shortcuts=True, category=UiStrings().Service, triggers=self.onServiceUp)
-        self.service_manager_list.moveDown = self.order_toolbar.add_toolbar_action('moveDown',
+        self.service_manager_list.move_down = self.order_toolbar.add_toolbar_action('moveDown',
             text=translate('OpenLP.ServiceManager', 'Move &down'), icon=':/services/service_down.png',
             tooltip=translate('OpenLP.ServiceManager', 'Move item down one position in the service.'),
             can_shortcuts=True, category=UiStrings().Service, triggers=self.onServiceDown)
-        self.service_manager_list.moveBottom = self.order_toolbar.add_toolbar_action('moveBottom',
+        self.service_manager_list.move_bottom = self.order_toolbar.add_toolbar_action('moveBottom',
             text=translate('OpenLP.ServiceManager', 'Move to &bottom'), icon=':/services/service_bottom.png',
             tooltip=translate('OpenLP.ServiceManager', 'Move item to the end of the service.'),
             can_shortcuts=True, category=UiStrings().Service, triggers=self.onServiceEnd)
@@ -188,11 +189,11 @@
         self.service_manager_list.expand = self.order_toolbar.add_toolbar_action('expand', can_shortcuts=True,
             text=translate('OpenLP.ServiceManager', '&Expand all'), icon=':/services/service_expand_all.png',
             tooltip=translate('OpenLP.ServiceManager', 'Expand all the service items.'),
-            category=UiStrings().Service, triggers=self.onExpandAll)
+            category=UiStrings().Service, triggers=self.on_expand_all)
         self.service_manager_list.collapse = self.order_toolbar.add_toolbar_action('collapse', can_shortcuts=True,
             text=translate('OpenLP.ServiceManager', '&Collapse all'), icon=':/services/service_collapse_all.png',
             tooltip=translate('OpenLP.ServiceManager', 'Collapse all the service items.'),
-            category=UiStrings().Service, triggers=self.onCollapseAll)
+            category=UiStrings().Service, triggers=self.on_collapse_all)
         self.order_toolbar.addSeparator()
         self.service_manager_list.make_live = self.order_toolbar.add_toolbar_action('make_live', can_shortcuts=True,
             text=translate('OpenLP.ServiceManager', 'Go Live'), icon=':/general/general_live.png',
@@ -207,30 +208,35 @@
         self.service_manager_list.itemExpanded.connect(self.expanded)
         # Last little bits of setting up
         self.service_theme = Settings().value(self.main_window.service_manager_settings_section + '/service theme')
-        self.servicePath = AppLocation.get_section_data_path('servicemanager')
+        self.service_path = AppLocation.get_section_data_path('servicemanager')
         # build the drag and drop context menu
-        self.dndMenu = QtGui.QMenu()
-        self.newAction = self.dndMenu.addAction(translate('OpenLP.ServiceManager', '&Add New Item'))
-        self.newAction.setIcon(build_icon(':/general/general_edit.png'))
-        self.addToAction = self.dndMenu.addAction(translate('OpenLP.ServiceManager', '&Add to Selected Item'))
-        self.addToAction.setIcon(build_icon(':/general/general_edit.png'))
+        self.dnd_menu = QtGui.QMenu()
+        self.new_action = self.dnd_menu.addAction(translate('OpenLP.ServiceManager', '&Add New Item'))
+        self.new_action.setIcon(build_icon(':/general/general_edit.png'))
+        self.add_to_action = self.dnd_menu.addAction(translate('OpenLP.ServiceManager', '&Add to Selected Item'))
+        self.add_to_action.setIcon(build_icon(':/general/general_edit.png'))
         # build the context menu
         self.menu = QtGui.QMenu()
         self.edit_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Edit Item'),
-            icon=':/general/general_edit.png', triggers=self.remote_edit)
+                                                icon=':/general/general_edit.png', triggers=self.remote_edit)
         self.maintain_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Reorder Item'),
-            icon=':/general/general_edit.png', triggers=self.on_service_item_edit_form)
+                                                    icon=':/general/general_edit.png',
+                                                    triggers=self.on_service_item_edit_form)
         self.notes_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Notes'),
-            icon=':/services/service_notes.png', triggers=self.on_service_item_note_form)
+                                                 icon=':/services/service_notes.png',
+                                                 triggers=self.on_service_item_note_form)
         self.time_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', '&Start Time'),
-            icon=':/media/media_time.png', triggers=self.on_start_time_form)
+                                                icon=':/media/media_time.png', triggers=self.on_start_time_form)
         self.auto_start_action = create_widget_action(self.menu, text='',
-            icon=':/media/auto-start_active.png', triggers=self.on_auto_start)
+                                                      icon=':/media/auto-start_active.png',
+                                                      triggers=self.on_auto_start)
         # Add already existing delete action to the menu.
         self.menu.addAction(self.service_manager_list.delete)
         self.create_custom_action = create_widget_action(self.menu,
-            text=translate('OpenLP.ServiceManager', 'Create New &Custom Slide'),
-            icon=':/general/general_edit.png', triggers=self.create_custom)
+                                                         text=translate('OpenLP.ServiceManager', 'Create New &Custom '
+                                                                                                 'Slide'),
+                                                         icon=':/general/general_edit.png',
+                                                         triggers=self.create_custom)
         self.menu.addSeparator()
         # Add AutoPlay menu actions
         self.auto_play_slides_menu = QtGui.QMenu(translate('OpenLP.ServiceManager', '&Auto play slides'))
@@ -238,38 +244,41 @@
         auto_play_slides_group = QtGui.QActionGroup(self.auto_play_slides_menu)
         auto_play_slides_group.setExclusive(True)
         self.auto_play_slides_loop = create_widget_action(self.auto_play_slides_menu,
-            text=translate('OpenLP.ServiceManager', 'Auto play slides &Loop'),
-            checked=False, triggers=self.toggle_auto_play_slides_loop)
+                                                          text=translate('OpenLP.ServiceManager', 'Auto play slides '
+                                                                                                  '&Loop'),
+                                                          checked=False, triggers=self.toggle_auto_play_slides_loop)
         auto_play_slides_group.addAction(self.auto_play_slides_loop)
         self.auto_play_slides_once = create_widget_action(self.auto_play_slides_menu,
-            text=translate('OpenLP.ServiceManager', 'Auto play slides &Once'),
-            checked=False, triggers=self.toggle_auto_play_slides_once)
+                                                          text=translate('OpenLP.ServiceManager', 'Auto play slides '
+                                                                                                  '&Once'),
+                                                          checked=False, triggers=self.toggle_auto_play_slides_once)
         auto_play_slides_group.addAction(self.auto_play_slides_once)
         self.auto_play_slides_menu.addSeparator()
         self.timed_slide_interval = create_widget_action(self.auto_play_slides_menu,
-            text=translate('OpenLP.ServiceManager', '&Delay between slides'),
-            triggers=self.on_timed_slide_interval)
+                                                         text=translate('OpenLP.ServiceManager', '&Delay between '
+                                                                                                 'slides'),
+                                                         triggers=self.on_timed_slide_interval)
         self.menu.addSeparator()
         self.preview_action = create_widget_action(self.menu, text=translate('OpenLP.ServiceManager', 'Show &Preview'),
-            icon=':/general/general_preview.png', triggers=self.make_preview)
+                                                   icon=':/general/general_preview.png', triggers=self.make_preview)
         # Add already existing make live action to the menu.
         self.menu.addAction(self.service_manager_list.make_live)
         self.menu.addSeparator()
         self.theme_menu = QtGui.QMenu(translate('OpenLP.ServiceManager', '&Change Item Theme'))
         self.menu.addMenu(self.theme_menu)
         self.service_manager_list.addActions(
-            [self.service_manager_list.moveDown,
-             self.service_manager_list.moveUp,
+            [self.service_manager_list.move_down,
+             self.service_manager_list.move_up,
              self.service_manager_list.make_live,
-             self.service_manager_list.moveTop,
-             self.service_manager_list.moveBottom,
+             self.service_manager_list.move_top,
+             self.service_manager_list.move_bottom,
              self.service_manager_list.up,
              self.service_manager_list.down,
              self.service_manager_list.expand,
              self.service_manager_list.collapse
             ])
         Registry().register_function('theme_update_list', self.update_theme_list)
-        Registry().register_function('config_screen_changed', self.regenerate_service_Items)
+        Registry().register_function('config_screen_changed', self.regenerate_service_items)
         Registry().register_function('theme_update_global', self.theme_change)
         Registry().register_function('mediaitem_suffix_reset', self.reset_supported_suffixes)
 
@@ -408,7 +417,7 @@
         else:
             file_name = load_file
         Settings().setValue(self.main_window.service_manager_settings_section + '/last directory',
-            split_filename(file_name)[0])
+                            split_filename(file_name)[0])
         self.load_file(file_name)
 
     def save_modified_service(self):
@@ -416,10 +425,12 @@
         Check to see if a service needs to be saved.
         """
         return QtGui.QMessageBox.question(self.main_window,
-            translate('OpenLP.ServiceManager', 'Modified Service'),
-            translate('OpenLP.ServiceManager',
-                'The current service has been modified. Would you like to save this service?'),
-            QtGui.QMessageBox.Save | QtGui.QMessageBox.Discard | QtGui.QMessageBox.Cancel, QtGui.QMessageBox.Save)
+                                          translate('OpenLP.ServiceManager', 'Modified Service'),
+                                          translate('OpenLP.ServiceManager',
+                                                    'The current service has been modified. Would you like to save '
+                                                    'this service?'),
+                                          QtGui.QMessageBox.Save | QtGui.QMessageBox.Discard |
+                                          QtGui.QMessageBox.Cancel, QtGui.QMessageBox.Save)
 
     def on_recent_service_clicked(self):
         """
@@ -484,10 +495,11 @@
             self.application.set_normal_cursor()
             title = translate('OpenLP.ServiceManager', 'Service File(s) Missing')
             message = translate('OpenLP.ServiceManager',
-                'The following file(s) in the service are missing:\n\t%s\n\n'
-                'These files will be removed if you continue to save.') % "\n\t".join(missing_list)
+                                'The following file(s) in the service are missing:\n\t%s\n\n'
+                                'These files will be removed if you continue to save.') % "\n\t".join(missing_list)
             answer = QtGui.QMessageBox.critical(self, title, message,
-                QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel))
+                                                QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok |
+                                                                                  QtGui.QMessageBox.Cancel))
             if answer == QtGui.QMessageBox.Cancel:
                 self.main_window.finished_progress_bar()
                 return False
@@ -505,7 +517,7 @@
                         audio_files.append((file_name, new_file))
                         service_item['header']['background_audio'][i] = new_file
                 # Add the service item to the service.
-                service.append({'serviceitem': service_item})
+                service.append({'service_item_from_item': service_item})
         self.repaint_service_list(-1, -1)
         for file_item in write_list:
             file_size = os.path.getsize(file_item)
@@ -529,8 +541,8 @@
                 if audio_from.startswith('audio'):
                     # When items are saved, they get new unique_identifier. Let's copy the file to the new location.
                     # Unused files can be ignored, OpenLP automatically cleans up the service manager dir on exit.
-                    audio_from = os.path.join(self.servicePath, audio_from)
-                save_file = os.path.join(self.servicePath, audio_to)
+                    audio_from = os.path.join(self.service_path, audio_from)
+                save_file = os.path.join(self.service_path, audio_to)
                 save_path = os.path.split(save_file)[0]
                 check_directory_exists(save_path)
                 if not os.path.exists(save_file):
@@ -539,8 +551,7 @@
         except IOError:
             log.exception('Failed to save service to disk: %s', temp_file_name)
             self.main_window.error_message(translate('OpenLP.ServiceManager', 'Error Saving File'),
-                translate('OpenLP.ServiceManager', 'There was an error saving your file.')
-            )
+                                           translate('OpenLP.ServiceManager', 'There was an error saving your file.'))
             success = False
         finally:
             if zip_file:
@@ -582,22 +593,20 @@
             self.main_window.increment_progress_bar()
             service_item = item['service_item'].get_service_repr(self._save_lite)
             #TODO: check for file item on save.
-            service.append({'serviceitem': service_item})
+            service.append({'service_item_from_item': service_item})
             self.main_window.increment_progress_bar()
         service_content = json.dumps(service)
         zip_file = None
         success = True
         self.main_window.increment_progress_bar()
         try:
-            zip_file = zipfile.ZipFile(temp_file_name, 'w', zipfile.ZIP_STORED,
-                True)
+            zip_file = zipfile.ZipFile(temp_file_name, 'w', zipfile.ZIP_STORED, True)
             # First we add service contents.
             zip_file.writestr(service_file_name, service_content)
         except IOError:
             log.exception('Failed to save service to disk: %s', temp_file_name)
             self.main_window.error_message(translate('OpenLP.ServiceManager', 'Error Saving File'),
-                translate('OpenLP.ServiceManager', 'There was an error saving your file.')
-            )
+                                           translate('OpenLP.ServiceManager', 'There was an error saving your file.'))
             success = False
         finally:
             if zip_file:
@@ -642,11 +651,13 @@
         # the long term.
         if self._file_name.endswith('oszl') or self.service_has_all_original_files:
             file_name = QtGui.QFileDialog.getSaveFileName(self.main_window, UiStrings().SaveService, path,
-                translate('OpenLP.ServiceManager',
-                    'OpenLP Service Files (*.osz);; OpenLP Service Files - lite (*.oszl)'))
+                                                          translate('OpenLP.ServiceManager',
+                                                          'OpenLP Service Files (*.osz);; OpenLP Service Files - lite '
+                                                          '(*.oszl)'))
         else:
             file_name = QtGui.QFileDialog.getSaveFileName(self.main_window, UiStrings().SaveService, path,
-                translate('OpenLP.ServiceManager', 'OpenLP Service Files (*.osz);;'))
+                                                          translate('OpenLP.ServiceManager', 'OpenLP Service Files (*'
+                                                                                             '.osz);;'))
         if not file_name:
             return False
         if os.path.splitext(file_name)[1] == '':
@@ -688,24 +699,24 @@
                 except UnicodeDecodeError:
                     log.exception('file_name "%s" is not valid UTF-8' % zip_info.file_name)
                     critical_error_message_box(message=translate('OpenLP.ServiceManager',
-                        'File is not a valid service.\n The content encoding is not UTF-8.'))
+                                               'File is not a valid service.\n The content encoding is not UTF-8.'))
                     continue
-                osfile = ucs_file.replace('/', os.path.sep)
-                if not osfile.startswith('audio'):
-                    osfile = os.path.split(osfile)[1]
-                log.debug('Extract file: %s', osfile)
-                zip_info.filename = osfile
-                zip_file.extract(zip_info, self.servicePath)
-                if osfile.endswith('osj') or osfile.endswith('osd'):
-                    p_file = os.path.join(self.servicePath, osfile)
+                os_file = ucs_file.replace('/', os.path.sep)
+                if not os_file.startswith('audio'):
+                    os_file = os.path.split(os_file)[1]
+                log.debug('Extract file: %s', os_file)
+                zip_info.filename = os_file
+                zip_file.extract(zip_info, self.service_path)
+                if os_file.endswith('osj') or os_file.endswith('osd'):
+                    p_file = os.path.join(self.service_path, os_file)
             if 'p_file' in locals():
                 file_to = open(p_file, 'r')
                 if p_file.endswith('osj'):
                     items = json.load(file_to)
                 else:
                     critical_error_message_box(message=translate('OpenLP.ServiceManager',
-                        'The service file you are trying to open is in an old format.\n '
-                        'Please save it using OpenLP 2.0.2 or greater.'))
+                                               'The service file you are trying to open is in an old format.\n '
+                                               'Please save it using OpenLP 2.0.2 or greater.'))
                     return
                 file_to.close()
                 self.new_file()
@@ -717,7 +728,7 @@
                     if self._save_lite:
                         service_item.set_from_service(item)
                     else:
-                        service_item.set_from_service(item, self.servicePath)
+                        service_item.set_from_service(item, self.service_path)
                     service_item.validate_item(self.suffixes)
                     if service_item.is_capable(ItemCapabilities.OnLoadUpdate):
                         new_item = Registry().get(service_item.name).service_load(service_item)
@@ -734,18 +745,18 @@
         except (IOError, NameError, zipfile.BadZipfile):
             log.exception('Problem loading service file %s' % file_name)
             critical_error_message_box(message=translate('OpenLP.ServiceManager',
-                'File could not be opened because it is corrupt.'))
+                                       'File could not be opened because it is corrupt.'))
         except zipfile.BadZipfile:
             if os.path.getsize(file_name) == 0:
                 log.exception('Service file is zero sized: %s' % file_name)
                 QtGui.QMessageBox.information(self, translate('OpenLP.ServiceManager', 'Empty File'),
-                    translate('OpenLP.ServiceManager', 'This service file does not contain any data.'))
+                                              translate('OpenLP.ServiceManager', 'This service file does not contain '
+                                                                                 'any data.'))
             else:
-                log.exception('Service file is cannot be extracted as zip: '
-                    '%s' % file_name)
+                log.exception('Service file is cannot be extracted as zip: %s' % file_name)
                 QtGui.QMessageBox.information(self, translate('OpenLP.ServiceManager', 'Corrupt File'),
-                    translate('OpenLP.ServiceManager',
-                        'This file is either corrupt or it is not an OpenLP 2 service file.'))
+                                              translate('OpenLP.ServiceManager',
+                                              'This file is either corrupt or it is not an OpenLP 2 service file.'))
             self.application.set_normal_cursor()
             return
         finally:
@@ -757,7 +768,7 @@
         self.application.set_normal_cursor()
         self.repaint_service_list(-1, -1)
 
-    def load_Last_file(self):
+    def load_last_file(self):
         """
         Load the last service item from the service manager when the service was last closed. Can be blank if there was
         no service present.
@@ -893,8 +904,10 @@
         else:
             timed_slide_interval = service_item.timed_slide_interval
         timed_slide_interval, ok = QtGui.QInputDialog.getInteger(self, translate('OpenLP.ServiceManager',
-            'Input delay'), translate('OpenLP.ServiceManager', 'Delay between slides in seconds.'),
-            timed_slide_interval, 0, 180, 1)
+                                                                 'Input delay'),
+                                                                 translate('OpenLP.ServiceManager',
+                                                                           'Delay between slides in seconds.'),
+                                                                 timed_slide_interval, 0, 180, 1)
         if ok:
             service_item.timed_slide_interval = timed_slide_interval
         if service_item.timed_slide_interval != 0 and not service_item.auto_play_slides_loop \
@@ -921,7 +934,7 @@
         self.service_item_edit_form.set_service_item(self.service_items[item]['service_item'])
         if self.service_item_edit_form.exec_():
             self.add_service_item(self.service_item_edit_form.get_service_item(),
-                replace=True, expand=self.service_items[item]['expanded'])
+                                  replace=True, expand=self.service_items[item]['expanded'])
 
     def preview_live(self, unique_identifier, row):
         """
@@ -945,19 +958,19 @@
         """
         Called by the SlideController to select the next service item.
         """
-        if not self.service_manager_list.selectedItems():
+        if not self.service_manager_list.selected_items():
             return
-        selected = self.service_manager_list.selectedItems()[0]
-        lookFor = 0
-        serviceIterator = QtGui.QTreeWidgetItemIterator(self.service_manager_list)
-        while serviceIterator.value():
-            if lookFor == 1 and serviceIterator.value().parent() is None:
-                self.service_manager_list.setCurrentItem(serviceIterator.value())
+        selected = self.service_manager_list.selected_items()[0]
+        look_for = 0
+        service_iterator = QtGui.QTreeWidgetItemIterator(self.service_manager_list)
+        while service_iterator.value():
+            if look_for == 1 and service_iterator.value().parent() is None:
+                self.service_manager_list.setCurrentItem(service_iterator.value())
                 self.make_live()
                 return
-            if serviceIterator.value() == selected:
-                lookFor = 1
-            serviceIterator += 1
+            if service_iterator.value() == selected:
+                look_for = 1
+            service_iterator += 1
 
     def previous_item(self, last_slide=False):
         """
@@ -967,31 +980,31 @@
             Is this the last slide in the service_item
 
         """
-        if not self.service_manager_list.selectedItems():
+        if not self.service_manager_list.selected_items():
             return
-        selected = self.service_manager_list.selectedItems()[0]
-        prevItem = None
-        prevItemLastSlide = None
-        serviceIterator = QtGui.QTreeWidgetItemIterator(self.service_manager_list)
-        while serviceIterator.value():
-            if serviceIterator.value() == selected:
-                if last_slide and prevItemLastSlide:
-                    pos = prevItem.data(0, QtCore.Qt.UserRole)
+        selected = self.service_manager_list.selected_items()[0]
+        prev_item = None
+        prev_item_last_slide = None
+        service_iterator = QtGui.QTreeWidgetItemIterator(self.service_manager_list)
+        while service_iterator.value():
+            if service_iterator.value() == selected:
+                if last_slide and prev_item_last_slide:
+                    pos = prev_item.data(0, QtCore.Qt.UserRole)
                     check_expanded = self.service_items[pos - 1]['expanded']
-                    self.service_manager_list.setCurrentItem(prevItemLastSlide)
+                    self.service_manager_list.setCurrentItem(prev_item_last_slide)
                     if not check_expanded:
-                        self.service_manager_list.collapseItem(prevItem)
+                        self.service_manager_list.collapseItem(prev_item)
                     self.make_live()
-                    self.service_manager_list.setCurrentItem(prevItem)
-                elif prevItem:
-                    self.service_manager_list.setCurrentItem(prevItem)
+                    self.service_manager_list.setCurrentItem(prev_item)
+                elif prev_item:
+                    self.service_manager_list.setCurrentItem(prev_item)
                     self.make_live()
                 return
-            if serviceIterator.value().parent() is None:
-                prevItem = serviceIterator.value()
-            if serviceIterator.value().parent() is prevItem:
-                prevItemLastSlide = serviceIterator.value()
-            serviceIterator += 1
+            if service_iterator.value().parent() is None:
+                prev_item = service_iterator.value()
+            if service_iterator.value().parent() is prev_item:
+                prev_item_last_slide = service_iterator.value()
+            service_iterator += 1
 
     def on_set_item(self, message):
         """
@@ -1013,22 +1026,22 @@
         Moves the cursor selection up the window. Called by the up arrow.
         """
         item = self.service_manager_list.currentItem()
-        itemBefore = self.service_manager_list.itemAbove(item)
-        if itemBefore is None:
+        item_before = self.service_manager_list.item_above(item)
+        if item_before is None:
             return
-        self.service_manager_list.setCurrentItem(itemBefore)
+        self.service_manager_list.setCurrentItem(item_before)
 
     def on_move_selection_down(self):
         """
         Moves the cursor selection down the window. Called by the down arrow.
         """
         item = self.service_manager_list.currentItem()
-        itemAfter = self.service_manager_list.itemBelow(item)
-        if itemAfter is None:
+        item_after = self.service_manager_list.itemBelow(item)
+        if item_after is None:
             return
-        self.service_manager_list.setCurrentItem(itemAfter)
+        self.service_manager_list.setCurrentItem(item_after)
 
-    def onCollapseAll(self):
+    def on_collapse_all(self):
         """
         Collapse all the service items.
         """
@@ -1043,7 +1056,7 @@
         pos = item.data(0, QtCore.Qt.UserRole)
         self.service_items[pos - 1]['expanded'] = False
 
-    def onExpandAll(self):
+    def on_expand_all(self):
         """
         Collapse all the service items.
         """
@@ -1139,51 +1152,51 @@
         self.service_manager_list.clear()
         self.service_manager_list.clearSelection()
         for item_count, item in enumerate(self.service_items):
-            serviceitem = item['service_item']
-            treewidgetitem = QtGui.QTreeWidgetItem(self.service_manager_list)
-            if serviceitem.is_valid:
-                if serviceitem.notes:
-                    icon = QtGui.QImage(serviceitem.icon)
+            service_item_from_item = item['service_item']
+            tree_widget_item = QtGui.QTreeWidgetItem(self.service_manager_list)
+            if service_item_from_item.is_valid:
+                if service_item_from_item.notes:
+                    icon = QtGui.QImage(service_item_from_item.icon)
                     icon = icon.scaled(80, 80, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
                     overlay = QtGui.QImage(':/services/service_item_notes.png')
                     overlay = overlay.scaled(80, 80, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
                     painter = QtGui.QPainter(icon)
                     painter.drawImage(0, 0, overlay)
                     painter.end()
-                    treewidgetitem.setIcon(0, build_icon(icon))
-                elif serviceitem.temporary_edit:
-                    icon = QtGui.QImage(serviceitem.icon)
+                    tree_widget_item.setIcon(0, build_icon(icon))
+                elif service_item_from_item.temporary_edit:
+                    icon = QtGui.QImage(service_item_from_item.icon)
                     icon = icon.scaled(80, 80, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
                     overlay = QtGui.QImage(':/general/general_export.png')
                     overlay = overlay.scaled(40, 40, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
                     painter = QtGui.QPainter(icon)
                     painter.drawImage(40, 0, overlay)
                     painter.end()
-                    treewidgetitem.setIcon(0, build_icon(icon))
+                    tree_widget_item.setIcon(0, build_icon(icon))
                 else:
-                    treewidgetitem.setIcon(0, serviceitem.iconic_representation)
+                    tree_widget_item.setIcon(0, service_item_from_item.iconic_representation)
             else:
-                treewidgetitem.setIcon(0, build_icon(':/general/general_delete.png'))
-            treewidgetitem.setText(0, serviceitem.get_display_title())
+                tree_widget_item.setIcon(0, build_icon(':/general/general_delete.png'))
+            tree_widget_item.setText(0, service_item_from_item.get_display_title())
             tips = []
-            if serviceitem.temporary_edit:
-                tips.append('<strong>%s:</strong> <em>%s</em>' %
-                    (translate('OpenLP.ServiceManager', 'Edit'),
-                    (translate('OpenLP.ServiceManager', 'Service copy only'))))
-            if serviceitem.theme and serviceitem.theme != -1:
-                tips.append('<strong>%s:</strong> <em>%s</em>' %
-                    (translate('OpenLP.ServiceManager', 'Slide theme'), serviceitem.theme))
-            if serviceitem.notes:
+            if service_item_from_item.temporary_edit:
+                tips.append('<strong>%s:</strong> <em>%s</em>' %
+                            (translate('OpenLP.ServiceManager', 'Edit'),
+                            (translate('OpenLP.ServiceManager', 'Service copy only'))))
+            if service_item_from_item.theme and service_item_from_item.theme != -1:
+                tips.append('<strong>%s:</strong> <em>%s</em>' %
+                            (translate('OpenLP.ServiceManager', 'Slide theme'), service_item_from_item.theme))
+            if service_item_from_item.notes:
                 tips.append('<strong>%s: </strong> %s' %
-                    (translate('OpenLP.ServiceManager', 'Notes'), cgi.escape(serviceitem.notes)))
+                            (translate('OpenLP.ServiceManager', 'Notes'), html.escape(service_item_from_item.notes)))
             if item['service_item'].is_capable(ItemCapabilities.HasVariableStartTime):
                 tips.append(item['service_item'].get_media_time())
-            treewidgetitem.setToolTip(0, '<br>'.join(tips))
-            treewidgetitem.setData(0, QtCore.Qt.UserRole, item['order'])
-            treewidgetitem.setSelected(item['selected'])
-            # Add the children to their parent treewidgetitem.
-            for count, frame in enumerate(serviceitem.get_frames()):
-                child = QtGui.QTreeWidgetItem(treewidgetitem)
+            tree_widget_item.setToolTip(0, '<br>'.join(tips))
+            tree_widget_item.setData(0, QtCore.Qt.UserRole, item['order'])
+            tree_widget_item.setSelected(item['selected'])
+            # Add the children to their parent tree_widget_item.
+            for count, frame in enumerate(service_item_from_item.get_frames()):
+                child = QtGui.QTreeWidgetItem(tree_widget_item)
                 text = frame['title'].replace('\n', ' ')
                 child.setText(0, text[:40])
                 child.setData(0, QtCore.Qt.UserRole, count)
@@ -1191,19 +1204,19 @@
                     if item['expanded'] and service_item_child == count:
                         self.service_manager_list.setCurrentItem(child)
                     elif service_item_child == -1:
-                        self.service_manager_list.setCurrentItem(treewidgetitem)
-            treewidgetitem.setExpanded(item['expanded'])
+                        self.service_manager_list.setCurrentItem(tree_widget_item)
+            tree_widget_item.setExpanded(item['expanded'])
 
     def clean_up(self):
         """
-        Empties the servicePath of temporary files on system exit.
+        Empties the service_path of temporary files on system exit.
         """
-        log.debug('Cleaning up servicePath')
-        for file_name in os.listdir(self.servicePath):
-            file_path = os.path.join(self.servicePath, file_name)
+        log.debug('Cleaning up service_path')
+        for file_name in os.listdir(self.service_path):
+            file_path = os.path.join(self.service_path, file_name)
             delete_file(file_path)
-        if os.path.exists(os.path.join(self.servicePath, 'audio')):
-            shutil.rmtree(os.path.join(self.servicePath, 'audio'), True)
+        if os.path.exists(os.path.join(self.service_path, 'audio')):
+            shutil.rmtree(os.path.join(self.service_path, 'audio'), True)
 
     def on_theme_combo_box_selected(self, currentIndex):
         """
@@ -1213,7 +1226,7 @@
         self.service_theme = self.theme_combo_box.currentText()
         self.renderer.set_service_theme(self.service_theme)
         Settings().setValue(self.main_window.service_manager_settings_section + '/service theme', self.service_theme)
-        self.regenerate_service_Items(True)
+        self.regenerate_service_items(True)
 
     def theme_change(self):
         """
@@ -1224,36 +1237,36 @@
         self.theme_label.setVisible(visible)
         self.theme_combo_box.setVisible(visible)
 
-    def regenerate_service_Items(self, changed=False):
+    def regenerate_service_items(self, changed=False):
         """
         Rebuild the service list as things have changed and a repaint is the easiest way to do this.
         """
         self.application.set_busy_cursor()
-        log.debug('regenerate_service_Items')
+        log.debug('regenerate_service_items')
         # force reset of renderer as theme data has changed
         self.service_has_all_original_files = True
         if self.service_items:
             for item in self.service_items:
                 item['selected'] = False
-            serviceIterator = QtGui.QTreeWidgetItemIterator(self.service_manager_list)
-            selectedItem = None
-            while serviceIterator.value():
-                if serviceIterator.value().isSelected():
-                    selectedItem = serviceIterator.value()
-                serviceIterator += 1
-            if selectedItem is not None:
-                if selectedItem.parent() is None:
-                    pos = selectedItem.data(0, QtCore.Qt.UserRole)
+            service_iterator = QtGui.QTreeWidgetItemIterator(self.service_manager_list)
+            selected_item = None
+            while service_iterator.value():
+                if service_iterator.value().isSelected():
+                    selected_item = service_iterator.value()
+                service_iterator += 1
+            if selected_item is not None:
+                if selected_item.parent() is None:
+                    pos = selected_item.data(0, QtCore.Qt.UserRole)
                 else:
-                    pos = selectedItem.parent().data(0, QtCore.Qt.UserRole)
+                    pos = selected_item.parent().data(0, QtCore.Qt.UserRole)
                 self.service_items[pos - 1]['selected'] = True
-            tempServiceItems = self.service_items
+            temp_service_items = self.service_items
             self.service_manager_list.clear()
             self.service_items = []
-            self.isNew = True
-            for item in tempServiceItems:
+            self.is_new = True
+            for item in temp_service_items:
                 self.add_service_item(item['service_item'], False, expand=item['expanded'], repaint=False,
-                    selected=item['selected'])
+                                      selected=item['selected'])
             # Set to False as items may have changed rendering does not impact the saved song so True may also be valid
             if changed:
                 self.set_modified()
@@ -1301,18 +1314,18 @@
                 if isinstance(item, list):
                     for inditem in item:
                         self.service_items.append({'service_item': inditem,
-                            'order': len(self.service_items) + 1,
-                            'expanded': expand, 'selected': selected})
+                                                   'order': len(self.service_items) + 1,
+                                                   'expanded': expand, 'selected': selected})
                 else:
                     self.service_items.append({'service_item': item,
-                        'order': len(self.service_items) + 1,
-                        'expanded': expand, 'selected': selected})
+                                               'order': len(self.service_items) + 1,
+                                               'expanded': expand, 'selected': selected})
                 if repaint:
                     self.repaint_service_list(len(self.service_items) - 1, -1)
             else:
                 self.service_items.insert(self.drop_position,
                     {'service_item': item, 'order': self.drop_position,
-                    'expanded': expand, 'selected': selected})
+                     'expanded': expand, 'selected': selected})
                 self.repaint_service_list(self.drop_position, -1)
             # if rebuilding list make sure live is fixed.
             if rebuild:
@@ -1330,8 +1343,8 @@
             self.preview_controller.add_service_manager_item(self.service_items[item]['service_item'], child)
         else:
             critical_error_message_box(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'))
         self.application.set_normal_cursor()
 
     def get_service_item(self):
@@ -1376,8 +1389,9 @@
                     self.live_controller.preview_widget.setFocus()
         else:
             critical_error_message_box(translate('OpenLP.ServiceManager', 'Missing Display Handler'),
-                translate('OpenLP.ServiceManager',
-                    'Your item cannot be displayed as the plugin required to display it is missing or inactive'))
+                                       translate('OpenLP.ServiceManager',
+                                                 'Your item cannot be displayed as the plugin required to display it '
+                                                 'is missing or inactive'))
         self.application.set_normal_cursor()
 
     def remote_edit(self):
@@ -1400,7 +1414,7 @@
 
     def find_service_item(self):
         """
-        Finds the first selected ServiceItem in the list and returns the position of the serviceitem and its selected
+        Finds the first selected ServiceItem in the list and returns the position of the service_item_from_item and its selected
         child item. For example, if the third child item (in the Slidecontroller known as slide) in the second service
         item is selected this will return::
 
@@ -1446,18 +1460,18 @@
             item = self.service_manager_list.itemAt(event.pos())
             # ServiceManager started the drag and drop
             if plugin == 'ServiceManager':
-                startpos, child = self.find_service_item()
+                start_pos, child = self.find_service_item()
                 # If no items selected
-                if startpos == -1:
+                if start_pos == -1:
                     return
                 if item is None:
-                    endpos = len(self.service_items)
+                    end_pos = len(self.service_items)
                 else:
-                    endpos = self._get_parent_item_data(item) - 1
-                serviceItem = self.service_items[startpos]
-                self.service_items.remove(serviceItem)
-                self.service_items.insert(endpos, serviceItem)
-                self.repaint_service_list(endpos, child)
+                    end_pos = self._get_parent_item_data(item) - 1
+                service_item = self.service_items[start_pos]
+                self.service_items.remove(service_item)
+                self.service_items.insert(end_pos, service_item)
+                self.repaint_service_list(end_pos, child)
                 self.set_modified()
             else:
                 # we are not over anything so drop
@@ -1467,15 +1481,15 @@
                 else:
                     # we are over something so lets investigate
                     pos = self._get_parent_item_data(item) - 1
-                    serviceItem = self.service_items[pos]
-                    if (plugin == serviceItem['service_item'].name and
-                            serviceItem['service_item'].is_capable(ItemCapabilities.CanAppend)):
-                        action = self.dndMenu.exec_(QtGui.QCursor.pos())
+                    service_item = self.service_items[pos]
+                    if (plugin == service_item['service_item'].name and
+                            service_item['service_item'].is_capable(ItemCapabilities.CanAppend)):
+                        action = self.dnd_menu.exec_(QtGui.QCursor.pos())
                         # New action required
-                        if action == self.newAction:
+                        if action == self.new_action:
                             self.drop_position = self._get_parent_item_data(item)
                         # Append to existing action
-                        if action == self.addToAction:
+                        if action == self.add_to_action:
                             self.drop_position = self._get_parent_item_data(item)
                             item.setSelected(True)
                             replace = True
@@ -1498,18 +1512,18 @@
         theme_group.setObjectName('theme_group')
         # Create a "Default" theme, which allows the user to reset the item's theme to the service theme or global
         # theme.
-        defaultTheme = create_widget_action(self.theme_menu, text=UiStrings().Default, checked=False,
-            triggers=self.on_theme_change_action)
-        self.theme_menu.setDefaultAction(defaultTheme)
-        theme_group.addAction(defaultTheme)
+        default_theme = create_widget_action(self.theme_menu, text=UiStrings().Default, checked=False,
+                                             triggers=self.on_theme_change_action)
+        self.theme_menu.setDefaultAction(default_theme)
+        theme_group.addAction(default_theme)
         self.theme_menu.addSeparator()
         for theme in theme_list:
             self.theme_combo_box.addItem(theme)
             theme_group.addAction(create_widget_action(self.theme_menu, theme, text=theme, checked=False,
-                triggers=self.on_theme_change_action))
+                                  triggers=self.on_theme_change_action))
         find_and_set_in_combo_box(self.theme_combo_box, self.service_theme)
         self.renderer.set_service_theme(self.service_theme)
-        self.regenerate_service_Items()
+        self.regenerate_service_items()
 
     def on_theme_change_action(self):
         """
@@ -1521,7 +1535,7 @@
             theme = None
         item = self.find_service_item()[0]
         self.service_items[item]['service_item'].update_theme(theme)
-        self.regenerate_service_Items(True)
+        self.regenerate_service_items(True)
 
     def _get_parent_item_data(self, item):
         """
@@ -1537,8 +1551,8 @@
         """
         Print a Service Order Sheet.
         """
-        settingDialog = PrintServiceForm()
-        settingDialog.exec_()
+        setting_dialog = PrintServiceForm()
+        setting_dialog.exec_()
 
     def _get_renderer(self):
         """

=== modified file 'openlp/core/ui/servicenoteform.py'
--- openlp/core/ui/servicenoteform.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/servicenoteform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/settingsdialog.py'
--- openlp/core/ui/settingsdialog.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/settingsdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/settingsform.py'
--- openlp/core/ui/settingsform.py	2013-08-31 18:17:38 +0000
+++ openlp/core/ui/settingsform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -136,11 +136,11 @@
             if plugin.settings_tab:
                 plugin.settings_tab.post_set_up()
 
-    def tab_changed(self, tabIndex):
+    def tab_changed(self, tab_index):
         """
         A different settings tab is selected
         """
-        self.stacked_layout.setCurrentIndex(tabIndex)
+        self.stacked_layout.setCurrentIndex(tab_index)
         self.stacked_layout.currentWidget().tab_visible()
 
     def register_post_process(self, function):

=== modified file 'openlp/core/ui/shortcutlistdialog.py'
--- openlp/core/ui/shortcutlistdialog.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/shortcutlistdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -67,62 +67,62 @@
         """
         shortcutListDialog.setObjectName('shortcutListDialog')
         shortcutListDialog.resize(500, 438)
-        self.shortcutListLayout = QtGui.QVBoxLayout(shortcutListDialog)
-        self.shortcutListLayout.setObjectName('shortcutListLayout')
+        self.shortcut_list_layout = QtGui.QVBoxLayout(shortcutListDialog)
+        self.shortcut_list_layout.setObjectName('shortcut_list_layout')
         self.description_label = QtGui.QLabel(shortcutListDialog)
         self.description_label.setObjectName('description_label')
         self.description_label.setWordWrap(True)
-        self.shortcutListLayout.addWidget(self.description_label)
-        self.treeWidget = QtGui.QTreeWidget(shortcutListDialog)
-        self.treeWidget.setObjectName('treeWidget')
-        self.treeWidget.setAlternatingRowColors(True)
-        self.treeWidget.setColumnCount(3)
-        self.treeWidget.setColumnWidth(0, 250)
-        self.shortcutListLayout.addWidget(self.treeWidget)
-        self.detailsLayout = QtGui.QGridLayout()
-        self.detailsLayout.setObjectName('detailsLayout')
-        self.detailsLayout.setContentsMargins(-1, 0, -1, -1)
-        self.defaultRadioButton = QtGui.QRadioButton(shortcutListDialog)
-        self.defaultRadioButton.setObjectName('defaultRadioButton')
-        self.defaultRadioButton.setChecked(True)
-        self.detailsLayout.addWidget(self.defaultRadioButton, 0, 0, 1, 1)
-        self.customRadioButton = QtGui.QRadioButton(shortcutListDialog)
-        self.customRadioButton.setObjectName('customRadioButton')
-        self.detailsLayout.addWidget(self.customRadioButton, 1, 0, 1, 1)
-        self.primaryLayout = QtGui.QHBoxLayout()
-        self.primaryLayout.setObjectName('primaryLayout')
-        self.primaryPushButton = CaptureShortcutButton(shortcutListDialog)
-        self.primaryPushButton.setObjectName('primaryPushButton')
-        self.primaryPushButton.setMinimumSize(QtCore.QSize(84, 0))
-        self.primaryPushButton.setIcon(build_icon(':/system/system_configure_shortcuts.png'))
-        self.primaryLayout.addWidget(self.primaryPushButton)
-        self.clearPrimaryButton = QtGui.QToolButton(shortcutListDialog)
-        self.clearPrimaryButton.setObjectName('clearPrimaryButton')
-        self.clearPrimaryButton.setMinimumSize(QtCore.QSize(0, 16))
-        self.clearPrimaryButton.setIcon(build_icon(':/system/clear_shortcut.png'))
-        self.primaryLayout.addWidget(self.clearPrimaryButton)
-        self.detailsLayout.addLayout(self.primaryLayout, 1, 1, 1, 1)
-        self.alternateLayout = QtGui.QHBoxLayout()
-        self.alternateLayout.setObjectName('alternateLayout')
-        self.alternatePushButton = CaptureShortcutButton(shortcutListDialog)
-        self.alternatePushButton.setObjectName('alternatePushButton')
-        self.alternatePushButton.setIcon(build_icon(':/system/system_configure_shortcuts.png'))
-        self.alternateLayout.addWidget(self.alternatePushButton)
-        self.clearAlternateButton = QtGui.QToolButton(shortcutListDialog)
-        self.clearAlternateButton.setObjectName('clearAlternateButton')
-        self.clearAlternateButton.setIcon(build_icon(':/system/clear_shortcut.png'))
-        self.alternateLayout.addWidget(self.clearAlternateButton)
-        self.detailsLayout.addLayout(self.alternateLayout, 1, 2, 1, 1)
-        self.primaryLabel = QtGui.QLabel(shortcutListDialog)
-        self.primaryLabel.setObjectName('primaryLabel')
-        self.detailsLayout.addWidget(self.primaryLabel, 0, 1, 1, 1)
-        self.alternateLabel = QtGui.QLabel(shortcutListDialog)
-        self.alternateLabel.setObjectName('alternateLabel')
-        self.detailsLayout.addWidget(self.alternateLabel, 0, 2, 1, 1)
-        self.shortcutListLayout.addLayout(self.detailsLayout)
+        self.shortcut_list_layout.addWidget(self.description_label)
+        self.tree_widget = QtGui.QTreeWidget(shortcutListDialog)
+        self.tree_widget.setObjectName('tree_widget')
+        self.tree_widget.setAlternatingRowColors(True)
+        self.tree_widget.setColumnCount(3)
+        self.tree_widget.setColumnWidth(0, 250)
+        self.shortcut_list_layout.addWidget(self.tree_widget)
+        self.details_layout = QtGui.QGridLayout()
+        self.details_layout.setObjectName('details_layout')
+        self.details_layout.setContentsMargins(-1, 0, -1, -1)
+        self.default_radio_button = QtGui.QRadioButton(shortcutListDialog)
+        self.default_radio_button.setObjectName('default_radio_button')
+        self.default_radio_button.setChecked(True)
+        self.details_layout.addWidget(self.default_radio_button, 0, 0, 1, 1)
+        self.custom_radio_button = QtGui.QRadioButton(shortcutListDialog)
+        self.custom_radio_button.setObjectName('custom_radio_button')
+        self.details_layout.addWidget(self.custom_radio_button, 1, 0, 1, 1)
+        self.primary_layout = QtGui.QHBoxLayout()
+        self.primary_layout.setObjectName('primary_layout')
+        self.primary_push_button = CaptureShortcutButton(shortcutListDialog)
+        self.primary_push_button.setObjectName('primary_push_button')
+        self.primary_push_button.setMinimumSize(QtCore.QSize(84, 0))
+        self.primary_push_button.setIcon(build_icon(':/system/system_configure_shortcuts.png'))
+        self.primary_layout.addWidget(self.primary_push_button)
+        self.clear_primary_button = QtGui.QToolButton(shortcutListDialog)
+        self.clear_primary_button.setObjectName('clear_primary_button')
+        self.clear_primary_button.setMinimumSize(QtCore.QSize(0, 16))
+        self.clear_primary_button.setIcon(build_icon(':/system/clear_shortcut.png'))
+        self.primary_layout.addWidget(self.clear_primary_button)
+        self.details_layout.addLayout(self.primary_layout, 1, 1, 1, 1)
+        self.alternate_layout = QtGui.QHBoxLayout()
+        self.alternate_layout.setObjectName('alternate_layout')
+        self.alternate_push_button = CaptureShortcutButton(shortcutListDialog)
+        self.alternate_push_button.setObjectName('alternate_push_button')
+        self.alternate_push_button.setIcon(build_icon(':/system/system_configure_shortcuts.png'))
+        self.alternate_layout.addWidget(self.alternate_push_button)
+        self.clear_alternate_button = QtGui.QToolButton(shortcutListDialog)
+        self.clear_alternate_button.setObjectName('clear_alternate_button')
+        self.clear_alternate_button.setIcon(build_icon(':/system/clear_shortcut.png'))
+        self.alternate_layout.addWidget(self.clear_alternate_button)
+        self.details_layout.addLayout(self.alternate_layout, 1, 2, 1, 1)
+        self.primary_label = QtGui.QLabel(shortcutListDialog)
+        self.primary_label.setObjectName('primary_label')
+        self.details_layout.addWidget(self.primary_label, 0, 1, 1, 1)
+        self.alternate_label = QtGui.QLabel(shortcutListDialog)
+        self.alternate_label.setObjectName('alternate_label')
+        self.details_layout.addWidget(self.alternate_label, 0, 2, 1, 1)
+        self.shortcut_list_layout.addLayout(self.details_layout)
         self.button_box = create_button_box(shortcutListDialog, 'button_box', ['cancel', 'ok', 'defaults'])
         self.button_box.setOrientation(QtCore.Qt.Horizontal)
-        self.shortcutListLayout.addWidget(self.button_box)
+        self.shortcut_list_layout.addWidget(self.button_box)
         self.retranslateUi(shortcutListDialog)
 
     def retranslateUi(self, shortcutListDialog):
@@ -132,15 +132,15 @@
         shortcutListDialog.setWindowTitle(translate('OpenLP.ShortcutListDialog', 'Configure Shortcuts'))
         self.description_label.setText(
             translate('OpenLP.ShortcutListDialog', 'Select an action and click one of the buttons below to start '
-                'capturing a new primary or alternate shortcut, respectively.'))
-        self.treeWidget.setHeaderLabels([translate('OpenLP.ShortcutListDialog', 'Action'),
-            translate('OpenLP.ShortcutListDialog', 'Shortcut'),
-            translate('OpenLP.ShortcutListDialog', 'Alternate')])
-        self.defaultRadioButton.setText(translate('OpenLP.ShortcutListDialog', 'Default'))
-        self.customRadioButton.setText(translate('OpenLP.ShortcutListDialog', 'Custom'))
-        self.primaryPushButton.setToolTip(translate('OpenLP.ShortcutListDialog', 'Capture shortcut.'))
-        self.alternatePushButton.setToolTip(translate('OpenLP.ShortcutListDialog', 'Capture shortcut.'))
-        self.clearPrimaryButton.setToolTip(translate('OpenLP.ShortcutListDialog',
-            'Restore the default shortcut of this action.'))
-        self.clearAlternateButton.setToolTip(translate('OpenLP.ShortcutListDialog',
-            'Restore the default shortcut of this action.'))
+                      'capturing a new primary or alternate shortcut, respectively.'))
+        self.tree_widget.setHeaderLabels([translate('OpenLP.ShortcutListDialog', 'Action'),
+                                         translate('OpenLP.ShortcutListDialog', 'Shortcut'),
+                                         translate('OpenLP.ShortcutListDialog', 'Alternate')])
+        self.default_radio_button.setText(translate('OpenLP.ShortcutListDialog', 'Default'))
+        self.custom_radio_button.setText(translate('OpenLP.ShortcutListDialog', 'Custom'))
+        self.primary_push_button.setToolTip(translate('OpenLP.ShortcutListDialog', 'Capture shortcut.'))
+        self.alternate_push_button.setToolTip(translate('OpenLP.ShortcutListDialog', 'Capture shortcut.'))
+        self.clear_primary_button.setToolTip(translate('OpenLP.ShortcutListDialog',
+                                             'Restore the default shortcut of this action.'))
+        self.clear_alternate_button.setToolTip(translate('OpenLP.ShortcutListDialog',
+                                               'Restore the default shortcut of this action.'))

=== modified file 'openlp/core/ui/shortcutlistform.py'
--- openlp/core/ui/shortcutlistform.py	2013-12-09 02:05:52 +0000
+++ openlp/core/ui/shortcutlistform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -54,18 +54,18 @@
         """
         super(ShortcutListForm, self).__init__(parent)
         self.setupUi(self)
-        self.changedActions = {}
+        self.changed_actions = {}
         self.action_list = ActionList.get_instance()
         self.dialog_was_shown = False
-        self.primaryPushButton.toggled.connect(self.onPrimaryPushButtonClicked)
-        self.alternatePushButton.toggled.connect(self.onAlternatePushButtonClicked)
-        self.treeWidget.currentItemChanged.connect(self.onCurrentItemChanged)
-        self.treeWidget.itemDoubleClicked.connect(self.onItemDoubleClicked)
-        self.clearPrimaryButton.clicked.connect(self.onClearPrimaryButtonClicked)
-        self.clearAlternateButton.clicked.connect(self.onClearAlternateButtonClicked)
-        self.button_box.clicked.connect(self.onRestoreDefaultsClicked)
-        self.defaultRadioButton.clicked.connect(self.onDefaultRadioButtonClicked)
-        self.customRadioButton.clicked.connect(self.onCustomRadioButtonClicked)
+        self.primary_push_button.toggled.connect(self.on_primary_push_button_clicked)
+        self.alternate_push_button.toggled.connect(self.on_alternate_push_button_clicked)
+        self.tree_widget.currentItemChanged.connect(self.on_current_item_changed)
+        self.tree_widget.itemDoubleClicked.connect(self.on_item_double_clicked)
+        self.clear_primary_button.clicked.connect(self.on_clear_primary_button_clicked)
+        self.clear_alternate_button.clicked.connect(self.on_clear_alternate_button_clicked)
+        self.button_box.clicked.connect(self.on_restore_defaults_clicked)
+        self.default_radio_button.clicked.connect(self.on_default_radio_button_clicked)
+        self.custom_radio_button.clicked.connect(self.on_custom_radio_button_clicked)
 
     def keyPressEvent(self, event):
         """
@@ -73,7 +73,7 @@
         """
         if event.key() == QtCore.Qt.Key_Space:
             self.keyReleaseEvent(event)
-        elif self.primaryPushButton.isChecked() or self.alternatePushButton.isChecked():
+        elif self.primary_push_button.isChecked() or self.alternate_push_button.isChecked():
             self.keyReleaseEvent(event)
         elif event.key() == QtCore.Qt.Key_Escape:
             event.accept()
@@ -83,7 +83,7 @@
         """
         Respond to certain key presses
         """
-        if not self.primaryPushButton.isChecked() and not self.alternatePushButton.isChecked():
+        if not self.primary_push_button.isChecked() and not self.alternate_push_button.isChecked():
             return
         # Do not continue, as the event is for the dialog (close it).
         if self.dialog_was_shown and event.key() in (QtCore.Qt.Key_Escape, QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return):
@@ -102,27 +102,27 @@
         if event.modifiers() & QtCore.Qt.MetaModifier == QtCore.Qt.MetaModifier:
             key_string = 'Meta+' + key_string
         key_sequence = QtGui.QKeySequence(key_string)
-        if self._validiate_shortcut(self._currentItemAction(), key_sequence):
-            if self.primaryPushButton.isChecked():
-                self._adjustButton(self.primaryPushButton, False, text=key_sequence.toString())
-            elif self.alternatePushButton.isChecked():
-                self._adjustButton(self.alternatePushButton, False, text=key_sequence.toString())
+        if self._validiate_shortcut(self._current_item_action(), key_sequence):
+            if self.primary_push_button.isChecked():
+                self._adjust_button(self.primary_push_button, False, text=key_sequence.toString())
+            elif self.alternate_push_button.isChecked():
+                self._adjust_button(self.alternate_push_button, False, text=key_sequence.toString())
 
     def exec_(self):
         """
         Execute the dialog
         """
-        self.changedActions = {}
-        self.reloadShortcutList()
-        self._adjustButton(self.primaryPushButton, False, False, '')
-        self._adjustButton(self.alternatePushButton, False, False, '')
+        self.changed_actions = {}
+        self.reload_shortcut_list()
+        self._adjust_button(self.primary_push_button, False, False, '')
+        self._adjust_button(self.alternate_push_button, False, False, '')
         return QtGui.QDialog.exec_(self)
 
-    def reloadShortcutList(self):
-        """
-        Reload the ``treeWidget`` list to add new and remove old actions.
-        """
-        self.treeWidget.clear()
+    def reload_shortcut_list(self):
+        """
+        Reload the ``tree_widget`` list to add new and remove old actions.
+        """
+        self.tree_widget.clear()
         for category in self.action_list.categories:
             # Check if the category is for internal use only.
             if category.name is None:
@@ -141,23 +141,23 @@
                     action_item.setToolTip(1, tool_tip_text)
                     action_item.setToolTip(2, tool_tip_text)
                 item.addChild(action_item)
-            self.treeWidget.addTopLevelItem(item)
+            self.tree_widget.addTopLevelItem(item)
             item.setExpanded(True)
-        self.refreshShortcutList()
+        self.refresh_shortcut_list()
 
-    def refreshShortcutList(self):
+    def refresh_shortcut_list(self):
         """
         This refreshes the item's shortcuts shown in the list. Note, this neither adds new actions nor removes old
         actions.
         """
-        iterator = QtGui.QTreeWidgetItemIterator(self.treeWidget)
+        iterator = QtGui.QTreeWidgetItemIterator(self.tree_widget)
         while iterator.value():
             item = iterator.value()
             iterator += 1
-            action = self._currentItemAction(item)
+            action = self._current_item_action(item)
             if action is None:
                 continue
-            shortcuts = self._actionShortcuts(action)
+            shortcuts = self._action_shortcuts(action)
             if not shortcuts:
                 item.setText(1, '')
                 item.setText(2, '')
@@ -167,166 +167,167 @@
             else:
                 item.setText(1, shortcuts[0].toString())
                 item.setText(2, shortcuts[1].toString())
-        self.onCurrentItemChanged()
+        self.on_current_item_changed()
 
-    def onPrimaryPushButtonClicked(self, toggled):
+    def on_primary_push_button_clicked(self, toggled):
         """
         Save the new primary shortcut.
         """
-        self.customRadioButton.setChecked(True)
+        self.custom_radio_button.setChecked(True)
         if toggled:
-            self.alternatePushButton.setChecked(False)
-            self.primaryPushButton.setText('')
+            self.alternate_push_button.setChecked(False)
+            self.primary_push_button.setText('')
             return
-        action = self._currentItemAction()
+        action = self._current_item_action()
         if action is None:
             return
-        shortcuts = self._actionShortcuts(action)
-        new_shortcuts = [QtGui.QKeySequence(self.primaryPushButton.text())]
+        shortcuts = self._action_shortcuts(action)
+        new_shortcuts = [QtGui.QKeySequence(self.primary_push_button.text())]
         if len(shortcuts) == 2:
             new_shortcuts.append(shortcuts[1])
-        self.changedActions[action] = new_shortcuts
-        self.refreshShortcutList()
+        self.changed_actions[action] = new_shortcuts
+        self.refresh_shortcut_list()
 
-    def onAlternatePushButtonClicked(self, toggled):
+    def on_alternate_push_button_clicked(self, toggled):
         """
         Save the new alternate shortcut.
         """
-        self.customRadioButton.setChecked(True)
+        self.custom_radio_button.setChecked(True)
         if toggled:
-            self.primaryPushButton.setChecked(False)
-            self.alternatePushButton.setText('')
+            self.primary_push_button.setChecked(False)
+            self.alternate_push_button.setText('')
             return
-        action = self._currentItemAction()
+        action = self._current_item_action()
         if action is None:
             return
-        shortcuts = self._actionShortcuts(action)
+        shortcuts = self._action_shortcuts(action)
         new_shortcuts = []
         if shortcuts:
             new_shortcuts.append(shortcuts[0])
-        new_shortcuts.append(QtGui.QKeySequence(self.alternatePushButton.text()))
-        self.changedActions[action] = new_shortcuts
-        if not self.primaryPushButton.text():
+        new_shortcuts.append(QtGui.QKeySequence(self.alternate_push_button.text()))
+        self.changed_actions[action] = new_shortcuts
+        if not self.primary_push_button.text():
             # When we do not have a primary shortcut, the just entered alternate shortcut will automatically become the
             # primary shortcut. That is why we have to adjust the primary button's text.
-            self.primaryPushButton.setText(self.alternatePushButton.text())
-            self.alternatePushButton.setText('')
-        self.refreshShortcutList()
+            self.primary_push_button.setText(self.alternate_push_button.text())
+            self.alternate_push_button.setText('')
+        self.refresh_shortcut_list()
 
-    def onItemDoubleClicked(self, item, column):
+    def on_item_double_clicked(self, item, column):
         """
         A item has been double clicked. The ``primaryPushButton`` will be checked and the item's shortcut will be
         displayed.
         """
-        action = self._currentItemAction(item)
+        action = self._current_item_action(item)
         if action is None:
             return
-        self.primaryPushButton.setChecked(column in [0, 1])
-        self.alternatePushButton.setChecked(column not in [0, 1])
+        self.primary_push_button.setChecked(column in [0, 1])
+        self.alternate_push_button.setChecked(column not in [0, 1])
         if column in [0, 1]:
-            self.primaryPushButton.setText('')
-            self.primaryPushButton.setFocus()
+            self.primary_push_button.setText('')
+            self.primary_push_button.setFocus()
         else:
-            self.alternatePushButton.setText('')
-            self.alternatePushButton.setFocus()
+            self.alternate_push_button.setText('')
+            self.alternate_push_button.setFocus()
 
-    def onCurrentItemChanged(self, item=None, previousItem=None):
+    def on_current_item_changed(self, item=None, previousItem=None):
         """
         A item has been pressed. We adjust the button's text to the action's shortcut which is encapsulate in the item.
         """
-        action = self._currentItemAction(item)
-        self.primaryPushButton.setEnabled(action is not None)
-        self.alternatePushButton.setEnabled(action is not None)
+        action = self._current_item_action(item)
+        self.primary_push_button.setEnabled(action is not None)
+        self.alternate_push_button.setEnabled(action is not None)
         primary_text = ''
         alternate_text = ''
         primary_label_text = ''
         alternate_label_text = ''
         if action is None:
-            self.primaryPushButton.setChecked(False)
-            self.alternatePushButton.setChecked(False)
+            self.primary_push_button.setChecked(False)
+            self.alternate_push_button.setChecked(False)
         else:
             if action.defaultShortcuts:
                 primary_label_text = action.defaultShortcuts[0].toString()
                 if len(action.defaultShortcuts) == 2:
                     alternate_label_text = action.defaultShortcuts[1].toString()
-            shortcuts = self._actionShortcuts(action)
+            shortcuts = self._action_shortcuts(action)
             # We do not want to loose pending changes, that is why we have to keep the text when, this function has not
             # been triggered by a signal.
             if item is None:
-                primary_text = self.primaryPushButton.text()
-                alternate_text = self.alternatePushButton.text()
+                primary_text = self.primary_push_button.text()
+                alternate_text = self.alternate_push_button.text()
             elif len(shortcuts) == 1:
                 primary_text = shortcuts[0].toString()
             elif len(shortcuts) == 2:
                 primary_text = shortcuts[0].toString()
                 alternate_text = shortcuts[1].toString()
         # When we are capturing a new shortcut, we do not want, the buttons to display the current shortcut.
-        if self.primaryPushButton.isChecked():
+        if self.primary_push_button.isChecked():
             primary_text = ''
-        if self.alternatePushButton.isChecked():
+        if self.alternate_push_button.isChecked():
             alternate_text = ''
-        self.primaryPushButton.setText(primary_text)
-        self.alternatePushButton.setText(alternate_text)
-        self.primaryLabel.setText(primary_label_text)
-        self.alternateLabel.setText(alternate_label_text)
+        self.primary_push_button.setText(primary_text)
+        self.alternate_push_button.setText(alternate_text)
+        self.primary_label.setText(primary_label_text)
+        self.alternate_label.setText(alternate_label_text)
         # We do not want to toggle and radio button, as the function has not been triggered by a signal.
         if item is None:
             return
         if primary_label_text == primary_text and alternate_label_text == alternate_text:
-            self.defaultRadioButton.toggle()
+            self.default_radio_button.toggle()
         else:
-            self.customRadioButton.toggle()
+            self.custom_radio_button.toggle()
 
-    def onRestoreDefaultsClicked(self, button):
+    def on_restore_defaults_clicked(self, button):
         """
         Restores all default shortcuts.
         """
         if self.button_box.buttonRole(button) != QtGui.QDialogButtonBox.ResetRole:
             return
         if QtGui.QMessageBox.question(self, translate('OpenLP.ShortcutListDialog', 'Restore Default Shortcuts'),
-            translate('OpenLP.ShortcutListDialog', 'Do you want to restore all '
-                'shortcuts to their defaults?'),
-            QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) == QtGui.QMessageBox.No:
+                                      translate('OpenLP.ShortcutListDialog', 'Do you want to restore all '
+                                                'shortcuts to their defaults?'),
+                                      QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | 
+                                                                        QtGui.QMessageBox.No)) == QtGui.QMessageBox.No:
             return
-        self._adjustButton(self.primaryPushButton, False, text='')
-        self._adjustButton(self.alternatePushButton, False, text='')
+        self._adjust_button(self.primary_push_button, False, text='')
+        self._adjust_button(self.alternate_push_button, False, text='')
         for category in self.action_list.categories:
             for action in category.actions:
-                self.changedActions[action] = action.defaultShortcuts
-        self.refreshShortcutList()
+                self.changed_actions[action] = action.defaultShortcuts
+        self.refresh_shortcut_list()
 
-    def onDefaultRadioButtonClicked(self, toggled):
+    def on_default_radio_button_clicked(self, toggled):
         """
         The default radio button has been clicked, which means we have to make sure, that we use the default shortcuts
         for the action.
         """
         if not toggled:
             return
-        action = self._currentItemAction()
+        action = self._current_item_action()
         if action is None:
             return
-        temp_shortcuts = self._actionShortcuts(action)
-        self.changedActions[action] = action.defaultShortcuts
-        self.refreshShortcutList()
+        temp_shortcuts = self._action_shortcuts(action)
+        self.changed_actions[action] = action.defaultShortcuts
+        self.refresh_shortcut_list()
         primary_button_text = ''
         alternate_button_text = ''
         if temp_shortcuts:
             primary_button_text = temp_shortcuts[0].toString()
         if len(temp_shortcuts) == 2:
             alternate_button_text = temp_shortcuts[1].toString()
-        self.primaryPushButton.setText(primary_button_text)
-        self.alternatePushButton.setText(alternate_button_text)
+        self.primary_push_button.setText(primary_button_text)
+        self.alternate_push_button.setText(alternate_button_text)
 
-    def onCustomRadioButtonClicked(self, toggled):
+    def on_custom_radio_button_clicked(self, toggled):
         """
         The custom shortcut radio button was clicked, thus we have to restore the custom shortcuts by calling those
         functions triggered by button clicks.
         """
         if not toggled:
             return
-        self.onPrimaryPushButtonClicked(False)
-        self.onAlternatePushButtonClicked(False)
-        self.refreshShortcutList()
+        self.on_primary_push_button_clicked(False)
+        self.on_alternate_push_button_clicked(False)
+        self.refresh_shortcut_list()
 
     def save(self):
         """
@@ -340,22 +341,22 @@
             if category.name is None:
                 continue
             for action in category.actions:
-                if action in self.changedActions:
+                if action in self.changed_actions:
                     old_shortcuts = list(map(QtGui.QKeySequence.toString, action.shortcuts()))
-                    action.setShortcuts(self.changedActions[action])
+                    action.setShortcuts(self.changed_actions[action])
                     self.action_list.update_shortcut_map(action, old_shortcuts)
                 settings.setValue(action.objectName(), action.shortcuts())
         settings.endGroup()
 
-    def onClearPrimaryButtonClicked(self, toggled):
+    def on_clear_primary_button_clicked(self, toggled):
         """
         Restore the defaults of this action.
         """
-        self.primaryPushButton.setChecked(False)
-        action = self._currentItemAction()
+        self.primary_push_button.setChecked(False)
+        action = self._current_item_action()
         if action is None:
             return
-        shortcuts = self._actionShortcuts(action)
+        shortcuts = self._action_shortcuts(action)
         new_shortcuts = []
         if action.defaultShortcuts:
             new_shortcuts.append(action.defaultShortcuts[0])
@@ -367,19 +368,19 @@
                 return
         if len(shortcuts) == 2:
             new_shortcuts.append(shortcuts[1])
-        self.changedActions[action] = new_shortcuts
-        self.refreshShortcutList()
-        self.onCurrentItemChanged(self.treeWidget.currentItem())
+        self.changed_actions[action] = new_shortcuts
+        self.refresh_shortcut_list()
+        self.on_current_item_changed(self.tree_widget.currentItem())
 
-    def onClearAlternateButtonClicked(self, toggled):
+    def on_clear_alternate_button_clicked(self, toggled):
         """
         Restore the defaults of this action.
         """
-        self.alternatePushButton.setChecked(False)
-        action = self._currentItemAction()
+        self.alternate_push_button.setChecked(False)
+        action = self._current_item_action()
         if action is None:
             return
-        shortcuts = self._actionShortcuts(action)
+        shortcuts = self._action_shortcuts(action)
         new_shortcuts = []
         if shortcuts:
             new_shortcuts.append(shortcuts[0])
@@ -388,9 +389,9 @@
         if len(new_shortcuts) == 2:
             if not self._validiate_shortcut(action, new_shortcuts[1]):
                 return
-        self.changedActions[action] = new_shortcuts
-        self.refreshShortcutList()
-        self.onCurrentItemChanged(self.treeWidget.currentItem())
+        self.changed_actions[action] = new_shortcuts
+        self.refresh_shortcut_list()
+        self.on_current_item_changed(self.tree_widget.currentItem())
 
     def _validiate_shortcut(self, changing_action, key_sequence):
         """
@@ -406,53 +407,52 @@
         is_valid = True
         for category in self.action_list.categories:
             for action in category.actions:
-                shortcuts = self._actionShortcuts(action)
+                shortcuts = self._action_shortcuts(action)
                 if key_sequence not in shortcuts:
                     continue
                 if action is changing_action:
-                    if self.primaryPushButton.isChecked() and shortcuts.index(key_sequence) == 0:
+                    if self.primary_push_button.isChecked() and shortcuts.index(key_sequence) == 0:
                         continue
-                    if self.alternatePushButton.isChecked() and shortcuts.index(key_sequence) == 1:
+                    if self.alternate_push_button.isChecked() and shortcuts.index(key_sequence) == 1:
                         continue
                 # Have the same parent, thus they cannot have the same shortcut.
                 if action.parent() is changing_action.parent():
                     is_valid = False
                 # The new shortcut is already assigned, but if both shortcuts are only valid in a different widget the
-                # new shortcut is vaild, because they will not interfere.
+                # new shortcut is valid, because they will not interfere.
                 if action.shortcutContext() in [QtCore.Qt.WindowShortcut, QtCore.Qt.ApplicationShortcut]:
                     is_valid = False
                 if changing_action.shortcutContext() in [QtCore.Qt.WindowShortcut, QtCore.Qt.ApplicationShortcut]:
                     is_valid = False
         if not is_valid:
             self.main_window.warning_message(translate('OpenLP.ShortcutListDialog', 'Duplicate Shortcut'),
-                translate('OpenLP.ShortcutListDialog',
-                    'The shortcut "%s" is already assigned to another action, please use a different shortcut.') %
-                    key_sequence.toString()
-            )
+                                             translate('OpenLP.ShortcutListDialog',
+                                                       'The shortcut "%s" is already assigned to another action, please'
+                                                       ' use a different shortcut.') % key_sequence.toString())
             self.dialog_was_shown = True
         return is_valid
 
-    def _actionShortcuts(self, action):
+    def _action_shortcuts(self, action):
         """
         This returns the shortcuts for the given ``action``, which also includes those shortcuts which are not saved
         yet but already assigned (as changes yre applied when closing the dialog).
         """
-        if action in self.changedActions:
-            return self.changedActions[action]
+        if action in self.changed_actions:
+            return self.changed_actions[action]
         return action.shortcuts()
 
-    def _currentItemAction(self, item=None):
+    def _current_item_action(self, item=None):
         """
         Returns the action of the given ``item``. If no item is given, we return the action of the current item of
-        the ``treeWidget``.
+        the ``tree_widget``.
         """
         if item is None:
-            item = self.treeWidget.currentItem()
+            item = self.tree_widget.currentItem()
             if item is None:
                 return
         return item.data(0, QtCore.Qt.UserRole)
 
-    def _adjustButton(self, button, checked=None, enabled=None, text=None):
+    def _adjust_button(self, button, checked=None, enabled=None, text=None):
         """
         Can be called to adjust more properties of the given ``button`` at once.
         """

=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/slidecontroller.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/splashscreen.py'
--- openlp/core/ui/splashscreen.py	2013-08-31 18:17:38 +0000
+++ openlp/core/ui/splashscreen.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/starttimedialog.py'
--- openlp/core/ui/starttimedialog.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/starttimedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -45,73 +45,73 @@
         """
         StartTimeDialog.setObjectName('StartTimeDialog')
         StartTimeDialog.resize(350, 10)
-        self.dialogLayout = QtGui.QGridLayout(StartTimeDialog)
-        self.dialogLayout.setObjectName('dialog_layout')
-        self.startLabel = QtGui.QLabel(StartTimeDialog)
-        self.startLabel.setObjectName('startLabel')
-        self.startLabel.setAlignment(QtCore.Qt.AlignHCenter)
-        self.dialogLayout.addWidget(self.startLabel, 0, 1, 1, 1)
-        self.finishLabel = QtGui.QLabel(StartTimeDialog)
-        self.finishLabel.setObjectName('finishLabel')
-        self.finishLabel.setAlignment(QtCore.Qt.AlignHCenter)
-        self.dialogLayout.addWidget(self.finishLabel, 0, 2, 1, 1)
-        self.lengthLabel = QtGui.QLabel(StartTimeDialog)
-        self.lengthLabel.setObjectName('startLabel')
-        self.lengthLabel.setAlignment(QtCore.Qt.AlignHCenter)
-        self.dialogLayout.addWidget(self.lengthLabel, 0, 3, 1, 1)
-        self.hourLabel = QtGui.QLabel(StartTimeDialog)
-        self.hourLabel.setObjectName('hourLabel')
-        self.dialogLayout.addWidget(self.hourLabel, 1, 0, 1, 1)
-        self.hourSpinBox = QtGui.QSpinBox(StartTimeDialog)
-        self.hourSpinBox.setObjectName('hourSpinBox')
-        self.hourSpinBox.setMinimum(0)
-        self.hourSpinBox.setMaximum(4)
-        self.dialogLayout.addWidget(self.hourSpinBox, 1, 1, 1, 1)
-        self.hourFinishSpinBox = QtGui.QSpinBox(StartTimeDialog)
-        self.hourFinishSpinBox.setObjectName('hourFinishSpinBox')
-        self.hourFinishSpinBox.setMinimum(0)
-        self.hourFinishSpinBox.setMaximum(4)
-        self.dialogLayout.addWidget(self.hourFinishSpinBox, 1, 2, 1, 1)
-        self.hourFinishLabel = QtGui.QLabel(StartTimeDialog)
-        self.hourFinishLabel.setObjectName('hourLabel')
-        self.hourFinishLabel.setAlignment(QtCore.Qt.AlignRight)
-        self.dialogLayout.addWidget(self.hourFinishLabel, 1, 3, 1, 1)
-        self.minuteLabel = QtGui.QLabel(StartTimeDialog)
-        self.minuteLabel.setObjectName('minuteLabel')
-        self.dialogLayout.addWidget(self.minuteLabel, 2, 0, 1, 1)
-        self.minuteSpinBox = QtGui.QSpinBox(StartTimeDialog)
-        self.minuteSpinBox.setObjectName('minuteSpinBox')
-        self.minuteSpinBox.setMinimum(0)
-        self.minuteSpinBox.setMaximum(59)
-        self.dialogLayout.addWidget(self.minuteSpinBox, 2, 1, 1, 1)
-        self.minuteFinishSpinBox = QtGui.QSpinBox(StartTimeDialog)
-        self.minuteFinishSpinBox.setObjectName('minuteFinishSpinBox')
-        self.minuteFinishSpinBox.setMinimum(0)
-        self.minuteFinishSpinBox.setMaximum(59)
-        self.dialogLayout.addWidget(self.minuteFinishSpinBox, 2, 2, 1, 1)
-        self.minuteFinishLabel = QtGui.QLabel(StartTimeDialog)
-        self.minuteFinishLabel.setObjectName('minuteLabel')
-        self.minuteFinishLabel.setAlignment(QtCore.Qt.AlignRight)
-        self.dialogLayout.addWidget(self.minuteFinishLabel, 2, 3, 1, 1)
-        self.secondLabel = QtGui.QLabel(StartTimeDialog)
-        self.secondLabel.setObjectName('secondLabel')
-        self.dialogLayout.addWidget(self.secondLabel, 3, 0, 1, 1)
-        self.secondSpinBox = QtGui.QSpinBox(StartTimeDialog)
-        self.secondSpinBox.setObjectName('secondSpinBox')
-        self.secondSpinBox.setMinimum(0)
-        self.secondSpinBox.setMaximum(59)
-        self.secondFinishSpinBox = QtGui.QSpinBox(StartTimeDialog)
-        self.secondFinishSpinBox.setObjectName('secondFinishSpinBox')
-        self.secondFinishSpinBox.setMinimum(0)
-        self.secondFinishSpinBox.setMaximum(59)
-        self.dialogLayout.addWidget(self.secondFinishSpinBox, 3, 2, 1, 1)
-        self.secondFinishLabel = QtGui.QLabel(StartTimeDialog)
-        self.secondFinishLabel.setObjectName('secondLabel')
-        self.secondFinishLabel.setAlignment(QtCore.Qt.AlignRight)
-        self.dialogLayout.addWidget(self.secondFinishLabel, 3, 3, 1, 1)
-        self.dialogLayout.addWidget(self.secondSpinBox, 3, 1, 1, 1)
+        self.dialog_layout = QtGui.QGridLayout(StartTimeDialog)
+        self.dialog_layout.setObjectName('dialog_layout')
+        self.start_label = QtGui.QLabel(StartTimeDialog)
+        self.start_label.setObjectName('start_label')
+        self.start_label.setAlignment(QtCore.Qt.AlignHCenter)
+        self.dialog_layout.addWidget(self.start_label, 0, 1, 1, 1)
+        self.finish_label = QtGui.QLabel(StartTimeDialog)
+        self.finish_label.setObjectName('finish_label')
+        self.finish_label.setAlignment(QtCore.Qt.AlignHCenter)
+        self.dialog_layout.addWidget(self.finish_label, 0, 2, 1, 1)
+        self.length_label = QtGui.QLabel(StartTimeDialog)
+        self.length_label.setObjectName('start_label')
+        self.length_label.setAlignment(QtCore.Qt.AlignHCenter)
+        self.dialog_layout.addWidget(self.length_label, 0, 3, 1, 1)
+        self.hour_label = QtGui.QLabel(StartTimeDialog)
+        self.hour_label.setObjectName('hour_label')
+        self.dialog_layout.addWidget(self.hour_label, 1, 0, 1, 1)
+        self.hour_spin_box = QtGui.QSpinBox(StartTimeDialog)
+        self.hour_spin_box.setObjectName('hour_spin_box')
+        self.hour_spin_box.setMinimum(0)
+        self.hour_spin_box.setMaximum(4)
+        self.dialog_layout.addWidget(self.hour_spin_box, 1, 1, 1, 1)
+        self.hour_finish_spin_box = QtGui.QSpinBox(StartTimeDialog)
+        self.hour_finish_spin_box.setObjectName('hour_finish_spin_box')
+        self.hour_finish_spin_box.setMinimum(0)
+        self.hour_finish_spin_box.setMaximum(4)
+        self.dialog_layout.addWidget(self.hour_finish_spin_box, 1, 2, 1, 1)
+        self.hour_finish_label = QtGui.QLabel(StartTimeDialog)
+        self.hour_finish_label.setObjectName('hour_label')
+        self.hour_finish_label.setAlignment(QtCore.Qt.AlignRight)
+        self.dialog_layout.addWidget(self.hour_finish_label, 1, 3, 1, 1)
+        self.minute_label = QtGui.QLabel(StartTimeDialog)
+        self.minute_label.setObjectName('minute_label')
+        self.dialog_layout.addWidget(self.minute_label, 2, 0, 1, 1)
+        self.minute_spin_box = QtGui.QSpinBox(StartTimeDialog)
+        self.minute_spin_box.setObjectName('minute_spin_box')
+        self.minute_spin_box.setMinimum(0)
+        self.minute_spin_box.setMaximum(59)
+        self.dialog_layout.addWidget(self.minute_spin_box, 2, 1, 1, 1)
+        self.minute_finish_spin_box = QtGui.QSpinBox(StartTimeDialog)
+        self.minute_finish_spin_box.setObjectName('minute_finish_spin_box')
+        self.minute_finish_spin_box.setMinimum(0)
+        self.minute_finish_spin_box.setMaximum(59)
+        self.dialog_layout.addWidget(self.minute_finish_spin_box, 2, 2, 1, 1)
+        self.minute_finish_label = QtGui.QLabel(StartTimeDialog)
+        self.minute_finish_label.setObjectName('minute_label')
+        self.minute_finish_label.setAlignment(QtCore.Qt.AlignRight)
+        self.dialog_layout.addWidget(self.minute_finish_label, 2, 3, 1, 1)
+        self.second_label = QtGui.QLabel(StartTimeDialog)
+        self.second_label.setObjectName('second_label')
+        self.dialog_layout.addWidget(self.second_label, 3, 0, 1, 1)
+        self.second_spin_box = QtGui.QSpinBox(StartTimeDialog)
+        self.second_spin_box.setObjectName('second_spin_box')
+        self.second_spin_box.setMinimum(0)
+        self.second_spin_box.setMaximum(59)
+        self.second_finish_spin_box = QtGui.QSpinBox(StartTimeDialog)
+        self.second_finish_spin_box.setObjectName('second_finish_spin_box')
+        self.second_finish_spin_box.setMinimum(0)
+        self.second_finish_spin_box.setMaximum(59)
+        self.dialog_layout.addWidget(self.second_finish_spin_box, 3, 2, 1, 1)
+        self.second_finish_label = QtGui.QLabel(StartTimeDialog)
+        self.second_finish_label.setObjectName('second_label')
+        self.second_finish_label.setAlignment(QtCore.Qt.AlignRight)
+        self.dialog_layout.addWidget(self.second_finish_label, 3, 3, 1, 1)
+        self.dialog_layout.addWidget(self.second_spin_box, 3, 1, 1, 1)
         self.button_box = create_button_box(StartTimeDialog, 'button_box', ['cancel', 'ok'])
-        self.dialogLayout.addWidget(self.button_box, 5, 2, 1, 2)
+        self.dialog_layout.addWidget(self.button_box, 5, 2, 1, 2)
         self.retranslateUi(StartTimeDialog)
         self.setMaximumHeight(self.sizeHint().height())
 
@@ -119,16 +119,16 @@
         """
         Update the translations on the fly
         """
-        self.setWindowTitle(translate('OpenLP.StartTimeForm', 'Item Start and Finish Time'))
-        self.hourSpinBox.setSuffix(UiStrings().Hours)
-        self.minuteSpinBox.setSuffix(UiStrings().Minutes)
-        self.secondSpinBox.setSuffix(UiStrings().Seconds)
-        self.hourFinishSpinBox.setSuffix(UiStrings().Hours)
-        self.minuteFinishSpinBox.setSuffix(UiStrings().Minutes)
-        self.secondFinishSpinBox.setSuffix(UiStrings().Seconds)
-        self.hourLabel.setText(translate('OpenLP.StartTimeForm', 'Hours:'))
-        self.minuteLabel.setText(translate('OpenLP.StartTimeForm', 'Minutes:'))
-        self.secondLabel.setText(translate('OpenLP.StartTimeForm', 'Seconds:'))
-        self.startLabel.setText(translate('OpenLP.StartTimeForm', 'Start'))
-        self.finishLabel.setText(translate('OpenLP.StartTimeForm', 'Finish'))
-        self.lengthLabel.setText(translate('OpenLP.StartTimeForm', 'Length'))
+        self.setWindowTitle(translate('OpenLP.StartTime_form', 'Item Start and Finish Time'))
+        self.hour_spin_box.setSuffix(UiStrings().Hours)
+        self.minute_spin_box.setSuffix(UiStrings().Minutes)
+        self.second_spin_box.setSuffix(UiStrings().Seconds)
+        self.hour_finish_spin_box.setSuffix(UiStrings().Hours)
+        self.minute_finish_spin_box.setSuffix(UiStrings().Minutes)
+        self.second_finish_spin_box.setSuffix(UiStrings().Seconds)
+        self.hour_label.setText(translate('OpenLP.StartTime_form', 'Hours:'))
+        self.minute_label.setText(translate('OpenLP.StartTime_form', 'Minutes:'))
+        self.second_label.setText(translate('OpenLP.StartTime_form', 'Seconds:'))
+        self.start_label.setText(translate('OpenLP.StartTime_form', 'Start'))
+        self.finish_label.setText(translate('OpenLP.StartTime_form', 'Finish'))
+        self.length_label.setText(translate('OpenLP.StartTime_form', 'Length'))

=== modified file 'openlp/core/ui/starttimeform.py'
--- openlp/core/ui/starttimeform.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/starttimeform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -54,32 +54,34 @@
         Run the Dialog with correct heading.
         """
         hour, minutes, seconds = self._time_split(self.item['service_item'].start_time)
-        self.hourSpinBox.setValue(hour)
-        self.minuteSpinBox.setValue(minutes)
-        self.secondSpinBox.setValue(seconds)
+        self.hour_spin_box.setValue(hour)
+        self.minute_spin_box.setValue(minutes)
+        self.second_spin_box.setValue(seconds)
         hours, minutes, seconds = self._time_split(self.item['service_item'].media_length)
-        self.hourFinishSpinBox.setValue(hours)
-        self.minuteFinishSpinBox.setValue(minutes)
-        self.secondFinishSpinBox.setValue(seconds)
-        self.hourFinishLabel.setText('%s%s' % (str(hour), UiStrings().Hours))
-        self.minuteFinishLabel.setText('%s%s' % (str(minutes), UiStrings().Minutes))
-        self.secondFinishLabel.setText('%s%s' % (str(seconds), UiStrings().Seconds))
+        self.hour_finish_spin_box.setValue(hours)
+        self.minute_finish_spin_box.setValue(minutes)
+        self.second_finish_spin_box.setValue(seconds)
+        self.hour_finish_label.setText('%s%s' % (str(hour), UiStrings().Hours))
+        self.minute_finish_label.setText('%s%s' % (str(minutes), UiStrings().Minutes))
+        self.second_finish_label.setText('%s%s' % (str(seconds), UiStrings().Seconds))
         return QtGui.QDialog.exec_(self)
 
     def accept(self):
         """
         When the dialog succeeds, this is run
         """
-        start = self.hourSpinBox.value() * 3600 + self.minuteSpinBox.value() * 60 + self.secondSpinBox.value()
-        end = self.hourFinishSpinBox.value() * 3600 + \
-            self.minuteFinishSpinBox.value() * 60 + self.secondFinishSpinBox.value()
+        start = self.hour_spin_box.value() * 3600 + self.minute_spin_box.value() * 60 + self.second_spin_box.value()
+        end = self.hour_finish_spin_box.value() * 3600 + \
+            self.minute_finish_spin_box.value() * 60 + self.second_finish_spin_box.value()
         if end > self.item['service_item'].media_length:
-            critical_error_message_box(title=translate('OpenLP.StartTimeForm', 'Time Validation Error'),
-                message=translate('OpenLP.StartTimeForm', 'Finish time is set after the end of the media item'))
+            critical_error_message_box(title=translate('OpenLP.StartTime_form', 'Time Validation Error'),
+                                       message=translate('OpenLP.StartTime_form', 
+                                                         'Finish time is set after the end of the media item'))
             return
         elif start > end:
-            critical_error_message_box(title=translate('OpenLP.StartTimeForm', 'Time Validation Error'),
-                message=translate('OpenLP.StartTimeForm', 'Start time is after the finish time of the media item'))
+            critical_error_message_box(title=translate('OpenLP.StartTime_form', 'Time Validation Error'),
+                                       message=translate('OpenLP.StartTime_form', 
+                                                         'Start time is after the finish time of the media item'))
             return
         self.item['service_item'].start_time = start
         self.item['service_item'].end_time = end

=== modified file 'openlp/core/ui/themeform.py'
--- openlp/core/ui/themeform.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/themeform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -62,7 +62,7 @@
         super(ThemeForm, self).__init__(parent)
         self.setupUi(self)
         self.registerFields()
-        self.updateThemeAllowed = True
+        self.update_theme_allowed = True
         self.temp_background_filename = ''
         self.themeLayoutForm = ThemeLayoutForm(self)
         self.backgroundComboBox.currentIndexChanged.connect(self.onBackgroundComboBoxCurrentIndexChanged)
@@ -222,7 +222,7 @@
         """
         Change state as Outline check box changed
         """
-        if self.updateThemeAllowed:
+        if self.update_theme_allowed:
             self.theme.font_main_outline = state == QtCore.Qt.Checked
             self.outlineColorButton.setEnabled(self.theme.font_main_outline)
             self.outlineSizeSpinBox.setEnabled(self.theme.font_main_outline)
@@ -232,7 +232,7 @@
         """
         Change state as Shadow check box changed
         """
-        if self.updateThemeAllowed:
+        if self.update_theme_allowed:
             if state == QtCore.Qt.Checked:
                 self.theme.font_main_shadow = True
             else:
@@ -246,7 +246,7 @@
         Change state as Main Area Position check box changed
         NOTE the font_main_override is the inverse of the check box value
         """
-        if self.updateThemeAllowed:
+        if self.update_theme_allowed:
             self.theme.font_main_override = not (value == QtCore.Qt.Checked)
 
     def onFooterPositionCheckBoxStateChanged(self, value):
@@ -254,7 +254,7 @@
         Change state as Footer Area Position check box changed
         NOTE the font_footer_override is the inverse of the check box value
         """
-        if self.updateThemeAllowed:
+        if self.update_theme_allowed:
             self.theme.font_footer_override = not (value == QtCore.Qt.Checked)
 
     def exec_(self, edit=False):
@@ -263,9 +263,9 @@
         """
         log.debug('Editing theme %s' % self.theme.theme_name)
         self.temp_background_filename = ''
-        self.updateThemeAllowed = False
+        self.update_theme_allowed = False
         self.setDefaults()
-        self.updateThemeAllowed = True
+        self.update_theme_allowed = True
         self.themeNameLabel.setVisible(not edit)
         self.themeNameEdit.setVisible(not edit)
         self.edit_mode = edit
@@ -383,7 +383,7 @@
         Background style Combo box has changed.
         """
         # do not allow updates when screen is building for the first time.
-        if self.updateThemeAllowed:
+        if self.update_theme_allowed:
             self.theme.background_type = BackgroundType.to_string(index)
             if self.theme.background_type != BackgroundType.to_string(BackgroundType.Image) and \
                     self.temp_background_filename == '':
@@ -399,7 +399,7 @@
         """
         Background gradient Combo box has changed.
         """
-        if self.updateThemeAllowed:
+        if self.update_theme_allowed:
             self.theme.background_direction = BackgroundGradientType.to_string(index)
             self.setBackgroundPageValues()
 
@@ -482,7 +482,7 @@
         Update the theme object from the UI for fields not already updated
         when the are changed.
         """
-        if not self.updateThemeAllowed:
+        if not self.update_theme_allowed:
             return
         log.debug('updateTheme')
         # main page

=== modified file 'openlp/core/ui/themelayoutdialog.py'
--- openlp/core/ui/themelayoutdialog.py	2013-10-13 21:07:28 +0000
+++ openlp/core/ui/themelayoutdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/themelayoutform.py'
--- openlp/core/ui/themelayoutform.py	2013-08-31 18:17:38 +0000
+++ openlp/core/ui/themelayoutform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/thememanager.py'
--- openlp/core/ui/thememanager.py	2013-12-06 19:00:55 +0000
+++ openlp/core/ui/thememanager.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/thememanagerhelper.py'
--- openlp/core/ui/thememanagerhelper.py	2013-10-23 19:25:46 +0000
+++ openlp/core/ui/thememanagerhelper.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/themestab.py'
--- openlp/core/ui/themestab.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/themestab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/themewizard.py'
--- openlp/core/ui/themewizard.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/themewizard.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/ui/wizard.py'
--- openlp/core/ui/wizard.py	2013-10-13 20:36:42 +0000
+++ openlp/core/ui/wizard.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/utils/__init__.py'
--- openlp/core/utils/__init__.py	2013-12-20 19:25:42 +0000
+++ openlp/core/utils/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/utils/actions.py'
--- openlp/core/utils/actions.py	2013-10-13 20:36:42 +0000
+++ openlp/core/utils/actions.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/core/utils/languagemanager.py'
--- openlp/core/utils/languagemanager.py	2013-10-13 21:07:28 +0000
+++ openlp/core/utils/languagemanager.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/__init__.py'
--- openlp/plugins/__init__.py	2013-01-01 16:33:41 +0000
+++ openlp/plugins/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/alerts/__init__.py'
--- openlp/plugins/alerts/__init__.py	2013-04-18 17:17:00 +0000
+++ openlp/plugins/alerts/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/alerts/alertsplugin.py'
--- openlp/plugins/alerts/alertsplugin.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/alerts/alertsplugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/alerts/forms/__init__.py'
--- openlp/plugins/alerts/forms/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/alerts/forms/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/alerts/forms/alertdialog.py'
--- openlp/plugins/alerts/forms/alertdialog.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/alerts/forms/alertdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/alerts/forms/alertform.py'
--- openlp/plugins/alerts/forms/alertform.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/alerts/forms/alertform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/alerts/lib/__init__.py'
--- openlp/plugins/alerts/lib/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/alerts/lib/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/alerts/lib/alertsmanager.py'
--- openlp/plugins/alerts/lib/alertsmanager.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/alerts/lib/alertsmanager.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/alerts/lib/alertstab.py'
--- openlp/plugins/alerts/lib/alertstab.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/alerts/lib/alertstab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/alerts/lib/db.py'
--- openlp/plugins/alerts/lib/db.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/alerts/lib/db.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/__init__.py'
--- openlp/plugins/bibles/__init__.py	2013-07-18 19:28:35 +0000
+++ openlp/plugins/bibles/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/bibleplugin.py'
--- openlp/plugins/bibles/bibleplugin.py	2013-10-02 21:07:20 +0000
+++ openlp/plugins/bibles/bibleplugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/forms/__init__.py'
--- openlp/plugins/bibles/forms/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/bibles/forms/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/forms/bibleimportform.py'
--- openlp/plugins/bibles/forms/bibleimportform.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/bibles/forms/bibleimportform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/forms/bibleupgradeform.py'
--- openlp/plugins/bibles/forms/bibleupgradeform.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/bibles/forms/bibleupgradeform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/forms/booknamedialog.py'
--- openlp/plugins/bibles/forms/booknamedialog.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/bibles/forms/booknamedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/forms/booknameform.py'
--- openlp/plugins/bibles/forms/booknameform.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/bibles/forms/booknameform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/forms/editbibledialog.py'
--- openlp/plugins/bibles/forms/editbibledialog.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/bibles/forms/editbibledialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/forms/editbibleform.py'
--- openlp/plugins/bibles/forms/editbibleform.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/bibles/forms/editbibleform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/forms/languagedialog.py'
--- openlp/plugins/bibles/forms/languagedialog.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/bibles/forms/languagedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/forms/languageform.py'
--- openlp/plugins/bibles/forms/languageform.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/bibles/forms/languageform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/lib/__init__.py'
--- openlp/plugins/bibles/lib/__init__.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/bibles/lib/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -207,7 +207,7 @@
             source_string = source_string.replace(character, '\\' + character)
         # add various unicode alternatives
         source_string = source_string.replace('-',
-            '(?:[-\u00AD\u2010\u2011\u2012\u2013\u2014\u2212\uFE63\uFF0D])')
+            '(?:[-\u00AD\u2010\u2011\u2012\u2014\u2014\u2212\uFE63\uFF0D])')
         source_string = source_string.replace(',', '(?:[,\u201A])')
         REFERENCE_SEPARATORS['sep_%s' % role] = '\s*(?:%s)\s*' % source_string
         REFERENCE_SEPARATORS['sep_%s_default' % role] = default_separators[index]

=== modified file 'openlp/plugins/bibles/lib/biblestab.py'
--- openlp/plugins/bibles/lib/biblestab.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/bibles/lib/biblestab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/lib/csvbible.py'
--- openlp/plugins/bibles/lib/csvbible.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/bibles/lib/csvbible.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/lib/db.py'
--- openlp/plugins/bibles/lib/db.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/bibles/lib/db.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/lib/http.py'
--- openlp/plugins/bibles/lib/http.py	2013-11-16 21:24:18 +0000
+++ openlp/plugins/bibles/lib/http.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/lib/manager.py'
--- openlp/plugins/bibles/lib/manager.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/bibles/lib/manager.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
--- openlp/plugins/bibles/lib/mediaitem.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/bibles/lib/mediaitem.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/lib/opensong.py'
--- openlp/plugins/bibles/lib/opensong.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/bibles/lib/opensong.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/lib/osis.py'
--- openlp/plugins/bibles/lib/osis.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/bibles/lib/osis.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/lib/upgrade.py'
--- openlp/plugins/bibles/lib/upgrade.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/bibles/lib/upgrade.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/bibles/lib/versereferencelist.py'
--- openlp/plugins/bibles/lib/versereferencelist.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/bibles/lib/versereferencelist.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/custom/__init__.py'
--- openlp/plugins/custom/__init__.py	2013-01-05 22:17:30 +0000
+++ openlp/plugins/custom/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/custom/customplugin.py'
--- openlp/plugins/custom/customplugin.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/custom/customplugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -42,35 +42,33 @@
 log = logging.getLogger(__name__)
 
 __default_settings__ = {
-        'custom/db type': 'sqlite',
-        'custom/last search type':  CustomSearch.Titles,
-        'custom/display footer': True,
-        'custom/add custom from service': True
+    'custom/db type': 'sqlite',
+    'custom/last search type':  CustomSearch.Titles,
+    'custom/display footer': True,
+    'custom/add custom from service': True
 }
 
 
 class CustomPlugin(Plugin):
     """
-    This plugin enables the user to create, edit and display
-    custom slide shows. Custom shows are divided into slides.
+    This plugin enables the user to create, edit and display custom slide shows. Custom shows are divided into slides.
     Each show is able to have it's own theme.
-    Custom shows are designed to replace the use of songs where
-    the songs plugin has become restrictive. Examples could be
-    Welcome slides, Bible Reading information, Orders of service.
+    Custom shows are designed to replace the use of songs where the songs plugin has become restrictive.
+    Examples could be Welcome slides, Bible Reading information, Orders of service.
     """
     log.info('Custom Plugin loaded')
 
     def __init__(self):
         super(CustomPlugin, self).__init__('custom', __default_settings__, CustomMediaItem, CustomTab)
         self.weight = -5
-        self.manager = Manager('custom', init_schema)
+        self.db_manager = Manager('custom', init_schema)
         self.icon_path = ':/plugins/plugin_custom.png'
         self.icon = build_icon(self.icon_path)
 
     def about(self):
         about_text = translate('CustomPlugin', '<strong>Custom Slide Plugin </strong><br />The custom slide 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.')
+                               '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 uses_theme(self, theme):
@@ -79,11 +77,11 @@
 
         Returns True if the theme is being used, otherwise returns False.
         """
-        if self.manager.get_all_objects(CustomSlide, CustomSlide.theme_name == theme):
+        if self.db_manager.get_all_objects(CustomSlide, CustomSlide.theme_name == theme):
             return True
         return False
 
-    def rename_theme(self, oldTheme, newTheme):
+    def rename_theme(self, old_theme, new_theme):
         """
         Renames a theme the custom plugin is using making the plugin use the
         new name.
@@ -94,10 +92,10 @@
         ``newTheme``
             The new name the plugin should now use.
         """
-        customs_using_theme = self.manager.get_all_objects(CustomSlide, CustomSlide.theme_name == oldTheme)
+        customs_using_theme = self.db_manager.get_all_objects(CustomSlide, CustomSlide.theme_name == old_theme)
         for custom in customs_using_theme:
-            custom.theme_name = newTheme
-            self.manager.save_object(custom)
+            custom.theme_name = new_theme
+            self.db_manager.save_object(custom)
 
     def set_plugin_text_strings(self):
         """
@@ -130,5 +128,5 @@
         Time to tidy up on exit
         """
         log.info('Custom Finalising')
-        self.manager.finalise()
+        self.db_manager.finalise()
         Plugin.finalise(self)

=== modified file 'openlp/plugins/custom/forms/__init__.py'
--- openlp/plugins/custom/forms/__init__.py	2013-03-28 20:03:58 +0000
+++ openlp/plugins/custom/forms/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/custom/forms/editcustomdialog.py'
--- openlp/plugins/custom/forms/editcustomdialog.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/custom/forms/editcustomdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -70,14 +70,14 @@
         self.edit_all_button.setObjectName('edit_all_button')
         self.button_layout.addWidget(self.edit_all_button)
         self.delete_button = create_button(custom_edit_dialog, 'delete_button', role='delete',
-            click=custom_edit_dialog.on_delete_button_clicked)
+                                           click=custom_edit_dialog.on_delete_button_clicked)
         self.delete_button.setEnabled(False)
         self.button_layout.addWidget(self.delete_button)
         self.button_layout.addStretch()
         self.up_button = create_button(custom_edit_dialog, 'up_button', role='up', enabled=False,
-            click=custom_edit_dialog.on_up_button_clicked)
+                                       click=custom_edit_dialog.on_up_button_clicked)
         self.down_button = create_button(custom_edit_dialog, 'down_button', role='down', enabled=False,
-            click=custom_edit_dialog.on_down_button_clicked)
+                                         click=custom_edit_dialog.on_down_button_clicked)
         self.button_layout.addWidget(self.up_button)
         self.button_layout.addWidget(self.down_button)
         self.central_layout.addLayout(self.button_layout)

=== modified file 'openlp/plugins/custom/forms/editcustomform.py'
--- openlp/plugins/custom/forms/editcustomform.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/custom/forms/editcustomform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -82,7 +82,7 @@
         Called when editing or creating a new custom.
 
         ``id``
-            The cutom's id. If zero, then a new custom is created.
+            The custom's id. If zero, then a new custom is created.
 
         ``preview``
             States whether the custom is edited while being previewed in the
@@ -98,8 +98,8 @@
             self.custom_slide = self.manager.get_object(CustomSlide, id)
             self.title_edit.setText(self.custom_slide.title)
             self.credit_edit.setText(self.custom_slide.credits)
-            custom_XML = CustomXMLParser(self.custom_slide.text)
-            slide_list = custom_XML.get_verses()
+            custom_xml = CustomXMLParser(self.custom_slide.text)
+            slide_list = custom_xml.get_verses()
             self.slide_list_view.addItems([slide[1] for slide in slide_list])
             theme = self.custom_slide.theme_name
             find_and_set_in_combo_box(self.theme_combo_box, theme)
@@ -136,22 +136,22 @@
         """
         Move a slide up in the list when the "Up" button is clicked.
         """
-        selectedRow = self.slide_list_view.currentRow()
-        if selectedRow != 0:
-            qw = self.slide_list_view.takeItem(selectedRow)
-            self.slide_list_view.insertItem(selectedRow - 1, qw)
-            self.slide_list_view.setCurrentRow(selectedRow - 1)
+        selected_row = self.slide_list_view.currentRow()
+        if selected_row != 0:
+            qw = self.slide_list_view.takeItem(selected_row)
+            self.slide_list_view.insertItem(selected_row - 1, qw)
+            self.slide_list_view.setCurrentRow(selected_row - 1)
 
     def on_down_button_clicked(self):
         """
         Move a slide down in the list when the "Down" button is clicked.
         """
-        selectedRow = self.slide_list_view.currentRow()
+        selected_row = self.slide_list_view.currentRow()
         # zero base arrays
-        if selectedRow != self.slide_list_view.count() - 1:
-            qw = self.slide_list_view.takeItem(selectedRow)
-            self.slide_list_view.insertItem(selectedRow + 1, qw)
-            self.slide_list_view.setCurrentRow(selectedRow + 1)
+        if selected_row != self.slide_list_view.count() - 1:
+            qw = self.slide_list_view.takeItem(selected_row)
+            self.slide_list_view.insertItem(selected_row + 1, qw)
+            self.slide_list_view.setCurrentRow(selected_row + 1)
 
     def on_add_button_clicked(self):
         """
@@ -256,6 +256,6 @@
         # We must have at least one slide.
         if self.slide_list_view.count() == 0:
             critical_error_message_box(message=translate('CustomPlugin.EditCustomForm',
-                'You need to add at least one slide.'))
+                                                         'You need to add at least one slide.'))
             return False
         return True

=== modified file 'openlp/plugins/custom/forms/editcustomslidedialog.py'
--- openlp/plugins/custom/forms/editcustomslidedialog.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/custom/forms/editcustomslidedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -55,4 +55,4 @@
         self.split_button.setToolTip(UiStrings().SplitToolTip)
         self.insert_button.setText(translate('CustomPlugin.EditCustomForm', 'Insert Slide'))
         self.insert_button.setToolTip(translate('CustomPlugin.EditCustomForm',
-            'Split a slide into two by inserting a slide splitter.'))
+                                                'Split a slide into two by inserting a slide splitter.'))

=== modified file 'openlp/plugins/custom/forms/editcustomslideform.py'
--- openlp/plugins/custom/forms/editcustomslideform.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/custom/forms/editcustomslideform.py	2013-12-26 09:01:49 +0000
@@ -5,8 +5,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/custom/lib/__init__.py'
--- openlp/plugins/custom/lib/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/custom/lib/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/custom/lib/customtab.py'
--- openlp/plugins/custom/lib/customtab.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/custom/lib/customtab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -67,7 +67,7 @@
         self.custom_mode_group_box.setTitle(translate('CustomPlugin.CustomTab', 'Custom Display'))
         self.display_footer_check_box.setText(translate('CustomPlugin.CustomTab', 'Display footer'))
         self.add_from_service_checkbox.setText(translate('CustomPlugin.CustomTab',
-            'Import missing custom slides from service files'))
+                                               'Import missing custom slides from service files'))
 
     def on_display_footer_check_box_changed(self, check_state):
         """

=== modified file 'openlp/plugins/custom/lib/customxmlhandler.py'
--- openlp/plugins/custom/lib/customxmlhandler.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/custom/lib/customxmlhandler.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/custom/lib/db.py'
--- openlp/plugins/custom/lib/db.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/custom/lib/db.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -37,6 +37,7 @@
 from openlp.core.lib.db import BaseModel, init_db
 from openlp.core.utils import get_locale_key
 
+
 class CustomSlide(BaseModel):
     """
     CustomSlide model
@@ -65,11 +66,11 @@
     session, metadata = init_db(url)
 
     custom_slide_table = Table('custom_slide', metadata,
-        Column('id', types.Integer(), primary_key=True),
-        Column('title', types.Unicode(255), nullable=False),
-        Column('text', types.UnicodeText, nullable=False),
-        Column('credits', types.UnicodeText),
-        Column('theme_name', types.Unicode(128))
+                               Column('id', types.Integer(), primary_key=True),
+                               Column('title', types.Unicode(255), nullable=False),
+                               Column('text', types.UnicodeText, nullable=False),
+                               Column('credits', types.UnicodeText),
+                               Column('theme_name', types.Unicode(128))
     )
 
     mapper(CustomSlide, custom_slide_table)

=== modified file 'openlp/plugins/custom/lib/mediaitem.py'
--- openlp/plugins/custom/lib/mediaitem.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/custom/lib/mediaitem.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -33,8 +33,8 @@
 from sqlalchemy.sql import or_, func, and_
 
 from openlp.core.common import Settings, UiStrings, translate
-from openlp.core.lib import Registry, MediaManagerItem, ItemCapabilities, ServiceItemContext, PluginStatus,\
-   check_item_selected
+from openlp.core.lib import Registry, MediaManagerItem, ItemCapabilities, ServiceItemContext, PluginStatus, \
+    check_item_selected
 from openlp.plugins.custom.forms.editcustomform import EditCustomForm
 from openlp.plugins.custom.lib import CustomXMLParser, CustomXMLBuilder
 from openlp.plugins.custom.lib.db import CustomSlide
@@ -64,14 +64,13 @@
         """
         Do some additional setup.
         """
-        self.edit_custom_form = EditCustomForm(self, self.main_window, self.plugin.manager)
+        self.edit_custom_form = EditCustomForm(self, self.main_window, self.plugin.db_manager)
         self.single_service_item = False
         self.quick_preview_allowed = True
         self.has_search = True
         # Holds information about whether the edit is remotely triggered and
         # which Custom is required.
         self.remote_custom = -1
-        self.manager = self.plugin.manager
 
     def add_end_header_bar(self):
         self.toolbar.addSeparator()
@@ -79,7 +78,7 @@
         # Signals and slots
         QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL('cleared()'), self.on_clear_text_button_click)
         QtCore.QObject.connect(self.search_text_edit, QtCore.SIGNAL('searchTypeChanged(int)'),
-            self.on_search_text_button_clicked)
+                               self.on_search_text_button_clicked)
         Registry().register_function('custom_load_list', self.load_list)
         Registry().register_function('custom_preview', self.on_preview_click)
         Registry().register_function('custom_create_from_service', self.create_from_service_item)
@@ -96,14 +95,14 @@
         self.search_text_button.setText(UiStrings().Search)
 
     def initialise(self):
-        self.search_text_edit.set_search_types([
-            (CustomSearch.Titles, ':/songs/song_search_title.png',
-            translate('SongsPlugin.MediaItem', 'Titles'),
-            translate('SongsPlugin.MediaItem', 'Search Titles...')),
-            (CustomSearch.Themes, ':/slides/slide_theme.png', UiStrings().Themes, UiStrings().SearchThemes)
-        ])
+        self.search_text_edit.set_search_types([(CustomSearch.Titles, ':/songs/song_search_title.png',
+                                                translate('SongsPlugin.MediaItem', 'Titles'),
+                                                translate('SongsPlugin.MediaItem', 'Search Titles...')),
+                                                (CustomSearch.Themes, ':/slides/slide_theme.png', UiStrings().Themes,
+                                                UiStrings().SearchThemes)
+                                                ])
         self.search_text_edit.set_current_search_type(Settings().value('%s/last search type' % self.settings_section))
-        self.load_list(self.manager.get_all_objects(CustomSlide, order_by_ref=CustomSlide.title))
+        self.load_list(self.plugin.db_manager.get_all_objects(CustomSlide, order_by_ref=CustomSlide.title))
         self.config_update()
 
     def load_list(self, custom_slides, target_group=None):
@@ -135,7 +134,7 @@
         indicator to say which type of display is required.
         """
         custom_id = int(custom_id)
-        valid = self.manager.get_object(CustomSlide, custom_id)
+        valid = self.plugin.db_manager.get_object(CustomSlide, custom_id)
         if valid:
             self.edit_custom_form.load_custom(custom_id, preview)
             if self.edit_custom_form.exec_() == QtGui.QDialog.Accepted:
@@ -168,26 +167,27 @@
         """
         if check_item_selected(self.list_view, UiStrings().SelectDelete):
             items = self.list_view.selectedIndexes()
-            if QtGui.QMessageBox.question(self,
-                    UiStrings().ConfirmDelete,
-                    translate('CustomPlugin.MediaItem',
-                        'Are you sure you want to delete the %n selected custom slide(s)?', '',
-                    QtCore.QCoreApplication.CodecForTr, len(items)),
-                    QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes | QtGui.QMessageBox.No),
-                    QtGui.QMessageBox.Yes) == QtGui.QMessageBox.No:
+            if QtGui.QMessageBox.question(self, UiStrings().ConfirmDelete,
+                                          translate('CustomPlugin.MediaItem',
+                                                    'Are you sure you want to delete the %n selected custom slide(s)?',
+                                                    '',
+                                          QtCore.QCoreApplication.CodecForTr, len(items)),
+                                          QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Yes
+                                                  | QtGui.QMessageBox.No),
+                                          QtGui.QMessageBox.Yes) == QtGui.QMessageBox.No:
                 return
             row_list = [item.row() for item in self.list_view.selectedIndexes()]
             row_list.sort(reverse=True)
             id_list = [(item.data(QtCore.Qt.UserRole)) for item in self.list_view.selectedIndexes()]
             for id in id_list:
-                self.plugin.manager.delete_object(CustomSlide, id)
+                self.plugin.db_manager.delete_object(CustomSlide, id)
             self.on_search_text_button_clicked()
 
     def on_focus(self):
         self.search_text_edit.setFocus()
 
-    def generate_slide_data(self, service_item, item=None, xmlVersion=False,
-        remote=False, context=ServiceItemContext.Service):
+    def generate_slide_data(self, service_item, item=None, xml_version=False,
+                            remote=False, context=ServiceItemContext.Service):
         """
         Generate the slide data. Needs to be implemented by the plugin.
         """
@@ -197,7 +197,7 @@
         service_item.add_capability(ItemCapabilities.CanLoop)
         service_item.add_capability(ItemCapabilities.CanSoftBreak)
         service_item.add_capability(ItemCapabilities.OnLoadUpdate)
-        custom_slide = self.plugin.manager.get_object(CustomSlide, item_id)
+        custom_slide = self.plugin.db_manager.get_object(CustomSlide, item_id)
         title = custom_slide.title
         credit = custom_slide.credits
         service_item.edit_id = item_id
@@ -217,22 +217,25 @@
         return True
 
     def on_search_text_button_clicked(self):
+        """
+        Search the plugin database
+        """
         # Save the current search type to the configuration.
         Settings().setValue('%s/last search type' % self.settings_section, self.search_text_edit.current_search_type())
         # Reload the list considering the new search type.
-        search_keywords = self.search_text_edit.displayText()
         search_type = self.search_text_edit.current_search_type()
+        search_keywords = '%' + self.whitespace.sub(' ', self.search_text_edit.displayText()) + '%'
         if search_type == CustomSearch.Titles:
             log.debug('Titles Search')
-            search_results = self.plugin.manager.get_all_objects(CustomSlide,
-                CustomSlide.title.like('%' + self.whitespace.sub(' ', search_keywords) + '%'),
-                    order_by_ref=CustomSlide.title)
+            search_results = self.plugin.db_manager.get_all_objects(CustomSlide,
+                                                                    CustomSlide.title.like(search_keywords),
+                                                                    order_by_ref=CustomSlide.title)
             self.load_list(search_results)
         elif search_type == CustomSearch.Themes:
             log.debug('Theme Search')
-            search_results = self.plugin.manager.get_all_objects(CustomSlide,
-                CustomSlide.theme_name.like('%' + self.whitespace.sub(' ', search_keywords) + '%'),
-                    order_by_ref=CustomSlide.title)
+            search_results = self.plugin.db_manager.get_all_objects(CustomSlide,
+                                                                    CustomSlide.theme_name.like(search_keywords),
+                                                                    order_by_ref=CustomSlide.title)
             self.load_list(search_results)
         self.check_search_result()
 
@@ -249,14 +252,15 @@
 
     def service_load(self, item):
         """
-        Triggered by a song being loaded by the service manager.
+        Triggered by a custom item being loaded by the service manager.
         """
         log.debug('service_load')
         if self.plugin.status != PluginStatus.Active:
             return
-        custom = self.plugin.manager.get_object_filtered(CustomSlide,
-            and_(CustomSlide.title == item.title, CustomSlide.theme_name == item.theme,
-                CustomSlide.credits == item.raw_footer[0][len(item.title) + 1:]))
+        custom = self.plugin.db_manager.get_object_filtered(CustomSlide, and_(CustomSlide.title == item.title,
+                                                                              CustomSlide.theme_name == item.theme,
+                                                                              CustomSlide.credits ==
+                                                                              item.raw_footer[0][len(item.title) + 1:]))
         if custom:
             item.edit_id = custom.id
             return item
@@ -286,7 +290,7 @@
         for (idx, slide) in enumerate(item._raw_frames):
             custom_xml.add_verse_to_lyrics('custom', str(idx + 1), slide['raw_slide'])
         custom.text = str(custom_xml.extract_xml(), 'utf-8')
-        self.plugin.manager.save_object(custom)
+        self.plugin.db_manager.save_object(custom)
         self.on_search_text_button_clicked()
 
     def on_clear_text_button_click(self):
@@ -296,10 +300,14 @@
         self.search_text_edit.clear()
         self.on_search_text_button_clicked()
 
-    def search(self, string, showError):
-        search_results = self.manager.get_all_objects(CustomSlide,
-            or_(func.lower(CustomSlide.title).like('%' + string.lower() + '%'),
-                func.lower(CustomSlide.text).like('%' + string.lower() + '%')),
-            order_by_ref=CustomSlide.title)
+    def search(self, string, show_error):
+        """
+        Search the database for a given item.
+        """
+        search = '%' + string.lower() + '%'
+        search_results = self.plugin.db_manager.get_all_objects(CustomSlide,
+                                                                or_(func.lower(CustomSlide.title).like(search),
+                                                                    func.lower(CustomSlide.text).like(search)),
+                                                                order_by_ref=CustomSlide.title)
         return [[custom.id, custom.title] for custom in search_results]
 

=== modified file 'openlp/plugins/images/__init__.py'
--- openlp/plugins/images/__init__.py	2013-04-19 19:03:16 +0000
+++ openlp/plugins/images/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/images/forms/__init__.py'
--- openlp/plugins/images/forms/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/images/forms/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/images/forms/addgroupdialog.py'
--- openlp/plugins/images/forms/addgroupdialog.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/images/forms/addgroupdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/images/forms/addgroupform.py'
--- openlp/plugins/images/forms/addgroupform.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/images/forms/addgroupform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/images/forms/choosegroupdialog.py'
--- openlp/plugins/images/forms/choosegroupdialog.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/images/forms/choosegroupdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/images/forms/choosegroupform.py'
--- openlp/plugins/images/forms/choosegroupform.py	2013-07-18 14:40:40 +0000
+++ openlp/plugins/images/forms/choosegroupform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/images/imageplugin.py'
--- openlp/plugins/images/imageplugin.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/images/imageplugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/images/lib/__init__.py'
--- openlp/plugins/images/lib/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/images/lib/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/images/lib/db.py'
--- openlp/plugins/images/lib/db.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/images/lib/db.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/images/lib/imagetab.py'
--- openlp/plugins/images/lib/imagetab.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/images/lib/imagetab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/images/lib/mediaitem.py'
--- openlp/plugins/images/lib/mediaitem.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/images/lib/mediaitem.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/media/__init__.py'
--- openlp/plugins/media/__init__.py	2013-07-18 19:28:35 +0000
+++ openlp/plugins/media/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/media/lib/__init__.py'
--- openlp/plugins/media/lib/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/media/lib/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/media/lib/mediaitem.py'
--- openlp/plugins/media/lib/mediaitem.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/media/lib/mediaitem.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/media/lib/mediatab.py'
--- openlp/plugins/media/lib/mediatab.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/media/lib/mediatab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/media/mediaplugin.py'
--- openlp/plugins/media/mediaplugin.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/media/mediaplugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/__init__.py'
--- openlp/plugins/presentations/__init__.py	2013-04-19 18:52:39 +0000
+++ openlp/plugins/presentations/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/lib/__init__.py'
--- openlp/plugins/presentations/lib/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/presentations/lib/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/lib/impresscontroller.py'
--- openlp/plugins/presentations/lib/impresscontroller.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/presentations/lib/impresscontroller.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/lib/mediaitem.py'
--- openlp/plugins/presentations/lib/mediaitem.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/presentations/lib/mediaitem.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/lib/messagelistener.py'
--- openlp/plugins/presentations/lib/messagelistener.py	2013-12-07 17:35:06 +0000
+++ openlp/plugins/presentations/lib/messagelistener.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/lib/powerpointcontroller.py'
--- openlp/plugins/presentations/lib/powerpointcontroller.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/presentations/lib/powerpointcontroller.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/lib/pptviewcontroller.py'
--- openlp/plugins/presentations/lib/pptviewcontroller.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/presentations/lib/pptviewcontroller.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/lib/pptviewlib/README.TXT'
--- openlp/plugins/presentations/lib/pptviewlib/README.TXT	2012-12-29 20:56:56 +0000
+++ openlp/plugins/presentations/lib/pptviewlib/README.TXT	2013-12-26 09:01:49 +0000
@@ -1,6 +1,6 @@
 
 PPTVIEWLIB - Control PowerPoint Viewer 2003/2007 (for openlp.org)
-Copyright (C) 2008-2013 Jonathan Corwin (j@xxxxxxxxxxxx)
+Copyright (C) 2008-2014 Jonathan Corwin (j@xxxxxxxxxxxx)
 
 This library wrappers the free Microsoft PowerPoint Viewer (2003/2007) program,
 allowing it to be more easily controlled from another program.

=== modified file 'openlp/plugins/presentations/lib/pptviewlib/ppttest.py'
--- openlp/plugins/presentations/lib/pptviewlib/ppttest.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/presentations/lib/pptviewlib/ppttest.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/lib/pptviewlib/pptviewlib.cpp'
--- openlp/plugins/presentations/lib/pptviewlib/pptviewlib.cpp	2012-12-29 20:56:56 +0000
+++ openlp/plugins/presentations/lib/pptviewlib/pptviewlib.cpp	2013-12-26 09:01:49 +0000
@@ -1,8 +1,8 @@
 /******************************************************************************
 * OpenLP - Open Source Lyrics Projection                                      *
 * --------------------------------------------------------------------------- *
-* Copyright (c) 2008-2013 Raoul Snyman                                        *
-* Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      *
+* Copyright (c) 2008-2014 Raoul Snyman                                        *
+* Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      *
 * Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      *
 * Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   *
 * Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          *

=== modified file 'openlp/plugins/presentations/lib/pptviewlib/pptviewlib.h'
--- openlp/plugins/presentations/lib/pptviewlib/pptviewlib.h	2012-12-29 20:56:56 +0000
+++ openlp/plugins/presentations/lib/pptviewlib/pptviewlib.h	2013-12-26 09:01:49 +0000
@@ -1,8 +1,8 @@
 /******************************************************************************
 * OpenLP - Open Source Lyrics Projection                                      *
 * --------------------------------------------------------------------------- *
-* Copyright (c) 2008-2013 Raoul Snyman                                        *
-* Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      *
+* Copyright (c) 2008-2014 Raoul Snyman                                        *
+* Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      *
 * Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      *
 * Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   *
 * Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          *

=== modified file 'openlp/plugins/presentations/lib/presentationcontroller.py'
--- openlp/plugins/presentations/lib/presentationcontroller.py	2013-12-07 17:35:06 +0000
+++ openlp/plugins/presentations/lib/presentationcontroller.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/lib/presentationtab.py'
--- openlp/plugins/presentations/lib/presentationtab.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/presentations/lib/presentationtab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/presentations/presentationplugin.py'
--- openlp/plugins/presentations/presentationplugin.py	2013-10-13 21:07:28 +0000
+++ openlp/plugins/presentations/presentationplugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/remotes/__init__.py'
--- openlp/plugins/remotes/__init__.py	2013-07-18 19:28:35 +0000
+++ openlp/plugins/remotes/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/remotes/html/index.html'
--- openlp/plugins/remotes/html/index.html	2012-12-29 20:56:56 +0000
+++ openlp/plugins/remotes/html/index.html	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/remotes/html/main.css'
--- openlp/plugins/remotes/html/main.css	2013-07-12 18:13:06 +0000
+++ openlp/plugins/remotes/html/main.css	2013-12-26 09:01:49 +0000
@@ -1,8 +1,8 @@
 /******************************************************************************
 * OpenLP - Open Source Lyrics Projection                                      *
 * --------------------------------------------------------------------------- *
-* Copyright (c) 2008-2013 Raoul Snyman                                        *
-* Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      *
+* Copyright (c) 2008-2014 Raoul Snyman                                        *
+* Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      *
 * Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      *
 * Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   *
 * Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          *

=== modified file 'openlp/plugins/remotes/html/main.html'
--- openlp/plugins/remotes/html/main.html	2013-07-12 18:13:06 +0000
+++ openlp/plugins/remotes/html/main.html	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/remotes/html/main.js'
--- openlp/plugins/remotes/html/main.js	2013-07-12 18:13:06 +0000
+++ openlp/plugins/remotes/html/main.js	2013-12-26 09:01:49 +0000
@@ -1,8 +1,8 @@
 /******************************************************************************
  * OpenLP - Open Source Lyrics Projection                                      *
  * --------------------------------------------------------------------------- *
- * Copyright (c) 2008-2013 Raoul Snyman                                        *
- * Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      *
+ * Copyright (c) 2008-2014 Raoul Snyman                                        *
+ * Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      *
  * Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      *
  * Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   *
  * Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          *

=== modified file 'openlp/plugins/remotes/html/openlp.css'
--- openlp/plugins/remotes/html/openlp.css	2013-03-15 08:40:00 +0000
+++ openlp/plugins/remotes/html/openlp.css	2013-12-26 09:01:49 +0000
@@ -1,8 +1,8 @@
 /******************************************************************************
 * OpenLP - Open Source Lyrics Projection                                      *
 * --------------------------------------------------------------------------- *
-* Copyright (c) 2008-2013 Raoul Snyman                                        *
-* Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      *
+* Copyright (c) 2008-2014 Raoul Snyman                                        *
+* Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      *
 * Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      *
 * Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   *
 * Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          *

=== modified file 'openlp/plugins/remotes/html/openlp.js'
--- openlp/plugins/remotes/html/openlp.js	2013-09-14 18:46:49 +0000
+++ openlp/plugins/remotes/html/openlp.js	2013-12-26 09:01:49 +0000
@@ -1,8 +1,8 @@
 /******************************************************************************
  * OpenLP - Open Source Lyrics Projection                                      *
  * --------------------------------------------------------------------------- *
- * Copyright (c) 2008-2013 Raoul Snyman                                        *
- * Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      *
+ * Copyright (c) 2008-2014 Raoul Snyman                                        *
+ * Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      *
  * Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      *
  * Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   *
  * Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          *

=== modified file 'openlp/plugins/remotes/html/stage.css'
--- openlp/plugins/remotes/html/stage.css	2012-12-29 20:56:56 +0000
+++ openlp/plugins/remotes/html/stage.css	2013-12-26 09:01:49 +0000
@@ -1,8 +1,8 @@
 /******************************************************************************
 * OpenLP - Open Source Lyrics Projection                                      *
 * --------------------------------------------------------------------------- *
-* Copyright (c) 2008-2013 Raoul Snyman                                        *
-* Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      *
+* Copyright (c) 2008-2014 Raoul Snyman                                        *
+* Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      *
 * Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      *
 * Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   *
 * Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          *

=== modified file 'openlp/plugins/remotes/html/stage.html'
--- openlp/plugins/remotes/html/stage.html	2012-12-29 20:56:56 +0000
+++ openlp/plugins/remotes/html/stage.html	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/remotes/html/stage.js'
--- openlp/plugins/remotes/html/stage.js	2013-09-14 18:46:49 +0000
+++ openlp/plugins/remotes/html/stage.js	2013-12-26 09:01:49 +0000
@@ -1,8 +1,8 @@
 /******************************************************************************
  * OpenLP - Open Source Lyrics Projection                                      *
  * --------------------------------------------------------------------------- *
- * Copyright (c) 2008-2013 Raoul Snyman                                        *
- * Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      *
+ * Copyright (c) 2008-2014 Raoul Snyman                                        *
+ * Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      *
  * Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      *
  * Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   *
  * Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          *

=== modified file 'openlp/plugins/remotes/lib/__init__.py'
--- openlp/plugins/remotes/lib/__init__.py	2013-09-11 21:06:17 +0000
+++ openlp/plugins/remotes/lib/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/remotes/lib/httprouter.py'
--- openlp/plugins/remotes/lib/httprouter.py	2013-11-14 20:33:46 +0000
+++ openlp/plugins/remotes/lib/httprouter.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/remotes/lib/httpserver.py'
--- openlp/plugins/remotes/lib/httpserver.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/remotes/lib/httpserver.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/remotes/lib/remotetab.py'
--- openlp/plugins/remotes/lib/remotetab.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/remotes/lib/remotetab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/remotes/remoteplugin.py'
--- openlp/plugins/remotes/remoteplugin.py	2013-09-14 19:16:14 +0000
+++ openlp/plugins/remotes/remoteplugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/__init__.py'
--- openlp/plugins/songs/__init__.py	2013-01-05 22:17:30 +0000
+++ openlp/plugins/songs/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/__init__.py'
--- openlp/plugins/songs/forms/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/forms/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/authorsdialog.py'
--- openlp/plugins/songs/forms/authorsdialog.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/forms/authorsdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/authorsform.py'
--- openlp/plugins/songs/forms/authorsform.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/forms/authorsform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/duplicatesongremovalform.py'
--- openlp/plugins/songs/forms/duplicatesongremovalform.py	2013-10-13 15:52:04 +0000
+++ openlp/plugins/songs/forms/duplicatesongremovalform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/editsongdialog.py'
--- openlp/plugins/songs/forms/editsongdialog.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/forms/editsongdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/editsongform.py'
--- openlp/plugins/songs/forms/editsongform.py	2013-11-16 20:32:50 +0000
+++ openlp/plugins/songs/forms/editsongform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/editversedialog.py'
--- openlp/plugins/songs/forms/editversedialog.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/forms/editversedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/editverseform.py'
--- openlp/plugins/songs/forms/editverseform.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/forms/editverseform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/mediafilesdialog.py'
--- openlp/plugins/songs/forms/mediafilesdialog.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/forms/mediafilesdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/mediafilesform.py'
--- openlp/plugins/songs/forms/mediafilesform.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/forms/mediafilesform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/songbookdialog.py'
--- openlp/plugins/songs/forms/songbookdialog.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/forms/songbookdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/songbookform.py'
--- openlp/plugins/songs/forms/songbookform.py	2013-03-14 22:22:18 +0000
+++ openlp/plugins/songs/forms/songbookform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/songexportform.py'
--- openlp/plugins/songs/forms/songexportform.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/forms/songexportform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/songimportform.py'
--- openlp/plugins/songs/forms/songimportform.py	2013-11-16 20:32:50 +0000
+++ openlp/plugins/songs/forms/songimportform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/songmaintenancedialog.py'
--- openlp/plugins/songs/forms/songmaintenancedialog.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/forms/songmaintenancedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/songmaintenanceform.py'
--- openlp/plugins/songs/forms/songmaintenanceform.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/forms/songmaintenanceform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/songreviewwidget.py'
--- openlp/plugins/songs/forms/songreviewwidget.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/forms/songreviewwidget.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/topicsdialog.py'
--- openlp/plugins/songs/forms/topicsdialog.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/forms/topicsdialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/forms/topicsform.py'
--- openlp/plugins/songs/forms/topicsform.py	2013-03-14 22:22:18 +0000
+++ openlp/plugins/songs/forms/topicsform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/__init__.py'
--- openlp/plugins/songs/lib/__init__.py	2013-10-13 15:52:04 +0000
+++ openlp/plugins/songs/lib/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/cclifileimport.py'
--- openlp/plugins/songs/lib/cclifileimport.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/cclifileimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/db.py'
--- openlp/plugins/songs/lib/db.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/db.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/dreambeamimport.py'
--- openlp/plugins/songs/lib/dreambeamimport.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/dreambeamimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/easyslidesimport.py'
--- openlp/plugins/songs/lib/easyslidesimport.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/easyslidesimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/ewimport.py'
--- openlp/plugins/songs/lib/ewimport.py	2013-09-07 17:33:36 +0000
+++ openlp/plugins/songs/lib/ewimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/foilpresenterimport.py'
--- openlp/plugins/songs/lib/foilpresenterimport.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/foilpresenterimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/importer.py'
--- openlp/plugins/songs/lib/importer.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/importer.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/mediaitem.py'
--- openlp/plugins/songs/lib/mediaitem.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/mediaitem.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/mediashoutimport.py'
--- openlp/plugins/songs/lib/mediashoutimport.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/mediashoutimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/olpimport.py'
--- openlp/plugins/songs/lib/olpimport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/olpimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/oooimport.py'
--- openlp/plugins/songs/lib/oooimport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/oooimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/openlyricsexport.py'
--- openlp/plugins/songs/lib/openlyricsexport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/openlyricsexport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/openlyricsimport.py'
--- openlp/plugins/songs/lib/openlyricsimport.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/openlyricsimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/opensongimport.py'
--- openlp/plugins/songs/lib/opensongimport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/opensongimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/powersongimport.py'
--- openlp/plugins/songs/lib/powersongimport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/powersongimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/sofimport.py'
--- openlp/plugins/songs/lib/sofimport.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/sofimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/songbeamerimport.py'
--- openlp/plugins/songs/lib/songbeamerimport.py	2013-10-06 22:07:49 +0000
+++ openlp/plugins/songs/lib/songbeamerimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/songcompare.py'
--- openlp/plugins/songs/lib/songcompare.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/songcompare.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/songimport.py'
--- openlp/plugins/songs/lib/songimport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/songimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
@@ -44,6 +44,7 @@
 
 log = logging.getLogger(__name__)
 
+
 class SongImport(QtCore.QObject):
     """
     Helper class for import a song from a third party source into OpenLP

=== modified file 'openlp/plugins/songs/lib/songproimport.py'
--- openlp/plugins/songs/lib/songproimport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/songproimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/songshowplusimport.py'
--- openlp/plugins/songs/lib/songshowplusimport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/songshowplusimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/songstab.py'
--- openlp/plugins/songs/lib/songstab.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/songstab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/sundayplusimport.py'
--- openlp/plugins/songs/lib/sundayplusimport.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/sundayplusimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/test/test_import_file.py'
--- openlp/plugins/songs/lib/test/test_import_file.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/test/test_import_file.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/test/test_importing_lots.py'
--- openlp/plugins/songs/lib/test/test_importing_lots.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/test/test_importing_lots.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/ui.py'
--- openlp/plugins/songs/lib/ui.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/ui.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/upgrade.py'
--- openlp/plugins/songs/lib/upgrade.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songs/lib/upgrade.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/worshipcenterproimport.py'
--- openlp/plugins/songs/lib/worshipcenterproimport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/worshipcenterproimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/wowimport.py'
--- openlp/plugins/songs/lib/wowimport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/wowimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/xml.py'
--- openlp/plugins/songs/lib/xml.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/xml.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/lib/zionworximport.py'
--- openlp/plugins/songs/lib/zionworximport.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/lib/zionworximport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songs/songsplugin.py'
--- openlp/plugins/songs/songsplugin.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songs/songsplugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songusage/__init__.py'
--- openlp/plugins/songusage/__init__.py	2013-04-19 18:52:39 +0000
+++ openlp/plugins/songusage/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songusage/forms/__init__.py'
--- openlp/plugins/songusage/forms/__init__.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songusage/forms/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songusage/forms/songusagedeletedialog.py'
--- openlp/plugins/songusage/forms/songusagedeletedialog.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songusage/forms/songusagedeletedialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songusage/forms/songusagedeleteform.py'
--- openlp/plugins/songusage/forms/songusagedeleteform.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songusage/forms/songusagedeleteform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songusage/forms/songusagedetaildialog.py'
--- openlp/plugins/songusage/forms/songusagedetaildialog.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songusage/forms/songusagedetaildialog.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songusage/forms/songusagedetailform.py'
--- openlp/plugins/songusage/forms/songusagedetailform.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songusage/forms/songusagedetailform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songusage/lib/__init__.py'
--- openlp/plugins/songusage/lib/__init__.py	2013-01-01 16:33:41 +0000
+++ openlp/plugins/songusage/lib/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songusage/lib/db.py'
--- openlp/plugins/songusage/lib/db.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songusage/lib/db.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songusage/lib/upgrade.py'
--- openlp/plugins/songusage/lib/upgrade.py	2013-08-31 18:17:38 +0000
+++ openlp/plugins/songusage/lib/upgrade.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'openlp/plugins/songusage/songusageplugin.py'
--- openlp/plugins/songusage/songusageplugin.py	2013-10-13 20:36:42 +0000
+++ openlp/plugins/songusage/songusageplugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'resources/__init__.py'
--- resources/__init__.py	2013-07-18 19:28:35 +0000
+++ resources/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'resources/pyinstaller/hook-openlp.core.ui.media.py'
--- resources/pyinstaller/hook-openlp.core.ui.media.py	2013-07-18 19:28:35 +0000
+++ resources/pyinstaller/hook-openlp.core.ui.media.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py'
--- resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py	2013-07-18 19:28:35 +0000
+++ resources/pyinstaller/hook-openlp.plugins.presentations.presentationplugin.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'resources/pyinstaller/hook-openlp.py'
--- resources/pyinstaller/hook-openlp.py	2013-07-18 19:28:35 +0000
+++ resources/pyinstaller/hook-openlp.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'scripts/check_dependencies.py'
--- scripts/check_dependencies.py	2013-10-03 19:56:12 +0000
+++ scripts/check_dependencies.py	2013-12-26 09:01:49 +0000
@@ -5,8 +5,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'scripts/generate_resources.sh'
--- scripts/generate_resources.sh	2013-03-30 16:05:49 +0000
+++ scripts/generate_resources.sh	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'scripts/resources.patch'
--- scripts/resources.patch	2013-03-12 08:53:50 +0000
+++ scripts/resources.patch	2013-12-26 09:01:49 +0000
@@ -1,6 +1,6 @@
 === modified file 'openlp/core/resources.py'
---- openlp/core/resources.py    2013-03-12 08:44:54 +0000
-+++ openlp/core/resources.py    2013-03-12 08:45:42 +0000
+--- openlp/core/resources.py    2014-03-12 08:44:54 +0000
++++ openlp/core/resources.py    2014-03-12 08:45:42 +0000
 @@ -1,10 +1,35 @@
  # -*- coding: utf-8 -*-
 -
@@ -14,8 +14,8 @@
 +###############################################################################
 +# OpenLP - Open Source Lyrics Projection                                      #
 +# --------------------------------------------------------------------------- #
-+# Copyright (c) 2008-2013 Raoul Snyman                                        #
-+# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
++# Copyright (c) 2008-2014 Raoul Snyman                                        #
++# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 +# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 +# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 +# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'scripts/translation_utils.py'
--- scripts/translation_utils.py	2013-09-08 13:17:14 +0000
+++ scripts/translation_utils.py	2013-12-26 09:01:49 +0000
@@ -5,8 +5,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Edwin Lunando, Joshua Miller, Stevan Pettit,  #
 # Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout,      #

=== modified file 'setup.py'
--- setup.py	2013-09-07 01:40:48 +0000
+++ setup.py	2013-12-26 09:01:49 +0000
@@ -5,8 +5,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Edwin Lunando, Joshua Miller, Stevan Pettit,  #
 # Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout,      #

=== modified file 'tests/functional/openlp_core_common/__init__.py'
--- tests/functional/openlp_core_common/__init__.py	2013-10-23 19:25:46 +0000
+++ tests/functional/openlp_core_common/__init__.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_common/test_applocation.py'
--- tests/functional/openlp_core_common/test_applocation.py	2013-10-23 19:25:46 +0000
+++ tests/functional/openlp_core_common/test_applocation.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_common/test_settings.py'
--- tests/functional/openlp_core_common/test_settings.py	2013-10-23 18:49:39 +0000
+++ tests/functional/openlp_core_common/test_settings.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_common/test_uistrings.py'
--- tests/functional/openlp_core_common/test_uistrings.py	2013-10-13 20:36:42 +0000
+++ tests/functional/openlp_core_common/test_uistrings.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_lib/test_db.py'
--- tests/functional/openlp_core_lib/test_db.py	2013-09-19 21:02:28 +0000
+++ tests/functional/openlp_core_lib/test_db.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_lib/test_formattingtags.py'
--- tests/functional/openlp_core_lib/test_formattingtags.py	2013-10-13 20:36:42 +0000
+++ tests/functional/openlp_core_lib/test_formattingtags.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_lib/test_htmlbuilder.py'
--- tests/functional/openlp_core_lib/test_htmlbuilder.py	2013-11-16 21:04:16 +0000
+++ tests/functional/openlp_core_lib/test_htmlbuilder.py	2013-12-26 09:01:49 +0000
@@ -233,8 +233,8 @@
         """
         # GIVEN: Mocked arguments.
         item = MagicMock()
-        item.themedata.background_start_color = '#000000'
-        item.themedata.background_end_color = '#FFFFFF'
+        item.theme_data.background_start_color = '#000000'
+        item.theme_data.background_end_color = '#FFFFFF'
         width = 10
 
         # WHEN: Create the css.
@@ -254,9 +254,9 @@
             mocked_build_lyrics_outline_css.return_value = ''
             item = MagicMock()
             item.main = QtCore.QRect(10, 20, 10, 20)
-            item.themedata.font_main_shadow = True
-            item.themedata.font_main_shadow_color = '#000000'
-            item.themedata.font_main_shadow_size = 5
+            item.theme_data.font_main_shadow = True
+            item.theme_data.font_main_shadow_color = '#000000'
+            item.theme_data.font_main_shadow_size = 5
 
             # WHEN: Create the css.
             css = build_lyrics_css(item)
@@ -305,20 +305,20 @@
         assert LYRICS_FORMAT_CSS == css, 'The lyrics format css should be equal.'
 
     def build_footer_css_test(self):
-       """
-       Test the build_footer_css() function
-       """
-       # GIVEN: Create a theme.
-       item = MagicMock()
-       item.footer = QtCore.QRect(10, 921, 1260, 103)
-       item.themedata.font_footer_name = 'Arial'
-       item.themedata.font_footer_size = 12
-       item.themedata.font_footer_color = '#FFFFFF'
-       height = 1024
-
-       # WHEN: create the css.
-       css = build_footer_css(item, height)
-
-       # THEN: THE css should be the same.
-       assert FOOTER_CSS == css, 'The footer strings should be equal.'
+        """
+        Test the build_footer_css() function
+        """
+        # GIVEN: Create a theme.
+        item = MagicMock()
+        item.footer = QtCore.QRect(10, 921, 1260, 103)
+        item.theme_data.font_footer_name = 'Arial'
+        item.theme_data.font_footer_size = 12
+        item.theme_data.font_footer_color = '#FFFFFF'
+        height = 1024
+
+        # WHEN: create the css.
+        css = build_footer_css(item, height)
+
+        # THEN: THE css should be the same.
+        assert FOOTER_CSS == css, 'The footer strings should be equal.'
 

=== modified file 'tests/functional/openlp_core_lib/test_image_manager.py'
--- tests/functional/openlp_core_lib/test_image_manager.py	2013-10-11 09:48:35 +0000
+++ tests/functional/openlp_core_lib/test_image_manager.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_lib/test_lib.py'
--- tests/functional/openlp_core_lib/test_lib.py	2013-10-13 20:36:42 +0000
+++ tests/functional/openlp_core_lib/test_lib.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_lib/test_pluginmanager.py'
--- tests/functional/openlp_core_lib/test_pluginmanager.py	2013-10-13 20:36:42 +0000
+++ tests/functional/openlp_core_lib/test_pluginmanager.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_lib/test_registry.py'
--- tests/functional/openlp_core_lib/test_registry.py	2013-10-02 21:37:00 +0000
+++ tests/functional/openlp_core_lib/test_registry.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_lib/test_screen.py'
--- tests/functional/openlp_core_lib/test_screen.py	2013-10-02 21:37:00 +0000
+++ tests/functional/openlp_core_lib/test_screen.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_lib/test_serviceitem.py'
--- tests/functional/openlp_core_lib/test_serviceitem.py	2013-10-11 10:13:04 +0000
+++ tests/functional/openlp_core_lib/test_serviceitem.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_lib/test_theme.py'
--- tests/functional/openlp_core_lib/test_theme.py	2013-12-06 19:09:29 +0000
+++ tests/functional/openlp_core_lib/test_theme.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_ui/tests_formattingtagscontroller.py'
--- tests/functional/openlp_core_ui/tests_formattingtagscontroller.py	2013-10-04 20:36:02 +0000
+++ tests/functional/openlp_core_ui/tests_formattingtagscontroller.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_ui/tests_formattingtagsform.py'
--- tests/functional/openlp_core_ui/tests_formattingtagsform.py	2013-10-04 20:36:02 +0000
+++ tests/functional/openlp_core_ui/tests_formattingtagsform.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_utils/test_actions.py'
--- tests/functional/openlp_core_utils/test_actions.py	2013-10-13 20:36:42 +0000
+++ tests/functional/openlp_core_utils/test_actions.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_core_utils/test_utils.py'
--- tests/functional/openlp_core_utils/test_utils.py	2013-12-20 19:25:42 +0000
+++ tests/functional/openlp_core_utils/test_utils.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/bibles/test_http.py'
--- tests/functional/openlp_plugins/bibles/test_http.py	2013-11-16 21:24:18 +0000
+++ tests/functional/openlp_plugins/bibles/test_http.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/bibles/test_lib.py'
--- tests/functional/openlp_plugins/bibles/test_lib.py	2013-09-19 21:02:28 +0000
+++ tests/functional/openlp_plugins/bibles/test_lib.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/bibles/test_versereferencelist.py'
--- tests/functional/openlp_plugins/bibles/test_versereferencelist.py	2013-10-02 21:37:00 +0000
+++ tests/functional/openlp_plugins/bibles/test_versereferencelist.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/images/test_lib.py'
--- tests/functional/openlp_plugins/images/test_lib.py	2013-10-02 21:07:20 +0000
+++ tests/functional/openlp_plugins/images/test_lib.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/presentations/test_mediaitem.py'
--- tests/functional/openlp_plugins/presentations/test_mediaitem.py	2013-10-02 21:07:20 +0000
+++ tests/functional/openlp_plugins/presentations/test_mediaitem.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/presentations/test_presentationcontroller.py'
--- tests/functional/openlp_plugins/presentations/test_presentationcontroller.py	2013-10-27 20:33:58 +0000
+++ tests/functional/openlp_plugins/presentations/test_presentationcontroller.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/remotes/test_remotetab.py'
--- tests/functional/openlp_plugins/remotes/test_remotetab.py	2013-11-08 18:26:27 +0000
+++ tests/functional/openlp_plugins/remotes/test_remotetab.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/remotes/test_router.py'
--- tests/functional/openlp_plugins/remotes/test_router.py	2013-12-20 19:25:42 +0000
+++ tests/functional/openlp_plugins/remotes/test_router.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/songs/test_ewimport.py'
--- tests/functional/openlp_plugins/songs/test_ewimport.py	2013-09-19 21:02:28 +0000
+++ tests/functional/openlp_plugins/songs/test_ewimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/songs/test_foilpresenterimport.py'
--- tests/functional/openlp_plugins/songs/test_foilpresenterimport.py	2013-09-19 21:02:28 +0000
+++ tests/functional/openlp_plugins/songs/test_foilpresenterimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/songs/test_lib.py'
--- tests/functional/openlp_plugins/songs/test_lib.py	2013-09-19 21:02:28 +0000
+++ tests/functional/openlp_plugins/songs/test_lib.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/songs/test_songbeamerimport.py'
--- tests/functional/openlp_plugins/songs/test_songbeamerimport.py	2013-10-26 17:31:35 +0000
+++ tests/functional/openlp_plugins/songs/test_songbeamerimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/songs/test_songshowplusimport.py'
--- tests/functional/openlp_plugins/songs/test_songshowplusimport.py	2013-10-10 19:58:52 +0000
+++ tests/functional/openlp_plugins/songs/test_songshowplusimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/functional/openlp_plugins/songs/test_worshipcenterproimport.py'
--- tests/functional/openlp_plugins/songs/test_worshipcenterproimport.py	2013-10-04 21:44:58 +0000
+++ tests/functional/openlp_plugins/songs/test_worshipcenterproimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/helpers/songfileimport.py'
--- tests/helpers/songfileimport.py	2013-10-14 22:05:17 +0000
+++ tests/helpers/songfileimport.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #

=== modified file 'tests/interfaces/openlp_core_ui/test_thememanagerhelper.py'
--- tests/interfaces/openlp_core_ui/test_thememanagerhelper.py	2013-12-06 19:07:02 +0000
+++ tests/interfaces/openlp_core_ui/test_thememanagerhelper.py	2013-12-26 09:01:49 +0000
@@ -4,8 +4,8 @@
 ###############################################################################
 # OpenLP - Open Source Lyrics Projection                                      #
 # --------------------------------------------------------------------------- #
-# Copyright (c) 2008-2013 Raoul Snyman                                        #
-# Portions copyright (c) 2008-2013 Tim Bentley, Gerald Britton, Jonathan      #
+# Copyright (c) 2008-2014 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2014 Tim Bentley, Gerald Britton, Jonathan      #
 # Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
 # Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
 # Joshua Miller, Stevan Pettit, Andreas Preiks