From 1ce88e7a2a852446750c61ee1eb460a002fc0880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Tue, 15 Mar 2011 00:29:02 +0200 Subject: [PATCH 01/13] Prevent possible crash, if label field is empty in database. --- openlp/plugins/songs/forms/editsongform.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 0d9121c45..069e1e4a8 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -269,6 +269,8 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): if index is None: index = VerseType.Other verse[0][u'type'] = VerseType.Tags[index] + if verse[0][u'label'] == u'': + verse[0][u'label'] = u'1' verse_def = u'%s%s' % (verse[0][u'type'], verse[0][u'label']) item = QtGui.QTableWidgetItem(verse[1]) item.setData(QtCore.Qt.UserRole, QtCore.QVariant(verse_def)) From e5b664663a335666b6b509860b53f4392f10e3c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Tue, 15 Mar 2011 01:05:31 +0200 Subject: [PATCH 02/13] Fix tracebacks, if user has no internet connection and he still presses Finish. --- openlp/core/ui/mainwindow.py | 2 ++ openlp/plugins/songs/songsplugin.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 06b809a20..2af6f3e59 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -678,6 +678,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): plugin.firstTime() Receiver.send_message(u'openlp_process_events') temp_dir = os.path.join(unicode(gettempdir()), u'openlp') + if not os.path.isdir(temp_dir): + return for filename in os.listdir(temp_dir): os.remove(os.path.join(temp_dir, filename)) os.removedirs(temp_dir) diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index bd953ffac..1d3f12ede 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -255,6 +255,8 @@ class SongsPlugin(Plugin): """ db_dir = unicode(os.path.join(gettempdir(), u'openlp')) song_dbs = [] + if not os.path.isdir(db_dir): + return for sfile in os.listdir(db_dir): if sfile.startswith(u'songs_') and sfile.endswith(u'.sqlite'): song_dbs.append(os.path.join(db_dir, sfile)) From 077337066221ceaec3ce98a753bc753b8f00633b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Tue, 15 Mar 2011 16:38:16 +0200 Subject: [PATCH 03/13] Fix for #65 --- openlp/core/ui/servicemanager.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index fa2bc50f5..b43463d32 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -556,6 +556,13 @@ class ServiceManager(QtGui.QWidget): log.exception(u'File contains no service data') except (IOError, NameError): log.exception(u'Problem loading service file %s' % fileName) + except zipfile.BadZipfile: + log.exception(u'Service file is corrupt: %s' % fileName) + QtGui.QMessageBox.information(self, + translate('OpenLP.ServiceManager', 'File Is Corrupt'), + translate('OpenLP.ServiceManager', 'This service file is ' + 'either corrupt or is not an OpenLP 2 service file.')) + return finally: if fileTo: fileTo.close() From b502ad549c022fc66e13f194f7eac0f0431a0b10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Wed, 16 Mar 2011 09:55:08 +0200 Subject: [PATCH 04/13] Differentiated error message for zero sized service. --- openlp/core/ui/servicemanager.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index b43463d32..18b9bf8a2 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -557,11 +557,19 @@ class ServiceManager(QtGui.QWidget): except (IOError, NameError): log.exception(u'Problem loading service file %s' % fileName) except zipfile.BadZipfile: - log.exception(u'Service file is corrupt: %s' % fileName) - QtGui.QMessageBox.information(self, - translate('OpenLP.ServiceManager', 'File Is Corrupt'), - translate('OpenLP.ServiceManager', 'This service file is ' - 'either corrupt or is not an OpenLP 2 service file.')) + if os.path.getsize(fileName) == 0: + log.exception(u'Service file is zero sized: %s' % fileName) + QtGui.QMessageBox.information(self, + translate('OpenLP.ServiceManager', 'File Is Empty'), + translate('OpenLP.ServiceManager', 'This service file is ' + 'zero size and does not contain any data.')) + else: + log.exception(u'Service file is cannot be extracted as zip: ' + u'%s' % fileName) + QtGui.QMessageBox.information(self, + translate('OpenLP.ServiceManager', 'File Is Corrupt'), + translate('OpenLP.ServiceManager', 'This service file is ' + 'either corrupt or is not an OpenLP 2 service file.')) return finally: if fileTo: From f73577d7089657a17e7464637217049196281af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Wed, 30 Mar 2011 21:52:58 +0300 Subject: [PATCH 05/13] Undo --- openlp/core/ui/mainwindow.py | 2 -- openlp/plugins/songs/songsplugin.py | 2 -- 2 files changed, 4 deletions(-) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 8d5db87e5..38775d68e 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -694,8 +694,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): plugin.firstTime() Receiver.send_message(u'openlp_process_events') temp_dir = os.path.join(unicode(gettempdir()), u'openlp') - if not os.path.isdir(temp_dir): - return for filename in os.listdir(temp_dir): os.remove(os.path.join(temp_dir, filename)) os.removedirs(temp_dir) diff --git a/openlp/plugins/songs/songsplugin.py b/openlp/plugins/songs/songsplugin.py index 8edac12f7..1260a832b 100644 --- a/openlp/plugins/songs/songsplugin.py +++ b/openlp/plugins/songs/songsplugin.py @@ -231,8 +231,6 @@ class SongsPlugin(Plugin): """ db_dir = unicode(os.path.join(gettempdir(), u'openlp')) song_dbs = [] - if not os.path.isdir(db_dir): - return for sfile in os.listdir(db_dir): if sfile.startswith(u'songs_') and sfile.endswith(u'.sqlite'): song_dbs.append(os.path.join(db_dir, sfile)) From 2e4f576a04125f71ec1f3d1d179b6ed4d5fc42f2 Mon Sep 17 00:00:00 2001 From: Wesley Stout Date: Wed, 30 Mar 2011 15:04:28 -0500 Subject: [PATCH 06/13] fixed errors in mediamanager.rst --- documentation/manual/source/mediamanager.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/manual/source/mediamanager.rst b/documentation/manual/source/mediamanager.rst index 778ae8ccd..3ceeb0370 100644 --- a/documentation/manual/source/mediamanager.rst +++ b/documentation/manual/source/mediamanager.rst @@ -16,8 +16,8 @@ this is what the `Media Manager` looks like with all the plugins enabled. .. image:: pics/mediamanager.png To enable the plugins navigate to :menuselection:`Settings --> Plugins` or -press `F7`. You will want to click on the plugin to the left that you want to -enable and select **active** from the drop down box to the right. +press `Alt+F7`. You will want to click on the plugin to the left that you want +to enable and select **active** from the drop down box to the right. .. image:: pics/plugins.png From beffd0c25c266b05a3fb22c68698ec63169d913f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Thu, 31 Mar 2011 10:31:08 +0300 Subject: [PATCH 07/13] Text fixes by superfly. --- openlp/core/ui/servicemanager.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index d5124ead8..45c7761e9 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -592,16 +592,16 @@ class ServiceManager(QtGui.QWidget): if os.path.getsize(fileName) == 0: log.exception(u'Service file is zero sized: %s' % fileName) QtGui.QMessageBox.information(self, - translate('OpenLP.ServiceManager', 'File Is Empty'), - translate('OpenLP.ServiceManager', 'This service file is ' - 'zero size and does not contain any data.')) + translate('OpenLP.ServiceManager', 'Empty File'), + translate('OpenLP.ServiceManager', 'This service file ' + 'does not contain any data.')) else: log.exception(u'Service file is cannot be extracted as zip: ' u'%s' % fileName) QtGui.QMessageBox.information(self, - translate('OpenLP.ServiceManager', 'File Is Corrupt'), - translate('OpenLP.ServiceManager', 'This service file is ' - 'either corrupt or is not an OpenLP 2 service file.')) + translate('OpenLP.ServiceManager', 'Corrupt File'), + translate('OpenLP.ServiceManager', 'This file is either' + 'corrupt or not an OpenLP 2.0 service file.')) return finally: if fileTo: From 7e12951644132dc702e638257186da28d1a5eb9b Mon Sep 17 00:00:00 2001 From: Wesley Stout Date: Thu, 31 Mar 2011 09:44:42 -0500 Subject: [PATCH 08/13] further corrections to the introduction --- documentation/manual/source/introduction.rst | 19 ++++++++++--------- documentation/manual/source/mediamanager.rst | 2 +- .../manual/source/troubleshooting.rst | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/documentation/manual/source/introduction.rst b/documentation/manual/source/introduction.rst index 6af977518..b236ee578 100644 --- a/documentation/manual/source/introduction.rst +++ b/documentation/manual/source/introduction.rst @@ -13,20 +13,21 @@ hundreds of churches around the world. OpenLP can contain a searchable database of songs and Bible verses allowing them to be projected instantly or saved in a pre-prepared order of service -file. Themes allow for a veriety of presentation options and allow you to add -attractvie visuals to enhance your presentations. PowerPoint and Open Office +file. Themes allow for a variety of presentation options and allow you to add +attractive visuals to enhance your presentations. PowerPoint and OpenOffice presentations, videos, and audio files can be run from within the program removing the need to switch between different programs. Alert messages can be displayed so the nursery or car park stewards can notify the congregation easily. Remote capability allows the worship leader to change songs, or for alert -messages to be sent from anywhere on the network, even via a phone. +messages to be sent from anywhere on the network, even via a smart phone or +tablet. -Being free, this software can be installed on as many PC's as required, even on -the home PC's of worship leaders without additional cost. Compared to the -expensive site licenses and restrictions of commercial software we believe -OpenLP cannot be beat for value. Still in active development by a growing team -of enthusiastic developers, features are being added all the time, meaning the -software just improves all the time. +Being free, this software can be installed on as many PC's as required, +including the home PC's of worship leaders without additional cost. Compared to +the expensive site licenses and restrictions of commercial software we believe +OpenLP is the perfect choice for quality and value. Still in active development +by a growing team of enthusiastic developers, features are being added all the +time, meaning the software just improves all the time. OpenLP is licensed under the GNU Generic Public License, which means that it is free to use, distribute, modify, and it stays free. diff --git a/documentation/manual/source/mediamanager.rst b/documentation/manual/source/mediamanager.rst index 154234873..5ac6849b2 100644 --- a/documentation/manual/source/mediamanager.rst +++ b/documentation/manual/source/mediamanager.rst @@ -17,7 +17,7 @@ this is what the `Media Manager` looks like with all the plugins enabled. To enable the plugins navigate to :menuselection:`Settings --> Plugins` or press :kbd:`Alt+F7`. You will want to click on the plugin to the left that you -want to enable and select **active** from the drop down box to the right. +would like to enable and select **active** from the drop down box to the right. .. image:: pics/plugins.png diff --git a/documentation/manual/source/troubleshooting.rst b/documentation/manual/source/troubleshooting.rst index be205e781..c01b7f629 100644 --- a/documentation/manual/source/troubleshooting.rst +++ b/documentation/manual/source/troubleshooting.rst @@ -114,7 +114,7 @@ to enable them. To enable the plugins navigate to :menuselection:`Settings --> Plugins` or press :kbd:`Alt+F7`. You will want to click on the plugin to the left that you -want to enable and select **active** from the drop down box to the right. +would like to enable and select **active** from the drop down box to the right. .. image:: pics/plugins.png From 94a7a554e04ab0da0aa3a73534edffcf6b37c209 Mon Sep 17 00:00:00 2001 From: Wesley Stout Date: Thu, 31 Mar 2011 10:13:21 -0500 Subject: [PATCH 09/13] further, further corrections to the introduction --- documentation/manual/source/introduction.rst | 25 ++++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/documentation/manual/source/introduction.rst b/documentation/manual/source/introduction.rst index b236ee578..ce723bf60 100644 --- a/documentation/manual/source/introduction.rst +++ b/documentation/manual/source/introduction.rst @@ -5,29 +5,28 @@ Introduction About ----- -OpenLP stands for "Open Source Lyric Projection" and is presentation software +OpenLP stands for "Open Source Lyrics Projection" and is presentation software developed for churches to provide a single easy to use interface for the projection needs of a typical worship service. First created in 2004, it has steadily grown in features and maturity such that is it now a mainstay in hundreds of churches around the world. -OpenLP can contain a searchable database of songs and Bible verses allowing -them to be projected instantly or saved in a pre-prepared order of service -file. Themes allow for a variety of presentation options and allow you to add -attractive visuals to enhance your presentations. PowerPoint and OpenOffice -presentations, videos, and audio files can be run from within the program -removing the need to switch between different programs. Alert messages can be -displayed so the nursery or car park stewards can notify the congregation easily. -Remote capability allows the worship leader to change songs, or for alert -messages to be sent from anywhere on the network, even via a smart phone or -tablet. +OpenLP has a searchable database of songs and Bible verses allowing them to be +projected instantly or saved in a pre-prepared order of service file. Themes +allow for a variety of presentation options and allow you to add attractive +visuals to enhance your presentations. PowerPoint and OpenOffice presentations, +videos, and audio files can be run from within the program removing the need to +switch between different programs. Alert messages can be displayed so the +nursery or car park stewards can notify the congregation easily. Remote +capability allows the worship leader to change songs, or for alert messages to +be sent from anywhere on the network, even via a smart phone or tablet. Being free, this software can be installed on as many PC's as required, -including the home PC's of worship leaders without additional cost. Compared to +including the home PC's of worship leader(s) at mp additional cost. Compared to the expensive site licenses and restrictions of commercial software we believe OpenLP is the perfect choice for quality and value. Still in active development by a growing team of enthusiastic developers, features are being added all the -time, meaning the software just improves all the time. +time, resulting in continual improvement of the software. OpenLP is licensed under the GNU Generic Public License, which means that it is free to use, distribute, modify, and it stays free. From 2cad9d4ca3ebe9cb45b3633395eed3ec6b5bcdd7 Mon Sep 17 00:00:00 2001 From: Wesley Stout Date: Thu, 31 Mar 2011 10:53:57 -0500 Subject: [PATCH 10/13] comma issues... --- documentation/manual/source/introduction.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/manual/source/introduction.rst b/documentation/manual/source/introduction.rst index ce723bf60..2883bef94 100644 --- a/documentation/manual/source/introduction.rst +++ b/documentation/manual/source/introduction.rst @@ -11,7 +11,7 @@ projection needs of a typical worship service. First created in 2004, it has steadily grown in features and maturity such that is it now a mainstay in hundreds of churches around the world. -OpenLP has a searchable database of songs and Bible verses allowing them to be +OpenLP has searchable databases of songs and Bible verses allowing them to be projected instantly or saved in a pre-prepared order of service file. Themes allow for a variety of presentation options and allow you to add attractive visuals to enhance your presentations. PowerPoint and OpenOffice presentations, @@ -22,11 +22,11 @@ capability allows the worship leader to change songs, or for alert messages to be sent from anywhere on the network, even via a smart phone or tablet. Being free, this software can be installed on as many PC's as required, -including the home PC's of worship leader(s) at mp additional cost. Compared to +including the home PC's of worship leader(s) at no additional cost. Compared to the expensive site licenses and restrictions of commercial software we believe OpenLP is the perfect choice for quality and value. Still in active development by a growing team of enthusiastic developers, features are being added all the -time, resulting in continual improvement of the software. +time resulting in continual improvement of the software. OpenLP is licensed under the GNU Generic Public License, which means that it is free to use, distribute, modify, and it stays free. From 19238506ecc04cda8b98b3d22a43181568051886 Mon Sep 17 00:00:00 2001 From: Wesley Stout Date: Thu, 31 Mar 2011 10:57:42 -0500 Subject: [PATCH 11/13] further, further and yet further corrections to the introduction --- documentation/manual/source/introduction.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/manual/source/introduction.rst b/documentation/manual/source/introduction.rst index 2883bef94..7b90651eb 100644 --- a/documentation/manual/source/introduction.rst +++ b/documentation/manual/source/introduction.rst @@ -40,5 +40,5 @@ to charge for the software, and that you have to distribute the source code as well. You can find a copy of the GNU General Public License from the Help menu -selecting about OpenLP or on-line -at: ``_. +selecting about OpenLP or on-line at: +``_. From 0dec5844c8527afa91fc534ddf7303a8c84cfe6a Mon Sep 17 00:00:00 2001 From: Wesley Stout Date: Thu, 31 Mar 2011 13:25:57 -0500 Subject: [PATCH 12/13] further, further and yet further corrections to the introduction... pleads for mercy --- documentation/manual/source/introduction.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/manual/source/introduction.rst b/documentation/manual/source/introduction.rst index 7b90651eb..edf5993be 100644 --- a/documentation/manual/source/introduction.rst +++ b/documentation/manual/source/introduction.rst @@ -14,15 +14,15 @@ hundreds of churches around the world. OpenLP has searchable databases of songs and Bible verses allowing them to be projected instantly or saved in a pre-prepared order of service file. Themes allow for a variety of presentation options and allow you to add attractive -visuals to enhance your presentations. PowerPoint and OpenOffice presentations, -videos, and audio files can be run from within the program removing the need to +visuals to enhance your presentations. PowerPoint and OpenOffice presentations +videos and audio files can be run from within the program removing the need to switch between different programs. Alert messages can be displayed so the nursery or car park stewards can notify the congregation easily. Remote capability allows the worship leader to change songs, or for alert messages to be sent from anywhere on the network, even via a smart phone or tablet. Being free, this software can be installed on as many PC's as required, -including the home PC's of worship leader(s) at no additional cost. Compared to +including the home PCs of worship leader(s) at no additional cost. Compared to the expensive site licenses and restrictions of commercial software we believe OpenLP is the perfect choice for quality and value. Still in active development by a growing team of enthusiastic developers, features are being added all the From b66896ba21c4e7abbfe9a02242918070cb181050 Mon Sep 17 00:00:00 2001 From: Wesley Stout Date: Thu, 31 Mar 2011 13:42:07 -0500 Subject: [PATCH 13/13] further, further and yet further corrections to the introduction... pleads for mercy, again --- documentation/manual/source/introduction.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/manual/source/introduction.rst b/documentation/manual/source/introduction.rst index edf5993be..05ddcb1e3 100644 --- a/documentation/manual/source/introduction.rst +++ b/documentation/manual/source/introduction.rst @@ -14,14 +14,14 @@ hundreds of churches around the world. OpenLP has searchable databases of songs and Bible verses allowing them to be projected instantly or saved in a pre-prepared order of service file. Themes allow for a variety of presentation options and allow you to add attractive -visuals to enhance your presentations. PowerPoint and OpenOffice presentations +visuals to enhance your presentations. PowerPoint and OpenOffice presentations, videos and audio files can be run from within the program removing the need to switch between different programs. Alert messages can be displayed so the nursery or car park stewards can notify the congregation easily. Remote capability allows the worship leader to change songs, or for alert messages to be sent from anywhere on the network, even via a smart phone or tablet. -Being free, this software can be installed on as many PC's as required, +Being free, this software can be installed on as many PCs as required, including the home PCs of worship leader(s) at no additional cost. Compared to the expensive site licenses and restrictions of commercial software we believe OpenLP is the perfect choice for quality and value. Still in active development