This commit is contained in:
Jon Tibble 2010-06-08 16:38:09 +01:00
parent cbd9fbd47e
commit 559e4c4d63
39 changed files with 254 additions and 211 deletions

View File

@ -671,8 +671,8 @@ class Ui_AmendThemeDialog(object):
self.ThemePreviewLayout.addItem(spacerItem8) self.ThemePreviewLayout.addItem(spacerItem8)
self.AmendThemeLayout.addWidget(self.PreviewGroupBox) self.AmendThemeLayout.addWidget(self.PreviewGroupBox)
self.ThemeButtonBox = QtGui.QDialogButtonBox(AmendThemeDialog) self.ThemeButtonBox = QtGui.QDialogButtonBox(AmendThemeDialog)
self.ThemeButtonBox.setStandardButtons( self.ThemeButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel |
QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok) QtGui.QDialogButtonBox.Ok)
self.ThemeButtonBox.setObjectName(u'ThemeButtonBox') self.ThemeButtonBox.setObjectName(u'ThemeButtonBox')
self.AmendThemeLayout.addWidget(self.ThemeButtonBox) self.AmendThemeLayout.addWidget(self.ThemeButtonBox)
@ -813,12 +813,9 @@ class Ui_AmendThemeDialog(object):
translate(u'AmendThemeForm', u'Width:')) translate(u'AmendThemeForm', u'Width:'))
self.FontMainHeightLabel.setText( self.FontMainHeightLabel.setText(
translate(u'AmendThemeForm', u'Height:')) translate(u'AmendThemeForm', u'Height:'))
self.FontMainXSpinBox.setSuffix( self.FontMainXSpinBox.setSuffix(translate(u'AmendThemeForm', u'px'))
translate(u'AmendThemeForm', u'px')) self.FontMainYSpinBox.setSuffix(translate(u'AmendThemeForm', u'px'))
self.FontMainYSpinBox.setSuffix( self.FontMainWidthSpinBox.setSuffix(translate(u'AmendThemeForm', u'px'))
translate(u'AmendThemeForm', u'px'))
self.FontMainWidthSpinBox.setSuffix(
translate(u'AmendThemeForm', u'px'))
self.FontMainHeightSpinBox.setSuffix( self.FontMainHeightSpinBox.setSuffix(
translate(u'AmendThemeForm', u'px')) translate(u'AmendThemeForm', u'px'))
self.ThemeTabWidget.setTabText( self.ThemeTabWidget.setTabText(
@ -830,7 +827,8 @@ class Ui_AmendThemeDialog(object):
self.FontFooterColorLabel.setText( self.FontFooterColorLabel.setText(
translate(u'AmendThemeForm', u'Font Color:')) translate(u'AmendThemeForm', u'Font Color:'))
self.FontFooterSizeLabel.setText(translate(u'AmendThemeForm', u'Size:')) self.FontFooterSizeLabel.setText(translate(u'AmendThemeForm', u'Size:'))
self.FontFooterSizeSpinBox.setSuffix(translate(u'AmendThemeForm', u'pt')) self.FontFooterSizeSpinBox.setSuffix(
translate(u'AmendThemeForm', u'pt'))
self.FontFooterWeightComboBox.setItemText(0, self.FontFooterWeightComboBox.setItemText(0,
translate(u'AmendThemeForm', u'Normal')) translate(u'AmendThemeForm', u'Normal'))
self.FontFooterWeightComboBox.setItemText(1, self.FontFooterWeightComboBox.setItemText(1,
@ -863,16 +861,16 @@ class Ui_AmendThemeDialog(object):
translate(u'AmendThemeForm', u'px')) translate(u'AmendThemeForm', u'px'))
self.ThemeTabWidget.setTabText( self.ThemeTabWidget.setTabText(
self.ThemeTabWidget.indexOf(self.FontFooterTab), self.ThemeTabWidget.indexOf(self.FontFooterTab),
translate('AmendThemeForm', 'Font Footer')) translate(u'AmendThemeForm', u'Font Footer'))
self.OutlineGroupBox.setTitle(translate('AmendThemeForm', 'Outline')) self.OutlineGroupBox.setTitle(translate(u'AmendThemeForm', u'Outline'))
self.OutlineSpinBoxLabel.setText( self.OutlineSpinBoxLabel.setText(
translate('AmendThemeForm', 'Outline Size:')) translate(u'AmendThemeForm', u'Outline Size:'))
self.OutlineSpinBox.setSuffix(translate('AmendThemeForm', 'px')) self.OutlineSpinBox.setSuffix(translate(u'AmendThemeForm', u'px'))
self.OutlineColorLabel.setText( self.OutlineColorLabel.setText(
translate(u'AmendThemeForm', u'Outline Color:')) translate(u'AmendThemeForm', u'Outline Color:'))
self.OutlineEnabledLabel.setText( self.OutlineEnabledLabel.setText(
translate('AmendThemeForm', 'Show Outline:')) translate(u'AmendThemeForm', u'Show Outline:'))
self.ShadowGroupBox.setTitle(translate('AmendThemeForm', 'Shadow')) self.ShadowGroupBox.setTitle(translate(u'AmendThemeForm', u'Shadow'))
self.ShadowSpinBoxLabel.setText( self.ShadowSpinBoxLabel.setText(
translate(u'AmendThemeForm', u'Shadow Size:')) translate(u'AmendThemeForm', u'Shadow Size:'))
self.ShadowSpinBox.setSuffix(translate(u'AmendThemeForm', u'px')) self.ShadowSpinBox.setSuffix(translate(u'AmendThemeForm', u'px'))
@ -906,3 +904,4 @@ class Ui_AmendThemeDialog(object):
self.ThemeTabWidget.indexOf(self.OtherOptionsTab), self.ThemeTabWidget.indexOf(self.OtherOptionsTab),
translate(u'AmendThemeForm', u'Other Options')) translate(u'AmendThemeForm', u'Other Options'))
self.PreviewGroupBox.setTitle(translate(u'AmendThemeForm', u'Preview')) self.PreviewGroupBox.setTitle(translate(u'AmendThemeForm', u'Preview'))

View File

@ -215,6 +215,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
self.ImageLineEdit.setText(filename) self.ImageLineEdit.setText(filename)
self.theme.background_filename = filename self.theme.background_filename = filename
self.previewTheme() self.previewTheme()
# #
#Main Font Tab #Main Font Tab
# #
@ -306,6 +307,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
if self.theme.font_main_height != self.FontMainHeightSpinBox.value(): if self.theme.font_main_height != self.FontMainHeightSpinBox.value():
self.theme.font_main_height = self.FontMainHeightSpinBox.value() self.theme.font_main_height = self.FontMainHeightSpinBox.value()
self.previewTheme() self.previewTheme()
# #
#Footer Font Tab #Footer Font Tab
# #
@ -384,6 +386,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
self.theme.font_footer_height = \ self.theme.font_footer_height = \
self.FontFooterHeightSpinBox.value() self.FontFooterHeightSpinBox.value()
self.previewTheme() self.previewTheme()
# #
#Background Tab #Background Tab
# #
@ -446,6 +449,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
self.Color2PushButton.setStyleSheet( self.Color2PushButton.setStyleSheet(
u'background-color: %s' % unicode(self.theme.background_endColor)) u'background-color: %s' % unicode(self.theme.background_endColor))
self.previewTheme() self.previewTheme()
# #
#Other Tab #Other Tab
# #
@ -506,6 +510,7 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
self.theme.display_verticalAlign = currentIndex self.theme.display_verticalAlign = currentIndex
self.stateChanging(self.theme) self.stateChanging(self.theme)
self.previewTheme() self.previewTheme()
# #
#Local Methods #Local Methods
# #
@ -629,7 +634,8 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
if theme.background_type == u'solid': if theme.background_type == u'solid':
self.Color1PushButton.setStyleSheet( self.Color1PushButton.setStyleSheet(
u'background-color: %s' % unicode(theme.background_color)) u'background-color: %s' % unicode(theme.background_color))
self.Color1Label.setText(translate(u'AmendThemeForm', u'Background Color:')) self.Color1Label.setText(
translate(u'AmendThemeForm', u'Background Color:'))
self.Color1Label.setVisible(True) self.Color1Label.setVisible(True)
self.Color1PushButton.setVisible(True) self.Color1PushButton.setVisible(True)
self.Color2Label.setVisible(False) self.Color2Label.setVisible(False)
@ -644,8 +650,10 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
% unicode(theme.background_startColor)) % unicode(theme.background_startColor))
self.Color2PushButton.setStyleSheet(u'background-color: %s' \ self.Color2PushButton.setStyleSheet(u'background-color: %s' \
% unicode(theme.background_endColor)) % unicode(theme.background_endColor))
self.Color1Label.setText(translate(u'AmendThemeForm', u'First Color:')) self.Color1Label.setText(
self.Color2Label.setText(translate(u'AmendThemeForm', u'Second Color:')) translate(u'AmendThemeForm', u'First Color:'))
self.Color2Label.setText(
translate(u'AmendThemeForm', u'Second Color:'))
self.Color1Label.setVisible(True) self.Color1Label.setVisible(True)
self.Color1PushButton.setVisible(True) self.Color1PushButton.setVisible(True)
self.Color2Label.setVisible(True) self.Color2Label.setVisible(True)
@ -713,7 +721,8 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
log.debug(u'Page Length area height %s, metrics %s, lines %s' % log.debug(u'Page Length area height %s, metrics %s, lines %s' %
(self.FontMainHeightSpinBox.value(), metrics.height(), (self.FontMainHeightSpinBox.value(), metrics.height(),
page_length)) page_length))
page_length_text = unicode(translate(u'AmendThemeForm', u'Slide Height is %s rows')) page_length_text = unicode(
translate(u'AmendThemeForm', u'Slide Height is %s rows'))
self.FontMainLinesPageLabel.setText(page_length_text % page_length) self.FontMainLinesPageLabel.setText(page_length_text % page_length)
frame = self.thememanager.generateImage(self.theme) frame = self.thememanager.generateImage(self.theme)
self.ThemePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) self.ThemePreview.setPixmap(QtGui.QPixmap.fromImage(frame))
@ -728,8 +737,9 @@ class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
self.theme.font_main_italics)# italic self.theme.font_main_italics)# italic
mainFont.setPixelSize(self.theme.font_main_proportion) mainFont.setPixelSize(self.theme.font_main_proportion)
metrics = QtGui.QFontMetrics(mainFont) metrics = QtGui.QFontMetrics(mainFont)
#Validate that the screen width is big enough to display the text # Validate that the screen width is big enough to display the text
if self.theme.font_main_width < metrics.maxWidth() * 2 + 64: if self.theme.font_main_width < metrics.maxWidth() * 2 + 64:
self.theme.font_main_width = metrics.maxWidth() * 2 + 64 self.theme.font_main_width = metrics.maxWidth() * 2 + 64
self.FontMainWidthSpinBox.setValue(self.theme.font_main_width) self.FontMainWidthSpinBox.setValue(self.theme.font_main_width)
return metrics return metrics

