← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~trb143/openlp/bugfixes into lp:openlp

 

Tim Bentley has proposed merging lp:~trb143/openlp/bugfixes into lp:openlp.

Requested reviews:
    openlp.org Core (openlp-core)


Bug fixes and clean ups.

This superceeds the last request
-- 
https://code.launchpad.net/~trb143/openlp/bugfixes/+merge/7167
Your team openlp.org Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/lib/mediamanageritem.py'
--- openlp/core/lib/mediamanageritem.py	2009-05-20 20:17:20 +0000
+++ openlp/core/lib/mediamanageritem.py	2009-06-07 16:33:33 +0000
@@ -92,7 +92,7 @@
         """
         if type(icon) is QtGui.QIcon:
             ButtonIcon = icon
-        elif type(icon) is types.StringType:
+        elif type(icon) is types.StringType or type(icon) is types.UnicodeType:
             ButtonIcon = QtGui.QIcon()
             if icon.startswith(u':/'):
                 ButtonIcon.addPixmap(QtGui.QPixmap(icon), QtGui.QIcon.Normal,

=== modified file 'openlp/plugins/bibles/forms/bibleimportform.py'
--- openlp/plugins/bibles/forms/bibleimportform.py	2009-06-05 05:00:26 +0000
+++ openlp/plugins/bibles/forms/bibleimportform.py	2009-06-07 16:33:33 +0000
@@ -1,6 +1,6 @@
 # -*- 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
@@ -16,7 +16,7 @@
 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
-"""
+'''
 import sys
 import os, os.path
 import sys
@@ -31,15 +31,15 @@
 
 class BibleImportForm(QtGui.QDialog, Ui_BibleImportDialog):
     global log
-    log=logging.getLogger("BibleImportForm")
-    log.info("BibleImportForm loaded")
-    """
+    log=logging.getLogger(u'BibleImportForm')
+    log.info(u'BibleImportForm loaded')
+    '''
     Class documentation goes here.
-    """
+    '''
     def __init__(self, config, biblemanager , bibleplugin, parent = None):
-        """
+        '''
         Constructor
-        """
+        '''
         QtGui.QDialog.__init__(self, parent)
         self.setupUi(self)
         self.biblemanager = biblemanager
@@ -47,58 +47,72 @@
         self.bibleplugin = bibleplugin
         self.bible_type = None
         self.barmax = 0
-        self.AddressEdit.setText(self.config.get_config("proxy_address", ""))
-        self.UsernameEdit.setText(self.config.get_config("proxy_username", ""))
-        self.PasswordEdit.setText(self.config.get_config("proxy_password",""))
+        self.AddressEdit.setText(self.config.get_config(u'proxy_address', u''))
+        self.UsernameEdit.setText(self.config.get_config(u'proxy_username',u''))
+        self.PasswordEdit.setText(self.config.get_config(u'proxy_password',u''))
 
         filepath = os.path.split(os.path.abspath(__file__))[0]
-        filepath = os.path.abspath(os.path.join(filepath, '..', 'resources','crosswalkbooks.csv'))
+        filepath = os.path.abspath(os.path.join(filepath, u'..',
+            u'resources',u'crosswalkbooks.csv'))
         fbibles=open(filepath, 'r')
         self.bible_versions = {}
         self.BibleComboBox.clear()
-        self.BibleComboBox.addItem("")
+        self.BibleComboBox.addItem(u'')
         for line in fbibles:
-            p = line.split(",")
-            self.bible_versions[p[0]] = p[1].replace('\n', '')
+            p = line.split(u',')
+            self.bible_versions[p[0]] = p[1].replace(u'\n', u'')
             self.BibleComboBox.addItem(str(p[0]))
 
         #Combo Boxes
-        QtCore.QObject.connect(self.LocationComboBox, QtCore.SIGNAL("activated(int)"), self.onLocationComboBoxSelected)
-        QtCore.QObject.connect(self.BibleComboBox, QtCore.SIGNAL("activated(int)"), self.onBibleComboBoxSelected)
+        QtCore.QObject.connect(self.LocationComboBox,
+            QtCore.SIGNAL(u'activated(int)'), self.onLocationComboBoxSelected)
+        QtCore.QObject.connect(self.BibleComboBox,
+            QtCore.SIGNAL(u'activated(int)'), self.onBibleComboBoxSelected)
 
         #Buttons
-        QtCore.QObject.connect(self.ImportButton, QtCore.SIGNAL("pressed()"), self.onImportButtonClicked)
-        QtCore.QObject.connect(self.CancelButton, QtCore.SIGNAL("pressed()"), self.onCancelButtonClicked)
-        QtCore.QObject.connect(self.VersesFileButton, QtCore.SIGNAL("pressed()"), self.onVersesFileButtonClicked)
-        QtCore.QObject.connect(self.BooksFileButton, QtCore.SIGNAL("pressed()"), self.onBooksFileButtonClicked)
-        QtCore.QObject.connect(self.OsisFileButton, QtCore.SIGNAL("pressed()"), self.onOsisFileButtonClicked)
+        QtCore.QObject.connect(self.ImportButton,
+            QtCore.SIGNAL(u'pressed()'), self.onImportButtonClicked)
+        QtCore.QObject.connect(self.CancelButton,
+            QtCore.SIGNAL(u'pressed()'), self.onCancelButtonClicked)
+        QtCore.QObject.connect(self.VersesFileButton,
+            QtCore.SIGNAL(u'pressed()'), self.onVersesFileButtonClicked)
+        QtCore.QObject.connect(self.BooksFileButton,
+            QtCore.SIGNAL(u'pressed()'), self.onBooksFileButtonClicked)
+        QtCore.QObject.connect(self.OsisFileButton,
+            QtCore.SIGNAL(u'pressed()'), self.onOsisFileButtonClicked)
 
         #Lost Focus
