- improved usage of different bibles
This commit is contained in:
Andreas Preikschat 2010-08-15 16:49:07 +02:00
parent eccbc54e75
commit 30e867e020
1 changed files with 54 additions and 48 deletions

View File

@ -501,61 +501,64 @@ class BibleMediaItem(MediaManagerItem):
#dual_permission = self._decodeQtObject(reference, #dual_permission = self._decodeQtObject(reference,
# 'dual_permission') # 'dual_permission')
dual_text = self._decodeQtObject(reference, 'dual_text') dual_text = self._decodeQtObject(reference, 'dual_text')
if self.parent.settings_tab.display_style == 1: verse_text = self.formatVerse(old_chapter, chapter, verse)
verse_text = self.formatVerse(old_chapter, chapter, verse,
u'(', u')')
elif self.parent.settings_tab.display_style == 2:
verse_text = self.formatVerse(old_chapter, chapter, verse,
u'{', u'}')
elif self.parent.settings_tab.display_style == 3:
verse_text = self.formatVerse(old_chapter, chapter, verse,
u'[', u']')
else:
verse_text = self.formatVerse(old_chapter, chapter, verse,
u'', u'')
old_chapter = chapter old_chapter = chapter
# footer
footer = u'%s (%s %s)' % (book, version, copyright) footer = u'%s (%s %s)' % (book, version, copyright)
# If not found add to footer
if footer not in raw_footer: if footer not in raw_footer:
raw_footer.append(footer) raw_footer.append(footer)
if dual_bible: if dual_bible:
footer = u'%s (%s %s)' % (book, dual_version, footer = u'%s (%s %s)' % (book, dual_version, dual_copyright)
dual_copyright)
# If not found add second version and copyright to footer.
if footer not in raw_footer: if footer not in raw_footer:
raw_footer.append(footer) raw_footer.append(footer)
# If we were previously 'Verse Per Line' we have to add the old
# bible_text first, because it was not added till now.
if bible_text:
raw_slides.append(bible_text)
bible_text = u''
bible_text = u'%s %s \n\n %s %s' % (verse_text, text, bible_text = u'%s %s \n\n %s %s' % (verse_text, text,
verse_text, dual_text) verse_text, dual_text)
raw_slides.append(bible_text) raw_slides.append(bible_text)
bible_text = u'' bible_text = u''
else: # If we are 'Verse Per Slide' then create a new slide.
# If we are 'Verse Per Line' then force a new line. elif self.parent.settings_tab.layout_style == 0:
if self.parent.settings_tab.layout_style == 1: bible_text = u'%s %s' % (verse_text, text)
text = text + u'\n\n' raw_slides.append(bible_text)
bible_text = u'%s %s %s' % (bible_text, verse_text, text) bible_text = u''
# If we are 'Verse Per Slide' then create a new slide. # If we are 'Verse Per Line' then force a new line.
if self.parent.settings_tab.layout_style == 0: elif self.parent.settings_tab.layout_style == 1:
bible_text = u'%s %s %s \n\n' % (bible_text, verse_text, text)
# We have to be 'Continuous'.
elif item.row() < len(items) - 1:
#bitem = self.listView.item(item.row() + 1)
bitem = items[item.row() + 1]
reference = bitem.data(QtCore.Qt.UserRole)
if isinstance(reference, QtCore.QVariant):
reference = reference.toPyObject()
#todo replace 'new' by 'next'
next_bible = self._decodeQtObject(reference, 'bible')
next_dual_bible = self._decodeQtObject(reference, 'dual_bible')
next_verse = self._decodeQtObject(reference, 'verse')
next_chapter = self._decodeQtObject(reference, 'chapter')
next_book = self._decodeQtObject(reference, 'book')
# If the next verse is a dual one, then we append 'bible_text'.
if next_dual_bible:
bible_text = u'%s %s %s' % (bible_text, verse_text, text)
raw_slides.append(bible_text) raw_slides.append(bible_text)
bible_text = u'' bible_text = u''
# If we are not 'Verse Per Slide' we have to make sure, that we # We add a line break if the next verse is not part of a series
# add more verses. # of verses, has a different book, bible or so on.
elif bible != next_bible or book != next_book or \
int(verse) + 1 != int(next_verse) or \
int(chapter) != int(next_chapter):
bible_text = u'%s %s %s \n\n' % (bible_text, verse_text,
text)
else: else:
if item.row() < len(items) - 1: bible_text = u'%s %s %s' % (bible_text, verse_text, text)
bitem = items[item.row() + 1] # If there are no more items we check whether we have to add bible_text.
reference = bitem.data(QtCore.Qt.UserRole) if bible_text:
if isinstance(reference, QtCore.QVariant): raw_slides.append(bible_text)
reference = reference.toPyObject() bible_text = u''
bible_new = self._decodeQtObject(reference, 'bible')
dual_bible_new = self._decodeQtObject(reference, 'dual_bible')
if dual_bible_new:
raw_slides.append(bible_text)
bible_text = u''
elif bible != bible_new:
raw_slides.append(bible_text)
bible_text = u''
else:
raw_slides.append(bible_text)
bible_text = u''
# service item title # service item title
if not service_item.title: if not service_item.title:
if dual_bible: if dual_bible:
@ -581,14 +584,17 @@ class BibleMediaItem(MediaManagerItem):
service_item.raw_footer = raw_footer service_item.raw_footer = raw_footer
return True return True
def formatVerse(self, old_chapter, chapter, verse, opening, closing): def formatVerse(self, old_chapter, chapter, verse):
verse_text = opening if not self.parent.settings_tab.show_new_chapters or \
if old_chapter != chapter: old_chapter != chapter:
verse_text += chapter + u':' verse_text = chapter + u':'
elif not self.parent.settings_tab.show_new_chapters:
verse_text += chapter + u':'
verse_text += verse verse_text += verse
verse_text += closing if self.parent.settings_tab.display_style == 1:
verse_text = u'(' + verse_text + u')'
elif self.parent.settings_tab.display_style == 2:
verse_text = u'{' + verse_text + u'}'
elif self.parent.settings_tab.display_style == 3:
verse_text = u'[' + verse_text + u']'
return verse_text return verse_text
def reloadBibles(self): def reloadBibles(self):