Head r742 and import fix

This commit is contained in:
Jon Tibble 2010-03-14 23:22:44 +00:00
commit 366fe2f508
21 changed files with 87 additions and 61 deletions

View File

@ -43,7 +43,6 @@ class Renderer(object):
""" """
self._rect = None self._rect = None
self._debug = False self._debug = False
self._right_margin = 64 # the amount of right indent
self._display_shadow_size_footer = 0 self._display_shadow_size_footer = 0
self._display_outline_size_footer = 0 self._display_outline_size_footer = 0
self.theme_name = None self.theme_name = None
@ -149,7 +148,7 @@ class Renderer(object):
def pre_render_text(self, text): def pre_render_text(self, text):
metrics = QtGui.QFontMetrics(self.mainFont) metrics = QtGui.QFontMetrics(self.mainFont)
#work out line width #work out line width
line_width = self._rect.width() - self._right_margin line_width = self._rect.width()
#number of lines on a page - adjust for rounding up. #number of lines on a page - adjust for rounding up.
line_height = metrics.height() line_height = metrics.height()
if self._theme.display_shadow: if self._theme.display_shadow:
@ -224,6 +223,7 @@ class Renderer(object):
``rect_footer`` ``rect_footer``
The footer text block. The footer text block.
""" """
log.debug(u'set_text_rectangle %s , %s' %(rect_main, rect_footer) )
self._rect = rect_main self._rect = rect_main
self._rect_footer = rect_footer self._rect_footer = rect_footer
@ -447,8 +447,7 @@ class Renderer(object):
rightextent = x + w rightextent = x + w
# shift right from last line's rh edge # shift right from last line's rh edge
if self._theme.display_wrapStyle == 1 and linenum != 0: if self._theme.display_wrapStyle == 1 and linenum != 0:
rightextent = self._first_line_right_extent + \ rightextent = self._first_line_right_extent
self._right_margin
if rightextent > maxx: if rightextent > maxx:
rightextent = maxx rightextent = maxx
x = rightextent - w x = rightextent - w

View File

@ -146,13 +146,13 @@ class RenderManager(object):
footer_rect = None footer_rect = None
if not theme.font_main_override: if not theme.font_main_override:
main_rect = QtCore.QRect(10, 0, main_rect = QtCore.QRect(10, 0,
self.width - 1, self.footer_start) self.width - 20, self.footer_start)
else: else:
main_rect = QtCore.QRect(theme.font_main_x, theme.font_main_y, main_rect = QtCore.QRect(theme.font_main_x, theme.font_main_y,
theme.font_main_width - 1, theme.font_main_height - 1) theme.font_main_width - 1, theme.font_main_height - 1)
if not theme.font_footer_override: if not theme.font_footer_override:
footer_rect = QtCore.QRect(10, self.footer_start, footer_rect = QtCore.QRect(10, self.footer_start,
self.width - 1, self.height - self.footer_start) self.width - 20, self.height - self.footer_start)
else: else:
footer_rect = QtCore.QRect(theme.font_footer_x, footer_rect = QtCore.QRect(theme.font_footer_x,
theme.font_footer_y, theme.font_footer_width - 1, theme.font_footer_y, theme.font_footer_width - 1,

View File

@ -53,7 +53,7 @@ blankthemexml=\
<weight>Normal</weight> <weight>Normal</weight>
<italics>False</italics> <italics>False</italics>
<indentation>0</indentation> <indentation>0</indentation>
<location override="False" x="10" y="10" width="1024" height="730"/> <location override="False" x="10" y="10" width="1004" height="730"/>
</font> </font>
<font type="footer"> <font type="footer">
<name>Arial</name> <name>Arial</name>
@ -62,7 +62,7 @@ blankthemexml=\
<weight>Normal</weight> <weight>Normal</weight>
<italics>False</italics> <italics>False</italics>
<indentation>0</indentation> <indentation>0</indentation>
<location override="False" x="10" y="730" width="1024" height="38"/> <location override="False" x="10" y="730" width="1004" height="38"/>
</font> </font>
<display> <display>
<shadow color="#000000" size="5">True</shadow> <shadow color="#000000" size="5">True</shadow>

View File

@ -168,8 +168,7 @@ class MainDisplay(DisplayWidget):
self.screen[u'size'].height(), self.screen[u'size'].height(),
QtGui.QImage.Format_ARGB32_Premultiplied) QtGui.QImage.Format_ARGB32_Premultiplied)
painter.begin(self.blankFrame) painter.begin(self.blankFrame)
#TODO make black when testing finished painter.fillRect(self.blankFrame.rect(), QtCore.Qt.black)
painter.fillRect(self.blankFrame.rect(), QtCore.Qt.red)
#build a blank transparent image #build a blank transparent image
self.transparent = QtGui.QPixmap(self.screen[u'size'].width(), self.transparent = QtGui.QPixmap(self.screen[u'size'].width(),
self.screen[u'size'].height()) self.screen[u'size'].height())

