forked from openlp/openlp
Fix problem with single number for set of chapters eg John 1:1-5.
Add double click feature to add preview (missing from 1.x) Move formatting cleanups on open classes.
This commit is contained in:
parent
1dcd0623f1
commit
aabe4e82f3
@ -225,9 +225,10 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
QtCore.SIGNAL(u'pressed()'), self.onAdvancedSearchButton)
|
QtCore.SIGNAL(u'pressed()'), self.onAdvancedSearchButton)
|
||||||
QtCore.QObject.connect(self.QuickSearchButton,
|
QtCore.QObject.connect(self.QuickSearchButton,
|
||||||
QtCore.SIGNAL(u'pressed()'), self.onQuickSearchButton)
|
QtCore.SIGNAL(u'pressed()'), self.onQuickSearchButton)
|
||||||
|
QtCore.QObject.connect(self.BibleListView,
|
||||||
|
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onRowSelected)
|
||||||
# Context Menus
|
# Context Menus
|
||||||
self.BibleListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
|
self.BibleListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
|
||||||
|
|
||||||
self.BibleListView.addAction(self.contextMenuAction(
|
self.BibleListView.addAction(self.contextMenuAction(
|
||||||
self.BibleListView, u':/system/system_preview.png',
|
self.BibleListView, u':/system/system_preview.png',
|
||||||
translate(u'BibleMediaItem',u'&Preview Verse'), self.onBiblePreviewClick))
|
translate(u'BibleMediaItem',u'&Preview Verse'), self.onBiblePreviewClick))
|
||||||
@ -238,6 +239,7 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
self.BibleListView, u':/system/system_add.png',
|
self.BibleListView, u':/system/system_add.png',
|
||||||
translate(u'BibleMediaItem',u'&Add to Service'), self.onBibleAddClick))
|
translate(u'BibleMediaItem',u'&Add to Service'), self.onBibleAddClick))
|
||||||
|
|
||||||
|
|
||||||
def retranslateUi(self):
|
def retranslateUi(self):
|
||||||
log.debug(u'retranslateUi')
|
log.debug(u'retranslateUi')
|
||||||
self.QuickVersionLabel.setText(translate(u'BibleMediaItem', u'Version:'))
|
self.QuickVersionLabel.setText(translate(u'BibleMediaItem', u'Version:'))
|
||||||
@ -260,6 +262,9 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
self.ClearAdvancedSearchComboBox.addItem(translate(u'BibleMediaItem', u'Clear'))
|
self.ClearAdvancedSearchComboBox.addItem(translate(u'BibleMediaItem', u'Clear'))
|
||||||
self.ClearAdvancedSearchComboBox.addItem(translate(u'BibleMediaItem', u'Keep'))
|
self.ClearAdvancedSearchComboBox.addItem(translate(u'BibleMediaItem', u'Keep'))
|
||||||
|
|
||||||
|
def onRowSelected(self, row):
|
||||||
|
self.onBiblePreviewClick()
|
||||||
|
|
||||||
def initialise(self):
|
def initialise(self):
|
||||||
log.debug(u'initialise')
|
log.debug(u'initialise')
|
||||||
self.loadBibles()
|
self.loadBibles()
|
||||||
@ -370,8 +375,8 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
bible_text = u''
|
bible_text = u''
|
||||||
for item in items:
|
for item in items:
|
||||||
text = self.BibleListData.getValue(item)
|
text = self.BibleListData.getValue(item)
|
||||||
verse = text[:text.find(u'(u')]
|
verse = text[:text.find(u'(')]
|
||||||
bible = text[text.find(u'(u') + 1:text.find(u')')]
|
bible = text[text.find(u'(') + 1:text.find(u')')]
|
||||||
self.searchByReference(bible, verse)
|
self.searchByReference(bible, verse)
|
||||||
book = self.search_results[0][0]
|
book = self.search_results[0][0]
|
||||||
chapter = str(self.search_results[0][1])
|
chapter = str(self.search_results[0][1])
|
||||||
@ -380,7 +385,7 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
if self.parent.bibles_tab.paragraph_style: #Paragraph
|
if self.parent.bibles_tab.paragraph_style: #Paragraph
|
||||||
text = text + u'\n\n'
|
text = text + u'\n\n'
|
||||||
if self.parent.bibles_tab.display_style == 1:
|
if self.parent.bibles_tab.display_style == 1:
|
||||||
loc = self.formatVerse(old_chapter, chapter, verse, u'(u', u')')
|
loc = self.formatVerse(old_chapter, chapter, verse, u'(', u')')
|
||||||
elif self.parent.bibles_tab.display_style == 2:
|
elif self.parent.bibles_tab.display_style == 2:
|
||||||
loc = self.formatVerse(old_chapter, chapter, verse, u'{', u'}')
|
loc = self.formatVerse(old_chapter, chapter, verse, u'{', u'}')
|
||||||
elif self.parent.bibles_tab.display_style == 3:
|
elif self.parent.bibles_tab.display_style == 3:
|
||||||
@ -457,14 +462,16 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
search = search.replace(u' ', ' ').strip()
|
search = search.replace(u' ', ' ').strip()
|
||||||
original = search
|
original = search
|
||||||
message = None
|
message = None
|
||||||
# Remove book
|
# Remove book beware 0 index arrays
|
||||||
for i in range (len(search)-1, 0, -1): # 0 index arrays
|
for i in range (len(search)-1, 0, - 1):
|
||||||
if search[i] == ' ':
|
if search[i] == ' ':
|
||||||
book = search[:i]
|
book = search[:i]
|
||||||
search = search[i:] # remove book from string
|
# remove book from string
|
||||||
|
search = search[i:]
|
||||||
break
|
break
|
||||||
search = search.replace(u'v', ':') # allow V or v for verse instead of :
|
# allow V or v for verse instead of :
|
||||||
search = search.replace(u'V', ':') # allow V or v for verse instead of :
|
search = search.replace(u'v', ':')
|
||||||
|
search = search.replace(u'V', ':')
|
||||||
search = search.strip()
|
search = search.strip()
|
||||||
colon = search.find(u':')
|
colon = search.find(u':')
|
||||||
if colon == -1:
|
if colon == -1:
|
||||||
@ -498,13 +505,15 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
end_verse = start_verse
|
end_verse = start_verse
|
||||||
else:
|
else:
|
||||||
sp1 = sp[1].split(u':')
|
sp1 = sp[1].split(u':')
|
||||||
#print sp1, len(sp1)
|
#print "2nd details", sp1, len(sp1)
|
||||||
if len(sp1) == 1:
|
if len(sp1) == 1:
|
||||||
end_chapter = sp1[0]
|
end_chapter = start_chapter
|
||||||
end_verse = 1
|
end_verse = sp1[0]
|
||||||
else:
|
else:
|
||||||
end_chapter = sp1[0]
|
end_chapter = sp1[0]
|
||||||
end_verse = sp1[1]
|
end_verse = sp1[1]
|
||||||
|
#print 'search = ' + str(original)
|
||||||
|
#print 'results = ' + str(book) + ' @ '+ str(start_chapter)+' @ '+ str(end_chapter)+' @ '+ str(start_verse)+ ' @ '+ str(end_verse)
|
||||||
if end_chapter == '':
|
if end_chapter == '':
|
||||||
end_chapter = start_chapter.rstrip()
|
end_chapter = start_chapter.rstrip()
|
||||||
if start_verse == '':
|
if start_verse == '':
|
||||||
|
@ -19,21 +19,21 @@ Place, Suite 330, Boston, MA 02111-1307 USA
|
|||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from PyQt4.QtCore import *
|
from PyQt4 import QtCore, QtGui
|
||||||
from PyQt4.QtGui import *
|
|
||||||
|
|
||||||
|
|
||||||
class TextListData(QAbstractListModel):
|
class TextListData(QtCore.QAbstractListModel):
|
||||||
"""
|
"""
|
||||||
An abstract list of strings
|
An abstract list of strings
|
||||||
"""
|
"""
|
||||||
global log
|
global log
|
||||||
log=logging.getLogger(u'TextListData')
|
log = logging.getLogger(u'TextListData')
|
||||||
log.info(u'started')
|
log.info(u'started')
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
QAbstractListModel.__init__(self)
|
QtCore.QAbstractListModel.__init__(self)
|
||||||
self.items = [] # will be a list of (database id , title) tuples
|
# will be a list of (database id , title) tuples
|
||||||
|
self.items = []
|
||||||
|
|
||||||
def resetStore(self):
|
def resetStore(self):
|
||||||
#reset list so can be reloaded
|
#reset list so can be reloaded
|
||||||
@ -43,8 +43,8 @@ class TextListData(QAbstractListModel):
|
|||||||
return len(self.items)
|
return len(self.items)
|
||||||
|
|
||||||
def insertRow(self, row, id, title):
|
def insertRow(self, row, id, title):
|
||||||
self.beginInsertRows(QModelIndex(),row,row)
|
self.beginInsertRows(QtCore.QModelIndex(),row,row)
|
||||||
log.debug(u'insert row %d:%s for id %d'%(row,title, id))
|
log.debug(u'insert row %d:%s for id %d' % (row,title, id))
|
||||||
self.items.insert(row, (id, title))
|
self.items.insert(row, (id, title))
|
||||||
self.endInsertRows()
|
self.endInsertRows()
|
||||||
|
|
||||||
@ -57,15 +57,16 @@ class TextListData(QAbstractListModel):
|
|||||||
self.insertRow(len(self.items), id, title)
|
self.insertRow(len(self.items), id, title)
|
||||||
|
|
||||||
def data(self, index, role):
|
def data(self, index, role):
|
||||||
row=index.row()
|
row = index.row()
|
||||||
if row > len(self.items): # if the last row is selected and deleted, we then get called with an empty row!
|
# if the last row is selected and deleted, we then get called with an empty row!
|
||||||
return QVariant()
|
if row > len(self.items):
|
||||||
if role == Qt.DisplayRole:
|
return QtCore.QVariant()
|
||||||
|
if role == QtCore.Qt.DisplayRole:
|
||||||
retval = self.items[row][1]
|
retval = self.items[row][1]
|
||||||
else:
|
else:
|
||||||
retval = QVariant()
|
retval = QtCore.QVariant()
|
||||||
if type(retval) is not type(QVariant):
|
if type(retval) is not type(QtCore.QVariant):
|
||||||
return QVariant(retval)
|
return QtCore.QVariant(retval)
|
||||||
else:
|
else:
|
||||||
return retval
|
return retval
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user