View File

@ -155,12 +155,12 @@ class DisplayTab(SettingsTab):
self.OverrideCheckBox.setObjectName(u'OverrideCheckBox') self.OverrideCheckBox.setObjectName(u'OverrideCheckBox')
QtCore.QMetaObject.connectSlotsByName(self) QtCore.QMetaObject.connectSlotsByName(self)
QtCore.QObject.connect(self.OverrideCheckBox, QtCore.QObject.connect(self.OverrideCheckBox,
QtCore.SIGNAL(u'stateChanged(int)'), QtCore.SIGNAL(u'stateChanged(int)'), self.onOverrideCheckBoxChanged)
self.onOverrideCheckBoxChanged)
def retranslateUi(self): def retranslateUi(self):
self.setWindowTitle(translate(u'DisplayTab', u'Amend Display Settings')) self.setWindowTitle(translate(u'DisplayTab', u'Amend Display Settings'))
self.CurrentGroupBox.setTitle(translate(u'DisplayTab', u'Default Settings')) self.CurrentGroupBox.setTitle(
translate(u'DisplayTab', u'Default Settings'))
self.XLabel.setText(translate(u'DisplayTab', u'X')) self.XLabel.setText(translate(u'DisplayTab', u'X'))
self.Xpos.setText(u'0') self.Xpos.setText(u'0')
self.YLabel.setText(translate(u'DisplayTab', u'Y')) self.YLabel.setText(translate(u'DisplayTab', u'Y'))
@ -169,12 +169,14 @@ class DisplayTab(SettingsTab):
self.Height.setText(u'0') self.Height.setText(u'0')
self.WidthLabel.setText(translate(u'DisplayTab', u'Width')) self.WidthLabel.setText(translate(u'DisplayTab', u'Width'))
self.Width.setText(u'0') self.Width.setText(u'0')
self.CurrentGroupBox_2.setTitle(translate(u'DisplayTab', u'Amend Settings')) self.CurrentGroupBox_2.setTitle(
translate(u'DisplayTab', u'Amend Settings'))
self.XAmendLabel.setText(translate(u'DisplayTab', u'X')) self.XAmendLabel.setText(translate(u'DisplayTab', u'X'))
self.YAmendLabel.setText(translate(u'DisplayTab', u'Y')) self.YAmendLabel.setText(translate(u'DisplayTab', u'Y'))
self.HeightAmendLabel.setText(translate(u'DisplayTab', u'Height')) self.HeightAmendLabel.setText(translate(u'DisplayTab', u'Height'))
self.WidthAmendLabel.setText(translate(u'DisplayTab', u'Width')) self.WidthAmendLabel.setText(translate(u'DisplayTab', u'Width'))
self.OverrideCheckBox.setText(translate(u'DisplayTab', u'Override Output Display')) self.OverrideCheckBox.setText(
translate(u'DisplayTab', u'Override Output Display'))
def load(self): def load(self):
settings = QtCore.QSettings() settings = QtCore.QSettings()
@ -209,16 +211,11 @@ class DisplayTab(SettingsTab):
def save(self): def save(self):
settings = QtCore.QSettings() settings = QtCore.QSettings()
settings.beginGroup(self.settingsSection) settings.beginGroup(self.settingsSection)
settings.setValue('x position', settings.setValue('x position', QtCore.QVariant(self.XposEdit.text()))
QtCore.QVariant(self.XposEdit.text())) settings.setValue('y position', QtCore.QVariant(self.YposEdit.text()))
settings.setValue('y position', settings.setValue('height', QtCore.QVariant(self.HeightEdit.text()))
QtCore.QVariant(self.YposEdit.text())) settings.setValue('width', QtCore.QVariant(self.WidthEdit.text()))
settings.setValue('height', settings.setValue('amend display', QtCore.QVariant(self.amend_display))
QtCore.QVariant(self.HeightEdit.text()))
settings.setValue('width',
QtCore.QVariant(self.WidthEdit.text()))
settings.setValue('amend display',
QtCore.QVariant(self.amend_display))
self.postSetUp() self.postSetUp()
def postSetUp(self): def postSetUp(self):

View File

@ -35,7 +35,7 @@ from openlp.core.ui import AmendThemeForm
from openlp.core.theme import Theme from openlp.core.theme import Theme
from openlp.core.lib import OpenLPToolbar, contextMenuAction, \ from openlp.core.lib import OpenLPToolbar, contextMenuAction, \
ThemeXML, str_to_bool, get_text_file_string, build_icon, Receiver, \ ThemeXML, str_to_bool, get_text_file_string, build_icon, Receiver, \
contextMenuSeparator, SettingsManager, translate contextMenuSeparator, SettingsManager, translate
from openlp.core.utils import AppLocation from openlp.core.utils import AppLocation
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -99,7 +99,7 @@ class ThemeManager(QtGui.QWidget):
contextMenuAction(self.ThemeListWidget, contextMenuAction(self.ThemeListWidget,
u':/general/general_export.png', u':/general/general_export.png',
translate(u'ThemeManager', u'Export theme'), translate(u'ThemeManager', u'Export theme'),
self.onExportTheme)) self.onExportTheme))
self.ThemeListWidget.addAction( self.ThemeListWidget.addAction(
contextMenuSeparator(self.ThemeListWidget)) contextMenuSeparator(self.ThemeListWidget))
#Signals #Signals
@ -199,7 +199,7 @@ class ThemeManager(QtGui.QWidget):
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, translate('ThemeManager','Error'), self, translate(u'ThemeManager',u'Error'),
translate(u'ThemeManager', translate(u'ThemeManager',
u'Theme %s is use by Service Manager' % theme), u'Theme %s is use by Service Manager' % theme),
QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok)) QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok))

View File

@ -34,7 +34,7 @@ log = logging.getLogger()
class LanguageManager(object): class LanguageManager(object):
""" """
Helper for Language selection Helper for Language selection
""" """
__qmList__ = None __qmList__ = None
AutoLanguage = False AutoLanguage = False
@ -55,8 +55,8 @@ class LanguageManager(object):
trans_dir = QtCore.QDir(os.path.join(trans_dir, u'resources', u'i18n')) trans_dir = QtCore.QDir(os.path.join(trans_dir, u'resources', u'i18n'))
fileNames = trans_dir.entryList(QtCore.QStringList("*.qm"), fileNames = trans_dir.entryList(QtCore.QStringList("*.qm"),
QtCore.QDir.Files, QtCore.QDir.Name) QtCore.QDir.Files, QtCore.QDir.Name)
for i in fileNames: for name in fileNames:
fileNames.replaceInStrings(i, trans_dir.filePath(i)) fileNames.replaceInStrings(name, trans_dir.filePath(name))
return fileNames return fileNames
@staticmethod @staticmethod
@ -101,11 +101,12 @@ class LanguageManager(object):
regEx = QtCore.QRegExp("^.*openlp_(.*).qm") regEx = QtCore.QRegExp("^.*openlp_(.*).qm")
if regEx.exactMatch(qmf): if regEx.exactMatch(qmf):
langName = regEx.cap(1) langName = regEx.cap(1)
LanguageManager.__qmList__[u'%#2i %s' % (i+1, LanguageManager.__qmList__[u'%#2i %s' % (i+1,
LanguageManager.language_name(qmf))] = langName LanguageManager.language_name(qmf))] = langName
@staticmethod @staticmethod
def get_qm_list(): def get_qm_list():
if LanguageManager.__qmList__ == None: if LanguageManager.__qmList__ == None:
LanguageManager.init_qm_list() LanguageManager.init_qm_list()
return LanguageManager.__qmList__ return LanguageManager.__qmList__

View File

@ -27,7 +27,7 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Plugin, build_icon, PluginStatus, translate from openlp.core.lib import Plugin, build_icon, PluginStatus, translate
from openlp.plugins.alerts.lib import AlertsManager, AlertsTab, DBManager from openlp.plugins.alerts.lib import AlertsManager, AlertsTab, DBManager
from openlp.plugins.alerts.forms import AlertForm from openlp.plugins.alerts.forms import AlertForm

View File