View File

@ -418,7 +418,7 @@ class Ui_MainWindow(object):
self.LanguageEnglishItem.setText(self.trUtf8('English')) self.LanguageEnglishItem.setText(self.trUtf8('English'))
self.LanguageEnglishItem.setStatusTip( self.LanguageEnglishItem.setStatusTip(
self.trUtf8('Set the interface language to English')) self.trUtf8('Set the interface language to English'))
self.ToolsAddToolItem.setText(self.trUtf8('&Add Tool...')) self.ToolsAddToolItem.setText(self.trUtf8('Add &Tool...'))
self.ToolsAddToolItem.setStatusTip( self.ToolsAddToolItem.setStatusTip(
self.trUtf8('Add an application to the list of tools')) self.trUtf8('Add an application to the list of tools'))
self.action_Preview_Panel.setText(self.trUtf8('&Preview Pane')) self.action_Preview_Panel.setText(self.trUtf8('&Preview Pane'))
@ -620,6 +620,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
self.screens.set_current_display(updated_display) self.screens.set_current_display(updated_display)
self.RenderManager.update_display(updated_display) self.RenderManager.update_display(updated_display)
self.mainDisplay.setup(updated_display) self.mainDisplay.setup(updated_display)
#Trigger after changes have been made
Receiver.send_message(u'config_updated')
self.activateWindow() self.activateWindow()
def closeEvent(self, event): def closeEvent(self, event):

View File