-        QtCore.QObject.connect(self.OSISLocationEdit, QtCore.SIGNAL("lostFocus()"), self.onOSISLocationEditLostFocus)
-        QtCore.QObject.connect(self.BooksLocationEdit, QtCore.SIGNAL("lostFocus()"),self.onBooksLocationEditLostFocus)
-        QtCore.QObject.connect(self.VerseLocationEdit, QtCore.SIGNAL("lostFocus()"), self.onVerseLocationEditLostFocus)
-        QtCore.QObject.connect(self.AddressEdit, QtCore.SIGNAL("lostFocus()"), self.onProxyAddressEditLostFocus)
-        QtCore.QObject.connect(self.UsernameEdit, QtCore.SIGNAL("lostFocus()"), self.onProxyUsernameEditLostFocus)
-        QtCore.QObject.connect(self.PasswordEdit, QtCore.SIGNAL("lostFocus()"), self.onProxyPasswordEditLostFocus)
+        QtCore.QObject.connect(self.OSISLocationEdit,
+            QtCore.SIGNAL(u'lostFocus()'), self.onOSISLocationEditLostFocus)
+        QtCore.QObject.connect(self.BooksLocationEdit,
+            QtCore.SIGNAL(u'lostFocus()'),self.onBooksLocationEditLostFocus)
+        QtCore.QObject.connect(self.VerseLocationEdit,
+            QtCore.SIGNAL(u'lostFocus()'), self.onVerseLocationEditLostFocus)
+        QtCore.QObject.connect(self.AddressEdit,
+            QtCore.SIGNAL(u'lostFocus()'), self.onProxyAddressEditLostFocus)
+        QtCore.QObject.connect(self.UsernameEdit,
+            QtCore.SIGNAL(u'lostFocus()'), self.onProxyUsernameEditLostFocus)
+        QtCore.QObject.connect(self.PasswordEdit,
+            QtCore.SIGNAL(u'lostFocus()'), self.onProxyPasswordEditLostFocus)
 
 
     def onVersesFileButtonClicked(self):
-        filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file',self.config.get_last_dir(1))
-        if filename != "":
+        filename = QtGui.QFileDialog.getOpenFileName(self, u'Open file',self.config.get_last_dir(1))
+        if filename != u'':
             self.VerseLocationEdit.setText(filename)
             self.config.set_last_dir(filename, 1)
             self.setCsv()
 
     def onBooksFileButtonClicked(self):
-        filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file',self.config.get_last_dir(2))
-        if filename != "":
+        filename = QtGui.QFileDialog.getOpenFileName(self, u'Open file',self.config.get_last_dir(2))
+        if filename != u'':
             self.BooksLocationEdit.setText(filename)
             self.config.set_last_dir(filename, 2)
             self.setCsv()
 
     def onOsisFileButtonClicked(self):
-        filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file',self.config.get_last_dir(3))
-        if filename != "":
+        filename = QtGui.QFileDialog.getOpenFileName(self, u'Open file',self.config.get_last_dir(3))
+        if filename != u'':
             self.OSISLocationEdit.setText(filename)
             self.config.set_last_dir(filename, 3)
             self.setOsis()
@@ -108,7 +122,7 @@
             self.setOsis()
         else:
             # Was OSIS and is not any more stops lostFocus running mad
-            if self.bible_type == "OSIS":
+            if self.bible_type == u'OSIS':
                 self.bible_type = None
                 self.freeAll()
 
@@ -119,13 +133,13 @@
         self.checkOsis()
 
     def onProxyAddressEditLostFocus(self):
-        self.config.set_config("proxy_address", str(self.AddressEdit.displayText()))
+        self.config.set_config(u'proxy_address', str(self.AddressEdit.displayText()))
 
     def onProxyUsernameEditLostFocus(self):
-        self.config.set_config("proxy_username", str(self.UsernameEdit.displayText()))
+        self.config.set_config(u'proxy_username', str(self.UsernameEdit.displayText()))
 
     def onProxyPasswordEditLostFocus(self):
-        self.config.set_config("proxy_password", str(self.PasswordEdit.displayText()))
+        self.config.set_config(u'proxy_password', str(self.PasswordEdit.displayText()))
 
     def onLocationComboBoxSelected(self):
         self.checkHttp()
@@ -136,49 +150,51 @@
 
     def onCancelButtonClicked(self):
         # tell import to stop
-        Receiver().send_message("openlpstopimport")
+        self.message = u'Bible import stopped'
+        Receiver().send_message(u'openlpstopimport')
         # tell bibleplugin to reload the bibles
-        Receiver().send_message("openlpreloadbibles")
+        Receiver().send_message(u'openlpreloadbibles')
         self.close()
 
     def onImportButtonClicked(self):
+        self.message = u'Bible import completed'
         if self.biblemanager != None:
             if not self.bible_type == None and len(self.BibleNameEdit.displayText()) > 0:
-                self.MessageLabel.setText("Import Started")
+                self.MessageLabel.setText(u'Import Started')
                 self.ProgressBar.setMinimum(0)
                 self.setMax(65)
                 self.ProgressBar.setValue(0)
                 self.biblemanager.process_dialog(self)
                 self.importBible()
