Start to hook up the bible plugin to the actual bibles.

Update the Bible Registration form before Superfly gets at it!!!!

bzr-revno: 194
This commit is contained in:
Tim Bentley 2008-12-06 19:34:48 +00:00
parent 1b3e7e5031
commit 560f8fe1dc
7 changed files with 189 additions and 275 deletions

View File

@ -161,10 +161,28 @@ class BiblePlugin(Plugin):
self.listView.setObjectName("listView")
self.MediaManagerItem.PageLayout.addWidget(self.listView)
#QtCore.QObject.connect(self.QuickTab, QtCore.SIGNAL("triggered()"), self.onQuickTabClick)
QtCore.QObject.connect( self.SearchTabWidget, QtCore.SIGNAL("currentChanged ( QWidget * )" ), self.onQuickTabClick)
QtCore.QObject.connect(self.AdvancedVersionComboBox, QtCore.SIGNAL("activated(int)"), self.onAdvancedVersionComboBox)
self._initialiseform()
return self.MediaManagerItem
def onAdvancedVersionComboBox(self):
print self.AdvancedVersionComboBox.currentText()
books = self.biblemanager.getBibleBooks(str(self.AdvancedVersionComboBox.currentText()))
self.AdvancedBookComboBox.clear()
for b in books:
self.AdvancedBookComboBox.addItem(b[0])
def onQuickTabClick(self):
print "onQuickTabClick"
print self.SearchTabWidget.currentIndex()
print self.SearchTabWidget.tabText(self.SearchTabWidget.currentIndex())
pass
def onBibleNewClick(self):
self.bibleimportform = BibleImportForm(self.biblemanager)
self.bibleimportform.show()
@ -185,9 +203,7 @@ class BiblePlugin(Plugin):
self.QuickVersionComboBox.addItem(b)
self.AdvancedVersionComboBox.addItem(b)
self.AdvancedBookComboBox.addItem("Genesis")
self.AdvancedBookComboBox.addItem("Matthew")
self.AdvancedBookComboBox.addItem("Revelation")
for i in range(1, 10):
self.AdvancedFromChapter.addItem(str(i))