@ -100,6 +100,7 @@ class ServiceManager(QtGui.QWidget):
self.parent = parent self.parent = parent
self.serviceItems = [] self.serviceItems = []
self.serviceName = u'' self.serviceName = u''
self.droppos = 0
#is a new service and has not been saved #is a new service and has not been saved
self.isNew = True self.isNew = True
#Indicates if remoteTriggering is active. If it is the next addServiceItem call #Indicates if remoteTriggering is active. If it is the next addServiceItem call
@ -190,6 +191,8 @@ class ServiceManager(QtGui.QWidget):
QtCore.SIGNAL(u'presentation types'), self.onPresentationTypes) QtCore.SIGNAL(u'presentation types'), self.onPresentationTypes)
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'servicemanager_next_item'), self.nextItem) QtCore.SIGNAL(u'servicemanager_next_item'), self.nextItem)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'config_updated'), self.regenerateServiceItems)
# Last little bits of setting up # Last little bits of setting up
self.config = PluginConfig(u'ServiceManager') self.config = PluginConfig(u'ServiceManager')
self.servicePath = self.config.get_data_path() self.servicePath = self.config.get_data_path()
@ -216,6 +219,8 @@ class ServiceManager(QtGui.QWidget):
def contextMenu(self, point): def contextMenu(self, point):
item = self.ServiceManagerList.itemAt(point) item = self.ServiceManagerList.itemAt(point)
if item is None:
return
if item.parent() is None: if item.parent() is None:
pos = item.data(0, QtCore.Qt.UserRole).toInt()[0] pos = item.data(0, QtCore.Qt.UserRole).toInt()[0]
else: else:
@ -472,7 +477,8 @@ class ServiceManager(QtGui.QWidget):
log.debug(u'onSaveService') log.debug(u'onSaveService')
if not quick or self.isNew: if not quick or self.isNew:
filename = QtGui.QFileDialog.getSaveFileName(self, filename = QtGui.QFileDialog.getSaveFileName(self,
u'Save Service', self.config.get_last_dir()) self.trUtf8(u'Save Service'), self.config.get_last_dir(),
self.trUtf8(u'OpenLP Service Files (*.osz)'))
else: else:
filename = self.config.get_last_dir() filename = self.config.get_last_dir()
if filename: if filename:
@ -615,7 +621,7 @@ class ServiceManager(QtGui.QWidget):
for item in tempServiceItems: for item in tempServiceItems:
self.addServiceItem(item[u'service_item'], False, item[u'expanded']) self.addServiceItem(item[u'service_item'], False, item[u'expanded'])
#Set to False as items may have changed rendering #Set to False as items may have changed rendering
#does not impact the saved song so True may aslo be valid #does not impact the saved song so True may also be valid
self.parent.serviceChanged(False, self.serviceName) self.parent.serviceChanged(False, self.serviceName)
def addServiceItem(self, item, rebuild=False, expand=True): def addServiceItem(self, item, rebuild=False, expand=True):
@ -635,19 +641,21 @@ class ServiceManager(QtGui.QWidget):
self.repaintServiceList(sitem + 1, 0) self.repaintServiceList(sitem + 1, 0)
self.parent.LiveController.replaceServiceManagerItem(item) self.parent.LiveController.replaceServiceManagerItem(item)
else: else:
if sitem == -1: #nothing selected or dnd
if self.droppos == 0:
self.serviceItems.append({u'service_item': item, self.serviceItems.append({u'service_item': item,
u'order': len(self.serviceItems) + 1, u'order': len(self.serviceItems) + 1,
u'expanded':expand}) u'expanded':expand})
self.repaintServiceList(len(self.serviceItems) + 1, 0) self.repaintServiceList(len(self.serviceItems) + 1, 0)
else: else:
self.serviceItems.insert(sitem + 1, {u'service_item': item, self.serviceItems.insert(self.droppos, {u'service_item': item,
u'order': len(self.serviceItems)+1, u'order': self.droppos,
u'expanded':expand}) u'expanded':expand})
self.repaintServiceList(sitem + 1, 0) self.repaintServiceList(self.droppos, 0)
#if rebuilding list make sure live is fixed. #if rebuilding list make sure live is fixed.
if rebuild: if rebuild:
self.parent.LiveController.replaceServiceManagerItem(item) self.parent.LiveController.replaceServiceManagerItem(item)
self.droppos = 0
self.parent.serviceChanged(False, self.serviceName) self.parent.serviceChanged(False, self.serviceName)
def makePreview(self): def makePreview(self):
@ -728,18 +736,13 @@ class ServiceManager(QtGui.QWidget):
link = event.mimeData() link = event.mimeData()
if link.hasText(): if link.hasText():
plugin = event.mimeData().text() plugin = event.mimeData().text()
item = self.ServiceManagerList.itemAt(event.pos())
if plugin == u'ServiceManager': if plugin == u'ServiceManager':
startpos, startCount = self.findServiceItem() startpos, startCount = self.findServiceItem()
item = self.ServiceManagerList.itemAt(event.pos())
if item is None: if item is None:
endpos = len(self.serviceItems) endpos = len(self.serviceItems)
else: else:
parentitem = item.parent() endpos = self._getParentItemData(item) - 1
if parentitem is None:
endpos = item.data(0, QtCore.Qt.UserRole).toInt()[0]
else:
endpos = parentitem.data(0, QtCore.Qt.UserRole).toInt()[0]
endpos -= 1
if endpos < startpos: if endpos < startpos:
newpos = endpos newpos = endpos
else: else:
@ -749,6 +752,10 @@ class ServiceManager(QtGui.QWidget):
self.serviceItems.insert(newpos, serviceItem) self.serviceItems.insert(newpos, serviceItem)
self.repaintServiceList(endpos, startCount) self.repaintServiceList(endpos, startCount)
else: else:
if item == None:
self.droppos = len(self.serviceItems)
else:
self.droppos = self._getParentItemData(item)
Receiver.send_message(u'%s_add_service_item' % plugin) Receiver.send_message(u'%s_add_service_item' % plugin)
def updateThemeList(self, theme_list): def updateThemeList(self, theme_list):
@ -783,3 +790,10 @@ class ServiceManager(QtGui.QWidget):
item, count = self.findServiceItem() item, count = self.findServiceItem()
self.serviceItems[item][u'service_item'].theme = theme self.serviceItems[item][u'service_item'].theme = theme
self.regenerateServiceItems() self.regenerateServiceItems()
def _getParentItemData(self, item):
parentitem = item.parent()
if parentitem is None:
return item.data(0, QtCore.Qt.UserRole).toInt()[0]
else:
return parentitem.data(0, QtCore.Qt.UserRole).toInt()[0]