@ -43,38 +43,29 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
self.item_id = None self.item_id = None
QtGui.QDialog.__init__(self, None) QtGui.QDialog.__init__(self, None)
self.setupUi(self) self.setupUi(self)
QtCore.QObject.connect(self.DisplayButton, QtCore.QObject.connect(self.DisplayButton, QtCore.SIGNAL(u'clicked()'),
QtCore.SIGNAL(u'clicked()'), self.onDisplayClicked)
self.onDisplayClicked)
QtCore.QObject.connect(self.DisplayCloseButton, QtCore.QObject.connect(self.DisplayCloseButton,
QtCore.SIGNAL(u'clicked()'), QtCore.SIGNAL(u'clicked()'), self.onDisplayCloseClicked)
self.onDisplayCloseClicked)
QtCore.QObject.connect(self.AlertTextEdit, QtCore.QObject.connect(self.AlertTextEdit,
QtCore.SIGNAL(u'textChanged(const QString&)'), QtCore.SIGNAL(u'textChanged(const QString&)'), self.onTextChanged)
self.onTextChanged) QtCore.QObject.connect(self.NewButton, QtCore.SIGNAL(u'clicked()'),
QtCore.QObject.connect(self.NewButton, self.onNewClick)
QtCore.SIGNAL(u'clicked()'), QtCore.QObject.connect(self.DeleteButton, QtCore.SIGNAL(u'clicked()'),
self.onNewClick) self.onDeleteClick)
QtCore.QObject.connect(self.DeleteButton, QtCore.QObject.connect(self.SaveButton, QtCore.SIGNAL(u'clicked()'),
QtCore.SIGNAL(u'clicked()'), self.onSaveClick)
self.onDeleteClick)
QtCore.QObject.connect(self.SaveButton,
QtCore.SIGNAL(u'clicked()'),
self.onSaveClick)
QtCore.QObject.connect(self.AlertListWidget, QtCore.QObject.connect(self.AlertListWidget,
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onDoubleClick)
self.onDoubleClick)
QtCore.QObject.connect(self.AlertListWidget, QtCore.QObject.connect(self.AlertListWidget,
QtCore.SIGNAL(u'clicked(QModelIndex)'), QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onSingleClick)
self.onSingleClick)
def loadList(self): def loadList(self):
self.AlertListWidget.clear() self.AlertListWidget.clear()
alerts = self.manager.get_all_alerts() alerts = self.manager.get_all_alerts()
for alert in alerts: for alert in alerts:
item_name = QtGui.QListWidgetItem(alert.text) item_name = QtGui.QListWidgetItem(alert.text)
item_name.setData( item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(alert.id))
QtCore.Qt.UserRole, QtCore.QVariant(alert.id))
self.AlertListWidget.addItem(item_name) self.AlertListWidget.addItem(item_name)
self.SaveButton.setEnabled(False) self.SaveButton.setEnabled(False)
self.DeleteButton.setEnabled(False) self.DeleteButton.setEnabled(False)
@ -157,3 +148,4 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
self.parent.alertsmanager.displayAlert(text) self.parent.alertsmanager.displayAlert(text)
return True return True
return False return False

View File

@ -31,7 +31,7 @@ import os.path
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from bibleimportwizard import Ui_BibleImportWizard from bibleimportwizard import Ui_BibleImportWizard
from openlp.core.lib import Receiver, SettingsManager, translate from openlp.core.lib import Receiver, SettingsManager, translate
from openlp.core.utils import AppLocation, variant_to_unicode from openlp.core.utils import AppLocation, variant_to_unicode
from openlp.plugins.bibles.lib.manager import BibleFormat from openlp.plugins.bibles.lib.manager import BibleFormat

View File

@ -27,7 +27,7 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, SettingsTab, translate from openlp.core.lib import Receiver, SettingsTab, translate
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@ -29,7 +29,7 @@ import time
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, Receiver, BaseListWithDnD, \ from openlp.core.lib import MediaManagerItem, Receiver, BaseListWithDnD, \
ItemCapabilities, translate ItemCapabilities, translate
from openlp.plugins.bibles.forms import ImportWizardForm from openlp.plugins.bibles.forms import ImportWizardForm
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -521,10 +521,10 @@ class BibleMediaItem(MediaManagerItem):
if self.parent.settings_tab.display_style == 1: if self.parent.settings_tab.display_style == 1:
verse_text = self.formatVerse(old_chapter, chapter, verse, verse_text = self.formatVerse(old_chapter, chapter, verse,
u'(u', u')') u'(u', u')')
elif self.parent.settings_tab.display_style == 2: elif self.parent.settings_tab.display_style == 2:
verse_text = self.formatVerse(old_chapter, chapter, verse, verse_text = self.formatVerse(old_chapter, chapter, verse,
u'{', u'}') u'{', u'}')
elif self.parent.settings_tab.display_style == 3: elif self.parent.settings_tab.display_style == 3:
verse_text = self.formatVerse(old_chapter, chapter, verse, verse_text = self.formatVerse(old_chapter, chapter, verse,
u'[', u']') u'[', u']')
else: else:
@ -558,10 +558,9 @@ class BibleMediaItem(MediaManagerItem):
service_item.title = u'%s %s' % (book, verse_text) service_item.title = u'%s %s' % (book, verse_text)
elif service_item.title.find( elif service_item.title.find(
translate(u'BiblesPlugin.MediaItem', u'etc')) == -1: translate(u'BiblesPlugin.MediaItem', u'etc')) == -1:
service_item.title = u'%s, %s' \ service_item.title = u'%s, %s' % (service_item.title,
% (service_item.title,
translate(u'BiblesPlugin.MediaItem', u'etc')) translate(u'BiblesPlugin.MediaItem', u'etc'))
if len(self.parent.settings_tab.bible_theme) == 0: if len(self.parent.settings_tab.bible_theme) == 0:
service_item.theme = None service_item.theme = None
else: else:
service_item.theme = self.parent.settings_tab.bible_theme service_item.theme = self.parent.settings_tab.bible_theme
@ -658,3 +657,4 @@ class BibleMediaItem(MediaManagerItem):
def searchByReference(self, bible, search): def searchByReference(self, bible, search):
log.debug(u'searchByReference %s, %s', bible, search) log.debug(u'searchByReference %s, %s', bible, search)
self.search_results = self.parent.manager.get_verses(bible, search) self.search_results = self.parent.manager.get_verses(bible, search)

View File

@ -28,7 +28,7 @@ import logging
from lxml import objectify from lxml import objectify
from PyQt4 import QtCore from PyQt4 import QtCore
from openlp.core.lib import Receiver, translate from openlp.core.lib import Receiver, translate
from db import BibleDB from db import BibleDB
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -95,7 +95,7 @@ class OpenSongBible(BibleDB):
Receiver.send_message(u'openlp_process_events') Receiver.send_message(u'openlp_process_events')
self.wizard.incrementProgressBar( self.wizard.incrementProgressBar(
QtCore.QString('%s %s %s' % ( QtCore.QString('%s %s %s' % (
translate(u'BiblesPlugin.Opensong', u'Importing'),\ translate(u'BiblesPlugin.Opensong', u'Importing'), \
db_book.name, chapter.attrib[u'n']))) db_book.name, chapter.attrib[u'n'])))
self.commit() self.commit()
except IOError: except IOError:

View File

@ -26,7 +26,7 @@
import logging import logging
from forms import EditCustomForm from forms import EditCustomForm
from openlp.core.lib import Plugin, build_icon, PluginStatus, translate from openlp.core.lib import Plugin, build_icon, PluginStatus, translate
from openlp.plugins.custom.lib import CustomManager, CustomMediaItem, CustomTab from openlp.plugins.custom.lib import CustomManager, CustomMediaItem, CustomTab
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@ -24,6 +24,7 @@
############################################################################### ###############################################################################
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import translate from openlp.core.lib import translate
class Ui_customEditDialog(object): class Ui_customEditDialog(object):
@ -106,8 +107,8 @@ class Ui_customEditDialog(object):
self.SplitButton = QtGui.QPushButton(self.ButtonWidge) self.SplitButton = QtGui.QPushButton(self.ButtonWidge)
self.SplitButton.setObjectName(u'SplitButton') self.SplitButton.setObjectName(u'SplitButton')
self.verticalLayout_2.addWidget(self.SplitButton) self.verticalLayout_2.addWidget(self.SplitButton)
spacerItem1 = QtGui.QSpacerItem(20, 40, spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) QtGui.QSizePolicy.Expanding)
self.verticalLayout_2.addItem(spacerItem1) self.verticalLayout_2.addItem(spacerItem1)
self.EditLayout_3.addWidget(self.ButtonWidge) self.EditLayout_3.addWidget(self.ButtonWidge)
self.gridLayout.addWidget(self.EditWidget, 2, 0, 1, 1) self.gridLayout.addWidget(self.EditWidget, 2, 0, 1, 1)
@ -130,7 +131,8 @@ class Ui_customEditDialog(object):
self.horizontalLayout_2.addWidget(self.CreditEdit) self.horizontalLayout_2.addWidget(self.CreditEdit)
self.gridLayout.addLayout(self.horizontalLayout_2, 4, 0, 1, 1) self.gridLayout.addLayout(self.horizontalLayout_2, 4, 0, 1, 1)
self.buttonBox = QtGui.QDialogButtonBox(customEditDialog) self.buttonBox = QtGui.QDialogButtonBox(customEditDialog)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel |
QtGui.QDialogButtonBox.Save)
self.buttonBox.setObjectName(u'buttonBox') self.buttonBox.setObjectName(u'buttonBox')
self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 1) self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 1)
@ -153,20 +155,17 @@ class Ui_customEditDialog(object):
customEditDialog.setTabOrder(self.DownButton, self.ThemeComboBox) customEditDialog.setTabOrder(self.DownButton, self.ThemeComboBox)
def retranslateUi(self, customEditDialog): def retranslateUi(self, customEditDialog):
customEditDialog.setWindowTitle(translate(u'CustomPlugin.EditCustomForm', customEditDialog.setWindowTitle(
u'Edit Custom Slides')) translate(u'CustomPlugin.EditCustomForm', u'Edit Custom Slides'))
self.UpButton.setToolTip( self.UpButton.setToolTip(translate(u'CustomPlugin.EditCustomForm'
translate(u'CustomPlugin.EditCustomForm' u'CustomPlugin.EditCustomForm', u'Move slide Up 1'))
u'CustomPlugin.EditCustomForm',
u'Move slide Up 1'))
self.DownButton.setToolTip( self.DownButton.setToolTip(
translate(u'CustomPlugin.EditCustomForm', u'Move slide down 1')) translate(u'CustomPlugin.EditCustomForm', u'Move slide down 1'))
self.TitleLabel.setText( self.TitleLabel.setText(
translate(u'CustomPlugin.EditCustomForm', u'Title:')) translate(u'CustomPlugin.EditCustomForm', u'Title:'))
self.AddButton.setText( self.AddButton.setText(
translate(u'CustomPlugin.EditCustomForm', u'Add New')) translate(u'CustomPlugin.EditCustomForm', u'Add New'))
self.AddButton.setToolTip( self.AddButton.setToolTip(translate(u'CustomPlugin.EditCustomForm',
translate(u'CustomPlugin.EditCustomForm',
u'Add new slide at bottom')) u'Add new slide at bottom'))
self.EditButton.setText( self.EditButton.setText(
translate(u'CustomPlugin.EditCustomForm', u'Edit')) translate(u'CustomPlugin.EditCustomForm', u'Edit'))
@ -196,3 +195,4 @@ class Ui_customEditDialog(object):
translate(u'CustomPlugin.EditCustomForm', u'Theme:')) translate(u'CustomPlugin.EditCustomForm', u'Theme:'))
self.CreditLabel.setText( self.CreditLabel.setText(
translate(u'CustomPlugin.EditCustomForm', u'Credits:')) translate(u'CustomPlugin.EditCustomForm', u'Credits:'))