-                self.MessageLabel.setText("Import Complete")
+                self.MessageLabel.setText(u'Import Complete')
                 self.ProgressBar.setValue(self.barmax)
                 # tell bibleplugin to reload the bibles
-                Receiver().send_message("openlpreloadbibles")
-                message = u'Bible import completered'
+                Receiver().send_message(u'openlpreloadbibles')
                 reply = QtGui.QMessageBox.information(self,
                     translate(u'BibleMediaItem', u'Information'),
-                    translate(u'BibleMediaItem', message))
+                    translate(u'BibleMediaItem', self.message))
 
     def setMax(self, max):
-        log.debug("set Max %s", max)
+        log.debug(u'set Max %s', max)
         self.barmax = max
         self.ProgressBar.setMaximum(max)
 
     def incrementProgressBar(self, text ):
-        log.debug("IncrementBar %s", text)
-        self.MessageLabel.setText("Import processing " + text)
+        log.debug(u'IncrementBar %s', text)
+        self.MessageLabel.setText(u'Import processing ' + text)
         self.ProgressBar.setValue(self.ProgressBar.value()+1)
 
     def importBible(self):
-        log.debug("Import Bible ")
-        if self.bible_type == "OSIS":
+        log.debug(u'Import Bible ')
+        if self.bible_type == u'OSIS':
             loaded = self.biblemanager.register_osis_file_bible(str(self.BibleNameEdit.displayText()),
                 self.OSISLocationEdit.displayText())
-        elif self.bible_type == "CSV":
+        elif self.bible_type == u'CSV':
             loaded = self.biblemanager.register_csv_file_bible(str(self.BibleNameEdit.displayText()),
                 self.BooksLocationEdit.displayText(), self.VerseLocationEdit.displayText())
         else:
-            self.setMax(1) # set a value as it will not be needed
+            # set a value as it will not be needed
+            self.setMax(1)
             bible = self.bible_versions[str(self.BibleComboBox.currentText())]
             loaded = self.biblemanager.register_http_bible(str(self.BibleComboBox.currentText()), \
                                                                                      str(self.LocationComboBox.currentText()),  \
@@ -192,15 +208,17 @@
                 str(self.CopyrightEdit.displayText()),
                 str(self.PermisionEdit.displayText()))
         self.bible_type = None
-        self.freeAll() # free the screen state restrictions
-        self.resetAll() # reset all the screen fields
+        # free the screen state restrictions
+        self.freeAll()
+         # reset all the screen fields
+        self.resetAll()
 
     def checkOsis(self):
         if len(self.BooksLocationEdit.displayText()) > 0 or len(self.VerseLocationEdit.displayText()) > 0:
             self.setCsv()
         else:
             # Was CSV and is not any more stops lostFocus running mad
-            if self.bible_type == "CSV":
+            if self.bible_type == u'CSV':
                 self.bible_type = None
                 self.freeAll()
 
@@ -209,7 +227,7 @@
             self.setHttp()
         else:
             # Was HTTP and is not any more stops lostFocus running mad
-            if self.bible_type == "HTTP":
+            if self.bible_type == u'HTTP':
                 self.bible_type = None
                 self.freeAll()
 
@@ -220,7 +238,7 @@
         self.VersesFileButton.setEnabled(False)
 
     def setCsv(self):
-        self.bible_type = "CSV"
+        self.bible_type = u'CSV'
         self.BooksLocationEdit.setReadOnly(False)
         self.VerseLocationEdit.setReadOnly(False)
         self.BooksFileButton.setEnabled(True)
@@ -229,7 +247,7 @@
         self.blockHttp()
 
     def setOsis(self):
-        self.bible_type = "OSIS"
+        self.bible_type = 'OSIS'
         self.OSISLocationEdit.setReadOnly(False)
         self.OsisFileButton.setEnabled(True)
         self.blockCsv()
@@ -240,7 +258,7 @@
         self.OsisFileButton.setEnabled(False)
 
     def setHttp(self):
-        self.bible_type = "HTTP"
+        self.bible_type = u'HTTP'
         self.LocationComboBox.setEnabled(True)
         self.BibleComboBox.setEnabled(True)
         self.blockCsv()
@@ -262,9 +280,9 @@
             self.BibleComboBox.setEnabled(True)
 
     def resetAll(self):
-        self.BooksLocationEdit.setText("")
-        self.VerseLocationEdit.setText("")
-        self.OSISLocationEdit.setText("")
-        self.BibleNameEdit.setText("")
+        self.BooksLocationEdit.setText(u'')
+        self.VerseLocationEdit.setText(u'')
+        self.OSISLocationEdit.setText(u'')
+        self.BibleNameEdit.setText(u'')
         self.LocationComboBox.setCurrentIndex(0)
         self.BibleComboBox.setCurrentIndex(0)

=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
--- openlp/plugins/bibles/lib/mediaitem.py	2009-06-05 19:00:57 +0000
+++ openlp/plugins/bibles/lib/mediaitem.py	2009-06-07 18:39:31 +0000
@@ -61,7 +61,7 @@
         MediaManagerItem.__init__(self, parent, icon, title)
         self.search_results = {} # place to store the search results
         QtCore.QObject.connect(Receiver().get_receiver(),
-            QtCore.SIGNAL("openlpreloadbibles"), self.reloadBibles)
+            QtCore.SIGNAL(u'openlpreloadbibles'), self.reloadBibles)
 
     def setupUi(self):
         # Add a toolbar