View File

@ -28,7 +28,6 @@ import logging
from PyQt4 import QtGui from PyQt4 import QtGui
from openlp.core.ui import GeneralTab, ThemesTab from openlp.core.ui import GeneralTab, ThemesTab
from openlp.core.lib import Receiver
from settingsdialog import Ui_SettingsDialog from settingsdialog import Ui_SettingsDialog
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -65,7 +64,6 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
def accept(self): def accept(self):
for tab_index in range(0, self.SettingsTabWidget.count()): for tab_index in range(0, self.SettingsTabWidget.count()):
self.SettingsTabWidget.widget(tab_index).save() self.SettingsTabWidget.widget(tab_index).save()
Receiver.send_message(u'config_updated')
return QtGui.QDialog.accept(self) return QtGui.QDialog.accept(self)
def postSetUp(self): def postSetUp(self):

View File

@ -299,6 +299,8 @@ class SlideController(QtGui.QWidget):
QtCore.SIGNAL(u'%s_change' % prefix), self.onSlideChange) QtCore.SIGNAL(u'%s_change' % prefix), self.onSlideChange)
QtCore.QObject.connect(self.Splitter, QtCore.QObject.connect(self.Splitter,
QtCore.SIGNAL(u'splitterMoved(int, int)'), self.trackSplitter) QtCore.SIGNAL(u'splitterMoved(int, int)'), self.trackSplitter)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'config_updated'), self.refreshServiceItem)
def widthChanged(self): def widthChanged(self):
""" """
@ -377,6 +379,17 @@ class SlideController(QtGui.QWidget):
self.Mediabar.setVisible(True) self.Mediabar.setVisible(True)
self.volumeSlider.setAudioOutput(self.audio) self.volumeSlider.setAudioOutput(self.audio)
def refreshServiceItem(self):
"""
Method to update the service item if the screen has changed
"""
log.debug(u'refreshServiceItem')
if self.serviceItem:
if self.serviceItem.is_text() or self.serviceItem.is_image():
item = self.serviceItem
item.render()
self.addServiceManagerItem(item, self.selectedRow)
def addServiceItem(self, item): def addServiceItem(self, item):
""" """
Method to install the service item into the controller Method to install the service item into the controller

View File