View File

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'bibleimport.ui'
#
# Created: Thu Dec 4 20:52:10 2008
# Created: Sat Dec 6 16:19:54 2008
# by: PyQt4 UI code generator 4.4.3
#
# WARNING! All changes made in this file will be lost!
@ -12,9 +12,9 @@ from PyQt4 import QtCore, QtGui
class Ui_BibleImportDialog(object):
def setupUi(self, BibleImportDialog):
BibleImportDialog.setObjectName("BibleImportDialog")
BibleImportDialog.resize(494, 658)
BibleImportDialog.resize(494, 725)
self.BibleImportButtonBox = QtGui.QDialogButtonBox(BibleImportDialog)
self.BibleImportButtonBox.setGeometry(QtCore.QRect(10, 620, 481, 33))
self.BibleImportButtonBox.setGeometry(QtCore.QRect(10, 690, 481, 33))
self.BibleImportButtonBox.setOrientation(QtCore.Qt.Horizontal)
self.BibleImportButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save)
self.BibleImportButtonBox.setObjectName("BibleImportButtonBox")
@ -25,43 +25,51 @@ class Ui_BibleImportDialog(object):
self.FileImportPage.setGeometry(QtCore.QRect(0, 0, 471, 361))
self.FileImportPage.setObjectName("FileImportPage")
self.OSISGroupBox = QtGui.QGroupBox(self.FileImportPage)
self.OSISGroupBox.setGeometry(QtCore.QRect(8, 74, 451, 71))
self.OSISGroupBox.setGeometry(QtCore.QRect(8, 65, 451, 81))
self.OSISGroupBox.setObjectName("OSISGroupBox")
self.gridLayout_2 = QtGui.QGridLayout(self.OSISGroupBox)
self.gridLayout_2.setMargin(8)
self.gridLayout_2.setSpacing(8)
self.gridLayout_2.setObjectName("gridLayout_2")
self.LocatioLabel = QtGui.QLabel(self.OSISGroupBox)
self.LocatioLabel.setObjectName("LocatioLabel")
self.gridLayout_2.addWidget(self.LocatioLabel, 0, 0, 1, 1)
self.OSISLocationEdit = QtGui.QLineEdit(self.OSISGroupBox)
self.OSISLocationEdit.setGeometry(QtCore.QRect(110, 29, 271, 28))
self.OSISLocationEdit.setObjectName("OSISLocationEdit")
self.gridLayout_2.addWidget(self.OSISLocationEdit, 0, 1, 1, 1)
self.OsisFileButton = QtGui.QPushButton(self.OSISGroupBox)
self.OsisFileButton.setGeometry(QtCore.QRect(400, 30, 41, 31))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("../images/import_load.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.OsisFileButton.setIcon(icon)
self.OsisFileButton.setObjectName("OsisFileButton")
self.LocatioLabel = QtGui.QLabel(self.OSISGroupBox)
self.LocatioLabel.setGeometry(QtCore.QRect(10, 29, 73, 22))
self.LocatioLabel.setObjectName("LocatioLabel")
self.gridLayout_2.addWidget(self.OsisFileButton, 0, 2, 1, 1)
self.CVSGroupBox = QtGui.QGroupBox(self.FileImportPage)
self.CVSGroupBox.setGeometry(QtCore.QRect(8, 150, 451, 161))
self.CVSGroupBox.setGeometry(QtCore.QRect(10, 170, 451, 191))
self.CVSGroupBox.setObjectName("CVSGroupBox")
self.gridLayout = QtGui.QGridLayout(self.CVSGroupBox)
self.gridLayout.setMargin(8)
self.gridLayout.setSpacing(8)
self.gridLayout.setObjectName("gridLayout")
self.BooksLocationLabel = QtGui.QLabel(self.CVSGroupBox)
self.BooksLocationLabel.setGeometry(QtCore.QRect(10, 70, 101, 17))
self.BooksLocationLabel.setObjectName("BooksLocationLabel")
self.gridLayout.addWidget(self.BooksLocationLabel, 0, 0, 1, 1)
self.VerseLocationLabel = QtGui.QLabel(self.CVSGroupBox)
self.VerseLocationLabel.setObjectName("VerseLocationLabel")
self.gridLayout.addWidget(self.VerseLocationLabel, 4, 0, 1, 1)
self.VerseLocationEdit = QtGui.QLineEdit(self.CVSGroupBox)
self.VerseLocationEdit.setObjectName("VerseLocationEdit")
self.gridLayout.addWidget(self.VerseLocationEdit, 4, 1, 1, 1)
self.BooksLocationEdit = QtGui.QLineEdit(self.CVSGroupBox)
self.BooksLocationEdit.setGeometry(QtCore.QRect(110, 70, 271, 28))
self.BooksLocationEdit.setObjectName("BooksLocationEdit")
self.gridLayout.addWidget(self.BooksLocationEdit, 0, 1, 1, 1)
self.BooksFileButton = QtGui.QPushButton(self.CVSGroupBox)
self.BooksFileButton.setGeometry(QtCore.QRect(400, 70, 41, 31))
self.BooksFileButton.setIcon(icon)
self.BooksFileButton.setObjectName("BooksFileButton")
self.VerseLocationLabel = QtGui.QLabel(self.CVSGroupBox)
self.VerseLocationLabel.setGeometry(QtCore.QRect(10, 110, 91, 17))
self.VerseLocationLabel.setObjectName("VerseLocationLabel")
self.VerseLocationEdit = QtGui.QLineEdit(self.CVSGroupBox)
self.VerseLocationEdit.setGeometry(QtCore.QRect(110, 110, 271, 28))
self.VerseLocationEdit.setObjectName("VerseLocationEdit")
self.gridLayout.addWidget(self.BooksFileButton, 0, 2, 1, 1)
self.VersesFileButton = QtGui.QPushButton(self.CVSGroupBox)
self.VersesFileButton.setGeometry(QtCore.QRect(400, 110, 41, 31))
self.VersesFileButton.setIcon(icon)
self.VersesFileButton.setObjectName("VersesFileButton")
self.gridLayout.addWidget(self.VersesFileButton, 4, 2, 1, 1)
self.BibleNameEdit = QtGui.QLineEdit(self.FileImportPage)
self.BibleNameEdit.setGeometry(QtCore.QRect(120, 20, 271, 28))
self.BibleNameEdit.setObjectName("BibleNameEdit")
@ -138,7 +146,7 @@ class Ui_BibleImportDialog(object):
self.WebBibleLayout.addWidget(self.ProxyGroupBox)
self.ImportToolBox.addItem(self.WebBiblePage, "")
self.LicenceDetailsGroupBox = QtGui.QGroupBox(BibleImportDialog)
self.LicenceDetailsGroupBox.setGeometry(QtCore.QRect(8, 450, 481, 136))
self.LicenceDetailsGroupBox.setGeometry(QtCore.QRect(10, 435, 471, 151))
self.LicenceDetailsGroupBox.setMinimumSize(QtCore.QSize(0, 123))
self.LicenceDetailsGroupBox.setObjectName("LicenceDetailsGroupBox")
self.formLayout = QtGui.QFormLayout(self.LicenceDetailsGroupBox)
@ -163,9 +171,19 @@ class Ui_BibleImportDialog(object):
self.PermisionEdit = QtGui.QLineEdit(self.LicenceDetailsGroupBox)
self.PermisionEdit.setObjectName("PermisionEdit")
self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.PermisionEdit)
self.StatusLabel = QtGui.QLabel(BibleImportDialog)
self.StatusLabel.setGeometry(QtCore.QRect(10, 590, 54, 17))
self.StatusLabel.setObjectName("StatusLabel")
self.MessageLabel = QtGui.QLabel(BibleImportDialog)
self.MessageLabel.setGeometry(QtCore.QRect(20, 670, 451, 17))
self.MessageLabel.setObjectName("MessageLabel")
self.ProgressGroupBox = QtGui.QGroupBox(BibleImportDialog)
self.ProgressGroupBox.setGeometry(QtCore.QRect(10, 600, 471, 70))
self.ProgressGroupBox.setObjectName("ProgressGroupBox")
self.gridLayout_3 = QtGui.QGridLayout(self.ProgressGroupBox)
self.gridLayout_3.setObjectName("gridLayout_3")
self.progressBar = QtGui.QProgressBar(self.ProgressGroupBox)
self.progressBar.setProperty("value", QtCore.QVariant(0))
self.progressBar.setInvertedAppearance(False)
self.progressBar.setObjectName("progressBar")
self.gridLayout_3.addWidget(self.progressBar, 0, 0, 1, 1)
self.retranslateUi(BibleImportDialog)
self.ImportToolBox.setCurrentIndex(0)
@ -177,9 +195,7 @@ class Ui_BibleImportDialog(object):
self.LocatioLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "File Location:", None, QtGui.QApplication.UnicodeUTF8))
self.CVSGroupBox.setTitle(QtGui.QApplication.translate("BibleImportDialog", "CVS Bible", None, QtGui.QApplication.UnicodeUTF8))
self.BooksLocationLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Books Location:", None, QtGui.QApplication.UnicodeUTF8))
self.BooksFileButton.setText(QtGui.QApplication.translate("BibleImportDialog", "PushButton", None, QtGui.QApplication.UnicodeUTF8))
self.VerseLocationLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Verse Location:", None, QtGui.QApplication.UnicodeUTF8))
self.VersesFileButton.setText(QtGui.QApplication.translate("BibleImportDialog", "PushButton", None, QtGui.QApplication.UnicodeUTF8))
self.BibleNameLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Bible Name:", None, QtGui.QApplication.UnicodeUTF8))
self.ImportToolBox.setItemText(self.ImportToolBox.indexOf(self.FileImportPage), QtGui.QApplication.translate("BibleImportDialog", "File Import Page", None, QtGui.QApplication.UnicodeUTF8))
self.OptionsGroupBox.setTitle(QtGui.QApplication.translate("BibleImportDialog", "Download Options", None, QtGui.QApplication.UnicodeUTF8))
@ -201,5 +217,6 @@ class Ui_BibleImportDialog(object):
self.VersionNameLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Version Name:", None, QtGui.QApplication.UnicodeUTF8))
self.CopyrightLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Copyright:", None, QtGui.QApplication.UnicodeUTF8))
self.PermisionLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Permission:", None, QtGui.QApplication.UnicodeUTF8))
self.StatusLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "TextLabel", None, QtGui.QApplication.UnicodeUTF8))
self.ProgressGroupBox.setTitle(QtGui.QApplication.translate("BibleImportDialog", "Import Progress", None, QtGui.QApplication.UnicodeUTF8))
self.progressBar.setFormat(QtGui.QApplication.translate("BibleImportDialog", "%p", None, QtGui.QApplication.UnicodeUTF8))

