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

Proposed by Tim Bentley
Status: Merged
Merged at revision: not available
Proposed branch: lp:~trb143/openlp/bugfixes
Merge into: lp:openlp
Diff against target: None lines
To merge this branch: bzr merge lp:~trb143/openlp/bugfixes
Reviewer Review Type Date Requested Status
Raoul Snyman Approve
Review via email: mp+9843@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Tim Bentley (trb143) wrote :

New Bible Import Screen
Transparent Theme backgrounds
Global Theme Handling improvements

Revision history for this message
Raoul Snyman (raoul-snyman) :
review: Approve
lp:~trb143/openlp/bugfixes updated
502. By Raoul Snyman

Merge from songmaintenance branch.

503. By Tim Bentley

New bible Import Screen
Transparent Theme backgrounds
Global Theme Handling improvements

-------This line and the following will be ignored --------------

modified:
  openlp/core/lib/renderer.py
  openlp/core/lib/themexmlhandler.py
  openlp/core/ui/amendthemeform.py
  openlp/core/ui/servicemanager.py
  openlp/core/ui/thememanager.py
  openlp/core/ui/themestab.py
  openlp/plugins/bibles/forms/bibleimportdialog.py
  resources/forms/bibleimportdialog.ui
pending merges:
  Tim Bentley 2009-08-07 finish Theme handling corrections
    Tim Bentley 2009-08-07 Default handling allows editing and blocks deletes
    Tim Bentley 2009-08-07 New bible import form
    Tim Bentley 2009-08-06 [merge] Head
    Tim Bentley 2009-08-06 Standardize row hight in renderer

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'openlp/core/lib/renderer.py'
--- openlp/core/lib/renderer.py 2009-08-05 17:59:37 +0000
+++ openlp/core/lib/renderer.py 2009-08-07 17:19:32 +0000
@@ -154,11 +154,6 @@
154 text.append(line)154 text.append(line)
155 #print text155 #print text
156 split_text = self.pre_render_text(text)156 split_text = self.pre_render_text(text)
157# print "-----------------------------"
158# print split_text
159# split_text = self._split_set_of_lines(text, False)
160# print "-----------------------------"
161# print split_text
162 log.debug(u'format_slide - End')157 log.debug(u'format_slide - End')
163 return split_text158 return split_text
164159
@@ -168,7 +163,7 @@
168 line_width = self._rect.width() - self._right_margin163 line_width = self._rect.width() - self._right_margin
169 #number of lines on a page - adjust for rounding up.164 #number of lines on a page - adjust for rounding up.
170 #print self._rect.height() , metrics.height(), int(self._rect.height() / metrics.height())165 #print self._rect.height() , metrics.height(), int(self._rect.height() / metrics.height())
171 page_length = int(self._rect.height() / metrics.height()) - 1166 page_length = int(self._rect.height() / metrics.height() - 2 ) - 1
172 ave_line_width = line_width / metrics.averageCharWidth()167 ave_line_width = line_width / metrics.averageCharWidth()
173# print "A", ave_line_width168# print "A", ave_line_width
174 ave_line_width = int(ave_line_width + (ave_line_width * 0.5))169 ave_line_width = int(ave_line_width + (ave_line_width * 0.5))
@@ -272,113 +267,49 @@
272 log.debug(u'render background %s start', self._theme.background_type)267 log.debug(u'render background %s start', self._theme.background_type)
273 painter = QtGui.QPainter()268 painter = QtGui.QPainter()
274 painter.begin(self._bg_frame)269 painter.begin(self._bg_frame)
275 if self._theme.background_type == u'solid':270 if self._theme.background_mode == u'transparent':
276 painter.fillRect(self._frame.rect(), QtGui.QColor(self._theme.background_color))271 painter.fillRect(self._frame.rect(), QtCore.Qt.transparent)
277 elif self._theme.background_type == u'gradient':272 else:
278 # gradient273 if self._theme.background_type == u'solid':
279 gradient = None274 painter.fillRect(self._frame.rect(), QtGui.QColor(self._theme.background_color))
280 if self._theme.background_direction == u'horizontal':275 elif self._theme.background_type == u'gradient':
281 w = int(self._frame.width()) / 2276 # gradient
282 # vertical277 gradient = None
283 gradient = QtGui.QLinearGradient(w, 0, w, self._frame.height())278 if self._theme.background_direction == u'horizontal':
284 elif self._theme.background_direction == u'vertical':279 w = int(self._frame.width()) / 2
285 h = int(self._frame.height()) / 2280 # vertical
286 # Horizontal281 gradient = QtGui.QLinearGradient(w, 0, w, self._frame.height())
287 gradient = QtGui.QLinearGradient(0, h, self._frame.width(), h)282 elif self._theme.background_direction == u'vertical':
288 else:283 h = int(self._frame.height()) / 2
289 w = int(self._frame.width()) / 2284 # Horizontal
290 h = int(self._frame.height()) / 2285 gradient = QtGui.QLinearGradient(0, h, self._frame.width(), h)
291 # Circular286 else:
292 gradient = QtGui.QRadialGradient(w, h, w)287 w = int(self._frame.width()) / 2
293 gradient.setColorAt(0, QtGui.QColor(self._theme.background_startColor))288 h = int(self._frame.height()) / 2
294 gradient.setColorAt(1, QtGui.QColor(self._theme.background_endColor))289 # Circular
295 painter.setBrush(QtGui.QBrush(gradient))290 gradient = QtGui.QRadialGradient(w, h, w)
296 rectPath = QtGui.QPainterPath()291 gradient.setColorAt(0, QtGui.QColor(self._theme.background_startColor))
297 max_x = self._frame.width()292 gradient.setColorAt(1, QtGui.QColor(self._theme.background_endColor))
298 max_y = self._frame.height()293 painter.setBrush(QtGui.QBrush(gradient))
299 rectPath.moveTo(0, 0)294 rectPath = QtGui.QPainterPath()
300 rectPath.lineTo(0, max_y)295 max_x = self._frame.width()
301 rectPath.lineTo(max_x, max_y)296 max_y = self._frame.height()
302 rectPath.lineTo(max_x, 0)297 rectPath.moveTo(0, 0)
303 rectPath.closeSubpath()298 rectPath.lineTo(0, max_y)
304 painter.drawPath(rectPath)299 rectPath.lineTo(max_x, max_y)
305 elif self._theme.background_type== u'image':300 rectPath.lineTo(max_x, 0)
306 # image301 rectPath.closeSubpath()
307 painter.fillRect(self._frame.rect(), QtCore.Qt.black)302 painter.drawPath(rectPath)
308 if self.bg_image is not None:303 elif self._theme.background_type== u'image':
309 painter.drawImage(0 ,0 , self.bg_image)304 # image
305 painter.fillRect(self._frame.rect(), QtCore.Qt.black)
306 if self.bg_image is not None:
307 painter.drawImage(0 ,0 , self.bg_image)
310 painter.end()308 painter.end()
311 self._bg_frame_small = self._bg_frame.scaled(QtCore.QSize(280, 210), QtCore.Qt.KeepAspectRatio,309 self._bg_frame_small = self._bg_frame.scaled(QtCore.QSize(280, 210), QtCore.Qt.KeepAspectRatio,
312 QtCore.Qt.SmoothTransformation)310 QtCore.Qt.SmoothTransformation)
313 log.debug(u'render background End')311 log.debug(u'render background End')
314312
315# def _split_set_of_lines(self, lines, footer):
316# """
317# Given a list of lines, decide how to split them best if they don't all
318# fit on the screen. This is done by splitting at 1/2, 1/3 or 1/4 of the
319# set. If it doesn't fit, even at this size, just split at each
320# opportunity. We'll do this by getting the bounding box of each line,
321# and then summing them appropriately.
322#
323# Returns a list of [lists of lines], one set for each screenful.
324#
325# ``lines``
326# The lines of text to split.
327#
328# ``footer``
329# The footer text.
330# """
331# bboxes = []
332# for line in lines:
333# bboxes.append(self._render_and_wrap_single_line(line, footer))
334# numlines = len(lines)
335# bottom = self._rect.bottom()
336# for ratio in (numlines, numlines/2, numlines/3, numlines/4):
337# good = 1
338# startline = 0
339# endline = startline + ratio
340# while (endline <= numlines and endline != 0):
341# by = 0
342# for (x,y) in bboxes[startline:endline]:
343# by += y
344# if by > bottom:
345# good = 0
346# break
347# startline += ratio
348# endline = startline + ratio
349# if good == 1:
350# break
351# retval = []
352# numlines_per_page = ratio
353# if good:
354# c = 0
355# thislines = []
356# while c < numlines:
357# thislines.append(lines[c])
358# c += 1
359# if len(thislines) == numlines_per_page:
360# retval.append(thislines)
361# thislines = []
362# if len(thislines) > 0:
363# retval.append(thislines)
364# else:
365# # print "Just split where you can"
366# retval = []
367# startline = 0
368# endline = startline + 1
369# while (endline <= numlines):
370# by = 0
371# for (x,y) in bboxes[startline:endline]:
372# by += y
373# if by > bottom:
374# retval.append(lines[startline:endline-1])
375# startline = endline-1
376# # gets incremented below
377# endline = startline
378# by = 0
379# endline += 1
380# return retval
381
382 def _correctAlignment(self, rect, bbox):313 def _correctAlignment(self, rect, bbox):
383 """314 """
384 Corrects the vertical alignment of text.315 Corrects the vertical alignment of text.
385316
=== modified file 'openlp/core/lib/themexmlhandler.py'
--- openlp/core/lib/themexmlhandler.py 2009-08-05 17:59:37 +0000
+++ openlp/core/lib/themexmlhandler.py 2009-08-07 17:19:32 +0000
@@ -331,6 +331,11 @@
331 for element in iter:331 for element in iter:
332 if len(element.getchildren()) > 0:332 if len(element.getchildren()) > 0:
333 master = element.tag + u'_'333 master = element.tag + u'_'
334 else:
335 #background transparent tags have no children so special case
336 if element.tag == u'background':
337 for e in element.attrib.iteritems():
338 setattr(self, element.tag + u'_' + e[0], e[1])
334 if len(element.attrib) > 0:339 if len(element.attrib) > 0:
335 for e in element.attrib.iteritems():340 for e in element.attrib.iteritems():
336 if master == u'font_' and e[0] == u'type':341 if master == u'font_' and e[0] == u'type':
337342
=== modified file 'openlp/core/ui/amendthemeform.py'
--- openlp/core/ui/amendthemeform.py 2009-08-03 19:49:21 +0000
+++ openlp/core/ui/amendthemeform.py 2009-08-07 17:19:32 +0000
@@ -108,16 +108,19 @@
108 new_theme.new_document(theme_name)108 new_theme.new_document(theme_name)
109 save_from = None109 save_from = None
110 save_to = None110 save_to = None
111 if self.theme.background_type == u'solid':111 if self.theme.background_mode == u'transparent':
112 new_theme.add_background_solid(unicode(self.theme.background_color))112 new_theme.add_background_transparent()
113 elif self.theme.background_type == u'gradient':
114 new_theme.add_background_gradient(unicode(self.theme.background_startColor),
115 unicode(self.theme.background_endColor), self.theme.background_direction)
116 else:113 else:
117 (path, filename) =os.path.split(unicode(self.theme.background_filename))114 if self.theme.background_type == u'solid':
118 new_theme.add_background_image(filename)115 new_theme.add_background_solid(unicode(self.theme.background_color))
119 save_to= os.path.join(self.path, theme_name, filename )116 elif self.theme.background_type == u'gradient':
120 save_from = self.theme.background_filename117 new_theme.add_background_gradient(unicode(self.theme.background_startColor),
118 unicode(self.theme.background_endColor), self.theme.background_direction)
119 else:
120 (path, filename) =os.path.split(unicode(self.theme.background_filename))
121 new_theme.add_background_image(filename)
122 save_to= os.path.join(self.path, theme_name, filename )
123 save_from = self.theme.background_filename
121124
122 new_theme.add_font(unicode(self.theme.font_main_name), unicode(self.theme.font_main_color),125 new_theme.add_font(unicode(self.theme.font_main_name), unicode(self.theme.font_main_color),
123 unicode(self.theme.font_main_proportion), unicode(self.theme.font_main_override), u'main',126 unicode(self.theme.font_main_proportion), unicode(self.theme.font_main_override), u'main',
124127
=== modified file 'openlp/core/ui/servicemanager.py'
--- openlp/core/ui/servicemanager.py 2009-08-02 16:13:59 +0000
+++ openlp/core/ui/servicemanager.py 2009-08-06 17:43:53 +0000
@@ -161,7 +161,7 @@
161 # Last little bits of setting up161 # Last little bits of setting up
162 self.config = PluginConfig(u'ServiceManager')162 self.config = PluginConfig(u'ServiceManager')
163 self.servicePath = self.config.get_data_path()163 self.servicePath = self.config.get_data_path()
164 self.service_theme = self.config.get_config(u'theme service theme', u'')164 self.service_theme = unicode(self.config.get_config(u'theme service theme', u''))
165165
166 def onMoveSelectionUp(self):166 def onMoveSelectionUp(self):
167 """167 """
@@ -412,7 +412,11 @@
412412
413 def addServiceItem(self, item):413 def addServiceItem(self, item):
414 """414 """
415 Add an item to the list415 Add a Service item to the list
416
417 ``item``
418 Service Item to be added
419
416 """420 """
417 self.serviceItems.append({u'data': item, u'order': len(self.serviceItems)+1, u'expanded':True})421 self.serviceItems.append({u'data': item, u'order': len(self.serviceItems)+1, u'expanded':True})
418 treewidgetitem = QtGui.QTreeWidgetItem(self.ServiceManagerList)422 treewidgetitem = QtGui.QTreeWidgetItem(self.ServiceManagerList)
@@ -465,13 +469,21 @@
465 def dragEnterEvent(self, event):469 def dragEnterEvent(self, event):
466 """470 """
467 Accept Drag events471 Accept Drag events
472
473 ``event``
474 Handle of the event pint passed
475
468 """476 """
469 event.accept()477 event.accept()
470478
471 def dropEvent(self, event):479 def dropEvent(self, event):
472 """480 """
473 Handle the release of the event and trigger the plugin481 Receive drop event and trigger an internal event to get the
474 to add the data482 plugins to build and push the correct service item
483 The drag event payload carries the plugin name
484
485 ``event``
486 Handle of the event pint passed
475 """487 """
476 link = event.mimeData()488 link = event.mimeData()
477 if link.hasText():489 if link.hasText():
@@ -481,12 +493,16 @@
481 def updateThemeList(self, theme_list):493 def updateThemeList(self, theme_list):
482 """494 """
483 Called from ThemeManager when the Themes have changed495 Called from ThemeManager when the Themes have changed
496
497 ``theme_list``
498 A list of current themes to be displayed
499
484 """500 """
485 self.ThemeComboBox.clear()501 self.ThemeComboBox.clear()
486 self.ThemeComboBox.addItem(u'')502 self.ThemeComboBox.addItem(u'')
487 for theme in theme_list:503 for theme in theme_list:
488 self.ThemeComboBox.addItem(theme)504 self.ThemeComboBox.addItem(theme)
489 id = self.ThemeComboBox.findText(unicode(self.service_theme), QtCore.Qt.MatchExactly)505 id = self.ThemeComboBox.findText(self.service_theme, QtCore.Qt.MatchExactly)
490 # Not Found506 # Not Found
491 if id == -1:507 if id == -1:
492 id = 0508 id = 0
493509
=== modified file 'openlp/core/ui/thememanager.py'
--- openlp/core/ui/thememanager.py 2009-08-02 16:13:59 +0000
+++ openlp/core/ui/thememanager.py 2009-08-07 19:05:00 +0000
@@ -28,7 +28,7 @@
2828
29from openlp.core.ui import AmendThemeForm, ServiceManager29from openlp.core.ui import AmendThemeForm, ServiceManager
30from openlp.core.theme import Theme30from openlp.core.theme import Theme
31from openlp.core.lib import Event, EventType, EventManager, OpenLPToolbar, ThemeXML, Renderer, translate, file_to_xml, buildIcon31from openlp.core.lib import PluginConfig, Event, EventType, EventManager, OpenLPToolbar, ThemeXML, Renderer, translate, file_to_xml, buildIcon
32from openlp.core.utils import ConfigHelper32from openlp.core.utils import ConfigHelper
3333
34class ThemeManager(QtGui.QWidget):34class ThemeManager(QtGui.QWidget):
@@ -68,10 +68,33 @@
68 self.ThemeListWidget.setAlternatingRowColors(True)68 self.ThemeListWidget.setAlternatingRowColors(True)
69 self.ThemeListWidget.setIconSize(QtCore.QSize(88,50))69 self.ThemeListWidget.setIconSize(QtCore.QSize(88,50))
70 self.Layout.addWidget(self.ThemeListWidget)70 self.Layout.addWidget(self.ThemeListWidget)
71 #Signals
72 QtCore.QObject.connect(self.ThemeListWidget,
73 QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.changeGlobal)
74 #Variables
71 self.themelist = []75 self.themelist = []
72 self.path = os.path.join(ConfigHelper.get_data_path(), u'themes')76 self.path = os.path.join(ConfigHelper.get_data_path(), u'themes')
73 self.checkThemesExists(self.path)77 self.checkThemesExists(self.path)
74 self.amendThemeForm.path = self.path78 self.amendThemeForm.path = self.path
79 # Last little bits of setting up
80 self.config = PluginConfig(u'themes')
81 self.servicePath = self.config.get_data_path()
82 self.global_theme = unicode(self.config.get_config(u'theme global theme', u''))
83
84 def changeGlobal(self, index):
85 for count in range (0, self.ThemeListWidget.count()):
86 item = self.ThemeListWidget.item(count)
87 oldName = item.text()
88 #reset the old name
89 if oldName != unicode(item.data(QtCore.Qt.UserRole).toString()):
90 self.ThemeListWidget.item(count).setText(unicode(item.data(QtCore.Qt.UserRole).toString()))
91 #Set the new name
92 if count == index.row():
93 self.global_theme = unicode(self.ThemeListWidget.item(count).text())
94 name = (u'(%s):%s' % (translate(u'ThemeManager', u'default'), self.global_theme))
95 self.ThemeListWidget.item(count).setText(name)
96 self.config.set_config(u'theme global theme', self.global_theme)
97 self.push_themes()
7598
76 def onAddTheme(self):99 def onAddTheme(self):
77 self.amendThemeForm.loadTheme(None)100 self.amendThemeForm.loadTheme(None)
@@ -80,30 +103,38 @@
80 def onEditTheme(self):103 def onEditTheme(self):
81 item = self.ThemeListWidget.currentItem()104 item = self.ThemeListWidget.currentItem()
82 if item is not None:105 if item is not None:
83 self.amendThemeForm.loadTheme(unicode(item.text()))106 self.amendThemeForm.loadTheme(unicode(item.data(QtCore.Qt.UserRole).toString()))
84 self.amendThemeForm.exec_()107 self.amendThemeForm.exec_()
85108
86 def onDeleteTheme(self):109 def onDeleteTheme(self):
110 self.global_theme = unicode(self.config.get_config(u'theme global theme', u''))
87 item = self.ThemeListWidget.currentItem()111 item = self.ThemeListWidget.currentItem()
88 if item is not None:112 if item is not None:
89 theme = unicode(item.text())113 theme = unicode(item.text())
90 th = theme + u'.png'114 # should be the same unless default
91 row = self.ThemeListWidget.row(item)115 if theme != unicode(item.data(QtCore.Qt.UserRole).toString()):
92 self.ThemeListWidget.takeItem(row)116 QtGui.QMessageBox.critical(self,
93 try:117 translate(u'ThemeManager', u'Error'),
94 os.remove(os.path.join(self.path, th))118 translate(u'ThemeManager', u'You are unable to delete the default theme!'),
95 except:119 QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
96 #if not present do not worry120 else:
97 pass121 self.themelist.remove(theme)
98 try:122 th = theme + u'.png'
99 shutil.rmtree(os.path.join(self.path, theme))123 row = self.ThemeListWidget.row(item)
100 except:124 self.ThemeListWidget.takeItem(row)
101 #if not present do not worry125 try:
102 pass126 os.remove(os.path.join(self.path, th))
103 #As we do not reload the themes push out the change127 except:
104 self.parent.EventManager.post_event(Event(EventType.ThemeListChanged))128 #if not present do not worry
105 self.parent.ServiceManagerContents.updateThemeList(self.getThemes())129 pass
106 self.parent.settingsForm.ThemesTab.updateThemeList(self.getThemes())130 try:
131 shutil.rmtree(os.path.join(self.path, theme))
132 except:
133 #if not present do not worry
134 pass
135 #As we do not reload the themes push out the change
136 #Reaload the list as the internal lists and events need to be triggered
137 self.push_themes()
107138
108 def onExportTheme(self):139 def onExportTheme(self):
109 pass140 pass
@@ -136,11 +167,18 @@
136 if os.path.exists(theme):167 if os.path.exists(theme):
137 (path, filename) = os.path.split(unicode(file))168 (path, filename) = os.path.split(unicode(file))
138 textName = os.path.splitext(name)[0]169 textName = os.path.splitext(name)[0]
139 item_name = QtGui.QListWidgetItem(textName)170 if textName == self.global_theme:
171 name = (u'(%s):%s' % (translate(u'ThemeManager', u'default'), textName))
172 else:
173 name = textName
174 item_name = QtGui.QListWidgetItem(name)
140 item_name.setIcon(buildIcon(theme))175 item_name.setIcon(buildIcon(theme))
141 item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(textName))176 item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(textName))
142 self.ThemeListWidget.addItem(item_name)177 self.ThemeListWidget.addItem(item_name)
143 self.themelist.append(textName)178 self.themelist.append(textName)
179 self.push_themes()
180
181 def push_themes(self):
144 self.parent.EventManager.post_event(Event(EventType.ThemeListChanged))182 self.parent.EventManager.post_event(Event(EventType.ThemeListChanged))
145 self.parent.ServiceManagerContents.updateThemeList(self.getThemes())183 self.parent.ServiceManagerContents.updateThemeList(self.getThemes())
146 self.parent.settingsForm.ThemesTab.updateThemeList(self.getThemes())184 self.parent.settingsForm.ThemesTab.updateThemeList(self.getThemes())
@@ -153,6 +191,7 @@
153 xml_file = os.path.join(self.path, unicode(themename), unicode(themename) + u'.xml')191 xml_file = os.path.join(self.path, unicode(themename), unicode(themename) + u'.xml')
154 try:192 try:
155 xml = file_to_xml(xml_file)193 xml = file_to_xml(xml_file)
194 #print xml
156 except:195 except:
157 newtheme = ThemeXML()196 newtheme = ThemeXML()
158 newtheme.new_document(u'New Theme')197 newtheme.new_document(u'New Theme')
@@ -163,7 +202,9 @@
163 unicode(0), unicode(0), unicode(0))202 unicode(0), unicode(0), unicode(0))
164 xml = newtheme.extract_xml()203 xml = newtheme.extract_xml()
165 theme = ThemeXML()204 theme = ThemeXML()
205 #print theme
166 theme.parse(xml)206 theme.parse(xml)
207 #print "A ", theme
167 theme.extend_image_filename(self.path)208 theme.extend_image_filename(self.path)
168 return theme209 return theme
169210
@@ -211,6 +252,9 @@
211 self.generateAndSaveImage(dir, themename, filexml)252 self.generateAndSaveImage(dir, themename, filexml)
212253
213 def checkVersion1(self, xmlfile):254 def checkVersion1(self, xmlfile):
255 """
256 Am I a version 1 theme
257 """
214 log.debug(u'checkVersion1 ')258 log.debug(u'checkVersion1 ')
215 theme = xmlfile259 theme = xmlfile
216 tree = ElementTree(element=XML(theme)).getroot()260 tree = ElementTree(element=XML(theme)).getroot()
@@ -220,6 +264,11 @@
220 return True264 return True
221265
222 def migrateVersion122(self, filename, fullpath, xml_data):266 def migrateVersion122(self, filename, fullpath, xml_data):
267 """
268 Called by convert the xml data from version 1 format
269 to the current format.
270 New fields are defaulted but the new theme is useable
271 """
223 log.debug(u'migrateVersion122 %s %s', filename, fullpath)272 log.debug(u'migrateVersion122 %s %s', filename, fullpath)
224 theme = Theme(xml_data)273 theme = Theme(xml_data)
225 newtheme = ThemeXML()274 newtheme = ThemeXML()
226275
=== modified file 'openlp/core/ui/themestab.py'
--- openlp/core/ui/themestab.py 2009-06-16 18:21:24 +0000
+++ openlp/core/ui/themestab.py 2009-08-07 19:05:00 +0000
@@ -99,8 +99,6 @@
99 QtCore.QObject.connect(self.DefaultComboBox,99 QtCore.QObject.connect(self.DefaultComboBox,
100 QtCore.SIGNAL(u'activated(int)'), self.onDefaultComboBoxChanged)100 QtCore.SIGNAL(u'activated(int)'), self.onDefaultComboBoxChanged)
101101
102 #self.DefaultListView.setScaledContents(True)
103
104 def retranslateUi(self):102 def retranslateUi(self):
105 self.GlobalGroupBox.setTitle(translate(u'ThemesTab', u'Global theme'))103 self.GlobalGroupBox.setTitle(translate(u'ThemesTab', u'Global theme'))
106 self.LevelGroupBox.setTitle(translate(u'ThemesTab', u'Theme level'))104 self.LevelGroupBox.setTitle(translate(u'ThemesTab', u'Theme level'))
@@ -138,9 +136,9 @@
138 self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)136 self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)
139137
140 def onDefaultComboBoxChanged(self, value):138 def onDefaultComboBoxChanged(self, value):
141 self.global_theme = self.DefaultComboBox.currentText()139 self.global_theme = unicode(self.DefaultComboBox.currentText())
142 self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)140 self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)
143 image = self.parent.ThemeManagerContents.getPreviewImage(unicode(self.global_theme))141 image = self.parent.ThemeManagerContents.getPreviewImage(self.global_theme)
144 preview = QtGui.QPixmap(unicode(image))142 preview = QtGui.QPixmap(unicode(image))
145 display = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)143 display = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
146 self.DefaultListView.setPixmap(display)144 self.DefaultListView.setPixmap(display)
@@ -149,17 +147,19 @@
149 """147 """
150 Called from ThemeManager when the Themes have changed148 Called from ThemeManager when the Themes have changed
151 """149 """
150 #reload as may have been triggered by the ThemeManager
151 self.global_theme = self.config.get_config(u'theme global theme', u'')
152 self.DefaultComboBox.clear()152 self.DefaultComboBox.clear()
153 for theme in theme_list:153 for theme in theme_list:
154 self.DefaultComboBox.addItem(theme)154 self.DefaultComboBox.addItem(theme)
155 id = self.DefaultComboBox.findText(unicode(self.global_theme), QtCore.Qt.MatchExactly)155 id = self.DefaultComboBox.findText(self.global_theme, QtCore.Qt.MatchExactly)
156 if id == -1:156 if id == -1:
157 id = 0 # Not Found157 id = 0 # Not Found
158 self.global_theme = u''158 self.global_theme = u''
159 self.DefaultComboBox.setCurrentIndex(id)159 self.DefaultComboBox.setCurrentIndex(id)
160 self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)160 self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)
161 if self.global_theme is not u'':161 if self.global_theme is not u'':
162 image = self.parent.ThemeManagerContents.getPreviewImage(unicode(self.global_theme))162 image = self.parent.ThemeManagerContents.getPreviewImage(self.global_theme)
163 preview = QtGui.QPixmap(unicode(image))163 preview = QtGui.QPixmap(unicode(image))
164 display = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)164 display = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
165 self.DefaultListView.setPixmap(display)
166\ No newline at end of file165\ No newline at end of file
166 self.DefaultListView.setPixmap(display)
167167
=== modified file 'openlp/plugins/bibles/forms/bibleimportdialog.py'
--- openlp/plugins/bibles/forms/bibleimportdialog.py 2009-06-19 19:49:00 +0000
+++ openlp/plugins/bibles/forms/bibleimportdialog.py 2009-08-07 17:19:32 +0000
@@ -2,49 +2,110 @@
22
3# Form implementation generated from reading ui file 'bibleimportdialog.ui'3# Form implementation generated from reading ui file 'bibleimportdialog.ui'
4#4#
5# Created: Fri Feb 20 05:45:22 20095# Created: Fri Aug 7 06:07:06 2009
6# by: PyQt4 UI code generator 4.4.46# by: PyQt4 UI code generator 4.4.4
7#7#
8# WARNING! All changes made in this file will be lost!8# WARNING! All changes made in this file will be lost!
99
10from PyQt4 import QtCore, QtGui10from PyQt4 import QtCore, QtGui
11from openlp.core.lib import translate
1211
13class Ui_BibleImportDialog(object):12class Ui_BibleImportDialog(object):
14 def setupUi(self, BibleImportDialog):13 def setupUi(self, BibleImportDialog):
15 BibleImportDialog.setObjectName(u'BibleImportDialog')14 BibleImportDialog.setObjectName(u'BibleImportDialog')
16 BibleImportDialog.resize(494, 725)15 BibleImportDialog.resize(500, 686)
17 icon = QtGui.QIcon()16 icon = QtGui.QIcon()
18 icon.addPixmap(QtGui.QPixmap(u':/icon/openlp-logo-16x16.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)17 icon.addPixmap(QtGui.QPixmap(u':/icon/openlp.org-icon-32.bmp'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
19 BibleImportDialog.setWindowIcon(icon)18 BibleImportDialog.setWindowIcon(icon)
20 self.ImportToolBox = QtGui.QToolBox(BibleImportDialog)19 self.LicenceDetailsGroupBox = QtGui.QGroupBox(BibleImportDialog)
21 self.ImportToolBox.setGeometry(QtCore.QRect(20, 20, 451, 401))20 self.LicenceDetailsGroupBox.setGeometry(QtCore.QRect(10, 400, 480, 151))
22 self.ImportToolBox.setFrameShape(QtGui.QFrame.StyledPanel)21 self.LicenceDetailsGroupBox.setMinimumSize(QtCore.QSize(0, 123))
23 self.ImportToolBox.setObjectName(u'ImportToolBox')22 self.LicenceDetailsGroupBox.setObjectName(u'LicenceDetailsGroupBox')
24 self.FileImportPage = QtGui.QWidget()23 self.formLayout = QtGui.QFormLayout(self.LicenceDetailsGroupBox)
25 self.FileImportPage.setGeometry(QtCore.QRect(0, 0, 447, 337))24 self.formLayout.setMargin(8)
26 self.FileImportPage.setObjectName(u'FileImportPage')25 self.formLayout.setHorizontalSpacing(8)
27 self.OSISGroupBox = QtGui.QGroupBox(self.FileImportPage)26 self.formLayout.setObjectName(u'formLayout')
28 self.OSISGroupBox.setGeometry(QtCore.QRect(18, 65, 411, 81))27 self.VersionNameLabel = QtGui.QLabel(self.LicenceDetailsGroupBox)
28 self.VersionNameLabel.setObjectName(u'VersionNameLabel')
29 self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.VersionNameLabel)
30 self.VersionNameEdit = QtGui.QLineEdit(self.LicenceDetailsGroupBox)
31 self.VersionNameEdit.setObjectName(u'VersionNameEdit')
32 self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.VersionNameEdit)
33 self.CopyrightLabel = QtGui.QLabel(self.LicenceDetailsGroupBox)
34 self.CopyrightLabel.setObjectName(u'CopyrightLabel')
35 self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.CopyrightLabel)
36 self.CopyrightEdit = QtGui.QLineEdit(self.LicenceDetailsGroupBox)
37 self.CopyrightEdit.setObjectName(u'CopyrightEdit')
38 self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.CopyrightEdit)
39 self.PermisionLabel = QtGui.QLabel(self.LicenceDetailsGroupBox)
40 self.PermisionLabel.setObjectName(u'PermisionLabel')
41 self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.PermisionLabel)
42 self.PermisionEdit = QtGui.QLineEdit(self.LicenceDetailsGroupBox)
43 self.PermisionEdit.setObjectName(u'PermisionEdit')
44 self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.PermisionEdit)
45 self.MessageLabel = QtGui.QLabel(BibleImportDialog)
46 self.MessageLabel.setGeometry(QtCore.QRect(20, 670, 271, 17))
47 self.MessageLabel.setObjectName(u'MessageLabel')
48 self.ProgressGroupBox = QtGui.QGroupBox(BibleImportDialog)
49 self.ProgressGroupBox.setGeometry(QtCore.QRect(10, 550, 480, 70))
50 self.ProgressGroupBox.setObjectName(u'ProgressGroupBox')
51 self.gridLayout_3 = QtGui.QGridLayout(self.ProgressGroupBox)
52 self.gridLayout_3.setObjectName(u'gridLayout_3')
53 self.ProgressBar = QtGui.QProgressBar(self.ProgressGroupBox)
54 self.ProgressBar.setProperty(u'value', QtCore.QVariant(0))
55 self.ProgressBar.setInvertedAppearance(False)
56 self.ProgressBar.setObjectName(u'ProgressBar')
57 self.gridLayout_3.addWidget(self.ProgressBar, 0, 0, 1, 1)
58 self.layoutWidget = QtGui.QWidget(BibleImportDialog)
59 self.layoutWidget.setGeometry(QtCore.QRect(310, 630, 180, 38))
60 self.layoutWidget.setObjectName(u'layoutWidget')
61 self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget)
62 self.horizontalLayout.setMargin(6)
63 self.horizontalLayout.setObjectName(u'horizontalLayout')
64 self.ImportButton = QtGui.QPushButton(self.layoutWidget)
65 self.ImportButton.setObjectName(u'ImportButton')
66 self.horizontalLayout.addWidget(self.ImportButton)
67 self.CancelButton = QtGui.QPushButton(self.layoutWidget)
68 self.CancelButton.setObjectName(u'CancelButton')
69 self.horizontalLayout.addWidget(self.CancelButton)
70 self.tabWidget = QtGui.QTabWidget(BibleImportDialog)
71 self.tabWidget.setGeometry(QtCore.QRect(10, 30, 480, 361))
72 self.tabWidget.setObjectName(u'tabWidget')
73 self.OsisTab = QtGui.QWidget()
74 self.OsisTab.setObjectName(u'OsisTab')
75 self.OSISGroupBox = QtGui.QGroupBox(self.OsisTab)
76 self.OSISGroupBox.setGeometry(QtCore.QRect(10, 10, 460, 141))
29 self.OSISGroupBox.setObjectName(u'OSISGroupBox')77 self.OSISGroupBox.setObjectName(u'OSISGroupBox')
30 self.gridLayout_2 = QtGui.QGridLayout(self.OSISGroupBox)78 self.gridLayout_2 = QtGui.QGridLayout(self.OSISGroupBox)
31 self.gridLayout_2.setMargin(8)
32 self.gridLayout_2.setSpacing(8)
33 self.gridLayout_2.setObjectName(u'gridLayout_2')79 self.gridLayout_2.setObjectName(u'gridLayout_2')
80 self.horizontalLayout_2 = QtGui.QHBoxLayout()
81 self.horizontalLayout_2.setObjectName(u'horizontalLayout_2')
82 self.BibleNameLabel = QtGui.QLabel(self.OSISGroupBox)
83 self.BibleNameLabel.setObjectName(u'BibleNameLabel')
84 self.horizontalLayout_2.addWidget(self.BibleNameLabel)
85 self.BibleNameEdit = QtGui.QLineEdit(self.OSISGroupBox)
86 self.BibleNameEdit.setObjectName(u'BibleNameEdit')
87 self.horizontalLayout_2.addWidget(self.BibleNameEdit)
88 self.gridLayout_2.addLayout(self.horizontalLayout_2, 0, 0, 1, 1)
89 self.horizontalLayout_3 = QtGui.QHBoxLayout()
90 self.horizontalLayout_3.setObjectName(u'horizontalLayout_3')
34 self.LocatioLabel = QtGui.QLabel(self.OSISGroupBox)91 self.LocatioLabel = QtGui.QLabel(self.OSISGroupBox)
35 self.LocatioLabel.setObjectName(u'LocatioLabel')92 self.LocatioLabel.setObjectName(u'LocatioLabel')
36 self.gridLayout_2.addWidget(self.LocatioLabel, 0, 0, 1, 1)93 self.horizontalLayout_3.addWidget(self.LocatioLabel)
37 self.OSISLocationEdit = QtGui.QLineEdit(self.OSISGroupBox)94 self.OSISLocationEdit = QtGui.QLineEdit(self.OSISGroupBox)
38 self.OSISLocationEdit.setObjectName(u'OSISLocationEdit')95 self.OSISLocationEdit.setObjectName(u'OSISLocationEdit')
39 self.gridLayout_2.addWidget(self.OSISLocationEdit, 0, 1, 1, 1)96 self.horizontalLayout_3.addWidget(self.OSISLocationEdit)
40 self.OsisFileButton = QtGui.QPushButton(self.OSISGroupBox)97 self.OsisFileButton = QtGui.QPushButton(self.OSISGroupBox)
41 icon1 = QtGui.QIcon()98 icon1 = QtGui.QIcon()
42 icon1.addPixmap(QtGui.QPixmap(u':/imports/import_load.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)99 icon1.addPixmap(QtGui.QPixmap(u':/imports/import_load.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
43 self.OsisFileButton.setIcon(icon1)100 self.OsisFileButton.setIcon(icon1)
44 self.OsisFileButton.setObjectName(u'OsisFileButton')101 self.OsisFileButton.setObjectName(u'OsisFileButton')
45 self.gridLayout_2.addWidget(self.OsisFileButton, 0, 2, 1, 1)102 self.horizontalLayout_3.addWidget(self.OsisFileButton)
46 self.CVSGroupBox = QtGui.QGroupBox(self.FileImportPage)103 self.gridLayout_2.addLayout(self.horizontalLayout_3, 1, 0, 1, 1)
47 self.CVSGroupBox.setGeometry(QtCore.QRect(20, 170, 411, 191))104 self.tabWidget.addTab(self.OsisTab, u'')
105 self.CsvTab = QtGui.QWidget()
106 self.CsvTab.setObjectName(u'CsvTab')
107 self.CVSGroupBox = QtGui.QGroupBox(self.CsvTab)
108 self.CVSGroupBox.setGeometry(QtCore.QRect(10, 10, 460, 191))
48 self.CVSGroupBox.setObjectName(u'CVSGroupBox')109 self.CVSGroupBox.setObjectName(u'CVSGroupBox')
49 self.gridLayout = QtGui.QGridLayout(self.CVSGroupBox)110 self.gridLayout = QtGui.QGridLayout(self.CVSGroupBox)
50 self.gridLayout.setMargin(8)111 self.gridLayout.setMargin(8)
@@ -70,43 +131,39 @@
70 self.VersesFileButton.setIcon(icon1)131 self.VersesFileButton.setIcon(icon1)
71 self.VersesFileButton.setObjectName(u'VersesFileButton')132 self.VersesFileButton.setObjectName(u'VersesFileButton')
72 self.gridLayout.addWidget(self.VersesFileButton, 4, 2, 1, 1)133 self.gridLayout.addWidget(self.VersesFileButton, 4, 2, 1, 1)
73 self.BibleNameEdit = QtGui.QLineEdit(self.FileImportPage)134 self.tabWidget.addTab(self.CsvTab, u'')
74 self.BibleNameEdit.setGeometry(QtCore.QRect(100, 20, 280, 28))135 self.HttpTab = QtGui.QWidget()
75 self.BibleNameEdit.setObjectName(u'BibleNameEdit')136 self.HttpTab.setObjectName(u'HttpTab')
76 self.BibleNameLabel = QtGui.QLabel(self.FileImportPage)137 self.OptionsGroupBox = QtGui.QGroupBox(self.HttpTab)
77 self.BibleNameLabel.setGeometry(QtCore.QRect(18, 20, 98, 22))138 self.OptionsGroupBox.setGeometry(QtCore.QRect(10, 10, 460, 141))
78 self.BibleNameLabel.setObjectName(u'BibleNameLabel')
79 self.ImportToolBox.addItem(self.FileImportPage, u'')
80 self.WebBiblePage = QtGui.QWidget()
81 self.WebBiblePage.setGeometry(QtCore.QRect(0, 0, 447, 337))
82 self.WebBiblePage.setObjectName(u'WebBiblePage')
83 self.WebBibleLayout = QtGui.QVBoxLayout(self.WebBiblePage)
84 self.WebBibleLayout.setSpacing(8)
85 self.WebBibleLayout.setMargin(8)
86 self.WebBibleLayout.setObjectName(u'WebBibleLayout')
87 self.OptionsGroupBox = QtGui.QGroupBox(self.WebBiblePage)
88 self.OptionsGroupBox.setObjectName(u'OptionsGroupBox')139 self.OptionsGroupBox.setObjectName(u'OptionsGroupBox')
89 self.formLayout_2 = QtGui.QFormLayout(self.OptionsGroupBox)140 self.verticalLayout = QtGui.QVBoxLayout(self.OptionsGroupBox)
90 self.formLayout_2.setObjectName(u'formLayout_2')141 self.verticalLayout.setObjectName(u'verticalLayout')
142 self.horizontalLayout_4 = QtGui.QHBoxLayout()
143 self.horizontalLayout_4.setObjectName(u'horizontalLayout_4')
91 self.LocationLabel = QtGui.QLabel(self.OptionsGroupBox)144 self.LocationLabel = QtGui.QLabel(self.OptionsGroupBox)
92 self.LocationLabel.setObjectName(u'LocationLabel')145 self.LocationLabel.setObjectName(u'LocationLabel')
93 self.formLayout_2.setWidget(0, QtGui.QFormLayout.LabelRole, self.LocationLabel)146 self.horizontalLayout_4.addWidget(self.LocationLabel)
94 self.LocationComboBox = QtGui.QComboBox(self.OptionsGroupBox)147 self.LocationComboBox = QtGui.QComboBox(self.OptionsGroupBox)
95 self.LocationComboBox.setObjectName(u'LocationComboBox')148 self.LocationComboBox.setObjectName(u'LocationComboBox')
96 self.LocationComboBox.addItem(QtCore.QString())149 self.LocationComboBox.addItem(QtCore.QString())
97 self.formLayout_2.setWidget(0, QtGui.QFormLayout.FieldRole, self.LocationComboBox)150 self.horizontalLayout_4.addWidget(self.LocationComboBox)
151 self.verticalLayout.addLayout(self.horizontalLayout_4)
152 self.horizontalLayout_5 = QtGui.QHBoxLayout()
153 self.horizontalLayout_5.setObjectName(u'horizontalLayout_5')
98 self.BibleLabel = QtGui.QLabel(self.OptionsGroupBox)154 self.BibleLabel = QtGui.QLabel(self.OptionsGroupBox)
99 self.BibleLabel.setObjectName(u'BibleLabel')155 self.BibleLabel.setObjectName(u'BibleLabel')
100 self.formLayout_2.setWidget(1, QtGui.QFormLayout.LabelRole, self.BibleLabel)156 self.horizontalLayout_5.addWidget(self.BibleLabel)
101 self.BibleComboBox = QtGui.QComboBox(self.OptionsGroupBox)157 self.BibleComboBox = QtGui.QComboBox(self.OptionsGroupBox)
102 self.BibleComboBox.setObjectName(u'BibleComboBox')158 self.BibleComboBox.setObjectName(u'BibleComboBox')
103 self.BibleComboBox.addItem(QtCore.QString())159 self.BibleComboBox.addItem(QtCore.QString())
104 self.BibleComboBox.setItemText(0, u'')160 self.BibleComboBox.setItemText(0, u'')
105 self.BibleComboBox.addItem(QtCore.QString())161 self.BibleComboBox.addItem(QtCore.QString())
106 self.BibleComboBox.addItem(QtCore.QString())162 self.BibleComboBox.addItem(QtCore.QString())
107 self.formLayout_2.setWidget(1, QtGui.QFormLayout.FieldRole, self.BibleComboBox)163 self.horizontalLayout_5.addWidget(self.BibleComboBox)
108 self.WebBibleLayout.addWidget(self.OptionsGroupBox)164 self.verticalLayout.addLayout(self.horizontalLayout_5)
109 self.ProxyGroupBox = QtGui.QGroupBox(self.WebBiblePage)165 self.ProxyGroupBox = QtGui.QGroupBox(self.HttpTab)
166 self.ProxyGroupBox.setGeometry(QtCore.QRect(10, 160, 460, 161))
110 self.ProxyGroupBox.setObjectName(u'ProxyGroupBox')167 self.ProxyGroupBox.setObjectName(u'ProxyGroupBox')
111 self.ProxySettingsLayout = QtGui.QFormLayout(self.ProxyGroupBox)168 self.ProxySettingsLayout = QtGui.QFormLayout(self.ProxyGroupBox)
112 self.ProxySettingsLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)169 self.ProxySettingsLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
@@ -129,66 +186,12 @@
129 self.PasswordLabel.setObjectName(u'PasswordLabel')186 self.PasswordLabel.setObjectName(u'PasswordLabel')
130 self.ProxySettingsLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.PasswordLabel)187 self.ProxySettingsLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.PasswordLabel)
131 self.PasswordEdit = QtGui.QLineEdit(self.ProxyGroupBox)188 self.PasswordEdit = QtGui.QLineEdit(self.ProxyGroupBox)
132 self.PasswordEdit.setEchoMode(QtGui.QLineEdit.Password)
133 self.PasswordEdit.setObjectName(u'PasswordEdit')189 self.PasswordEdit.setObjectName(u'PasswordEdit')
134 self.ProxySettingsLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.PasswordEdit)190 self.ProxySettingsLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.PasswordEdit)
135 self.WebBibleLayout.addWidget(self.ProxyGroupBox)191 self.tabWidget.addTab(self.HttpTab, u'')
136 self.ImportToolBox.addItem(self.WebBiblePage, u'')
137 self.LicenceDetailsGroupBox = QtGui.QGroupBox(BibleImportDialog)
138 self.LicenceDetailsGroupBox.setGeometry(QtCore.QRect(10, 435, 471, 151))
139 self.LicenceDetailsGroupBox.setMinimumSize(QtCore.QSize(0, 123))
140 self.LicenceDetailsGroupBox.setObjectName(u'LicenceDetailsGroupBox')
141 self.formLayout = QtGui.QFormLayout(self.LicenceDetailsGroupBox)
142 self.formLayout.setMargin(8)
143 self.formLayout.setHorizontalSpacing(8)
144 self.formLayout.setObjectName(u'formLayout')
145 self.VersionNameLabel = QtGui.QLabel(self.LicenceDetailsGroupBox)
146 self.VersionNameLabel.setObjectName(u'VersionNameLabel')
147 self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.VersionNameLabel)
148 self.VersionNameEdit = QtGui.QLineEdit(self.LicenceDetailsGroupBox)
149 self.VersionNameEdit.setObjectName(u'VersionNameEdit')
150 self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.VersionNameEdit)
151 self.CopyrightLabel = QtGui.QLabel(self.LicenceDetailsGroupBox)
152 self.CopyrightLabel.setObjectName(u'CopyrightLabel')
153 self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.CopyrightLabel)
154 self.CopyrightEdit = QtGui.QLineEdit(self.LicenceDetailsGroupBox)
155 self.CopyrightEdit.setObjectName(u'CopyrightEdit')
156 self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.CopyrightEdit)
157 self.PermisionLabel = QtGui.QLabel(self.LicenceDetailsGroupBox)
158 self.PermisionLabel.setObjectName(u'PermisionLabel')
159 self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.PermisionLabel)
160 self.PermisionEdit = QtGui.QLineEdit(self.LicenceDetailsGroupBox)
161 self.PermisionEdit.setObjectName(u'PermisionEdit')
162 self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.PermisionEdit)
163 self.MessageLabel = QtGui.QLabel(BibleImportDialog)
164 self.MessageLabel.setGeometry(QtCore.QRect(20, 670, 271, 17))
165 self.MessageLabel.setObjectName(u'MessageLabel')
166 self.ProgressGroupBox = QtGui.QGroupBox(BibleImportDialog)
167 self.ProgressGroupBox.setGeometry(QtCore.QRect(10, 600, 471, 70))
168 self.ProgressGroupBox.setObjectName(u'ProgressGroupBox')
169 self.gridLayout_3 = QtGui.QGridLayout(self.ProgressGroupBox)
170 self.gridLayout_3.setObjectName(u'gridLayout_3')
171 self.ProgressBar = QtGui.QProgressBar(self.ProgressGroupBox)
172 self.ProgressBar.setProperty(u'value', QtCore.QVariant(0))
173 self.ProgressBar.setInvertedAppearance(False)
174 self.ProgressBar.setObjectName(u'ProgressBar')
175 self.gridLayout_3.addWidget(self.ProgressBar, 0, 0, 1, 1)
176 self.layoutWidget = QtGui.QWidget(BibleImportDialog)
177 self.layoutWidget.setGeometry(QtCore.QRect(300, 680, 180, 38))
178 self.layoutWidget.setObjectName(u'layoutWidget')
179 self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget)
180 self.horizontalLayout.setMargin(6)
181 self.horizontalLayout.setObjectName(u'horizontalLayout')
182 self.ImportButton = QtGui.QPushButton(self.layoutWidget)
183 self.ImportButton.setObjectName(u'ImportButton')
184 self.horizontalLayout.addWidget(self.ImportButton)
185 self.CancelButton = QtGui.QPushButton(self.layoutWidget)
186 self.CancelButton.setObjectName(u'CancelButton')
187 self.horizontalLayout.addWidget(self.CancelButton)
188192
189 self.retranslateUi(BibleImportDialog)193 self.retranslateUi(BibleImportDialog)
190 self.ImportToolBox.setCurrentIndex(1)194 self.tabWidget.setCurrentIndex(2)
191
192 QtCore.QMetaObject.connectSlotsByName(BibleImportDialog)195 QtCore.QMetaObject.connectSlotsByName(BibleImportDialog)
193 BibleImportDialog.setTabOrder(self.BibleNameEdit, self.OSISLocationEdit)196 BibleImportDialog.setTabOrder(self.BibleNameEdit, self.OSISLocationEdit)
194 BibleImportDialog.setTabOrder(self.OSISLocationEdit, self.OsisFileButton)197 BibleImportDialog.setTabOrder(self.OSISLocationEdit, self.OsisFileButton)
@@ -206,30 +209,31 @@
206 BibleImportDialog.setTabOrder(self.CopyrightEdit, self.PermisionEdit)209 BibleImportDialog.setTabOrder(self.CopyrightEdit, self.PermisionEdit)
207210
208 def retranslateUi(self, BibleImportDialog):211 def retranslateUi(self, BibleImportDialog):
209 BibleImportDialog.setWindowTitle(translate(u'BibleImportDialog', u'Bible Registration'))212 BibleImportDialog.setWindowTitle(QtGui.QApplication.translate(u'BibleImportDialog', u'Bible Registration', None, QtGui.QApplication.UnicodeUTF8))
210 self.OSISGroupBox.setTitle(translate(u'BibleImportDialog', u'OSIS Bible'))213 self.LicenceDetailsGroupBox.setTitle(QtGui.QApplication.translate(u'BibleImportDialog', u'Licence Details', None, QtGui.QApplication.UnicodeUTF8))
211 self.LocatioLabel.setText(translate(u'BibleImportDialog', u'File Location:'))214 self.VersionNameLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Version Name:', None, QtGui.QApplication.UnicodeUTF8))
212 self.CVSGroupBox.setTitle(translate(u'BibleImportDialog', u'CVS Bible'))215 self.CopyrightLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Copyright:', None, QtGui.QApplication.UnicodeUTF8))
213 self.BooksLocationLabel.setText(translate(u'BibleImportDialog', u'Books Location:'))216 self.PermisionLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Permission:', None, QtGui.QApplication.UnicodeUTF8))
214 self.VerseLocationLabel.setText(translate(u'BibleImportDialog', u'Verse Location:'))217 self.ProgressGroupBox.setTitle(QtGui.QApplication.translate(u'BibleImportDialog', u'Import Progress', None, QtGui.QApplication.UnicodeUTF8))
215 self.BibleNameLabel.setText(translate(u'BibleImportDialog', u'Bible Name:'))218 self.ProgressBar.setFormat(QtGui.QApplication.translate(u'BibleImportDialog', u'%p', None, QtGui.QApplication.UnicodeUTF8))
216 self.ImportToolBox.setItemText(self.ImportToolBox.indexOf(self.FileImportPage), translate(u'BibleImportDialog', u'File Import Page'))219 self.ImportButton.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Import', None, QtGui.QApplication.UnicodeUTF8))
217 self.OptionsGroupBox.setTitle(translate(u'BibleImportDialog', u'Download Options'))220 self.CancelButton.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Cancel', None, QtGui.QApplication.UnicodeUTF8))
218 self.LocationLabel.setText(translate(u'BibleImportDialog', u'Location:'))221 self.OSISGroupBox.setTitle(QtGui.QApplication.translate(u'BibleImportDialog', u'OSIS Bible', None, QtGui.QApplication.UnicodeUTF8))
219 self.LocationComboBox.setItemText(0, translate(u'BibleImportDialog', u'Crosswalk'))222 self.BibleNameLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Bible Name:', None, QtGui.QApplication.UnicodeUTF8))
220 self.BibleLabel.setText(translate(u'BibleImportDialog', u'Bible:'))223 self.LocatioLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'File Location:', None, QtGui.QApplication.UnicodeUTF8))
221 self.BibleComboBox.setItemText(1, translate(u'BibleImportDialog', u'NIV'))224 self.tabWidget.setTabText(self.tabWidget.indexOf(self.OsisTab), QtGui.QApplication.translate(u'BibleImportDialog', u'Osis (Sword) Imports', None, QtGui.QApplication.UnicodeUTF8))
222 self.BibleComboBox.setItemText(2, translate(u'BibleImportDialog', u'KJV'))225 self.CVSGroupBox.setTitle(QtGui.QApplication.translate(u'BibleImportDialog', u'CVS Bible', None, QtGui.QApplication.UnicodeUTF8))
223 self.ProxyGroupBox.setTitle(translate(u'BibleImportDialog', u'Proxy Settings (Optional)'))226 self.BooksLocationLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Books Location:', None, QtGui.QApplication.UnicodeUTF8))
224 self.AddressLabel.setText(translate(u'BibleImportDialog', u'Proxy Address:'))227 self.VerseLocationLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Verse Location:', None, QtGui.QApplication.UnicodeUTF8))
225 self.UsernameLabel.setText(translate(u'BibleImportDialog', u'Username:'))228 self.tabWidget.setTabText(self.tabWidget.indexOf(self.CsvTab), QtGui.QApplication.translate(u'BibleImportDialog', u'CSV File Imports', None, QtGui.QApplication.UnicodeUTF8))
226 self.PasswordLabel.setText(translate(u'BibleImportDialog', u'Password:'))229 self.OptionsGroupBox.setTitle(QtGui.QApplication.translate(u'BibleImportDialog', u'Download Options', None, QtGui.QApplication.UnicodeUTF8))
227 self.ImportToolBox.setItemText(self.ImportToolBox.indexOf(self.WebBiblePage), translate(u'BibleImportDialog', u'Web Bible Import page'))230 self.LocationLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Location:', None, QtGui.QApplication.UnicodeUTF8))
228 self.LicenceDetailsGroupBox.setTitle(translate(u'BibleImportDialog', u'Licence Details'))231 self.LocationComboBox.setItemText(0, QtGui.QApplication.translate(u'BibleImportDialog', u'Crosswalk', None, QtGui.QApplication.UnicodeUTF8))
229 self.VersionNameLabel.setText(translate(u'BibleImportDialog', u'Version Name:'))232 self.BibleLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Bible:', None, QtGui.QApplication.UnicodeUTF8))
230 self.CopyrightLabel.setText(translate(u'BibleImportDialog', u'Copyright:'))233 self.BibleComboBox.setItemText(1, QtGui.QApplication.translate(u'BibleImportDialog', u'NIV', None, QtGui.QApplication.UnicodeUTF8))
231 self.PermisionLabel.setText(translate(u'BibleImportDialog', u'Permission:'))234 self.BibleComboBox.setItemText(2, QtGui.QApplication.translate(u'BibleImportDialog', u'KJV', None, QtGui.QApplication.UnicodeUTF8))
232 self.ProgressGroupBox.setTitle(translate(u'BibleImportDialog', u'Import Progress'))235 self.ProxyGroupBox.setTitle(QtGui.QApplication.translate(u'BibleImportDialog', u'Proxy Settings (Optional)', None, QtGui.QApplication.UnicodeUTF8))
233 self.ProgressBar.setFormat(translate(u'BibleImportDialog', u'%p'))236 self.AddressLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Proxy Address:', None, QtGui.QApplication.UnicodeUTF8))
234 self.ImportButton.setText(translate(u'BibleImportDialog', u'Import'))237 self.UsernameLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Username:', None, QtGui.QApplication.UnicodeUTF8))
235 self.CancelButton.setText(translate(u'BibleImportDialog', u'Cancel'))238 self.PasswordLabel.setText(QtGui.QApplication.translate(u'BibleImportDialog', u'Password:', None, QtGui.QApplication.UnicodeUTF8))
239 self.tabWidget.setTabText(self.tabWidget.indexOf(self.HttpTab), QtGui.QApplication.translate(u'BibleImportDialog', u'Web Downloads', None, QtGui.QApplication.UnicodeUTF8))
236240
=== modified file 'resources/forms/bibleimportdialog.ui'
--- resources/forms/bibleimportdialog.ui 2009-02-20 17:10:30 +0000
+++ resources/forms/bibleimportdialog.ui 2009-08-07 17:19:32 +0000
@@ -6,307 +6,23 @@
6 <rect>6 <rect>
7 <x>0</x>7 <x>0</x>
8 <y>0</y>8 <y>0</y>
9 <width>494</width>9 <width>500</width>
10 <height>725</height>10 <height>686</height>
11 </rect>11 </rect>
12 </property>12 </property>
13 <property name="windowTitle">13 <property name="windowTitle">
14 <string>Bible Registration</string>14 <string>Bible Registration</string>
15 </property>15 </property>
16 <property name="windowIcon">16 <property name="windowIcon">
17 <iconset resource="../images/openlp-2.qrc">17 <iconset>
18 <normaloff>:/icon/openlp.org-icon-32.bmp</normaloff>:/icon/openlp.org-icon-32.bmp</iconset>18 <normaloff>:/icon/openlp.org-icon-32.bmp</normaloff>:/icon/openlp.org-icon-32.bmp</iconset>
19 </property>19 </property>
20 <widget class="QToolBox" name="ImportToolBox">
21 <property name="geometry">
22 <rect>
23 <x>20</x>
24 <y>20</y>
25 <width>451</width>
26 <height>401</height>
27 </rect>
28 </property>
29 <property name="frameShape">
30 <enum>QFrame::StyledPanel</enum>
31 </property>
32 <property name="currentIndex">
33 <number>1</number>
34 </property>
35 <widget class="QWidget" name="FileImportPage">
36 <property name="geometry">
37 <rect>
38 <x>0</x>
39 <y>0</y>
40 <width>447</width>
41 <height>337</height>
42 </rect>
43 </property>
44 <attribute name="label">
45 <string>File Import Page</string>
46 </attribute>
47 <widget class="QGroupBox" name="OSISGroupBox">
48 <property name="geometry">
49 <rect>
50 <x>18</x>
51 <y>65</y>
52 <width>411</width>
53 <height>81</height>
54 </rect>
55 </property>
56 <property name="title">
57 <string>OSIS Bible</string>
58 </property>
59 <layout class="QGridLayout" name="gridLayout_2">
60 <property name="margin">
61 <number>8</number>
62 </property>
63 <property name="spacing">
64 <number>8</number>
65 </property>
66 <item row="0" column="0">
67 <widget class="QLabel" name="LocatioLabel">
68 <property name="text">
69 <string>File Location:</string>
70 </property>
71 </widget>
72 </item>
73 <item row="0" column="1">
74 <widget class="QLineEdit" name="OSISLocationEdit"/>
75 </item>
76 <item row="0" column="2">
77 <widget class="QPushButton" name="OsisFileButton">
78 <property name="text">
79 <string/>
80 </property>
81 <property name="icon">
82 <iconset resource="../images/openlp-2.qrc">
83 <normaloff>:/imports/import_load.png</normaloff>:/imports/import_load.png</iconset>
84 </property>
85 </widget>
86 </item>
87 </layout>
88 </widget>
89 <widget class="QGroupBox" name="CVSGroupBox">
90 <property name="geometry">
91 <rect>
92 <x>20</x>
93 <y>170</y>
94 <width>411</width>
95 <height>191</height>
96 </rect>
97 </property>
98 <property name="title">
99 <string>CVS Bible</string>
100 </property>
101 <layout class="QGridLayout" name="gridLayout">
102 <property name="margin">
103 <number>8</number>
104 </property>
105 <property name="spacing">
106 <number>8</number>
107 </property>
108 <item row="0" column="0">
109 <widget class="QLabel" name="BooksLocationLabel">
110 <property name="text">
111 <string>Books Location:</string>
112 </property>
113 </widget>
114 </item>
115 <item row="4" column="0">
116 <widget class="QLabel" name="VerseLocationLabel">
117 <property name="text">
118 <string>Verse Location:</string>
119 </property>
120 </widget>
121 </item>
122 <item row="4" column="1">
123 <widget class="QLineEdit" name="VerseLocationEdit"/>
124 </item>
125 <item row="0" column="1">
126 <widget class="QLineEdit" name="BooksLocationEdit"/>
127 </item>
128 <item row="0" column="2">
129 <widget class="QPushButton" name="BooksFileButton">
130 <property name="text">
131 <string/>
132 </property>
133 <property name="icon">
134 <iconset resource="../images/openlp-2.qrc">
135 <normaloff>:/imports/import_load.png</normaloff>:/imports/import_load.png</iconset>
136 </property>
137 </widget>
138 </item>
139 <item row="4" column="2">
140 <widget class="QPushButton" name="VersesFileButton">
141 <property name="text">
142 <string/>
143 </property>
144 <property name="icon">
145 <iconset resource="../images/openlp-2.qrc">
146 <normaloff>:/imports/import_load.png</normaloff>:/imports/import_load.png</iconset>
147 </property>
148 </widget>
149 </item>
150 </layout>
151 </widget>
152 <widget class="QLineEdit" name="BibleNameEdit">
153 <property name="geometry">
154 <rect>
155 <x>100</x>
156 <y>20</y>
157 <width>280</width>
158 <height>28</height>
159 </rect>
160 </property>
161 </widget>
162 <widget class="QLabel" name="BibleNameLabel">
163 <property name="geometry">
164 <rect>
165 <x>18</x>
166 <y>20</y>
167 <width>98</width>
168 <height>22</height>
169 </rect>
170 </property>
171 <property name="text">
172 <string>Bible Name:</string>
173 </property>
174 </widget>
175 </widget>
176 <widget class="QWidget" name="WebBiblePage">
177 <property name="geometry">
178 <rect>
179 <x>0</x>
180 <y>0</y>
181 <width>447</width>
182 <height>337</height>
183 </rect>
184 </property>
185 <attribute name="label">
186 <string>Web Bible Import page</string>
187 </attribute>
188 <layout class="QVBoxLayout" name="WebBibleLayout">
189 <property name="spacing">
190 <number>8</number>
191 </property>
192 <property name="margin">
193 <number>8</number>
194 </property>
195 <item>
196 <widget class="QGroupBox" name="OptionsGroupBox">
197 <property name="title">
198 <string>Download Options</string>
199 </property>
200 <layout class="QFormLayout" name="formLayout_2">
201 <item row="0" column="0">
202 <widget class="QLabel" name="LocationLabel">
203 <property name="text">
204 <string>Location:</string>
205 </property>
206 </widget>
207 </item>
208 <item row="0" column="1">
209 <widget class="QComboBox" name="LocationComboBox">
210 <item>
211 <property name="text">
212 <string>Crosswalk</string>
213 </property>
214 </item>
215 </widget>
216 </item>
217 <item row="1" column="0">
218 <widget class="QLabel" name="BibleLabel">
219 <property name="text">
220 <string>Bible:</string>
221 </property>
222 </widget>
223 </item>
224 <item row="1" column="1">
225 <widget class="QComboBox" name="BibleComboBox">
226 <item>
227 <property name="text">
228 <string/>
229 </property>
230 </item>
231 <item>
232 <property name="text">
233 <string>NIV</string>
234 </property>
235 </item>
236 <item>
237 <property name="text">
238 <string>KJV</string>
239 </property>
240 </item>
241 </widget>
242 </item>
243 </layout>
244 <zorder>BibleComboBox</zorder>
245 <zorder>LocationLabel</zorder>
246 <zorder>BibleLabel</zorder>
247 <zorder>LocationComboBox</zorder>
248 </widget>
249 </item>
250 <item>
251 <widget class="QGroupBox" name="ProxyGroupBox">
252 <property name="title">
253 <string>Proxy Settings (Optional)</string>
254 </property>
255 <layout class="QFormLayout" name="ProxySettingsLayout">
256 <property name="fieldGrowthPolicy">
257 <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
258 </property>
259 <property name="horizontalSpacing">
260 <number>8</number>
261 </property>
262 <property name="verticalSpacing">
263 <number>8</number>
264 </property>
265 <property name="margin">
266 <number>8</number>
267 </property>
268 <item row="0" column="0">
269 <widget class="QLabel" name="AddressLabel">
270 <property name="text">
271 <string>Proxy Address:</string>
272 </property>
273 </widget>
274 </item>
275 <item row="0" column="1">
276 <widget class="QLineEdit" name="AddressEdit"/>
277 </item>
278 <item row="1" column="0">
279 <widget class="QLabel" name="UsernameLabel">
280 <property name="text">
281 <string>Username:</string>
282 </property>
283 </widget>
284 </item>
285 <item row="1" column="1">
286 <widget class="QLineEdit" name="UsernameEdit"/>
287 </item>
288 <item row="2" column="0">
289 <widget class="QLabel" name="PasswordLabel">
290 <property name="text">
291 <string>Password:</string>
292 </property>
293 </widget>
294 </item>
295 <item row="2" column="1">
296 <widget class="QLineEdit" name="PasswordEdit"/>
297 </item>
298 </layout>
299 </widget>
300 </item>
301 </layout>
302 </widget>
303 </widget>
304 <widget class="QGroupBox" name="LicenceDetailsGroupBox">20 <widget class="QGroupBox" name="LicenceDetailsGroupBox">
305 <property name="geometry">21 <property name="geometry">
306 <rect>22 <rect>
307 <x>10</x>23 <x>10</x>
308 <y>435</y>24 <y>400</y>
309 <width>471</width>25 <width>480</width>
310 <height>151</height>26 <height>151</height>
311 </rect>27 </rect>
312 </property>28 </property>
@@ -375,8 +91,8 @@
375 <property name="geometry">91 <property name="geometry">
376 <rect>92 <rect>
377 <x>10</x>93 <x>10</x>
378 <y>600</y>94 <y>550</y>
379 <width>471</width>95 <width>480</width>
380 <height>70</height>96 <height>70</height>
381 </rect>97 </rect>
382 </property>98 </property>
@@ -402,8 +118,8 @@
402 <widget class="QWidget" name="layoutWidget">118 <widget class="QWidget" name="layoutWidget">
403 <property name="geometry">119 <property name="geometry">
404 <rect>120 <rect>
405 <x>300</x>121 <x>310</x>
406 <y>680</y>122 <y>630</y>
407 <width>180</width>123 <width>180</width>
408 <height>38</height>124 <height>38</height>
409 </rect>125 </rect>
@@ -428,6 +144,280 @@
428 </item>144 </item>
429 </layout>145 </layout>
430 </widget>146 </widget>
147 <widget class="QTabWidget" name="tabWidget">
148 <property name="geometry">
149 <rect>
150 <x>10</x>
151 <y>30</y>
152 <width>480</width>
153 <height>361</height>
154 </rect>
155 </property>
156 <property name="currentIndex">
157 <number>2</number>
158 </property>
159 <widget class="QWidget" name="OsisTab">
160 <attribute name="title">
161 <string>Osis (Sword) Imports</string>
162 </attribute>
163 <widget class="QGroupBox" name="OSISGroupBox">
164 <property name="geometry">
165 <rect>
166 <x>10</x>
167 <y>10</y>
168 <width>460</width>
169 <height>141</height>
170 </rect>
171 </property>
172 <property name="title">
173 <string>OSIS Bible</string>
174 </property>
175 <layout class="QGridLayout" name="gridLayout_2">
176 <item row="0" column="0">
177 <layout class="QHBoxLayout" name="horizontalLayout_2">
178 <item>
179 <widget class="QLabel" name="BibleNameLabel">
180 <property name="text">
181 <string>Bible Name:</string>
182 </property>
183 </widget>
184 </item>
185 <item>
186 <widget class="QLineEdit" name="BibleNameEdit"/>
187 </item>
188 </layout>
189 </item>
190 <item row="1" column="0">
191 <layout class="QHBoxLayout" name="horizontalLayout_3">
192 <item>
193 <widget class="QLabel" name="LocatioLabel">
194 <property name="text">
195 <string>File Location:</string>
196 </property>
197 </widget>
198 </item>
199 <item>
200 <widget class="QLineEdit" name="OSISLocationEdit"/>
201 </item>
202 <item>
203 <widget class="QPushButton" name="OsisFileButton">
204 <property name="text">
205 <string/>
206 </property>
207 <property name="icon">
208 <iconset resource="../images/openlp-2.qrc">
209 <normaloff>:/imports/import_load.png</normaloff>:/imports/import_load.png</iconset>
210 </property>
211 </widget>
212 </item>
213 </layout>
214 </item>
215 </layout>
216 </widget>
217 </widget>
218 <widget class="QWidget" name="CsvTab">
219 <attribute name="title">
220 <string>CSV File Imports</string>
221 </attribute>
222 <widget class="QGroupBox" name="CVSGroupBox">
223 <property name="geometry">
224 <rect>
225 <x>10</x>
226 <y>10</y>
227 <width>460</width>
228 <height>191</height>
229 </rect>
230 </property>
231 <property name="title">
232 <string>CVS Bible</string>
233 </property>
234 <layout class="QGridLayout" name="gridLayout">
235 <property name="margin">
236 <number>8</number>
237 </property>
238 <property name="spacing">
239 <number>8</number>
240 </property>
241 <item row="0" column="0">
242 <widget class="QLabel" name="BooksLocationLabel">
243 <property name="text">
244 <string>Books Location:</string>
245 </property>
246 </widget>
247 </item>
248 <item row="4" column="0">
249 <widget class="QLabel" name="VerseLocationLabel">
250 <property name="text">
251 <string>Verse Location:</string>
252 </property>
253 </widget>
254 </item>
255 <item row="4" column="1">
256 <widget class="QLineEdit" name="VerseLocationEdit"/>
257 </item>
258 <item row="0" column="1">
259 <widget class="QLineEdit" name="BooksLocationEdit"/>
260 </item>
261 <item row="0" column="2">
262 <widget class="QPushButton" name="BooksFileButton">
263 <property name="text">
264 <string/>
265 </property>
266 <property name="icon">
267 <iconset resource="../images/openlp-2.qrc">
268 <normaloff>:/imports/import_load.png</normaloff>:/imports/import_load.png</iconset>
269 </property>
270 </widget>
271 </item>
272 <item row="4" column="2">
273 <widget class="QPushButton" name="VersesFileButton">
274 <property name="text">
275 <string/>
276 </property>
277 <property name="icon">
278 <iconset resource="../images/openlp-2.qrc">
279 <normaloff>:/imports/import_load.png</normaloff>:/imports/import_load.png</iconset>
280 </property>
281 </widget>
282 </item>
283 </layout>
284 </widget>
285 </widget>
286 <widget class="QWidget" name="HttpTab">
287 <attribute name="title">
288 <string>Web Downloads</string>
289 </attribute>
290 <widget class="QGroupBox" name="OptionsGroupBox">
291 <property name="geometry">
292 <rect>
293 <x>10</x>
294 <y>10</y>
295 <width>460</width>
296 <height>141</height>
297 </rect>
298 </property>
299 <property name="title">
300 <string>Download Options</string>
301 </property>
302 <layout class="QVBoxLayout" name="verticalLayout">
303 <item>
304 <layout class="QHBoxLayout" name="horizontalLayout_4">
305 <item>
306 <widget class="QLabel" name="LocationLabel">
307 <property name="text">
308 <string>Location:</string>
309 </property>
310 </widget>
311 </item>
312 <item>
313 <widget class="QComboBox" name="LocationComboBox">
314 <item>
315 <property name="text">
316 <string>Crosswalk</string>
317 </property>
318 </item>
319 </widget>
320 </item>
321 </layout>
322 </item>
323 <item>
324 <layout class="QHBoxLayout" name="horizontalLayout_5">
325 <item>
326 <widget class="QLabel" name="BibleLabel">
327 <property name="text">
328 <string>Bible:</string>
329 </property>
330 </widget>
331 </item>
332 <item>
333 <widget class="QComboBox" name="BibleComboBox">
334 <item>
335 <property name="text">
336 <string/>
337 </property>
338 </item>
339 <item>
340 <property name="text">
341 <string>NIV</string>
342 </property>
343 </item>
344 <item>
345 <property name="text">
346 <string>KJV</string>
347 </property>
348 </item>
349 </widget>
350 </item>
351 </layout>
352 </item>
353 </layout>
354 <zorder>BibleComboBox</zorder>
355 <zorder>LocationLabel</zorder>
356 <zorder>BibleLabel</zorder>
357 <zorder>LocationComboBox</zorder>
358 </widget>
359 <widget class="QGroupBox" name="ProxyGroupBox">
360 <property name="geometry">
361 <rect>
362 <x>10</x>
363 <y>160</y>
364 <width>460</width>
365 <height>161</height>
366 </rect>
367 </property>
368 <property name="title">
369 <string>Proxy Settings (Optional)</string>
370 </property>
371 <layout class="QFormLayout" name="ProxySettingsLayout">
372 <property name="fieldGrowthPolicy">
373 <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
374 </property>
375 <property name="horizontalSpacing">
376 <number>8</number>
377 </property>
378 <property name="verticalSpacing">
379 <number>8</number>
380 </property>
381 <property name="margin">
382 <number>8</number>
383 </property>
384 <item row="0" column="0">
385 <widget class="QLabel" name="AddressLabel">
386 <property name="text">
387 <string>Proxy Address:</string>
388 </property>
389 </widget>
390 </item>
391 <item row="0" column="1">
392 <widget class="QLineEdit" name="AddressEdit"/>
393 </item>
394 <item row="1" column="0">
395 <widget class="QLabel" name="UsernameLabel">
396 <property name="text">
397 <string>Username:</string>
398 </property>
399 </widget>
400 </item>
401 <item row="1" column="1">
402 <widget class="QLineEdit" name="UsernameEdit"/>
403 </item>
404 <item row="2" column="0">
405 <widget class="QLabel" name="PasswordLabel">
406 <property name="text">
407 <string>Password:</string>
408 </property>
409 </widget>
410 </item>
411 <item row="2" column="1">
412 <widget class="QLineEdit" name="PasswordEdit"/>
413 </item>
414 </layout>
415 </widget>
416 <zorder>OptionsGroupBox</zorder>
417 <zorder>OptionsGroupBox</zorder>
418 <zorder>ProxyGroupBox</zorder>
419 </widget>
420 </widget>
431 </widget>421 </widget>
432 <tabstops>422 <tabstops>
433 <tabstop>BibleNameEdit</tabstop>423 <tabstop>BibleNameEdit</tabstop>