View File

@ -28,7 +28,7 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from editcustomdialog import Ui_customEditDialog from editcustomdialog import Ui_customEditDialog
from openlp.core.lib import SongXMLBuilder, SongXMLParser, Receiver, translate from openlp.core.lib import SongXMLBuilder, SongXMLParser, Receiver, translate
from openlp.plugins.custom.lib.models import CustomSlide from openlp.plugins.custom.lib.models import CustomSlide
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -163,8 +163,10 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
count += 1 count += 1
self.customSlide.title = unicode(self.TitleEdit.displayText(), u'utf-8') self.customSlide.title = unicode(self.TitleEdit.displayText(), u'utf-8')
self.customSlide.text = unicode(sxml.extract_xml(), u'utf-8') self.customSlide.text = unicode(sxml.extract_xml(), u'utf-8')
self.customSlide.credits = unicode(self.CreditEdit.displayText(), u'utf-8') self.customSlide.credits = unicode(self.CreditEdit.displayText(),
self.customSlide.theme_name = unicode(self.ThemeComboBox.currentText(), u'utf-8') u'utf-8')
self.customSlide.theme_name = unicode(self.ThemeComboBox.currentText(),
u'utf-8')
self.custommanager.save_slide(self.customSlide) self.custommanager.save_slide(self.customSlide)
return True return True
@ -230,7 +232,8 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
def onSaveButtonPressed(self): def onSaveButtonPressed(self):
if self.editAll: if self.editAll:
self.VerseListView.clear() self.VerseListView.clear()
for row in unicode(self.VerseTextEdit.toPlainText()).split(u'\n[---]\n'): for row in unicode(self.VerseTextEdit.toPlainText()).split(
u'\n[---]\n'):
self.VerseListView.addItem(row) self.VerseListView.addItem(row)
else: else:
self.VerseListView.currentItem().setText( self.VerseListView.currentItem().setText(

View File

@ -25,7 +25,7 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, translate from openlp.core.lib import SettingsTab, translate
class CustomTab(SettingsTab): class CustomTab(SettingsTab):
""" """

View File

@ -28,7 +28,7 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, SongXMLParser, BaseListWithDnD, \ from openlp.core.lib import MediaManagerItem, SongXMLParser, BaseListWithDnD, \
Receiver, ItemCapabilities, translate Receiver, ItemCapabilities, translate
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -70,7 +70,6 @@ class CustomMediaItem(MediaManagerItem):
def requiredIcons(self): def requiredIcons(self):
MediaManagerItem.requiredIcons(self) MediaManagerItem.requiredIcons(self)
self.hasFileIcon = False
def initialise(self): def initialise(self):
self.loadCustomListView(self.parent.custommanager.get_all_slides()) self.loadCustomListView(self.parent.custommanager.get_all_slides())

View File

@ -25,7 +25,7 @@
import logging import logging
from openlp.core.lib import Plugin, build_icon, PluginStatus, translate from openlp.core.lib import Plugin, build_icon, PluginStatus, translate
from openlp.plugins.images.lib import ImageMediaItem, ImageTab from openlp.plugins.images.lib import ImageMediaItem, ImageTab
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@ -25,7 +25,7 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, Receiver, translate from openlp.core.lib import SettingsTab, Receiver, translate
class ImageTab(SettingsTab): class ImageTab(SettingsTab):
""" """

View File

@ -29,7 +29,7 @@ import os
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \ from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
contextMenuAction, ItemCapabilities, SettingsManager, translate contextMenuAction, ItemCapabilities, SettingsManager, translate
from openlp.core.utils import AppLocation from openlp.core.utils import AppLocation
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -169,7 +169,8 @@ class ImageMediaItem(MediaManagerItem):
if not self.ListView.selectedIndexes(): if not self.ListView.selectedIndexes():
QtGui.QMessageBox.information(self, QtGui.QMessageBox.information(self,
translate(u'ImagePlugin.MediaItem', u'No item selected'), translate(u'ImagePlugin.MediaItem', u'No item selected'),
translate(u'ImagePlugin.MediaItem', u'You must select one item')) translate(u'ImagePlugin.MediaItem',
u'You must select one item'))
items = self.ListView.selectedIndexes() items = self.ListView.selectedIndexes()
for item in items: for item in items:
bitem = self.ListView.item(item.row()) bitem = self.ListView.item(item.row())

View File

@ -29,7 +29,7 @@ import os
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \ from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
ItemCapabilities, SettingsManager, contextMenuAction, Receiver, translate ItemCapabilities, SettingsManager, contextMenuAction, Receiver, translate
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -77,8 +77,7 @@ class MediaMediaItem(MediaManagerItem):
MediaManagerItem.addListViewToToolBar(self) MediaManagerItem.addListViewToToolBar(self)
self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.ListView.addAction( self.ListView.addAction(
contextMenuAction( contextMenuAction(self.ListView, u':/slides/slide_blank.png',
self.ListView, u':/slides/slide_blank.png',
translate(u'MediaPlugin.MediaItem', u'Replace Live Background'), translate(u'MediaPlugin.MediaItem', u'Replace Live Background'),
self.onReplaceClick)) self.onReplaceClick))
@ -107,8 +106,7 @@ class MediaMediaItem(MediaManagerItem):
self.background = True self.background = True
if not self.ListView.selectedIndexes(): if not self.ListView.selectedIndexes():
QtGui.QMessageBox.information(self, QtGui.QMessageBox.information(self,
translate(u'MediaPlugin.MediaItem', translate(u'MediaPlugin.MediaItem', u'No item selected'),
u'No item selected'),
translate(u'MediaPlugin.MediaItem', translate(u'MediaPlugin.MediaItem',
u'You must select one item')) u'You must select one item'))
items = self.ListView.selectedIndexes() items = self.ListView.selectedIndexes()
@ -135,8 +133,8 @@ class MediaMediaItem(MediaManagerItem):
self.ListView.setSelectionMode( self.ListView.setSelectionMode(
QtGui.QAbstractItemView.ExtendedSelection) QtGui.QAbstractItemView.ExtendedSelection)
self.ListView.setIconSize(QtCore.QSize(88, 50)) self.ListView.setIconSize(QtCore.QSize(88, 50))
self.loadList(SettingsManager.load_list( self.loadList(SettingsManager.load_list(self.settingsSection,
self.settingsSection, self.settingsSection)) self.settingsSection))
def onDeleteClick(self): def onDeleteClick(self):
item = self.ListView.currentItem() item = self.ListView.currentItem()
@ -154,3 +152,4 @@ class MediaMediaItem(MediaManagerItem):
item_name.setIcon(build_icon(img)) item_name.setIcon(build_icon(img))
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file)) item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file))
self.ListView.addItem(item_name) self.ListView.addItem(item_name)

View File