@@ -69,27 +69,27 @@
         # Create buttons for the toolbar
         ## New Bible Button ##
         self.addToolbarButton(
-            translate(u'BibleMediaItem','New Bible'),
-            translate(u'BibleMediaItem','Register a new Bible'),
-            ':/themes/theme_import.png', self.onBibleNewClick, 'BibleNewItem')
+            translate(u'BibleMediaItem',u'New Bible'),
+            translate(u'BibleMediaItem',u'Register a new Bible'),
+            u':/themes/theme_import.png', self.onBibleNewClick, u'BibleNewItem')
         ## Separator Line ##
         self.addToolbarSeparator()
         ## Preview Bible Button ##
         self.addToolbarButton(
-            translate(u'BibleMediaItem','Preview Bible'),
-            translate(u'BibleMediaItem','Preview the selected Bible Verse'),
-            ':/system/system_preview.png', self.onBiblePreviewClick, 'BiblePreviewItem')
+            translate(u'BibleMediaItem',u'Preview Bible'),
+            translate(u'BibleMediaItem',u'Preview the selected Bible Verse'),
+            u':/system/system_preview.png', self.onBiblePreviewClick, u'BiblePreviewItem')
         ## Live Bible Button ##
         self.addToolbarButton(
-            translate(u'BibleMediaItem','Go Live'),
-            translate(u'BibleMediaItem','Send the selected Bible Verse(s) live'),
-            ':/system/system_live.png', self.onBibleLiveClick, 'BibleLiveItem')
+            translate(u'BibleMediaItem',u'Go Live'),
+            translate(u'BibleMediaItem',u'Send the selected Bible Verse(s) live'),
+            u':/system/system_live.png', self.onBibleLiveClick, u'BibleLiveItem')
         ## Add Bible Button ##
         self.addToolbarButton(
-            translate(u'BibleMediaItem','Add Bible Verse(s) To Service'),
-            translate(u'BibleMediaItem','Add the selected Bible(s) to the service'),
-            ':/system/system_add.png',
-            self.onBibleAddClick, 'BibleAddItem')
+            translate(u'BibleMediaItem',u'Add Bible Verse(s) To Service'),
+            translate(u'BibleMediaItem',u'Add the selected Bible(s) to the service'),
+            u':/system/system_add.png',
+            self.onBibleAddClick, u'BibleAddItem')
 
         # Create the tab widget
         self.SearchTabWidget = QtGui.QTabWidget(self)
@@ -98,41 +98,41 @@
         sizePolicy.setVerticalStretch(0)
         sizePolicy.setHeightForWidth(self.SearchTabWidget.sizePolicy().hasHeightForWidth())
         self.SearchTabWidget.setSizePolicy(sizePolicy)
-        self.SearchTabWidget.setObjectName('SearchTabWidget')
+        self.SearchTabWidget.setObjectName(u'SearchTabWidget')
 
         # Add the Quick Search tab
         self.QuickTab = QtGui.QWidget()
-        self.QuickTab.setObjectName('QuickTab')
+        self.QuickTab.setObjectName(u'QuickTab')
         self.QuickLayout = QtGui.QGridLayout(self.QuickTab)
         self.QuickLayout.setMargin(8)
         self.QuickLayout.setSpacing(8)
-        self.QuickLayout.setObjectName('QuickLayout')
+        self.QuickLayout.setObjectName(u'QuickLayout')
         self.QuickVersionLabel = QtGui.QLabel(self.QuickTab)
-        self.QuickVersionLabel.setObjectName('QuickVersionLabel')
+        self.QuickVersionLabel.setObjectName(u'QuickVersionLabel')
         self.QuickLayout.addWidget(self.QuickVersionLabel, 0, 0, 1, 1)
         self.QuickVersionComboBox = QtGui.QComboBox(self.QuickTab)
-        self.QuickVersionComboBox.setObjectName('VersionComboBox')
+        self.QuickVersionComboBox.setObjectName(u'VersionComboBox')
         self.QuickLayout.addWidget(self.QuickVersionComboBox, 0, 1, 1, 2)
         self.QuickSearchLabel = QtGui.QLabel(self.QuickTab)
-        self.QuickSearchLabel.setObjectName('QuickSearchLabel')
+        self.QuickSearchLabel.setObjectName(u'QuickSearchLabel')
         self.QuickLayout.addWidget(self.QuickSearchLabel, 1, 0, 1, 1)
         self.QuickSearchComboBox = QtGui.QComboBox(self.QuickTab)
-        self.QuickSearchComboBox.setObjectName('SearchComboBox')
+        self.QuickSearchComboBox.setObjectName(u'SearchComboBox')
         self.QuickLayout.addWidget(self.QuickSearchComboBox, 1, 1, 1, 2)
         self.QuickSearchLabel = QtGui.QLabel(self.QuickTab)
-        self.QuickSearchLabel.setObjectName('QuickSearchLabel')
+        self.QuickSearchLabel.setObjectName(u'QuickSearchLabel')
         self.QuickLayout.addWidget(self.QuickSearchLabel, 2, 0, 1, 1)
         self.QuickSearchEdit = QtGui.QLineEdit(self.QuickTab)
-        self.QuickSearchEdit.setObjectName('QuickSearchEdit')
+        self.QuickSearchEdit.setObjectName(u'QuickSearchEdit')
         self.QuickLayout.addWidget(self.QuickSearchEdit, 2, 1, 1, 2)
         self.QuickSearchButton = QtGui.QPushButton(self.QuickTab)
