diff --git a/.bzrignore b/.bzrignore
index fedd1a25e..9df0cdf95 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -8,3 +8,5 @@
.eric4project
list
openlp.org 2.0.e4*
+documentation/build/html
+documentation/build/doctrees
diff --git a/openlp/plugins/bibles/lib/bibleHTTPimpl.py b/openlp/plugins/bibles/lib/bibleHTTPimpl.py
index db055ccef..00f5284fc 100644
--- a/openlp/plugins/bibles/lib/bibleHTTPimpl.py
+++ b/openlp/plugins/bibles/lib/bibleHTTPimpl.py
@@ -116,6 +116,7 @@ class CWExtract(BibleCommon):
## Strip Verse Data from Page and build an array
##
#log.debug(u'bible data %s', xml_string)
+ #print xml_string
i= xml_string.find(u'NavCurrentChapter')
xml_string = xml_string[i:len(xml_string)]
i= xml_string.find(u'
', versePos)
#log.debug( versePos, i)
verse= xml_string[versePos:i] # Got the Chapter
- #verse = int(temp)
#log.debug( 'Chapter = %s', verse)
# move the starting position to begining of the text
versePos = i + 8
- # fined the start of the next verse
+ # find the start of the next verse
i = xml_string.find(u'', versePos)
if i == -1:
i = xml_string.find(u'',versePos)
@@ -150,6 +150,7 @@ class CWExtract(BibleCommon):
#log.debug( i, versePos)
verseText = xml_string[versePos: i]
versePos = i
+ #print verseText
bible[verse] = self._clean_text(verseText)
#bible[verse] = verseText
diff --git a/openlp/plugins/bibles/lib/common.py b/openlp/plugins/bibles/lib/common.py
index f8d37649e..73426f8e5 100644
--- a/openlp/plugins/bibles/lib/common.py
+++ b/openlp/plugins/bibles/lib/common.py
@@ -132,6 +132,11 @@ class BibleCommon(object):
end_tag = text.find(u'')
text = text[:start_tag] + text[end_tag + 6:len(text)]
start_tag = text.find(u'')
+ start_tag = text.find(u'')
+ while start_tag > -1:
+ end_tag = text.find(u'')
+ text = text[:start_tag] + text[end_tag + 6:len(text)]
+ start_tag = text.find(u'')
# Static Clean ups
text = text.replace(u'\n', u'')
text = text.replace(u'\r', u'')
diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py
index f5e58f8f0..0650c7936 100644
--- a/openlp/plugins/bibles/lib/mediaitem.py
+++ b/openlp/plugins/bibles/lib/mediaitem.py
@@ -350,7 +350,8 @@ class BibleMediaItem(MediaManagerItem):
chapter = unicode(self.search_results[0][1])
verse = unicode(self.search_results[0][2])
text = self.search_results[0][3]
- if self.parent.bibles_tab.paragraph_style: #Paragraph
+ #Paragraph style force new line per verse
+ if self.parent.bibles_tab.paragraph_style:
text = text + u'\n\n'
if self.parent.bibles_tab.display_style == 1:
loc = self.formatVerse(old_chapter, chapter, verse, u'(u', u')')
@@ -363,8 +364,11 @@ class BibleMediaItem(MediaManagerItem):
old_chapter = chapter
bible_text = bible_text + u' '+ loc + u' '+ text
service_item.title = book + u' ' + loc
- if len(raw_footer) <= 1:
- raw_footer.append(book)
+ footer = book + u' (' + self.version + u' ' + self.copyright +u')'
+ try:
+ raw_footer.index(footer)
+ except:
+ raw_footer.append(footer)
if len(self.parent.bibles_tab.bible_theme) == 0:
service_item.theme = None
else:
@@ -503,6 +507,9 @@ class BibleMediaItem(MediaManagerItem):
self.search_results = self.parent.biblemanager.get_verse_text(bible, book,
int(start_chapter), int(end_chapter), int(start_verse),
int(end_verse))
+ self.copyright = unicode(self.parent.biblemanager.get_meta_data(bible, u'Copyright').value)
+ self.permissions = unicode(self.parent.biblemanager.get_meta_data(bible, u'Permissions').value)
+ self.version = unicode(self.parent.biblemanager.get_meta_data(bible, u'Version').value)
else:
reply = QtGui.QMessageBox.information(self,
translate(u'BibleMediaItem', u'Information'),
diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py
index 751c58b99..0da4ab942 100644
--- a/openlp/plugins/songs/forms/editsongform.py
+++ b/openlp/plugins/songs/forms/editsongform.py
@@ -139,6 +139,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.AuthorsListView.clear()
self.TopicsListView.clear()
self.title_change = False
+ self.TitleEditItem.setFocus(QtCore.Qt.OtherFocusReason)
def loadSong(self, id):
log.debug(u'Load Song')
@@ -161,16 +162,19 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.SongbookCombo.setCurrentIndex(id)
if len(title) > 1:
self.AlternativeEdit.setText(title[1])
- self.CopyrightEditItem.setText(self.song.copyright)
+ if self.song.copyright is not None:
+ self.CopyrightEditItem.setText(self.song.copyright)
+ else:
+ self.CopyrightEditItem.setText(u'')
self.VerseListWidget.clear()
if self.song.verse_order is not None:
self.VerseOrderEdit.setText(self.song.verse_order)
else:
self.VerseOrderEdit.setText(u'')
if self.song.comments is not None:
- self.CommentsEdit.setText(self.song.comments)
+ self.CommentsEdit.setPlainText(self.song.comments)
else:
- self.CommentsEdit.setText(u'')
+ self.CommentsEdit.setPlainText(u'')
if self.song.ccli_number is not None:
self.CCLNumberEdit.setText(self.song.ccli_number)
else:
@@ -199,6 +203,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.TopicsListView.addItem(topic_name)
self._validate_song()
self.title_change = False
+ self.TitleEditItem.setFocus(QtCore.Qt.OtherFocusReason)
def onAuthorAddtoSongItemClicked(self):
item = int(self.AuthorsSelectionComboItem.currentIndex())
@@ -296,6 +301,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.verse_form.setVerse(item.text())
self.verse_form.exec_()
item.setText(self.verse_form.getVerse())
+ self.VerseListWidget.update()
self.EditButton.setEnabled(False)
self.DeleteButton.setEnabled(False)
@@ -356,7 +362,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
return
self.song.title = unicode(self.TitleEditItem.displayText())
self.song.copyright = unicode(self.CopyrightEditItem.displayText())
- self.song.search_title = self.TitleEditItem.displayText() + u'@'+ self.AlternativeEdit.displayText()
+ self.song.search_title = unicode(self.TitleEditItem.displayText()) + u'@'+ unicode(self.AlternativeEdit.displayText())
+ self.song.comments = unicode(self.CommentsEdit.toPlainText())
+ self.song.ccli_number = unicode(self.CCLNumberEdit.displayText())
self.processLyrics()
self.processTitle()
self.song.song_book_id = 0
@@ -380,7 +388,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
count += 1
if self.song.verse_order is None:
self.song.verse_order = verse_order
- text = text.replace("'", u'')
+ text = text.replace(u'\'', u'')
text = text.replace(u',', u'')
text = text.replace(u';', u'')
text = text.replace(u':', u'')
@@ -394,7 +402,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
def processTitle(self):
log.debug(u'processTitle')
- self.song.search_title = self.song.search_title.replace("'", u'')
+ self.song.search_title = self.song.search_title.replace(u'\'', u'')
self.song.search_title = self.song.search_title.replace(u',', u'')
self.song.search_title = self.song.search_title.replace(u';', u'')
self.song.search_title = self.song.search_title.replace(u':', u'')
diff --git a/openlp/plugins/songs/forms/editversedialog.py b/openlp/plugins/songs/forms/editversedialog.py
index 8600f675f..21acd17c3 100644
--- a/openlp/plugins/songs/forms/editversedialog.py
+++ b/openlp/plugins/songs/forms/editversedialog.py
@@ -1,12 +1,22 @@
# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
+"""
+OpenLP - Open Source Lyrics Projection
+Copyright (c) 2008 Raoul Snyman
+Portions copyright (c) 2008-2009 Martin Thompson, Tim Bentley,
-# Form implementation generated from reading ui file '/home/raoul/Projects/openlp-2/resources/forms/editversedialog.ui'
-#
-# Created: Sat Mar 7 11:11:49 2009
-# by: PyQt4 UI code generator 4.4.4
-#
-# WARNING! All changes made in this file will be lost!
+This program is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free Software
+Foundation; version 2 of the License.
+This program is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307 USA
+"""
from PyQt4 import QtCore, QtGui
from openlp.core.lib import translate
@@ -28,11 +38,11 @@ class Ui_EditVerseDialog(object):
self.ButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save)
self.ButtonBox.setObjectName(u'ButtonBox')
self.DialogLayout.addWidget(self.ButtonBox)
-
self.retranslateUi(EditVerseDialog)
QtCore.QObject.connect(self.ButtonBox, QtCore.SIGNAL(u'accepted()'), EditVerseDialog.accept)
QtCore.QObject.connect(self.ButtonBox, QtCore.SIGNAL(u'rejected()'), EditVerseDialog.reject)
QtCore.QMetaObject.connectSlotsByName(EditVerseDialog)
+ self.VerseTextEdit.setFocus(QtCore.Qt.OtherFocusReason)
def retranslateUi(self, EditVerseDialog):
- EditVerseDialog.setWindowTitle(translate(u'EditVerseDialog', u'Dialog'))
+ EditVerseDialog.setWindowTitle(translate(u'EditVerseDialog', u'Song Verse Edit Dialog'))
diff --git a/openlp/plugins/songs/forms/editverseform.py b/openlp/plugins/songs/forms/editverseform.py
index 35f8c110e..1bb269e29 100644
--- a/openlp/plugins/songs/forms/editverseform.py
+++ b/openlp/plugins/songs/forms/editverseform.py
@@ -3,7 +3,7 @@
"""
OpenLP - Open Source Lyrics Projection
Copyright (c) 2008 Raoul Snyman
-Portions copyright (c) 2008 Martin Thompson, Tim Bentley,
+Portions copyright (c) 2008-2009 Martin Thompson, Tim Bentley,
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -35,6 +35,7 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog):
def setVerse(self, verse):
self.VerseTextEdit.setPlainText(verse)
+ self.VerseTextEdit.setFocus(QtCore.Qt.OtherFocusReason)
def getVerse(self):
return self.VerseTextEdit.toPlainText()