@ -25,9 +25,10 @@
import logging import logging
from PyQt4.phonon import Phonon
from openlp.core.lib import Plugin, build_icon, PluginStatus, translate from openlp.core.lib import Plugin, build_icon, PluginStatus, translate
from openlp.plugins.media.lib import MediaMediaItem from openlp.plugins.media.lib import MediaMediaItem
from PyQt4.phonon import Phonon
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -46,13 +47,17 @@ class MediaPlugin(Plugin):
for mimetype in Phonon.BackendCapabilities.availableMimeTypes(): for mimetype in Phonon.BackendCapabilities.availableMimeTypes():
mimetype = unicode(mimetype) mimetype = unicode(mimetype)
type = mimetype.split(u'audio/x-') type = mimetype.split(u'audio/x-')
self.audio_list, mimetype = self._add_to_list(self.audio_list, type, mimetype) self.audio_list, mimetype = self._add_to_list(self.audio_list,
type, mimetype)
type = mimetype.split(u'audio/') type = mimetype.split(u'audio/')
self.audio_list, mimetype = self._add_to_list(self.audio_list, type, mimetype) self.audio_list, mimetype = self._add_to_list(self.audio_list,
type, mimetype)
type = mimetype.split(u'video/x-') type = mimetype.split(u'video/x-')
self.video_list, mimetype = self._add_to_list(self.video_list, type, mimetype) self.video_list, mimetype = self._add_to_list(self.video_list,
type, mimetype)
type = mimetype.split(u'video/') type = mimetype.split(u'video/')
self.video_list, mimetype = self._add_to_list(self.video_list, type, mimetype) self.video_list, mimetype = self._add_to_list(self.video_list,
type, mimetype)
def _add_to_list(self, list, value, type): def _add_to_list(self, list, value, type):
if len(value) == 2: if len(value) == 2:
@ -80,3 +85,4 @@ class MediaPlugin(Plugin):
u'<b>Media Plugin</b><br>This plugin ' u'<b>Media Plugin</b><br>This plugin '
u'allows the playing of audio and video media') u'allows the playing of audio and video media')
return about_text return about_text

View File

@ -106,20 +106,23 @@ class ImpressController(PresentationController):
loop = 0 loop = 0
log.debug(u'get UNO Desktop Openoffice - getComponentContext') log.debug(u'get UNO Desktop Openoffice - getComponentContext')
context = uno.getComponentContext() context = uno.getComponentContext()
log.debug(u'get UNO Desktop Openoffice - createInstaneWithContext - UnoUrlResolver') log.debug(u'get UNO Desktop Openoffice - createInstaneWithContext - '
u'UnoUrlResolver')
resolver = context.ServiceManager.createInstanceWithContext( resolver = context.ServiceManager.createInstanceWithContext(
u'com.sun.star.bridge.UnoUrlResolver', context) u'com.sun.star.bridge.UnoUrlResolver', context)
while ctx is None and loop < 3: while ctx is None and loop < 3:
try: try:
log.debug(u'get UNO Desktop Openoffice - resolve') log.debug(u'get UNO Desktop Openoffice - resolve')
ctx = resolver.resolve(u'uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext') ctx = resolver.resolve(u'uno:socket,host=localhost,port=2002;'
u'urp;StarOffice.ComponentContext')
except: except:
log.exception(u'Unable to find running instance ') log.exception(u'Unable to find running instance ')
self.start_process() self.start_process()
loop += 1 loop += 1
try: try:
self.manager = ctx.ServiceManager self.manager = ctx.ServiceManager
log.debug(u'get UNO Desktop Openoffice - createInstanceWithContext - Desktop') log.debug(u'get UNO Desktop Openoffice - createInstanceWithContext'
u' - Desktop')
desktop = self.manager.createInstanceWithContext( desktop = self.manager.createInstanceWithContext(
"com.sun.star.frame.Desktop", ctx ) "com.sun.star.frame.Desktop", ctx )
return desktop return desktop
@ -201,7 +204,8 @@ class ImpressDocument(PresentationDocument):
if desktop is None: if desktop is None:
self.controller.start_process() self.controller.start_process()
desktop = self.controller.get_com_desktop() desktop = self.controller.get_com_desktop()
url = u'file:///' + self.filepath.replace(u'\\', u'/').replace(u':', u'|').replace(u' ', u'%20') url = u'file:///' + self.filepath.replace(u'\\', u'/').replace(
u':', u'|').replace(u' ', u'%20')
else: else:
desktop = self.controller.get_uno_desktop() desktop = self.controller.get_uno_desktop()
url = uno.systemPathToFileUrl(self.filepath) url = uno.systemPathToFileUrl(self.filepath)
@ -219,7 +223,8 @@ class ImpressDocument(PresentationDocument):
log.exception(u'Failed to load presentation') log.exception(u'Failed to load presentation')
return return
self.presentation = self.document.getPresentation() self.presentation = self.document.getPresentation()
self.presentation.Display = self.controller.plugin.render_manager.screens.current_display + 1 self.presentation.Display = \
self.controller.plugin.render_manager.screens.current_display + 1
self.control = None self.control = None
self.create_thumbnails() self.create_thumbnails()
@ -332,12 +337,14 @@ class ImpressDocument(PresentationDocument):
log.debug(u'start presentation OpenOffice') log.debug(u'start presentation OpenOffice')
if self.control is None or not self.control.isRunning(): if self.control is None or not self.control.isRunning():
self.presentation.start() self.presentation.start()
# start() returns before the getCurrentComponent is ready. Try for 5 seconds # start() returns before the getCurrentComponent is ready.
# Try for 5 seconds
i = 1 i = 1
while self.desktop.getCurrentComponent() is None and i < 50: while self.desktop.getCurrentComponent() is None and i < 50:
time.sleep(0.1) time.sleep(0.1)
i = i + 1 i = i + 1
self.control = self.desktop.getCurrentComponent().Presentation.getController() self.control = \
self.desktop.getCurrentComponent().Presentation.getController()
else: else:
self.control.activate() self.control.activate()
self.goto_slide(1) self.goto_slide(1)
@ -383,7 +390,7 @@ class ImpressDocument(PresentationDocument):
Returns the text on the slide Returns the text on the slide
``slide_no`` ``slide_no``
The slide the text is required for, starting at 1 The slide the text is required for, starting at 1
""" """
doc = self.document doc = self.document
pages = doc.getDrawPages() pages = doc.getDrawPages()
@ -412,3 +419,4 @@ class ImpressDocument(PresentationDocument):
if shape.supportsService("com.sun.star.drawing.Text"): if shape.supportsService("com.sun.star.drawing.Text"):
text += shape.getString() + '\n' text += shape.getString() + '\n'
return text return text

View File