-        self.QuickSearchButton.setObjectName('QuickSearchButton')
+        self.QuickSearchButton.setObjectName(u'QuickSearchButton')
         self.QuickLayout.addWidget(self.QuickSearchButton, 3, 2, 1, 1)
         self.QuickClearLabel = QtGui.QLabel(self.QuickTab)
-        self.QuickClearLabel.setObjectName('QuickSearchLabel')
+        self.QuickClearLabel.setObjectName(u'QuickSearchLabel')
         self.QuickLayout.addWidget(self.QuickClearLabel, 3, 0, 1, 1)
         self.ClearQuickSearchComboBox = QtGui.QComboBox(self.QuickTab)
-        self.ClearQuickSearchComboBox.setObjectName('ClearQuickSearchComboBox')
+        self.ClearQuickSearchComboBox.setObjectName(u'ClearQuickSearchComboBox')
         self.QuickLayout.addWidget(self.ClearQuickSearchComboBox, 3, 1, 1, 1)
         self.SearchTabWidget.addTab(self.QuickTab, 'Quick')
         QuickSpacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
@@ -141,61 +141,61 @@
 
         # Add the Advanced Search tab
         self.AdvancedTab = QtGui.QWidget()
-        self.AdvancedTab.setObjectName('AdvancedTab')
+        self.AdvancedTab.setObjectName(u'AdvancedTab')
         self.AdvancedLayout = QtGui.QGridLayout(self.AdvancedTab)
         self.AdvancedLayout.setMargin(8)
         self.AdvancedLayout.setSpacing(8)
-        self.AdvancedLayout.setObjectName('AdvancedLayout')
+        self.AdvancedLayout.setObjectName(u'AdvancedLayout')
         self.AdvancedVersionLabel = QtGui.QLabel(self.AdvancedTab)
-        self.AdvancedVersionLabel.setObjectName('AdvancedVersionLabel')
+        self.AdvancedVersionLabel.setObjectName(u'AdvancedVersionLabel')
         self.AdvancedLayout.addWidget(self.AdvancedVersionLabel, 0, 0, 1, 1)
         self.AdvancedVersionComboBox = QtGui.QComboBox(self.AdvancedTab)
-        self.AdvancedVersionComboBox.setObjectName('AdvancedVersionComboBox')
+        self.AdvancedVersionComboBox.setObjectName(u'AdvancedVersionComboBox')
         self.AdvancedLayout.addWidget(self.AdvancedVersionComboBox, 0, 2, 1, 2)
         self.AdvancedBookLabel = QtGui.QLabel(self.AdvancedTab)
-        self.AdvancedBookLabel.setObjectName('AdvancedBookLabel')
+        self.AdvancedBookLabel.setObjectName(u'AdvancedBookLabel')
         self.AdvancedLayout.addWidget(self.AdvancedBookLabel, 1, 0, 1, 1)
         self.AdvancedBookComboBox = QtGui.QComboBox(self.AdvancedTab)
-        self.AdvancedBookComboBox.setObjectName('AdvancedBookComboBox')
+        self.AdvancedBookComboBox.setObjectName(u'AdvancedBookComboBox')
         self.AdvancedLayout.addWidget(self.AdvancedBookComboBox, 1, 2, 1, 2)
         self.AdvancedChapterLabel = QtGui.QLabel(self.AdvancedTab)
-        self.AdvancedChapterLabel.setObjectName('AdvancedChapterLabel')
+        self.AdvancedChapterLabel.setObjectName(u'AdvancedChapterLabel')
         self.AdvancedLayout.addWidget(self.AdvancedChapterLabel, 2, 2, 1, 1)
         self.AdvancedVerseLabel = QtGui.QLabel(self.AdvancedTab)
-        self.AdvancedVerseLabel.setObjectName('AdvancedVerseLabel')
+        self.AdvancedVerseLabel.setObjectName(u'AdvancedVerseLabel')
         self.AdvancedLayout.addWidget(self.AdvancedVerseLabel, 2, 3, 1, 1)
         self.AdvancedFromLabel = QtGui.QLabel(self.AdvancedTab)
-        self.AdvancedFromLabel.setObjectName('AdvancedFromLabel')
+        self.AdvancedFromLabel.setObjectName(u'AdvancedFromLabel')
         self.AdvancedLayout.addWidget(self.AdvancedFromLabel, 3, 0, 1, 1)
         self.AdvancedToLabel = QtGui.QLabel(self.AdvancedTab)
-        self.AdvancedToLabel.setObjectName('AdvancedToLabel')
+        self.AdvancedToLabel.setObjectName(u'AdvancedToLabel')
         self.AdvancedLayout.addWidget(self.AdvancedToLabel, 4, 0, 1, 1)
 
         self.AdvancedFromChapter = QtGui.QComboBox(self.AdvancedTab)
-        self.AdvancedFromChapter.setObjectName('AdvancedFromChapter')
+        self.AdvancedFromChapter.setObjectName(u'AdvancedFromChapter')
         self.AdvancedLayout.addWidget(self.AdvancedFromChapter, 3, 2, 1, 1)
         self.AdvancedFromVerse = QtGui.QComboBox(self.AdvancedTab)
-        self.AdvancedFromVerse.setObjectName('AdvancedFromVerse')
+        self.AdvancedFromVerse.setObjectName(u'AdvancedFromVerse')
         self.AdvancedLayout.addWidget(self.AdvancedFromVerse, 3, 3, 1, 1)
 
         self.AdvancedToChapter = QtGui.QComboBox(self.AdvancedTab)
