This commit is contained in:
Raoul Snyman 2011-03-11 06:51:12 +02:00
commit c4e64dce8d
14 changed files with 539 additions and 56 deletions

View File

@ -349,11 +349,11 @@ class MediaManagerItem(QtGui.QWidget):
Validates whether an image still exists and, if it does, is the
thumbnail representation of the image up to date.
"""
if not os.path.exists(image):
if not os.path.exists(unicode(image)):
return False
if os.path.exists(thumb):
imageDate = os.stat(image).st_mtime
thumbDate = os.stat(thumb).st_mtime
imageDate = os.stat(unicode(image)).st_mtime
thumbDate = os.stat(unicode(thumb)).st_mtime
# If image has been updated rebuild icon
if imageDate > thumbDate:
self.iconFromFile(image, thumb)

View File

@ -516,9 +516,6 @@ class AudioPlayer(QtCore.QObject):
``parent``
The parent widget.
``screens``
The list of screens.
"""
log.debug(u'AudioPlayer Initialisation started')
QtCore.QObject.__init__(self, parent)

View File

@ -415,47 +415,75 @@ class ServiceManager(QtGui.QWidget):
"""
if not self.fileName():
return self.saveFileAs()
else:
fileName = self.fileName()
log.debug(u'ServiceManager.saveFile - %s' % fileName)
SettingsManager.set_last_dir(self.mainwindow.serviceSettingsSection,
split_filename(fileName)[0])
service = []
serviceFileName = fileName.replace(u'.osz', u'.osd')
zip = None
file = None
try:
write_list = []
zip = zipfile.ZipFile(unicode(fileName), 'w')
for item in self.serviceItems:
service.append({u'serviceitem': \
item[u'service_item'].get_service_repr()})
if item[u'service_item'].uses_file():
for frame in item[u'service_item'].get_frames():
if item[u'service_item'].is_image():
path_from = frame[u'path']
else:
path_from = unicode(os.path.join(
frame[u'path'],
frame[u'title']))
# On write a file once
if not path_from in write_list:
write_list.append(path_from)
zip.write(path_from.encode(u'utf-8'))
file = open(serviceFileName, u'wb')
cPickle.dump(service, file)
file.close()
zip.write(serviceFileName.encode(u'utf-8'))
except IOError:
log.exception(u'Failed to save service to disk')
finally:
if file:
file.close()
if zip:
zip.close()
delete_file(serviceFileName)
self.mainwindow.addRecentFile(fileName)
self.setModified(False)
path_file_name = unicode(self.fileName())
(path, file_name) = os.path.split(path_file_name)
(basename, extension) = os.path.splitext(file_name)
service_file_name = basename + '.osd'
log.debug(u'ServiceManager.saveFile - %s' % path_file_name)
SettingsManager.set_last_dir(self.mainwindow.serviceSettingsSection,
path)
service = []
write_list = []
total_size = 0
for item in self.serviceItems:
service.append({u'serviceitem':
item[u'service_item'].get_service_repr()})
if not item[u'service_item'].uses_file():
continue
for frame in item[u'service_item'].get_frames():
if item[u'service_item'].is_image():
path_from = frame[u'path']
else:
path_from = os.path.join(frame[u'path'], frame[u'title'])
# Only write a file once
if path_from in write_list:
continue
file_size = os.path.getsize(path_from)
size_limit = 52428800 # 50MiB
#if file_size > size_limit:
# # File exeeds size_limit bytes, ask user
# message = unicode(translate('OpenLP.ServiceManager',
# 'Do you want to include \n%.1f MB file "%s"\n'
# 'into the service file?\nThis may take some time.\n\n'
# 'Please note that you need to\ntake care of that file'
# ' yourself,\nif you leave it out.')) % \
# (file_size/1048576, os.path.split(path_from)[1])
# ans = QtGui.QMessageBox.question(self.mainwindow,
# translate('OpenLP.ServiceManager', 'Including Large '
# 'File'), message, QtGui.QMessageBox.StandardButtons(
# QtGui.QMessageBox.Ok|QtGui.QMessageBox.Cancel),
# QtGui.QMessageBox.Ok)
# if ans == QtGui.QMessageBox.Cancel:
# continue
write_list.append(path_from)
total_size += file_size
log.debug(u'ServiceManager.saveFile - ZIP contents size is %i bytes' %
total_size)
service_content = cPickle.dumps(service)
# Usual Zip file cannot exceed 2GiB, file with Zip64 cannot be
# extracted using unzip in UNIX.
allow_zip_64 = (total_size > 2147483648 + len(service_content))
log.debug(u'ServiceManager.saveFile - allowZip64 is %s' %
allow_zip_64)
zip = None
try:
zip = zipfile.ZipFile(path_file_name, 'w', zipfile.ZIP_STORED,
allow_zip_64)
# First we add service contents.
# We save ALL filenames into ZIP using UTF-8.
zip.writestr(service_file_name.encode(u'utf-8'),
service_content)
# Finally add all the listed media files.
for path_from in write_list:
zip.write(path_from, path_from.encode(u'utf-8'))
except IOError:
log.exception(u'Failed to save service to disk')
return False
finally:
if zip:
zip.close()
self.mainwindow.addRecentFile(path_file_name)
self.setModified(False)
return True
def saveFileAs(self):

View File

@ -159,15 +159,15 @@ class SongMediaItem(MediaManagerItem):
def onSearchTextButtonClick(self):
search_keywords = unicode(self.searchTextEdit.displayText())
search_results = []
# search_type = self.searchTypeComboBox.currentIndex()
search_type = self.searchTextEdit.currentSearchType()
if search_type == SongSearch.Entire:
log.debug(u'Entire Song Search')
search_results = self.parent.manager.get_all_objects(Song,
or_(Song.search_title.like(u'%' + self.whitespace.sub(u' ',
search_keywords.lower()) + u'%'),
Song.search_lyrics.like(u'%' + search_keywords.lower() + \
u'%')), Song.search_title.asc())
Song.search_lyrics.like(u'%' + search_keywords.lower() + u'%'),
Song.comments.like(u'%' + search_keywords.lower() + u'%')),
Song.search_title.asc())
self.displayResultsSong(search_results)
elif search_type == SongSearch.Titles:
log.debug(u'Titles Search')
@ -253,11 +253,13 @@ class SongMediaItem(MediaManagerItem):
if self.searchAsYouType:
search_length = 1
if self.searchTextEdit.currentSearchType() == SongSearch.Entire:
search_length = 3
elif self.searchTextEdit.currentSearchType() == SongSearch.Lyrics:
search_length = 7
elif self.searchTextEdit.currentSearchType() == SongSearch.Lyrics:
search_length = 6
if len(text) > search_length:
self.onSearchTextButtonClick()
elif len(text) == 0:
self.onClearTextButtonClick()
def onImportClick(self):
if not hasattr(self, u'import_wizard'):
@ -446,10 +448,9 @@ class SongMediaItem(MediaManagerItem):
add_song = False
editId = song.id
break
if add_song:
if self.addSongFromService:
editId = self.openLyrics.xml_to_song(item.xml_version)
self.onSearchTextButtonClick()
if add_song and self.addSongFromService:
editId = self.openLyrics.xml_to_song(item.xml_version)
self.onSearchTextButtonClick()
# Update service with correct song id.
if editId:
Receiver.send_message(u'service_item_update',

13
resources/debian/Makefile Normal file
View File

@ -0,0 +1,13 @@
#!/usr/bin/make -f
# -*- makefile -*-
build:
mkdir -p openlp/i18n
for TSFILE in resources/i18n/*.ts; do\
lrelease-qt4 $$TSFILE -qm openlp/i18n/`basename $$TSFILE .ts`.qm;\
done
install:
clean:

View File

@ -0,0 +1,389 @@
openlp (1.9.4+bzr1355-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 06 Mar 2011 00:10:03 -0500
openlp (1.9.4+bzr1355-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 06 Mar 2011 00:07:03 -0500
openlp (1.9.4+bzr1355-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 06 Mar 2011 00:05:27 -0500
openlp (1.9.4+bzr1355-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 06 Mar 2011 00:03:17 -0500
openlp (1.9.4+bzr1350-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 05 Mar 2011 00:08:15 -0500
openlp (1.9.4+bzr1350-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 05 Mar 2011 00:06:40 -0500
openlp (1.9.4+bzr1350-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 05 Mar 2011 00:05:09 -0500
openlp (1.9.4+bzr1350-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 05 Mar 2011 00:03:14 -0500
openlp (1.9.4+bzr1347-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Fri, 04 Mar 2011 00:04:49 -0500
openlp (1.9.4+bzr1347-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Fri, 04 Mar 2011 00:04:15 -0500
openlp (1.9.4+bzr1347-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Fri, 04 Mar 2011 00:03:34 -0500
openlp (1.9.4+bzr1347-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Fri, 04 Mar 2011 00:02:43 -0500
openlp (1.9.4+bzr1344-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Thu, 03 Mar 2011 00:03:56 -0500
openlp (1.9.4+bzr1344-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Thu, 03 Mar 2011 00:03:30 -0500
openlp (1.9.4+bzr1344-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Thu, 03 Mar 2011 00:03:05 -0500
openlp (1.9.4+bzr1344-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Thu, 03 Mar 2011 00:02:26 -0500
openlp (1.9.4+bzr1342-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Tue, 01 Mar 2011 00:03:44 -0500
openlp (1.9.4+bzr1342-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Tue, 01 Mar 2011 00:03:28 -0500
openlp (1.9.4+bzr1342-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Tue, 01 Mar 2011 00:03:03 -0500
openlp (1.9.4+bzr1342-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Tue, 01 Mar 2011 00:02:28 -0500
openlp (1.9.4+bzr1341-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 27 Feb 2011 00:04:05 -0500
openlp (1.9.4+bzr1341-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 27 Feb 2011 00:03:48 -0500
openlp (1.9.4+bzr1341-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 27 Feb 2011 00:03:20 -0500
openlp (1.9.4+bzr1341-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 27 Feb 2011 00:02:34 -0500
openlp (1.9.4+bzr1337-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 26 Feb 2011 00:04:02 -0500
openlp (1.9.4+bzr1337-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 26 Feb 2011 00:03:44 -0500
openlp (1.9.4+bzr1337-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 26 Feb 2011 00:03:18 -0500
openlp (1.9.4+bzr1337-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 26 Feb 2011 00:02:32 -0500
openlp (1.9.4+bzr1332-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Fri, 25 Feb 2011 00:04:00 -0500
openlp (1.9.4+bzr1332-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Fri, 25 Feb 2011 00:03:41 -0500
openlp (1.9.4+bzr1332-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Fri, 25 Feb 2011 00:03:16 -0500
openlp (1.9.4+bzr1332-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Fri, 25 Feb 2011 00:02:36 -0500
openlp (1.9.4+bzr1328-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Thu, 24 Feb 2011 00:03:47 -0500
openlp (1.9.4+bzr1328-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Thu, 24 Feb 2011 00:03:31 -0500
openlp (1.9.4+bzr1328-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Thu, 24 Feb 2011 00:03:07 -0500
openlp (1.9.4+bzr1328-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Thu, 24 Feb 2011 00:02:28 -0500
openlp (1.9.4+bzr1324-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Wed, 23 Feb 2011 00:03:48 -0500
openlp (1.9.4+bzr1324-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Wed, 23 Feb 2011 00:03:33 -0500
openlp (1.9.4+bzr1324-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Wed, 23 Feb 2011 00:03:08 -0500
openlp (1.9.4+bzr1324-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Wed, 23 Feb 2011 00:02:28 -0500
openlp (1.9.4+bzr1322-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Tue, 22 Feb 2011 00:04:06 -0500
openlp (1.9.4+bzr1322-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Tue, 22 Feb 2011 00:03:52 -0500
openlp (1.9.4+bzr1322-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Tue, 22 Feb 2011 00:03:28 -0500
openlp (1.9.4+bzr1322-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Tue, 22 Feb 2011 00:02:42 -0500
openlp (1.9.4+bzr1320-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Mon, 21 Feb 2011 00:03:59 -0500
openlp (1.9.4+bzr1320-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Mon, 21 Feb 2011 00:03:45 -0500
openlp (1.9.4+bzr1320-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Mon, 21 Feb 2011 00:03:21 -0500
openlp (1.9.4+bzr1320-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Mon, 21 Feb 2011 00:02:41 -0500
openlp (1.9.4+bzr1316-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 20 Feb 2011 05:32:08 -0500
openlp (1.9.4+bzr1316-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 20 Feb 2011 05:31:51 -0500
openlp (1.9.4+bzr1316-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 20 Feb 2011 05:31:28 -0500
openlp (1.9.4+bzr1316-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sun, 20 Feb 2011 05:30:49 -0500
openlp (1.9.4+bzr1315-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 16:24:12 -0500
openlp (1.9.4+bzr1315-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 16:23:51 -0500
openlp (1.9.4+bzr1315-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 16:23:28 -0500
openlp (1.9.4+bzr1315-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 16:22:49 -0500
openlp (1.9.4+bzr1314-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 15:35:36 -0500
openlp (1.9.4+bzr1314-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 15:35:21 -0500
openlp (1.9.4+bzr1314-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 15:34:53 -0500
openlp (1.9.4+bzr1314-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 15:34:10 -0500
openlp (1.9.4+bzr1313-0ubuntu1~natty1) natty; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 13:58:14 -0500
openlp (1.9.4+bzr1313-0ubuntu1~maverick1) maverick; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 13:57:40 -0500
openlp (1.9.4+bzr1313-0ubuntu1~lucid1) lucid; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 13:57:11 -0500
openlp (1.9.4+bzr1313-0ubuntu1~karmic1) karmic; urgency=low
* Autobuild
-- <openlp@projecthq.biz> Sat, 19 Feb 2011 13:56:17 -0500
openlp (0.0.0+bzr664-0ubuntu1) karmic; urgency=low
* Initial release
-- Michael Gorven <michael@gorven.za.net> Fri, 06 Nov 2009 09:46:40 +0200

View File

@ -0,0 +1 @@
5

View File

@ -0,0 +1,19 @@
Source: openlp
Section: python
Priority: extra
Maintainer: OpenLP Developers <openlp-dev@lists.launchpad.net>
Build-Depends: cdbs, debhelper (>= 5), python-setuptools, python-support,
python, qt4-dev-tools
Standards-Version: 3.8.3
Homepage: http://openlp.org/
Package: openlp
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, python-qt4,
python-qt4-phonon, python-sqlalchemy, python-chardet, python-beautifulsoup,
python-lxml, python-sqlite, python-enchant
Conflicts: python-openlp
Description: Church lyrics projection application
OpenLP is free church presentation software, or lyrics projection software,
used to display slides of songs, Bible verses, videos, images, and even
presentations for church worship using a computer and a data projector.

View File

@ -0,0 +1,10 @@
Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat
Upstream-Name: OpenLP
Upstream-Maintainer: OpenLP Developers <openlp-dev@lists.launchpad.net>
Upstream-Source: http://openlp.org/
Files: *
Copyright: (c) 2008-2009 Raoul Snyman
License: GPL-2
X-Comment: On Debian GNU/Linux systems, the complete text of the
GPL-2 License can be found in /usr/share/common-licenses/GPL-2

View File

@ -0,0 +1 @@
documentation

View File

@ -0,0 +1 @@
resources/openlp.desktop /usr/share/applications

View File

@ -0,0 +1 @@
2

View File

@ -0,0 +1 @@
2.5-

21
resources/debian/debian/rules Executable file
View File

@ -0,0 +1,21 @@
#!/usr/bin/make -f
DEB_PYTHON_SYSTEM := pysupport
DEB_MAKE_BUILD_TARGET := build
DEB_MAKE_INSTALL_TARGET :=
DEB_MAKE_CLEAN_TARGET :=
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/python-distutils.mk
include /usr/share/cdbs/1/class/makefile.mk
binary-post-install/openlp::
for SIZE in 16x16 32x32 48x48 64x64 128x128 256x256; do \
mkdir -p debian/openlp/usr/share/icons/hicolor/$$SIZE/apps && \
cp resources/images/openlp-logo-$$SIZE.png debian/openlp/usr/share/icons/hicolor/$$SIZE/apps/openlp.png; \
done
mkdir -p debian/openlp/usr/share/icons/hicolor/scalable/apps && \
cp resources/images/openlp-logo.svg debian/openlp/usr/share/icons/hicolor/scalable/apps/openlp.svg
cd debian/openlp/usr/bin/ && mv openlp.pyw openlp