@ -122,7 +122,8 @@ class PowerpointDocument(PresentationDocument):
if not self.controller.process.Visible: if not self.controller.process.Visible:
self.controller.start_process() self.controller.start_process()
#try: #try:
self.controller.process.Presentations.Open(self.filepath, False, False, True) self.controller.process.Presentations.Open(self.filepath, False, False,
True)
#except: #except:
# return # return
self.presentation = self.controller.process.Presentations( self.presentation = self.controller.process.Presentations(
@ -140,8 +141,8 @@ class PowerpointDocument(PresentationDocument):
""" """
if self.check_thumbnails(): if self.check_thumbnails():
return return
self.presentation.Export(os.path.join(self.thumbnailpath, '') self.presentation.Export(os.path.join(self.thumbnailpath, ''), 'png',
, 'png', 640, 480) 640, 480)
def close_presentation(self): def close_presentation(self):
""" """
@ -225,7 +226,8 @@ class PowerpointDocument(PresentationDocument):
dpi = win32ui.GetActiveWindow().GetDC().GetDeviceCaps(88) dpi = win32ui.GetActiveWindow().GetDC().GetDeviceCaps(88)
except: except:
try: try:
dpi = win32ui.GetForegroundWindow().GetDC().GetDeviceCaps(88) dpi = \
win32ui.GetForegroundWindow().GetDC().GetDeviceCaps(88)
except: except:
dpi = 96 dpi = 96
self.presentation.SlideShowSettings.Run() self.presentation.SlideShowSettings.Run()
@ -286,7 +288,7 @@ class PowerpointDocument(PresentationDocument):
Returns the text on the slide Returns the text on the slide
``slide_no`` ``slide_no``
The slide the text is required for, starting at 1 The slide the text is required for, starting at 1
""" """
text = '' text = ''
shapes = self.presentation.Slides(slide_no).Shapes shapes = self.presentation.Slides(slide_no).Shapes

View File

@ -125,7 +125,8 @@ class PptviewDocument(PresentationDocument):
filepath = str(self.filepath.replace(u'/', u'\\')) filepath = str(self.filepath.replace(u'/', u'\\'))
try: try:
self.pptid = self.controller.process.OpenPPT(filepath, None, rect, self.pptid = self.controller.process.OpenPPT(filepath, None, rect,
str(os.path.join(self.thumbnailpath, self.controller.thumbnailprefix))) str(os.path.join(self.thumbnailpath,
self.controller.thumbnailprefix)))
self.stop_presentation() self.stop_presentation()
except: except:
log.exception(u'Failed to load presentation') log.exception(u'Failed to load presentation')
@ -233,3 +234,4 @@ class PptviewDocument(PresentationDocument):
return path return path
else: else:
return None return None

View File

@ -381,7 +381,7 @@ class PresentationDocument(object):
Returns the text on the slide Returns the text on the slide
``slide_no`` ``slide_no``
The slide the text is required for, starting at 1 The slide the text is required for, starting at 1
""" """
return '' return ''

View File

@ -37,36 +37,42 @@ class VerseType(object):
@staticmethod @staticmethod
def to_string(verse_type): def to_string(verse_type):
if verse_type == VerseType.Verse: if verse_type == VerseType.Verse:
return translate('VerseType', 'Verse') return translate(u'VerseType', u'Verse')
elif verse_type == VerseType.Chorus: elif verse_type == VerseType.Chorus:
return translate('VerseType', 'Chorus') return translate(u'VerseType', u'Chorus')
elif verse_type == VerseType.Bridge: elif verse_type == VerseType.Bridge:
return translate('VerseType', 'Bridge') return translate(u'VerseType', u'Bridge')
elif verse_type == VerseType.PreChorus: elif verse_type == VerseType.PreChorus:
return translate('VerseType', 'Pre-Chorus') return translate(u'VerseType', u'Pre-Chorus')
elif verse_type == VerseType.Intro: elif verse_type == VerseType.Intro:
return translate('VerseType', 'Intro') return translate(u'VerseType', u'Intro')
elif verse_type == VerseType.Ending: elif verse_type == VerseType.Ending:
return translate('VerseType', 'Ending') return translate(u'VerseType', u'Ending')
elif verse_type == VerseType.Other: elif verse_type == VerseType.Other:
return translate('VerseType', 'Other') return translate(u'VerseType', u'Other')
@staticmethod @staticmethod
def from_string(verse_type): def from_string(verse_type):
verse_type = verse_type.lower() verse_type = verse_type.lower()
if verse_type == unicode(VerseType.to_string(VerseType.Verse)).lower(): if verse_type == unicode(VerseType.to_string(VerseType.Verse)).lower():
return VerseType.Verse return VerseType.Verse
elif verse_type == unicode(VerseType.to_string(VerseType.Chorus)).lower(): elif verse_type == \
unicode(VerseType.to_string(VerseType.Chorus)).lower():
return VerseType.Chorus return VerseType.Chorus
elif verse_type == unicode(VerseType.to_string(VerseType.Bridge)).lower(): elif verse_type == \
unicode(VerseType.to_string(VerseType.Bridge)).lower():
return VerseType.Bridge return VerseType.Bridge
elif verse_type == unicode(VerseType.to_string(VerseType.PreChorus)).lower(): elif verse_type == \
unicode(VerseType.to_string(VerseType.PreChorus)).lower():
return VerseType.PreChorus return VerseType.PreChorus
elif verse_type == unicode(VerseType.to_string(VerseType.Intro)).lower(): elif verse_type == \
unicode(VerseType.to_string(VerseType.Intro)).lower():
return VerseType.Intro return VerseType.Intro
elif verse_type == unicode(VerseType.to_string(VerseType.Ending)).lower(): elif verse_type == \
unicode(VerseType.to_string(VerseType.Ending)).lower():
return VerseType.Ending return VerseType.Ending
elif verse_type == unicode(VerseType.to_string(VerseType.Other)).lower(): elif verse_type == \
unicode(VerseType.to_string(VerseType.Other)).lower():
return VerseType.Other return VerseType.Other
from authorsform import AuthorsForm from authorsform import AuthorsForm

View File

@ -116,7 +116,8 @@ class Ui_EditSongDialog(object):
self.AuthorsTabLayout.setObjectName(u'AuthorsTabLayout') self.AuthorsTabLayout.setObjectName(u'AuthorsTabLayout')
self.AuthorsMaintenanceWidget = QtGui.QWidget(self.AuthorsTab) self.AuthorsMaintenanceWidget = QtGui.QWidget(self.AuthorsTab)
self.AuthorsMaintenanceWidget.setObjectName(u'AuthorsMaintenanceWidget') self.AuthorsMaintenanceWidget.setObjectName(u'AuthorsMaintenanceWidget')
self.AuthorsMaintenanceLayout = QtGui.QVBoxLayout(self.AuthorsMaintenanceWidget) self.AuthorsMaintenanceLayout = QtGui.QVBoxLayout(
self.AuthorsMaintenanceWidget)
self.AuthorsMaintenanceLayout.setSpacing(8) self.AuthorsMaintenanceLayout.setSpacing(8)
self.AuthorsMaintenanceLayout.setMargin(0) self.AuthorsMaintenanceLayout.setMargin(0)
self.AuthorsMaintenanceLayout.setObjectName(u'AuthorsMaintenanceLayout') self.AuthorsMaintenanceLayout.setObjectName(u'AuthorsMaintenanceLayout')
@ -146,7 +147,8 @@ class Ui_EditSongDialog(object):
self.AuthorsSelectionComboItem.setSizeAdjustPolicy( self.AuthorsSelectionComboItem.setSizeAdjustPolicy(
QtGui.QComboBox.AdjustToMinimumContentsLength) QtGui.QComboBox.AdjustToMinimumContentsLength)
self.AuthorsSelectionComboItem.setMinimumContentsLength(8) self.AuthorsSelectionComboItem.setMinimumContentsLength(8)
self.AuthorsSelectionComboItem.setObjectName(u'AuthorsSelectionComboItem') self.AuthorsSelectionComboItem.setObjectName(
u'AuthorsSelectionComboItem')
self.AuthorAddLayout.addWidget(self.AuthorsSelectionComboItem) self.AuthorAddLayout.addWidget(self.AuthorsSelectionComboItem)
self.AuthorAddButton = QtGui.QPushButton(self.AuthorAddWidget) self.AuthorAddButton = QtGui.QPushButton(self.AuthorAddWidget)
self.AuthorAddButton.setMaximumSize(QtCore.QSize(110, 16777215)) self.AuthorAddButton.setMaximumSize(QtCore.QSize(110, 16777215))
@ -261,7 +263,8 @@ class Ui_EditSongDialog(object):
QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed) QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.SongbookCombo.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(
self.SongbookCombo.sizePolicy().hasHeightForWidth())
self.SongbookCombo.setEditable(True) self.SongbookCombo.setEditable(True)
self.SongbookCombo.setSizePolicy(sizePolicy) self.SongbookCombo.setSizePolicy(sizePolicy)
self.SongbookCombo.setObjectName(u'SongbookCombo') self.SongbookCombo.setObjectName(u'SongbookCombo')
@ -277,7 +280,8 @@ class Ui_EditSongDialog(object):
self.ThemeTabLayout.setObjectName(u'ThemeTabLayout') self.ThemeTabLayout.setObjectName(u'ThemeTabLayout')
self.ThemeCopyCommentsWidget = QtGui.QWidget(self.ThemeTab) self.ThemeCopyCommentsWidget = QtGui.QWidget(self.ThemeTab)
self.ThemeCopyCommentsWidget.setObjectName(u'ThemeCopyCommentsWidget') self.ThemeCopyCommentsWidget.setObjectName(u'ThemeCopyCommentsWidget')
self.ThemeCopyCommentsLayout = QtGui.QHBoxLayout(self.ThemeCopyCommentsWidget) self.ThemeCopyCommentsLayout = QtGui.QHBoxLayout(
self.ThemeCopyCommentsWidget)
self.ThemeCopyCommentsLayout.setSpacing(8) self.ThemeCopyCommentsLayout.setSpacing(8)
self.ThemeCopyCommentsLayout.setMargin(0) self.ThemeCopyCommentsLayout.setMargin(0)
self.ThemeCopyCommentsLayout.setObjectName(u'ThemeCopyCommentsLayout') self.ThemeCopyCommentsLayout.setObjectName(u'ThemeCopyCommentsLayout')
@ -286,7 +290,8 @@ class Ui_EditSongDialog(object):
QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred) QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.TextWidget.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(
self.TextWidget.sizePolicy().hasHeightForWidth())
self.TextWidget.setSizePolicy(sizePolicy) self.TextWidget.setSizePolicy(sizePolicy)
self.TextWidget.setObjectName(u'TextWidget') self.TextWidget.setObjectName(u'TextWidget')
self.DetailsLayout = QtGui.QVBoxLayout(self.TextWidget) self.DetailsLayout = QtGui.QVBoxLayout(self.TextWidget)
@ -401,24 +406,34 @@ class Ui_EditSongDialog(object):
EditSongDialog.setTabOrder(self.AlternativeEdit, self.VerseListWidget) EditSongDialog.setTabOrder(self.AlternativeEdit, self.VerseListWidget)
EditSongDialog.setTabOrder(self.VerseListWidget, self.VerseAddButton) EditSongDialog.setTabOrder(self.VerseListWidget, self.VerseAddButton)
EditSongDialog.setTabOrder(self.VerseAddButton, self.VerseEditButton) EditSongDialog.setTabOrder(self.VerseAddButton, self.VerseEditButton)
EditSongDialog.setTabOrder(self.VerseEditButton, self.VerseEditAllButton) EditSongDialog.setTabOrder(self.VerseEditButton,
EditSongDialog.setTabOrder(self.VerseEditAllButton, self.VerseDeleteButton) self.VerseEditAllButton)
EditSongDialog.setTabOrder(self.VerseEditAllButton,
self.VerseDeleteButton)
EditSongDialog.setTabOrder(self.VerseDeleteButton, self.VerseOrderEdit) EditSongDialog.setTabOrder(self.VerseDeleteButton, self.VerseOrderEdit)
EditSongDialog.setTabOrder(self.VerseOrderEdit, self.AuthorsSelectionComboItem) EditSongDialog.setTabOrder(self.VerseOrderEdit,
EditSongDialog.setTabOrder(self.AuthorsSelectionComboItem, self.AuthorAddButton) self.AuthorsSelectionComboItem)
EditSongDialog.setTabOrder(self.AuthorsSelectionComboItem,
self.AuthorAddButton)
EditSongDialog.setTabOrder(self.AuthorAddButton, self.AuthorsListView) EditSongDialog.setTabOrder(self.AuthorAddButton, self.AuthorsListView)
EditSongDialog.setTabOrder(self.AuthorsListView, self.AuthorRemoveButton) EditSongDialog.setTabOrder(self.AuthorsListView,
EditSongDialog.setTabOrder(self.AuthorRemoveButton, self.MaintenanceButton) self.AuthorRemoveButton)
EditSongDialog.setTabOrder(self.AuthorRemoveButton,
self.MaintenanceButton)
EditSongDialog.setTabOrder(self.MaintenanceButton, self.SongTopicCombo) EditSongDialog.setTabOrder(self.MaintenanceButton, self.SongTopicCombo)
EditSongDialog.setTabOrder(self.SongTopicCombo, self.TopicAddButton) EditSongDialog.setTabOrder(self.SongTopicCombo, self.TopicAddButton)
EditSongDialog.setTabOrder(self.TopicAddButton, self.TopicsListView) EditSongDialog.setTabOrder(self.TopicAddButton, self.TopicsListView)
EditSongDialog.setTabOrder(self.TopicsListView, self.TopicRemoveButton) EditSongDialog.setTabOrder(self.TopicsListView, self.TopicRemoveButton)
EditSongDialog.setTabOrder(self.TopicRemoveButton, self.SongbookCombo) EditSongDialog.setTabOrder(self.TopicRemoveButton, self.SongbookCombo)
EditSongDialog.setTabOrder(self.SongbookCombo, self.ThemeSelectionComboItem) EditSongDialog.setTabOrder(self.SongbookCombo,
EditSongDialog.setTabOrder(self.ThemeSelectionComboItem, self.ThemeAddButton) self.ThemeSelectionComboItem)
EditSongDialog.setTabOrder(self.ThemeSelectionComboItem,
self.ThemeAddButton)
EditSongDialog.setTabOrder(self.ThemeAddButton, self.CopyrightEditItem) EditSongDialog.setTabOrder(self.ThemeAddButton, self.CopyrightEditItem)
EditSongDialog.setTabOrder(self.CopyrightEditItem, self.CopyrightInsertButton) EditSongDialog.setTabOrder(self.CopyrightEditItem,
EditSongDialog.setTabOrder(self.CopyrightInsertButton, self.CCLNumberEdit) self.CopyrightInsertButton)
EditSongDialog.setTabOrder(self.CopyrightInsertButton,
self.CCLNumberEdit)
EditSongDialog.setTabOrder(self.CCLNumberEdit, self.CommentsEdit) EditSongDialog.setTabOrder(self.CCLNumberEdit, self.CommentsEdit)
EditSongDialog.setTabOrder(self.CommentsEdit, self.ButtonBox) EditSongDialog.setTabOrder(self.CommentsEdit, self.ButtonBox)
@ -450,8 +465,7 @@ class Ui_EditSongDialog(object):
translate(u'SongsPlugin.EditSongForm', u'&Add to Song')) translate(u'SongsPlugin.EditSongForm', u'&Add to Song'))
self.AuthorRemoveButton.setText( self.AuthorRemoveButton.setText(
translate(u'SongsPlugin.EditSongForm', u'&Remove')) translate(u'SongsPlugin.EditSongForm', u'&Remove'))
self.MaintenanceButton.setText( self.MaintenanceButton.setText(translate(u'SongsPlugin.EditSongForm',
translate(u'SongsPlugin.EditSongForm',
u'&Manage Authors, Topics, Books')) u'&Manage Authors, Topics, Books'))
self.TopicGroupBox.setTitle( self.TopicGroupBox.setTitle(
translate(u'SongsPlugin.EditSongForm', u'Topic')) translate(u'SongsPlugin.EditSongForm', u'Topic'))