-        self.AdvancedToChapter.setObjectName('AdvancedToChapter')
+        self.AdvancedToChapter.setObjectName(u'AdvancedToChapter')
         self.AdvancedLayout.addWidget(self.AdvancedToChapter, 4, 2, 1, 1)
         self.AdvancedToVerse = QtGui.QComboBox(self.AdvancedTab)
-        self.AdvancedToVerse.setObjectName('AdvancedToVerse')
+        self.AdvancedToVerse.setObjectName(u'AdvancedToVerse')
         self.AdvancedLayout.addWidget(self.AdvancedToVerse, 4, 3, 1, 1)
 
         self.AdvancedClearLabel = QtGui.QLabel(self.QuickTab)
-        self.AdvancedClearLabel.setObjectName('QuickSearchLabel')
+        self.AdvancedClearLabel.setObjectName(u'QuickSearchLabel')
         self.AdvancedLayout.addWidget(self.AdvancedClearLabel, 5, 0, 1, 1)
         self.ClearAdvancedSearchComboBox = QtGui.QComboBox(self.QuickTab)
-        self.ClearAdvancedSearchComboBox.setObjectName('ClearAdvancedSearchComboBox')
+        self.ClearAdvancedSearchComboBox.setObjectName(u'ClearAdvancedSearchComboBox')
         self.AdvancedLayout.addWidget(self.ClearAdvancedSearchComboBox, 5, 2, 1, 1)
 
         self.AdvancedSearchButton = QtGui.QPushButton(self.AdvancedTab)
-        self.AdvancedSearchButton.setObjectName('AdvancedSearchButton')
+        self.AdvancedSearchButton.setObjectName(u'AdvancedSearchButton')
         self.AdvancedLayout.addWidget(self.AdvancedSearchButton, 5, 3, 1, 1)
-        self.SearchTabWidget.addTab(self.AdvancedTab, 'Advanced')
+        self.SearchTabWidget.addTab(self.AdvancedTab, u'Advanced')
 
         # Add the search tab widget to the page layout
         self.PageLayout.addWidget(self.SearchTabWidget)
@@ -211,33 +211,35 @@
 
         # Combo Boxes
         QtCore.QObject.connect(self.AdvancedVersionComboBox,
-            QtCore.SIGNAL("activated(int)"), self.onAdvancedVersionComboBox)
+            QtCore.SIGNAL(u'activated(int)'), self.onAdvancedVersionComboBox)
         QtCore.QObject.connect(self.AdvancedBookComboBox,
-            QtCore.SIGNAL("activated(int)"), self.onAdvancedBookComboBox)
+            QtCore.SIGNAL(u'activated(int)'), self.onAdvancedBookComboBox)
         QtCore.QObject.connect(self.AdvancedFromChapter,
-            QtCore.SIGNAL("activated(int)"), self.onAdvancedFromChapter)
+            QtCore.SIGNAL(u'activated(int)'), self.onAdvancedFromChapter)
         QtCore.QObject.connect(self.AdvancedFromVerse,
-            QtCore.SIGNAL("activated(int)"), self.onAdvancedFromVerse)
+            QtCore.SIGNAL(u'activated(int)'), self.onAdvancedFromVerse)
         QtCore.QObject.connect(self.AdvancedToChapter,
-            QtCore.SIGNAL("activated(int)"), self.onAdvancedToChapter)
+            QtCore.SIGNAL(u'activated(int)'), self.onAdvancedToChapter)
         # Buttons
         QtCore.QObject.connect(self.AdvancedSearchButton,
-            QtCore.SIGNAL("pressed()"), self.onAdvancedSearchButton)
+            QtCore.SIGNAL(u'pressed()'), self.onAdvancedSearchButton)
         QtCore.QObject.connect(self.QuickSearchButton,
-            QtCore.SIGNAL("pressed()"), self.onQuickSearchButton)
+            QtCore.SIGNAL(u'pressed()'), self.onQuickSearchButton)
+        QtCore.QObject.connect(self.BibleListView,
+            QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onRowSelected)
         # Context Menus
         self.BibleListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
-
         self.BibleListView.addAction(self.contextMenuAction(
-            self.BibleListView, ':/system/system_preview.png',
+            self.BibleListView, u':/system/system_preview.png',
             translate(u'BibleMediaItem',u'&Preview Verse'), self.onBiblePreviewClick))
         self.BibleListView.addAction(self.contextMenuAction(
-            self.BibleListView, ':/system/system_live.png',
+            self.BibleListView, u':/system/system_live.png',
             translate(u'BibleMediaItem',u'&Show Live'), self.onBibleLiveClick))
         self.BibleListView.addAction(self.contextMenuAction(
-            self.BibleListView, ':/system/system_add.png',
+            self.BibleListView, u':/system/system_add.png',
             translate(u'BibleMediaItem',u'&Add to Service'), self.onBibleAddClick))
 
+
     def retranslateUi(self):
         log.debug(u'retranslateUi')
         self.QuickVersionLabel.setText(translate(u'BibleMediaItem', u'Version:'))
@@ -260,6 +262,9 @@
         self.ClearAdvancedSearchComboBox.addItem(translate(u'BibleMediaItem', u'Clear'))
         self.ClearAdvancedSearchComboBox.addItem(translate(u'BibleMediaItem', u'Keep'))
 
+    def onRowSelected(self, row):
+        self.onBiblePreviewClick()
+
     def initialise(self):
         log.debug(u'initialise')
         self.loadBibles()
@@ -268,25 +273,26 @@
         log.debug(u'Loading Bibles')
         self.QuickVersionComboBox.clear()
         self.AdvancedVersionComboBox.clear()