View File

@ -30,9 +30,7 @@ class BibleImportForm(QDialog, Ui_BibleImportDialog):
"""
QDialog.__init__(self, parent)
self.setupUi(self)
#self.biblemanager = biblemanager
# self.savebutton = self.BibleImportButtonBox.button(QtGui.QDialogButtonBox.Save)
# self.BibleImportButtonBox.removeButton(self.savebutton) # hide the save button tile screen is valid
self.biblemanager = biblemanager
@pyqtSignature("")
@ -64,8 +62,8 @@ class BibleImportForm(QDialog, Ui_BibleImportDialog):
def on_BibleImportButtonBox_clicked(self,button):
print button.text()
if button.text() == "Save":
bipf = BibleImportProgressForm()
bipf.show()
#bipf = BibleImportProgressForm()
#bipf.show()
if self.biblemanager != None:
self.biblemanager.processDialog(bipf)
self.biblemanager.registerOSISFileBible(str(self.BibleNameEdit.displayText()), self.OSISLocationEdit.displayText())

View File

@ -1,104 +0,0 @@
"""
OpenLP - Open Source Lyrics Projection
Copyright (c) 2008 Raoul Snyman
Portions copyright (c) 2008 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
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
"""
import os, os.path
import sys
import urllib2
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%m-%d %H:%M',
filename='plugins.log',
filemode='w')
class BibleCommon:
global log
log=logging.getLogger("BibleCommon")
log.info("BibleCommon")
def __init__(self):
"""
"""
def _getWebText(self, urlstring, proxyurl):
log.debug( "getWebText %s %s", proxyurl, urlstring)
if proxyurl != "" or len(proxyurl) > 0 :
print "ProxyUrl " , proxyurl + " " + str(len(proxyurl))
proxy_support = urllib2.ProxyHandler({'http': self.proxyurl})
http_support = urllib2.HTTPHandler()
opener= urllib2.build_opener(proxy_support, http_support)
urllib2.install_opener(opener)
xml_string = ""
req = urllib2.Request(urlstring)
req.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')
try:
handle = urllib2.urlopen(req)
xml_string = handle.read()
except IOError, e:
if hasattr(e, 'reason'):
log.error( 'Reason : ')
log.error( e.reason)
return xml_string
def _cleanText(self, text):
"""
Clean up text and remove extra characters
after been downloaded from web
"""
#return text.rstrip()
# Remove Headings from the Text
i = text.find("<h")
while i > -1:
j=text.find("</h", i)
text = text[ : (i - 1)]+text[(j+4)]
i = text.find("<h")
# Remove Support References from the Text
x = text.find("<sup>")
while x > -1:
y = text.find("</sup>")
text= text[:x] + text[y + 6:len(text)]
x = text.find("<sup>")
# Static Clean ups
text= text.replace('\n', '')
text= text.replace('\r', '')
text= text.replace('&nbsp;', '')
text= text.replace('<P>', '')
text= text.replace('<I>', '')
text= text.replace('</I>', '')
text= text.replace('<P />', '')
text= text.replace('<p />', '')
text= text.replace('</P>', '')
text= text.replace('<BR>', '')
text= text.replace('<BR />', '')
text= text.replace(chr(189), '1/2')
text= text.replace("&quot;", '"')
text= text.replace("&apos;", "'")
i = text.find("<")
while i > -1 :
j = text.find(">", i)
text= text[:i] + text[j+1:]
i = text.find("<")
text= text.replace('>', '')
return text.rstrip()

View File

@ -94,7 +94,7 @@ class CWExtract(BibleCommon):
def getBibleChapter(self, version, bookid, bookname, chapter) :
log.debug( "getBibleChapter %s,%s,%s,%s", version, bookid, bookname, chapter)
"""
Access and decode bibles via the Crosswaly website
Access and decode bibles via the Crosswalk website
Version - the version of the bible like niv for New International version
bookid - not used
bookname - text name of in english eg 'gen' for Genesis