View File

@ -437,12 +437,13 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
if parts.endswith(u'\n'): if parts.endswith(u'\n'):
parts = parts.rstrip(u'\n') parts = parts.rstrip(u'\n')
item = QtGui.QTableWidgetItem(parts) item = QtGui.QTableWidgetItem(parts)
item.setData( item.setData(QtCore.Qt.UserRole,
QtCore.Qt.UserRole, QtCore.QVariant(variant)) QtCore.QVariant(variant))
self.VerseListWidget.setRowCount( self.VerseListWidget.setRowCount(
self.VerseListWidget.rowCount() + 1) self.VerseListWidget.rowCount() + 1)
self.VerseListWidget.setItem( self.VerseListWidget.setItem(
int(self.VerseListWidget.rowCount() - 1), 0, item) int(self.VerseListWidget.rowCount() - 1),
0, item)
self.VerseListWidget.setColumnWidth(0, self.width) self.VerseListWidget.setColumnWidth(0, self.width)
self.VerseListWidget.resizeRowsToContents() self.VerseListWidget.resizeRowsToContents()
self.VerseListWidget.repaint() self.VerseListWidget.repaint()
@ -483,10 +484,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
else: else:
self.SongTabWidget.setCurrentIndex(0) self.SongTabWidget.setCurrentIndex(0)
self.VerseOrderEdit.setFocus() self.VerseOrderEdit.setFocus()
return False, \ return False, translate(u'SongsPlugin.EditSongForm',
translate(u'SongsPlugin.EditSongForm', u'Invalid verse entry, values must be I,B,T,P,E,O,V,C '
u'Invalid verse entry, values must be I,B,T,P,E,O,V,C ' u'followed by a number')
u'followed by a number')
return True, u'' return True, u''
def onTitleEditItemLostFocus(self): def onTitleEditItemLostFocus(self):
@ -597,4 +597,3 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.song.search_title = self.song.search_title.replace(u'}', u'') self.song.search_title = self.song.search_title.replace(u'}', u'')
self.song.search_title = self.song.search_title.replace(u'?', u'') self.song.search_title = self.song.search_title.replace(u'?', u'')

View File

@ -73,22 +73,16 @@ class Ui_EditVerseDialog(object):
self.EditVerseLayout.addLayout(self.VerseTypeLayout) self.EditVerseLayout.addLayout(self.VerseTypeLayout)
self.EditButtonBox = QtGui.QDialogButtonBox(EditVerseDialog) self.EditButtonBox = QtGui.QDialogButtonBox(EditVerseDialog)
self.EditButtonBox.setOrientation(QtCore.Qt.Horizontal) self.EditButtonBox.setOrientation(QtCore.Qt.Horizontal)
self.EditButtonBox.setStandardButtons( self.EditButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel |
QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Save) QtGui.QDialogButtonBox.Save)
self.EditButtonBox.setObjectName(u'EditButtonBox') self.EditButtonBox.setObjectName(u'EditButtonBox')
self.EditVerseLayout.addWidget(self.EditButtonBox) self.EditVerseLayout.addWidget(self.EditButtonBox)
self.retranslateUi(EditVerseDialog) self.retranslateUi(EditVerseDialog)
QtCore.QObject.connect( QtCore.QObject.connect(self.EditButtonBox, QtCore.SIGNAL(u'accepted()'),
self.EditButtonBox, EditVerseDialog.accept)
QtCore.SIGNAL(u'accepted()'), QtCore.QObject.connect(self.EditButtonBox, QtCore.SIGNAL(u'rejected()'),
EditVerseDialog.accept EditVerseDialog.reject)
)
QtCore.QObject.connect(
self.EditButtonBox,
QtCore.SIGNAL(u'rejected()'),
EditVerseDialog.reject
)
QtCore.QMetaObject.connectSlotsByName(EditVerseDialog) QtCore.QMetaObject.connectSlotsByName(EditVerseDialog)
def retranslateUi(self, EditVerseDialog): def retranslateUi(self, EditVerseDialog):
@ -96,14 +90,20 @@ class Ui_EditVerseDialog(object):
translate(u'SongsPlugin.EditVerseForm', u'Edit Verse')) translate(u'SongsPlugin.EditVerseForm', u'Edit Verse'))
self.VerseTypeLabel.setText( self.VerseTypeLabel.setText(
translate(u'SongsPlugin.EditVerseForm', u'Verse Type:')) translate(u'SongsPlugin.EditVerseForm', u'Verse Type:'))
self.VerseTypeComboBox.setItemText(0, VerseType.to_string(VerseType.Verse)) self.VerseTypeComboBox.setItemText(0,
self.VerseTypeComboBox.setItemText(1, VerseType.to_string(VerseType.Chorus)) VerseType.to_string(VerseType.Verse))
self.VerseTypeComboBox.setItemText(2, VerseType.to_string(VerseType.Bridge)) self.VerseTypeComboBox.setItemText(1,
self.VerseTypeComboBox.setItemText(3, VerseType.to_string(VerseType.PreChorus)) VerseType.to_string(VerseType.Chorus))
self.VerseTypeComboBox.setItemText(4, VerseType.to_string(VerseType.Intro)) self.VerseTypeComboBox.setItemText(2,
self.VerseTypeComboBox.setItemText(5, VerseType.to_string(VerseType.Ending)) VerseType.to_string(VerseType.Bridge))
self.VerseTypeComboBox.setItemText(6, VerseType.to_string(VerseType.Other)) self.VerseTypeComboBox.setItemText(3,
VerseType.to_string(VerseType.PreChorus))
self.VerseTypeComboBox.setItemText(4,
VerseType.to_string(VerseType.Intro))
self.VerseTypeComboBox.setItemText(5,
VerseType.to_string(VerseType.Ending))
self.VerseTypeComboBox.setItemText(6,
VerseType.to_string(VerseType.Other))
self.InsertButton.setText( self.InsertButton.setText(
translate(u'SongsPlugin.EditVerseForm', u'Insert')) translate(u'SongsPlugin.EditVerseForm', u'Insert'))

View File