-
         bibles = self.parent.biblemanager.get_bibles(u'full')
-
-        for bible in bibles:  # load bibles into the combo boxes
+        # load bibles into the combo boxes
+        for bible in bibles:
             self.QuickVersionComboBox.addItem(bible)
-
         bibles = self.parent.biblemanager.get_bibles(u'partial') # Without HTTP
         first = True
-        for bible in bibles:  # load bibles into the combo boxes
+        # load bibles into the combo boxes
+        for bible in bibles:
             self.AdvancedVersionComboBox.addItem(bible)
             if first:
                 first = False
-                self.initialiseBible(bible) # use the first bible as the trigger
+                # use the first bible as the trigger
+                self.initialiseBible(bible)
 
     def onAdvancedVersionComboBox(self):
-        self.initialiseBible(str(self.AdvancedVersionComboBox.currentText())) # reset the bible info
+        self.initialiseBible(str(self.AdvancedVersionComboBox.currentText()))
 
     def onAdvancedBookComboBox(self):
-        self.initialiseBible(str(self.AdvancedVersionComboBox.currentText())) # reset the bible info
+        self.initialiseChapterVerse(str(self.AdvancedVersionComboBox.currentText()),
+            str(self.AdvancedBookComboBox.currentText()))
 
     def onBibleNewClick(self):
         self.bibleimportform = BibleImportForm(self.parent.config, self.parent.biblemanager, self)
@@ -324,10 +330,10 @@
         bible = str(self.AdvancedVersionComboBox.currentText())
         book = str(self.AdvancedBookComboBox.currentText())
         cf = self.AdvancedFromChapter.currentText()
-        self._adjust_combobox(cf, self.chapters_from, self.AdvancedToChapter)
+        self.adjustComboBox(cf, self.chapters_from, self.AdvancedToChapter)
         vse = self.parent.biblemanager.get_book_verse_count(bible, book, int(cf))[0] # get the verse count for new chapter
-        self._adjust_combobox(1, vse, self.AdvancedFromVerse)
-        self._adjust_combobox(1, vse, self.AdvancedToVerse)
+        self.adjustComboBox(1, vse, self.AdvancedFromVerse)
+        self.adjustComboBox(1, vse, self.AdvancedToVerse)
 
     def onQuickSearchButton(self):
         log.debug(u'Quick Search Button pressed')
@@ -344,19 +350,19 @@
 
     def onBibleLiveClick(self):
         service_item = ServiceItem(self.parent)
-        service_item.addIcon( ":/media/media_verse.png")
+        service_item.addIcon( u':/media/media_verse.png')
         self.generateSlideData(service_item)
         self.parent.live_controller.addServiceItem(service_item)
 
     def onBibleAddClick(self):
         service_item = ServiceItem(self.parent)
-        service_item.addIcon( ":/media/media_verse.png")
+        service_item.addIcon(u':/media/media_verse.png')
         self.generateSlideData(service_item)
         self.parent.service_manager.addServiceItem(service_item)
 
     def onBiblePreviewClick(self):
         service_item = ServiceItem(self.parent)
-        service_item.addIcon( ":/media/media_verse.png")
+        service_item.addIcon(u':/media/media_verse.png')
         self.generateSlideData(service_item)
         self.parent.preview_controller.addServiceItem(service_item)
 
@@ -391,7 +397,6 @@
             service_item.title = book + u' ' + loc
             if len(raw_footer) <= 1:
                 raw_footer.append(book)
-
         if  len(self.parent.bibles_tab.bible_theme)  == 0:
             service_item.theme = None
         else:
@@ -417,7 +422,7 @@
         self.loadBibles()
 
     def initialiseBible(self, bible):
-        log.debug(u"initialiseBible %s", bible)
+        log.debug(u'initialiseBible %s', bible)
         books = self.parent.biblemanager.get_bible_books(str(bible))
         self.AdvancedBookComboBox.clear()
         first = True
@@ -428,7 +433,7 @@
                 self.initialiseChapterVerse(bible, book.name)
 
     def initialiseChapterVerse(self, bible, book):
-        log.debug(u"initialiseChapterVerse %s , %s", bible, book)
+        log.debug(u'initialiseChapterVerse %s , %s', bible, book)
         self.chapters_from = self.parent.biblemanager.get_book_chapter_count(bible, book)[0]
         self.verses = self.parent.biblemanager.get_book_verse_count(bible, book, 1)[0]
         self.adjustComboBox(1, self.chapters_from, self.AdvancedFromChapter)
@@ -437,44 +442,46 @@
         self.adjustComboBox(1, self.verses, self.AdvancedToVerse)
 
     def adjustComboBox(self, frm, to , combo):
-        log.debug(u"adjustComboBox %s , %s , %s", combo, frm,  to)
+        log.debug(u'adjustComboBox %s , %s , %s', combo, frm,  to)
         combo.clear()
         for i in range(int(frm), int(to) + 1):
             combo.addItem(str(i))
 
     def displayResults(self, bible):
         for book, chap, vse , txt in self.search_results:
-            text = str(u" %s %d:%d (%s)"%(book , chap,vse, bible))
+            text = str(u' %s %d:%d (%s)'%(book , chap,vse, bible))
             self.BibleListData.addRow(0,text)
 
     def searchByReference(self, bible,  search):
-        log.debug(u"searchByReference %s ,%s", bible, search)
+        log.debug(u'searchByReference %s ,%s', bible, search)
         book = ''
         start_chapter = ''
         end_chapter = ''
         start_verse = ''
         end_verse = ''