@ -177,20 +177,20 @@ class ThemeManager(QtGui.QWidget):
if theme != unicode(item.data(QtCore.Qt.UserRole).toString()): if theme != unicode(item.data(QtCore.Qt.UserRole).toString()):
QtGui.QMessageBox.critical( QtGui.QMessageBox.critical(
self, self.trUtf8('Error'), self, self.trUtf8('Error'),
self.trUtf8('You are unable to delete the default theme!'), self.trUtf8('You are unable to delete the default theme.'),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
else: else:
for plugin in self.parent.plugin_manager.plugins: for plugin in self.parent.plugin_manager.plugins:
if not plugin.can_delete_theme(theme): if not plugin.can_delete_theme(theme):
QtGui.QMessageBox.critical( QtGui.QMessageBox.critical(
self, self.trUtf8('Error'), self, self.trUtf8('Error'),
self.trUtf8('theme %s is use in %s plugin' % (theme, plugin.name)), self.trUtf8('Theme %s is use in %s plugin' % (theme, plugin.name)),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
return return
if unicode(self.parent.ServiceManagerContents.ThemeComboBox.currentText()) == theme: if unicode(self.parent.ServiceManagerContents.ThemeComboBox.currentText()) == theme:
QtGui.QMessageBox.critical( QtGui.QMessageBox.critical(
self, self.trUtf8('Error'), self, self.trUtf8('Error'),
self.trUtf8('theme %s is use Service Manager' % theme), self.trUtf8('Theme %s is use by Service Manager' % theme),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
return return
self.themelist.remove(theme) self.themelist.remove(theme)
@ -216,7 +216,7 @@ class ThemeManager(QtGui.QWidget):
item = self.ThemeListWidget.currentItem() item = self.ThemeListWidget.currentItem()
if item is None: if item is None:
QtGui.QMessageBox.critical(self, self.trUtf8('Error'), QtGui.QMessageBox.critical(self, self.trUtf8('Error'),
self.trUtf8('You have not selected a theme!'), self.trUtf8('You have not selected a theme.'),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
return return
theme = unicode(item.data(QtCore.Qt.UserRole).toString()) theme = unicode(item.data(QtCore.Qt.UserRole).toString())
@ -359,7 +359,7 @@ class ThemeManager(QtGui.QWidget):
except: except:
QtGui.QMessageBox.critical( QtGui.QMessageBox.critical(
self, self.trUtf8('Error'), self, self.trUtf8('Error'),
self.trUtf8('File is not a valid theme!'), self.trUtf8('File is not a valid theme.'),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
log.exception(u'Importing theme from zip file failed %s' % filename) log.exception(u'Importing theme from zip file failed %s' % filename)
finally: finally:

View File

@ -85,7 +85,7 @@ class AlertEditForm(QtGui.QDialog, Ui_AlertEditDialog):
if self.AlertLineEdit.text(): if self.AlertLineEdit.text():
QtGui.QMessageBox.information(self, QtGui.QMessageBox.information(self,
self.trUtf8('Item selected to Edit'), self.trUtf8('Item selected to Edit'),
self.trUtf8('Please Save or Clear seletced item')) self.trUtf8('Please save or clear selected item'))
else: else:
self.EditButton.setEnabled(True) self.EditButton.setEnabled(True)
self.DeleteButton.setEnabled(True) self.DeleteButton.setEnabled(True)

View File

@ -93,7 +93,6 @@ class BiblePlugin(Plugin):
'displayed on the screen during the service.') 'displayed on the screen during the service.')
return about_text return about_text
def can_delete_theme(self, theme): def can_delete_theme(self, theme):
if self.settings_tab.bible_theme == theme: if self.settings_tab.bible_theme == theme:
return False return False

View File

@ -111,7 +111,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
QtGui.QMessageBox.critical(self, QtGui.QMessageBox.critical(self,
self.trUtf8('Invalid Bible Location'), self.trUtf8('Invalid Bible Location'),
self.trUtf8('You need to specify a file to import your ' self.trUtf8('You need to specify a file to import your '
'Bible from!'), 'Bible from.'),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
self.OSISLocationEdit.setFocus() self.OSISLocationEdit.setFocus()
return False return False
@ -120,7 +120,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
QtGui.QMessageBox.critical(self, QtGui.QMessageBox.critical(self,
self.trUtf8('Invalid Books File'), self.trUtf8('Invalid Books File'),
self.trUtf8('You need to specify a file with books of ' self.trUtf8('You need to specify a file with books of '
'the Bible to use in the import!'), 'the Bible to use in the import.'),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
self.BooksLocationEdit.setFocus() self.BooksLocationEdit.setFocus()
return False return False
@ -128,7 +128,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
QtGui.QMessageBox.critical(self, QtGui.QMessageBox.critical(self,
self.trUtf8('Invalid Verse File'), self.trUtf8('Invalid Verse File'),
self.trUtf8('You need to specify a file of Bible ' self.trUtf8('You need to specify a file of Bible '
'verses to import!'), 'verses to import.'),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
self.CsvVerseLocationEdit.setFocus() self.CsvVerseLocationEdit.setFocus()
return False return False
@ -137,7 +137,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
QtGui.QMessageBox.critical(self, QtGui.QMessageBox.critical(self,
self.trUtf8('Invalid OpenSong Bible'), self.trUtf8('Invalid OpenSong Bible'),
self.trUtf8('You need to specify an OpenSong Bible ' self.trUtf8('You need to specify an OpenSong Bible '
'file to import!'), 'file to import.'),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
self.OpenSongFileEdit.setFocus() self.OpenSongFileEdit.setFocus()
return False return False
@ -148,7 +148,7 @@ class ImportWizardForm(QtGui.QWizard, Ui_BibleImportWizard):
QtGui.QMessageBox.critical(self, QtGui.QMessageBox.critical(self,
self.trUtf8('Empty Version Name'), self.trUtf8('Empty Version Name'),
self.trUtf8('You need to specify a version name for your ' self.trUtf8('You need to specify a version name for your '
'Bible!'), 'Bible.'),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))
self.VersionNameEdit.setFocus() self.VersionNameEdit.setFocus()
return False return False

View File

@ -124,7 +124,8 @@ class BibleManager(object):
self.db_cache = {} self.db_cache = {}
for filename in files: for filename in files:
name, extension = os.path.splitext(filename) name, extension = os.path.splitext(filename)
self.db_cache[name] = BibleDB(self.parent, path=self.path, name=name, config=self.config) self.db_cache[name] = BibleDB(self.parent, path=self.path,
name=name, config=self.config)
# look to see if lazy load bible exists and get create getter. # look to see if lazy load bible exists and get create getter.
source = self.db_cache[name].get_meta(u'download source') source = self.db_cache[name].get_meta(u'download source')
if source: if source:

View File

@ -45,6 +45,7 @@ class BibleListView(BaseListWithDnD):
def resizeEvent(self, event): def resizeEvent(self, event):
self.parent.onListViewResize(event.size().width(), event.size().width()) self.parent.onListViewResize(event.size().width(), event.size().width())
class BibleMediaItem(MediaManagerItem): class BibleMediaItem(MediaManagerItem):
""" """
This is the custom media manager item for Bibles. This is the custom media manager item for Bibles.
@ -452,14 +453,14 @@ class BibleMediaItem(MediaManagerItem):
for item in items: for item in items:
bitem = self.ListView.item(item.row()) bitem = self.ListView.item(item.row())
reference = bitem.data(QtCore.Qt.UserRole).toPyObject() reference = bitem.data(QtCore.Qt.UserRole).toPyObject()
bible = unicode(reference[QtCore.QString('bible')]) bible = unicode(reference[QtCore.QString('bible')].toPyObject())
book = unicode(reference[QtCore.QString('book')]) book = unicode(reference[QtCore.QString('book')].toPyObject())
chapter = unicode(reference[QtCore.QString('chapter')]) chapter = unicode(reference[QtCore.QString('chapter')].toPyObject())
verse = unicode(reference[QtCore.QString('verse')]) verse = unicode(reference[QtCore.QString('verse')].toPyObject())
text = unicode(reference[QtCore.QString('text')]) text = unicode(reference[QtCore.QString('text')].toPyObject())
version = unicode(reference[QtCore.QString('version')]) version = unicode(reference[QtCore.QString('version')].toPyObject())
copyright = unicode(reference[QtCore.QString('copyright')]) copyright = unicode(reference[QtCore.QString('copyright')].toPyObject())
permission = unicode(reference[QtCore.QString('permission')]) permission = unicode(reference[QtCore.QString('permission')].toPyObject())
if self.parent.settings_tab.display_style == 1: if self.parent.settings_tab.display_style == 1:
verse_text = self.formatVerse(old_chapter, chapter, verse, u'(u', u')') verse_text = self.formatVerse(old_chapter, chapter, verse, u'(u', u')')
elif self.parent.settings_tab.display_style == 2: elif self.parent.settings_tab.display_style == 2:

View File

@ -102,7 +102,7 @@ class OpenSongBible(BibleDB):
finally: finally:
if file: if file:
file.close() file.close()
if self.stop_import: if self.stop_import_flag:
self.wizard.incrementProgressBar(u'Import canceled!') self.wizard.incrementProgressBar(u'Import canceled!')
return False return False
else: else:

View File

@ -61,7 +61,7 @@ class ImageMediaItem(MediaManagerItem):
def retranslateUi(self): def retranslateUi(self):
self.OnNewPrompt = self.trUtf8('Select Image(s)') self.OnNewPrompt = self.trUtf8('Select Image(s)')
self.OnNewFileMasks = \ self.OnNewFileMasks = \
self.trUtf8('Images (*.jpg *jpeg *.gif *.png *.bmp);; All files (*)') self.trUtf8('Images (*.jpg *.jpeg *.gif *.png *.bmp);; All files (*)')
def requiredIcons(self): def requiredIcons(self):
MediaManagerItem.requiredIcons(self) MediaManagerItem.requiredIcons(self)
@ -101,7 +101,7 @@ class ImageMediaItem(MediaManagerItem):
self.OverrideCheckBox.setChecked(False) self.OverrideCheckBox.setChecked(False)
self.OverrideCheckBox.setText(self.trUtf8('Override background')) self.OverrideCheckBox.setText(self.trUtf8('Override background'))
self.OverrideCheckBox.setStatusTip( self.OverrideCheckBox.setStatusTip(
self.trUtf8('Allow background of live slide to be overridden')) self.trUtf8('Allow the background of live slide to be overridden'))
self.OverrideLayout.addWidget(self.OverrideCheckBox) self.OverrideLayout.addWidget(self.OverrideCheckBox)
self.OverrideLabel = QtGui.QLabel(self.ImageWidget) self.OverrideLabel = QtGui.QLabel(self.ImageWidget)
self.OverrideLabel.setObjectName(u'OverrideLabel') self.OverrideLabel.setObjectName(u'OverrideLabel')

View File

@ -41,8 +41,8 @@ class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog):
def accept(self): def accept(self):
ret = QtGui.QMessageBox.question(self, ret = QtGui.QMessageBox.question(self,
self.trUtf8('Delete Selected Audit Events?'), self.trUtf8('Delete Selected Song Usage Events?'),
self.trUtf8('Are you sure you want to delete selected Audit Data?'), self.trUtf8('Are you sure you want to delete selected Song Usage data?'),
QtGui.QMessageBox.StandardButtons( QtGui.QMessageBox.StandardButtons(
QtGui.QMessageBox.Ok | QtGui.QMessageBox.Ok |
QtGui.QMessageBox.Cancel), QtGui.QMessageBox.Cancel),

View File

@ -81,7 +81,7 @@ class SongUsageDetailForm(QtGui.QDialog, Ui_SongUsageDetailDialog):
instance.copyright, instance.ccl_number , instance.authors) instance.copyright, instance.ccl_number , instance.authors)
file.write(record) file.write(record)
except: except:
log.exception(u'Failed to write out audit records') log.exception(u'Failed to write out song usage records')
finally: finally:
if file: if file:
file.close() file.close()

View File

@ -22,7 +22,7 @@ DefaultDirName={pf}\{#MyAppName}
DefaultGroupName=OpenLP 2.0 DefaultGroupName=OpenLP 2.0
AllowNoIcons=true AllowNoIcons=true
LicenseFile=LICENSE.txt LicenseFile=LICENSE.txt
OutputBaseFilename=OpenLP-1.9.0-bzr737-setup OutputBaseFilename=OpenLP-1.9.0-bzr739-setup
Compression=lzma Compression=lzma
SolidCompression=true SolidCompression=true
SetupIconFile=C:\Program Files\Inno Setup 5\Examples\Setup.ico SetupIconFile=C:\Program Files\Inno Setup 5\Examples\Setup.ico