@ -112,7 +112,8 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog):
tag=u'%s:1' % VerseType.to_string(VerseType.Verse)): tag=u'%s:1' % VerseType.to_string(VerseType.Verse)):
if single: if single:
verse_type, verse_number = tag.split(u':') verse_type, verse_number = tag.split(u':')
self.VerseTypeComboBox.setCurrentIndex(VerseType.from_string(verse_type)) self.VerseTypeComboBox.setCurrentIndex(
VerseType.from_string(verse_type))
self.VerseNumberBox.setValue(int(verse_number)) self.VerseNumberBox.setValue(int(verse_number))
self.InsertButton.setVisible(False) self.InsertButton.setVisible(False)
else: else:
@ -133,6 +134,7 @@ class EditVerseForm(QtGui.QDialog, Ui_EditVerseDialog):
def getVerseAll(self): def getVerseAll(self):
text = self.VerseTextEdit.toPlainText() text = self.VerseTextEdit.toPlainText()
if not text.startsWith(u'---['): if not text.startsWith(u'---['):
text = u'---[%s:1]---\n%s' % (VerseType.to_string(VerseType.Verse), text) text = u'---[%s:1]---\n%s' % (VerseType.to_string(VerseType.Verse),
text)
return text return text

View File

@ -25,7 +25,7 @@
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import build_icon, translate from openlp.core.lib import build_icon, translate
class Ui_SongMaintenanceDialog(object): class Ui_SongMaintenanceDialog(object):
def setupUi(self, SongMaintenanceDialog): def setupUi(self, SongMaintenanceDialog):
@ -192,9 +192,11 @@ class Ui_SongMaintenanceDialog(object):
self.TypeStackedWidget.addWidget(self.BooksPage) self.TypeStackedWidget.addWidget(self.BooksPage)
self.ContentLayout.addWidget(self.TypeStackedWidget) self.ContentLayout.addWidget(self.TypeStackedWidget)
self.DialogLayout.addWidget(self.ContentWidget) self.DialogLayout.addWidget(self.ContentWidget)
self.MaintenanceButtonBox = QtGui.QDialogButtonBox(SongMaintenanceDialog) self.MaintenanceButtonBox = QtGui.QDialogButtonBox(
SongMaintenanceDialog)
self.MaintenanceButtonBox.setOrientation(QtCore.Qt.Horizontal) self.MaintenanceButtonBox.setOrientation(QtCore.Qt.Horizontal)
self.MaintenanceButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Close) self.MaintenanceButtonBox.setStandardButtons(
QtGui.QDialogButtonBox.Close)
self.MaintenanceButtonBox.setObjectName(u'MaintenanceButtonBox') self.MaintenanceButtonBox.setObjectName(u'MaintenanceButtonBox')
self.DialogLayout.addWidget(self.MaintenanceButtonBox) self.DialogLayout.addWidget(self.MaintenanceButtonBox)

View File

@ -238,7 +238,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog):
translate(u'SongsPlugin.SongMaintenanceForm', translate(u'SongsPlugin.SongMaintenanceForm',
u'This author can\'t be deleted, they are currently ' u'This author can\'t be deleted, they are currently '
u'assigned to at least one song.'), u'assigned to at least one song.'),
translate(u'SongsPlugin.SongMaintenanceForm', u'No author selected!')) translate(u'SongsPlugin.SongMaintenanceForm',
u'No author selected!'))
def onTopicDeleteButtonClick(self): def onTopicDeleteButtonClick(self):
""" """
@ -253,7 +254,8 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog):
translate(u'SongsPlugin.SongMaintenanceForm', translate(u'SongsPlugin.SongMaintenanceForm',
u'This topic can\'t be deleted, it is currently ' u'This topic can\'t be deleted, it is currently '
u'assigned to at least one song.'), u'assigned to at least one song.'),
translate(u'SongsPlugin.SongMaintenanceForm', u'No topic selected!')) translate(u'SongsPlugin.SongMaintenanceForm',
u'No topic selected!'))
def onBookDeleteButtonClick(self): def onBookDeleteButtonClick(self):
""" """

View File

@ -96,8 +96,8 @@ class SongManager(object):
settings = QtCore.QSettings() settings = QtCore.QSettings()
settings.beginGroup(u'songs') settings.beginGroup(u'songs')
self.db_url = u'' self.db_url = u''
db_type = unicode( db_type = unicode(settings.value(u'songs/db type',
settings.value(u'songs/db type', QtCore.QVariant(u'sqlite')).toString()) QtCore.QVariant(u'sqlite')).toString())
if db_type == u'sqlite': if db_type == u'sqlite':
self.db_url = u'sqlite:///%s/songs.sqlite' % \ self.db_url = u'sqlite:///%s/songs.sqlite' % \
AppLocation.get_section_data_path(u'songs') AppLocation.get_section_data_path(u'songs')

View File

@ -64,7 +64,6 @@ class SongMediaItem(MediaManagerItem):
def requiredIcons(self): def requiredIcons(self):
MediaManagerItem.requiredIcons(self) MediaManagerItem.requiredIcons(self)
self.hasFileIcon = False
def addEndHeaderBar(self): def addEndHeaderBar(self):
self.addToolbarSeparator() self.addToolbarSeparator()

View File

@ -97,7 +97,7 @@ class OooImport(object):
loop += 1 loop += 1
manager = ctx.ServiceManager manager = ctx.ServiceManager
self.desktop = manager.createInstanceWithContext( self.desktop = manager.createInstanceWithContext(
"com.sun.star.frame.Desktop", ctx ) "com.sun.star.frame.Desktop", ctx)
def start_ooo_process(self): def start_ooo_process(self):
try: try:
@ -130,10 +130,9 @@ class OooImport(object):
try: try:
self.document = self.desktop.loadComponentFromURL(url, u'_blank', self.document = self.desktop.loadComponentFromURL(url, u'_blank',
0, properties) 0, properties)
if not self.document.supportsService( if not self.document.supportsService(
"com.sun.star.presentation.PresentationDocument") \ "com.sun.star.presentation.PresentationDocument") and not \
and not self.document.supportsService( self.document.supportsService("com.sun.star.text.TextDocument"):
"com.sun.star.text.TextDocument"):
self.close_ooo_file() self.close_ooo_file()
except: except:
pass pass

View File

@ -65,8 +65,8 @@ class SongsTab(SettingsTab):
translate(u'SongsPlugin.SongsTab', u'Songs Mode')) translate(u'SongsPlugin.SongsTab', u'Songs Mode'))
self.SearchAsTypeCheckBox.setText( self.SearchAsTypeCheckBox.setText(
translate(u'SongsPlugin.SongsTab', u'Enable search as you type')) translate(u'SongsPlugin.SongsTab', u'Enable search as you type'))
self.SongBarActiveCheckBox.setText( self.SongBarActiveCheckBox.setText(translate(u'SongsPlugin.SongsTab',
translate(u'SongsPlugin.SongsTab', u'Display Verses on Live Tool bar')) u'Display Verses on Live Tool bar'))
def onSearchAsTypeCheckBoxChanged(self, check_state): def onSearchAsTypeCheckBoxChanged(self, check_state):
self.song_search = False self.song_search = False

View File

@ -27,7 +27,8 @@ import logging
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import Plugin, build_icon, PluginStatus, Receiver, translate from openlp.core.lib import Plugin, build_icon, PluginStatus, Receiver, \
translate
from openlp.plugins.songs.lib import SongManager, SongMediaItem, SongsTab, \ from openlp.plugins.songs.lib import SongManager, SongMediaItem, SongsTab, \
SofImport, OooImport SofImport, OooImport

View File

@ -54,3 +54,4 @@ class SongUsageDeleteForm(QtGui.QDialog, Ui_SongUsageDeleteDialog):
deleteDate = self.DeleteCalendar.selectedDate().toPyDate() deleteDate = self.DeleteCalendar.selectedDate().toPyDate()
self.songusagemanager.delete_to_date(deleteDate) self.songusagemanager.delete_to_date(deleteDate)
self.close() self.close()

View File

@ -70,20 +70,19 @@ class Ui_SongUsageDetailDialog(object):
self.verticalLayout_2.addWidget(self.FileGroupBox) self.verticalLayout_2.addWidget(self.FileGroupBox)
self.verticalLayout.addWidget(self.DateRangeGroupBox) self.verticalLayout.addWidget(self.DateRangeGroupBox)
self.buttonBox = QtGui.QDialogButtonBox(SongUsageDetailDialog) self.buttonBox = QtGui.QDialogButtonBox(SongUsageDetailDialog)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel |
QtGui.QDialogButtonBox.Ok)
self.buttonBox.setObjectName(u'buttonBox') self.buttonBox.setObjectName(u'buttonBox')
self.verticalLayout.addWidget(self.buttonBox) self.verticalLayout.addWidget(self.buttonBox)
self.retranslateUi(SongUsageDetailDialog) self.retranslateUi(SongUsageDetailDialog)
QtCore.QObject.connect(self.buttonBox, QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'),
QtCore.SIGNAL(u'accepted()'), SongUsageDetailDialog.accept)
SongUsageDetailDialog.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'),
QtCore.QObject.connect(self.buttonBox, SongUsageDetailDialog.close)
QtCore.SIGNAL(u'rejected()'),
SongUsageDetailDialog.close)
QtCore.QObject.connect(self.SaveFilePushButton, QtCore.QObject.connect(self.SaveFilePushButton,
QtCore.SIGNAL(u'pressed()'), QtCore.SIGNAL(u'pressed()'),
SongUsageDetailDialog.defineOutputLocation) SongUsageDetailDialog.defineOutputLocation)
QtCore.QMetaObject.connectSlotsByName(SongUsageDetailDialog) QtCore.QMetaObject.connectSlotsByName(SongUsageDetailDialog)
def retranslateUi(self, SongUsageDetailDialog): def retranslateUi(self, SongUsageDetailDialog):