forked from openlp/openlp
changed content of book drop list in advanced search. If a second bible is choosen the combobox only contains books which both bibles (first and second) contains.
changed autocomplete in quick search. If a second bible is choosen it now suggest only books which both bibles contains.
This commit is contained in:
parent
a1c5ece681
commit
6c047fc83e
|
@ -214,6 +214,7 @@ class BibleManager(object):
|
|||
books.append(
|
||||
{
|
||||
u'name': book.name,
|
||||
u'book_reference_id': book.book_reference_id,
|
||||
u'chapters': self.db_cache[bible].get_chapter_count(book.book_reference_id)
|
||||
})
|
||||
return books
|
||||
|
|
|
@ -202,8 +202,14 @@ class BibleMediaItem(MediaManagerItem):
|
|||
# Add the search tab widget to the page layout.
|
||||
self.pageLayout.addWidget(self.searchTabWidget)
|
||||
# Combo Boxes
|
||||
QtCore.QObject.connect(self.quickVersionComboBox,
|
||||
QtCore.SIGNAL(u'activated(int)'), self.onQuickVersionComboBox)
|
||||
QtCore.QObject.connect(self.quickSecondComboBox,
|
||||
QtCore.SIGNAL(u'activated(int)'), self.onQuickSecondComboBox)
|
||||
QtCore.QObject.connect(self.advancedVersionComboBox,
|
||||
QtCore.SIGNAL(u'activated(int)'), self.onAdvancedVersionComboBox)
|
||||
QtCore.QObject.connect(self.advancedSecondComboBox,
|
||||
QtCore.SIGNAL(u'activated(int)'), self.onAdvancedSecondComboBox)
|
||||
QtCore.QObject.connect(self.advancedBookComboBox,
|
||||
QtCore.SIGNAL(u'activated(int)'), self.onAdvancedBookComboBox)
|
||||
QtCore.QObject.connect(self.advancedFromChapter,
|
||||
|
@ -346,6 +352,16 @@ class BibleMediaItem(MediaManagerItem):
|
|||
"""
|
||||
log.debug(u'initialiseAdvancedBible %s', bible)
|
||||
book_data = self.parent.manager.get_books(bible)
|
||||
secondbible = unicode(self.advancedSecondComboBox.currentText())
|
||||
if secondbible != u'':
|
||||
secondbook_data = self.parent.manager.get_books(secondbible)
|
||||
book_data_temp = []
|
||||
for book in book_data:
|
||||
for secondbook in secondbook_data:
|
||||
if book['book_reference_id'] == \
|
||||
secondbook['book_reference_id']:
|
||||
book_data_temp.append(book)
|
||||
book_data = book_data_temp
|
||||
self.advancedBookComboBox.clear()
|
||||
first = True
|
||||
for book in book_data:
|
||||
|
@ -395,16 +411,38 @@ class BibleMediaItem(MediaManagerItem):
|
|||
bible = unicode(self.quickVersionComboBox.currentText())
|
||||
if bible:
|
||||
book_data = bibles[bible].get_books()
|
||||
secondbible = unicode(self.quickSecondComboBox.currentText())
|
||||
if secondbible != u'':
|
||||
secondbook_data = bibles[secondbible].get_books()
|
||||
book_data_temp = []
|
||||
for book in book_data:
|
||||
for secondbook in secondbook_data:
|
||||
if book.book_reference_id == \
|
||||
secondbook.book_reference_id:
|
||||
book_data_temp.append(book)
|
||||
book_data = book_data_temp
|
||||
books = [book.name for book in book_data]
|
||||
books.sort()
|
||||
add_widget_completer(books, self.quickSearchEdit)
|
||||
|
||||
def onQuickVersionComboBox(self):
|
||||
self.updateAutoCompleter()
|
||||
|
||||
def onQuickSecondComboBox(self):
|
||||
self.updateAutoCompleter()
|
||||
|
||||
def onAdvancedVersionComboBox(self):
|
||||
QtCore.QSettings().setValue(self.settingsSection + u'/advanced bible',
|
||||
QtCore.QVariant(self.advancedVersionComboBox.currentText()))
|
||||
self.initialiseAdvancedBible(
|
||||
unicode(self.advancedVersionComboBox.currentText()))
|
||||
|
||||
def onAdvancedSecondComboBox(self):
|
||||
QtCore.QSettings().setValue(self.settingsSection + u'/advanced bible',
|
||||
QtCore.QVariant(self.advancedVersionComboBox.currentText()))
|
||||
self.initialiseAdvancedBible(
|
||||
unicode(self.advancedVersionComboBox.currentText()))
|
||||
|
||||
def onAdvancedBookComboBox(self):
|
||||
item = int(self.advancedBookComboBox.currentIndex())
|
||||
self.initialiseChapterVerse(
|
||||
|
|
Loading…
Reference in New Issue