-        search = search.replace('  ', ' ').strip()
+        search = search.replace(u'  ', ' ').strip()
         original = search
         message = None
-        # Remove book
-        for i in range (len(search)-1, 0, -1):   # 0 index arrays
+        # Remove book beware 0 index arrays
+        for i in range (len(search)-1, 0, - 1):
             if search[i] == ' ':
                 book = search[:i]
-                search = search[i:] # remove book from string
+                # remove book from string
+                search = search[i:]
                 break
-        search = search.replace('v', ':')  # allow V or v for verse instead of :
-        search = search.replace('V', ':')  # allow V or v for verse instead of :
+        # allow V or v for verse instead of :
+        search = search.replace(u'v', ':')
+        search = search.replace(u'V', ':')
         search = search.strip()
-        colon = search.find(':')
+        colon = search.find(u':')
         if colon == -1:
             # number : found
-            i = search.rfind(' ')
+            i = search.rfind(u' ')
             if i == -1:
                 chapter = ''
             else:
                 chapter = search[i:len(search)]
-            hyphen = chapter.find('-')
+            hyphen = chapter.find(u'-')
             if hyphen != -1:
                 start_chapter= chapter[:hyphen]
                 end_chapter= chapter[hyphen + 1:len(chapter)]
@@ -483,9 +490,9 @@
         else:
             # more complex
             #print search
-            sp = search.split('-') #find first
+            sp = search.split(u'-') #find first
             #print sp, len(sp)
-            sp1 = sp[0].split(':')
+            sp1 = sp[0].split(u':')
             #print sp1, len(sp1)
             if len(sp1) == 1:
                 start_chapter = sp1[0]
@@ -497,14 +504,16 @@
                 end_chapter = start_chapter
                 end_verse = start_verse
             else:
-                sp1 = sp[1].split(':')
-                #print sp1, len(sp1)
+                sp1 = sp[1].split(u':')
+                #print "2nd details", sp1, len(sp1)
                 if len(sp1) == 1:
-                    end_chapter = sp1[0]
-                    end_verse = 1
+                    end_chapter = start_chapter
+                    end_verse =  sp1[0]
                 else:
                     end_chapter = sp1[0]
                     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 == '':
             end_chapter = start_chapter.rstrip()
         if start_verse == '':
@@ -516,10 +525,9 @@
             end_verse = 99
         if start_chapter == '':
             message = u'No chapter found for search'
-        #print "message = " + str(message)
-        #print "search = " + str(original)
-        #print "results = " + str(book) + " @ "+ str(start_chapter)+" @ "+ str(end_chapter)+" @ "+ str(start_verse)+ " @ "+ str(end_verse)
-
+        #print 'message = ' + str(message)
+        #print 'search = ' + str(original)
+        #print 'results = ' + str(book) + ' @ '+ str(start_chapter)+' @ '+ str(end_chapter)+' @ '+ str(start_verse)+ ' @ '+ str(end_verse)
         if message == None:
             self.search_results = None
             self.search_results = self.parent.biblemanager.get_verse_text(bible, book,

=== modified file 'openlp/plugins/bibles/lib/textlistdata.py'
--- openlp/plugins/bibles/lib/textlistdata.py	2009-05-17 15:24:02 +0000
+++ openlp/plugins/bibles/lib/textlistdata.py	2009-06-07 18:39:31 +0000
@@ -19,21 +19,21 @@
 """
 import logging
 
-from PyQt4.QtCore import *
-from PyQt4.QtGui import *
-
-
-class TextListData(QAbstractListModel):
+from PyQt4 import QtCore, QtGui
+
+
+class TextListData(QtCore.QAbstractListModel):
     """
     An abstract list of strings
     """
     global log
-    log=logging.getLogger(u'TextListData')
+    log = logging.getLogger(u'TextListData')
     log.info(u'started')
 
     def __init__(self):
-        QAbstractListModel.__init__(self)
-        self.items = [] # will be a list of (database id , title) tuples
+        QtCore.QAbstractListModel.__init__(self)
+        # will be a list of (database id , title) tuples
+        self.items = []
 
     def resetStore(self):
         #reset list so can be reloaded
@@ -43,8 +43,8 @@
         return len(self.items)
 
     def insertRow(self, row, id, title):
-        self.beginInsertRows(QModelIndex(),row,row)
-        log.debug(u'insert row %d:%s for id %d'%(row,title, id))
+        self.beginInsertRows(QtCore.QModelIndex(),row,row)
+        log.debug(u'insert row %d:%s for id %d' % (row,title, id))
         self.items.insert(row, (id, title))
         self.endInsertRows()
 
@@ -57,15 +57,16 @@
         self.insertRow(len(self.items), id, title)
 
     def data(self, index, role):
-        row=index.row()
-        if row > len(self.items): # if the last row is selected and deleted, we then get called with an empty row!
-            return QVariant()
-        if role == Qt.DisplayRole:
+        row = index.row()
+        # if the last row is selected and deleted, we then get called with an empty row!
+        if row > len(self.items):
+            return QtCore.QVariant()
+        if role == QtCore.Qt.DisplayRole:
             retval = self.items[row][1]
         else:
-            retval = QVariant()
-        if type(retval) is not type(QVariant):
-            return QVariant(retval)
+            retval = QtCore.QVariant()
+        if type(retval) is not type(QtCore.QVariant):
+            return QtCore.QVariant(retval)
         else:
             return retval
 


Follow ups