forked from openlp/openlp
Add a couple of keywords for the SOF5 importer to capitalize correctly.
When a presentation controller is not enabled, only check if the app is available when necessary to prevent it loading. Fix so LibreOffice 3.4 will close down correctly at the end when no other docs are open. bzr-revno: 1834
This commit is contained in:
commit
d2659a64fc
@ -125,3 +125,9 @@ class SettingsTab(QtGui.QWidget):
|
||||
|
||||
"""
|
||||
pass
|
||||
|
||||
def tabVisible(self):
|
||||
"""
|
||||
Tab has just been made visible to the user
|
||||
"""
|
||||
pass
|
||||
|
@ -55,7 +55,7 @@ class Ui_SettingsDialog(object):
|
||||
QtCore.QMetaObject.connectSlotsByName(settingsDialog)
|
||||
QtCore.QObject.connect(self.settingListWidget,
|
||||
QtCore.SIGNAL(u'currentRowChanged(int)'),
|
||||
self.stackedLayout.setCurrentIndex)
|
||||
self.tabChanged)
|
||||
|
||||
def retranslateUi(self, settingsDialog):
|
||||
settingsDialog.setWindowTitle(translate('OpenLP.SettingsForm',
|
||||
|
@ -116,3 +116,10 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
|
||||
for plugin in self.plugins:
|
||||
if plugin.settings_tab:
|
||||
plugin.settings_tab.postSetUp()
|
||||
|
||||
def tabChanged(self, tabIndex):
|
||||
"""
|
||||
A different settings tab is selected
|
||||
"""
|
||||
self.stackedLayout.setCurrentIndex(tabIndex)
|
||||
self.stackedLayout.currentWidget().tabVisible()
|
||||
|
@ -184,7 +184,15 @@ class ImpressController(PresentationController):
|
||||
if not desktop:
|
||||
return
|
||||
docs = desktop.getComponents()
|
||||
cnt = 0
|
||||
if docs.hasElements():
|
||||
list = docs.createEnumeration()
|
||||
while list.hasMoreElements():
|
||||
doc = list.nextElement()
|
||||
if doc.getImplementationName() != \
|
||||
u'com.sun.star.comp.framework.BackingComp':
|
||||
cnt = cnt + 1
|
||||
if cnt > 0:
|
||||
log.debug(u'OpenOffice not terminated as docs are still open')
|
||||
else:
|
||||
try:
|
||||
|
@ -378,7 +378,7 @@ class PresentationController(object):
|
||||
self.name = name
|
||||
self.document_class = document_class
|
||||
self.settings_section = self.plugin.settingsSection
|
||||
self.available = self.check_available()
|
||||
self.available = None
|
||||
self.temp_folder = os.path.join(
|
||||
AppLocation.get_section_data_path(self.settings_section), name)
|
||||
self.thumbnail_folder = os.path.join(
|
||||
@ -392,14 +392,19 @@ class PresentationController(object):
|
||||
"""
|
||||
Return whether the controller is currently enabled
|
||||
"""
|
||||
if self.available:
|
||||
return QtCore.QSettings().value(
|
||||
if QtCore.QSettings().value(
|
||||
self.settings_section + u'/' + self.name,
|
||||
QtCore.QVariant(QtCore.Qt.Checked)).toInt()[0] == \
|
||||
QtCore.Qt.Checked
|
||||
QtCore.Qt.Checked:
|
||||
return self.is_available()
|
||||
else:
|
||||
return False
|
||||
|
||||
def is_available(self):
|
||||
if self.available is None:
|
||||
self.available = self.check_available()
|
||||
return self.available
|
||||
|
||||
def check_available(self):
|
||||
"""
|
||||
Presentation app is able to run on this machine
|
||||
|
@ -55,7 +55,6 @@ class PresentationTab(SettingsTab):
|
||||
for key in self.controllers:
|
||||
controller = self.controllers[key]
|
||||
checkbox = QtGui.QCheckBox(self.ControllersGroupBox)
|
||||
checkbox.setEnabled(controller.available)
|
||||
checkbox.setObjectName(controller.name + u'CheckBox')
|
||||
self.PresenterCheckboxes[controller.name] = checkbox
|
||||
self.ControllersLayout.addWidget(checkbox)
|
||||
@ -81,16 +80,19 @@ class PresentationTab(SettingsTab):
|
||||
for key in self.controllers:
|
||||
controller = self.controllers[key]
|
||||
checkbox = self.PresenterCheckboxes[controller.name]
|
||||
if controller.available:
|
||||
self.setControllerText(checkbox, controller)
|
||||
self.AdvancedGroupBox.setTitle(UiStrings().Advanced)
|
||||
self.OverrideAppCheckBox.setText(
|
||||
translate('PresentationPlugin.PresentationTab',
|
||||
'Allow presentation application to be overriden'))
|
||||
|
||||
def setControllerText(self, checkbox, controller):
|
||||
if checkbox.isEnabled():
|
||||
checkbox.setText(controller.name)
|
||||
else:
|
||||
checkbox.setText(
|
||||
unicode(translate('PresentationPlugin.PresentationTab',
|
||||
'%s (unavailable)')) % controller.name)
|
||||
self.AdvancedGroupBox.setTitle(UiStrings().Advanced)
|
||||
self.OverrideAppCheckBox.setText(
|
||||
translate('PresentationPlugin.PresentationTab',
|
||||
'Allow presentation application to be overriden'))
|
||||
|
||||
def load(self):
|
||||
"""
|
||||
@ -113,7 +115,7 @@ class PresentationTab(SettingsTab):
|
||||
changed = False
|
||||
for key in self.controllers:
|
||||
controller = self.controllers[key]
|
||||
if controller.available:
|
||||
if controller.is_available():
|
||||
checkbox = self.PresenterCheckboxes[controller.name]
|
||||
setting_key = self.settingsSection + u'/' + controller.name
|
||||
if QtCore.QSettings().value(setting_key) != \
|
||||
@ -133,3 +135,13 @@ class PresentationTab(SettingsTab):
|
||||
changed = True
|
||||
if changed:
|
||||
Receiver.send_message(u'mediaitem_presentation_rebuild')
|
||||
|
||||
def tabVisible(self):
|
||||
"""
|
||||
Tab has just been made visible to the user
|
||||
"""
|
||||
for key in self.controllers:
|
||||
controller = self.controllers[key]
|
||||
checkbox = self.PresenterCheckboxes[controller.name]
|
||||
checkbox.setEnabled(controller.is_available())
|
||||
self.setControllerText(checkbox, controller)
|
||||
|
@ -345,7 +345,8 @@ class SofImport(OooImport):
|
||||
u'I\'M', u'I\'LL', u'SAVIOUR', u'O', u'YOU\'RE', u'HE', u'HIS',
|
||||
u'HIM', u'ZION', u'EMMANUEL', u'MAJESTY', u'JESUS\'', u'JIREH',
|
||||
u'JUDAH', u'LION', u'LORD\'S', u'ABRAHAM', u'GOD\'S',
|
||||
u'FATHER\'S', u'ELIJAH'):
|
||||
u'FATHER\'S', u'ELIJAH' u'MARTHA', u'CHRISTMAS', u'ALPHA',
|
||||
u'OMEGA'):
|
||||
textarr[i] = textarr[i].capitalize()
|
||||
else:
|
||||
textarr[i] = textarr[i].lower()
|
||||
|
Loading…
Reference in New Issue
Block a user