View File

@ -51,7 +51,7 @@ class BibleManager():
self.bibleDBCache = {} # dict of bible database classes
self.bibleHTTPCache = {} # dict of bible http readers
self.biblePath = path
self.bibleSuffix = "bible3a"
self.bibleSuffix = "bible3"
self.dialogobject = None
log.debug("Bible Path %s", self.biblePath )
@ -76,12 +76,12 @@ class BibleManager():
def processDialog(self, dialogobject):
self.dialogobject = dialogobject
def registerHTTPBible(self, biblename, biblesource, proxyurl=None, proxyid=None, proxypass=None):
def registerHTTPBible(self, biblename, biblesource, mode="lazy", proxyurl=None, proxyid=None, proxypass=None):
"""
Return a list of bibles from a given URL.
The selected Bible can then be registered and LazyLoaded into a database
"""
log.debug( "registerHTTPBible %s,%s,%s,%s,%s", biblename, biblesource, proxyurl, proxyid, proxypass)
log.debug( "registerHTTPBible %s,%s,%s,%s,%s", biblename, biblesource, proxyurl, proxyid, proxypass, mode)
if self._isNewBible(biblename):
nbible = BibleDBImpl(biblename) # Create new Bible
nbible.createTables() # Create Database

View File

@ -6,7 +6,7 @@
<x>0</x>
<y>0</y>
<width>494</width>
<height>658</height>
<height>725</height>
</rect>
</property>
<property name="windowTitle" >
@ -16,7 +16,7 @@
<property name="geometry" >
<rect>
<x>10</x>
<y>620</y>
<y>690</y>
<width>481</width>
<height>33</height>
</rect>
@ -56,33 +56,33 @@
<property name="geometry" >
<rect>
<x>8</x>
<y>74</y>
<y>65</y>
<width>451</width>
<height>71</height>
<height>81</height>
</rect>
</property>
<property name="title" >
<string>OSIS Bible</string>
</property>
<widget class="QLineEdit" name="OSISLocationEdit" >
<property name="geometry" >
<rect>
<x>110</x>
<y>29</y>
<width>271</width>
<height>28</height>
</rect>
<layout class="QGridLayout" name="gridLayout_2" >
<property name="margin" >
<number>8</number>
</property>
<property name="spacing" >
<number>8</number>
</property>
<item row="0" column="0" >
<widget class="QLabel" name="LocatioLabel" >
<property name="text" >
<string>File Location:</string>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QLineEdit" name="OSISLocationEdit" />
</item>
<item row="0" column="2" >
<widget class="QPushButton" name="OsisFileButton" >
<property name="geometry" >
<rect>
<x>400</x>
<y>30</y>
<width>41</width>
<height>31</height>
</rect>
</property>
<property name="text" >
<string/>
</property>
@ -91,112 +91,71 @@
<normaloff>../images/import_load.png</normaloff>../images/import_load.png</iconset>
</property>
</widget>
<widget class="QLabel" name="LocatioLabel" >
<property name="geometry" >
<rect>
<x>10</x>
<y>29</y>
<width>73</width>
<height>22</height>
</rect>
</property>
<property name="text" >
<string>File Location:</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QGroupBox" name="CVSGroupBox" >
<property name="geometry" >
<rect>
<x>8</x>
<y>150</y>
<x>10</x>
<y>170</y>
<width>451</width>
<height>161</height>
<height>191</height>
</rect>
</property>
<property name="title" >
<string>CVS Bible</string>
</property>
<widget class="QLabel" name="BooksLocationLabel" >
<property name="geometry" >
<rect>
<x>10</x>
<y>70</y>
<width>101</width>
<height>17</height>
</rect>
<layout class="QGridLayout" name="gridLayout" >
<property name="margin" >
<number>8</number>
</property>
<property name="spacing" >
<number>8</number>
</property>
<item row="0" column="0" >
<widget class="QLabel" name="BooksLocationLabel" >
<property name="text" >
<string>Books Location:</string>
</property>
</widget>
<widget class="QLineEdit" name="BooksLocationEdit" >
<property name="geometry" >
<rect>
<x>110</x>
<y>70</y>
<width>271</width>
<height>28</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="BooksFileButton" >
<property name="geometry" >
<rect>
<x>400</x>
<y>70</y>
<width>41</width>
<height>31</height>
</rect>
</property>
<property name="text" >
<string>PushButton</string>
</property>
<property name="icon" >
<iconset>
<normaloff>../images/import_load.png</normaloff>../images/import_load.png</iconset>
</property>
</widget>
</item>
<item row="4" column="0" >
<widget class="QLabel" name="VerseLocationLabel" >
<property name="geometry" >
<rect>
<x>10</x>
<y>110</y>
<width>91</width>
<height>17</height>
</rect>
</property>
<property name="text" >
<string>Verse Location:</string>
</property>
</widget>
<widget class="QLineEdit" name="VerseLocationEdit" >
<property name="geometry" >
<rect>
<x>110</x>
<y>110</y>
<width>271</width>
<height>28</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="VersesFileButton" >
<property name="geometry" >
<rect>
<x>400</x>
<y>110</y>
<width>41</width>
<height>31</height>
</rect>
</property>
</item>
<item row="4" column="1" >
<widget class="QLineEdit" name="VerseLocationEdit" />
</item>
<item row="0" column="1" >
<widget class="QLineEdit" name="BooksLocationEdit" />
</item>
<item row="0" column="2" >
<widget class="QPushButton" name="BooksFileButton" >
<property name="text" >
<string>PushButton</string>
<string/>
</property>
<property name="icon" >
<iconset>
<normaloff>../images/import_load.png</normaloff>../images/import_load.png</iconset>
</property>
</widget>
</item>
<item row="4" column="2" >
<widget class="QPushButton" name="VersesFileButton" >
<property name="text" >
<string/>
</property>
<property name="icon" >
<iconset>
<normaloff>../images/import_load.png</normaloff>../images/import_load.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QLineEdit" name="BibleNameEdit" >
<property name="geometry" >
@ -394,10 +353,10 @@
<widget class="QGroupBox" name="LicenceDetailsGroupBox" >
<property name="geometry" >
<rect>
<x>8</x>
<y>450</y>
<width>481</width>
<height>136</height>
<x>10</x>
<y>435</y>
<width>471</width>
<height>151</height>
</rect>
</property>
<property name="minimumSize" >
@ -448,19 +407,47 @@
</item>
</layout>
</widget>
<widget class="QLabel" name="StatusLabel" >
<widget class="QLabel" name="MessageLabel" >
<property name="geometry" >
<rect>
<x>10</x>
<y>590</y>
<width>54</width>
<x>20</x>
<y>670</y>
<width>451</width>
<height>17</height>
</rect>
</property>
<property name="text" >
<string>TextLabel</string>
<string/>
</property>
</widget>
<widget class="QGroupBox" name="ProgressGroupBox" >
<property name="geometry" >
<rect>
<x>10</x>
<y>600</y>
<width>471</width>
<height>70</height>
</rect>
</property>
<property name="title" >
<string>Import Progress</string>
</property>
<layout class="QGridLayout" name="gridLayout_3" >
<item row="0" column="0" >
<widget class="QProgressBar" name="progressBar" >
<property name="value" >
<number>0</number>
</property>
<property name="invertedAppearance" >
<bool>false</bool>
</property>
<property name="format" >
<string>%p</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>