forked from openlp/openlp
Added code to export/import settings via an ini file
This commit is contained in:
parent
cb16463d99
commit
b95924ae74
@ -116,7 +116,7 @@ class Ui_AboutDialog(object):
|
|||||||
u'Scott "sguerrieri" Guerrieri',
|
u'Scott "sguerrieri" Guerrieri',
|
||||||
u'Matthias "matthub" Hub', u'Meinert "m2j" Jordan',
|
u'Matthias "matthub" Hub', u'Meinert "m2j" Jordan',
|
||||||
u'Armin "orangeshirt" K\xf6hler', u'Joshua "milleja46" Miller',
|
u'Armin "orangeshirt" K\xf6hler', u'Joshua "milleja46" Miller',
|
||||||
u'Stevan "StevanP" Pettit', u'Mattias "mahfiaz" P\xf5ldaru',
|
u'Stevan "ElderP" Pettit', u'Mattias "mahfiaz" P\xf5ldaru',
|
||||||
u'Christian "crichter" Richter', u'Philip "Phill" Ridout',
|
u'Christian "crichter" Richter', u'Philip "Phill" Ridout',
|
||||||
u'Simon "samscudder" Scudder', u'Jeffrey "whydoubt" Smith',
|
u'Simon "samscudder" Scudder', u'Jeffrey "whydoubt" Smith',
|
||||||
u'Maikel Stuivenberg', u'Frode "frodus" Woldsund']
|
u'Maikel Stuivenberg', u'Frode "frodus" Woldsund']
|
||||||
@ -125,7 +125,7 @@ class Ui_AboutDialog(object):
|
|||||||
packagers = ['Thomas "tabthorpe" Abthorpe (FreeBSD)',
|
packagers = ['Thomas "tabthorpe" Abthorpe (FreeBSD)',
|
||||||
u'Tim "TRB143" Bentley (Fedora)',
|
u'Tim "TRB143" Bentley (Fedora)',
|
||||||
u'Matthias "matthub" Hub (Mac OS X)',
|
u'Matthias "matthub" Hub (Mac OS X)',
|
||||||
u'Stevan "StevanP" Pettit (Windows)',
|
u'Stevan "ElderP" Pettit (Windows)',
|
||||||
u'Raoul "superfly" Snyman (Ubuntu)']
|
u'Raoul "superfly" Snyman (Ubuntu)']
|
||||||
translators = {
|
translators = {
|
||||||
u'af': [u'Johan "nuvolari" Mynhardt'],
|
u'af': [u'Johan "nuvolari" Mynhardt'],
|
||||||
|
@ -27,13 +27,15 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys, string
|
||||||
from tempfile import gettempdir
|
from tempfile import gettempdir
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
from openlp.core.lib import Renderer, build_icon, OpenLPDockWidget, \
|
from openlp.core.lib import Renderer, build_icon, OpenLPDockWidget, \
|
||||||
PluginManager, Receiver, translate, ImageManager, PluginStatus
|
PluginManager, Receiver, translate, ImageManager, PluginStatus, \
|
||||||
|
SettingsManager
|
||||||
from openlp.core.lib.ui import UiStrings, base_action, checkable_action, \
|
from openlp.core.lib.ui import UiStrings, base_action, checkable_action, \
|
||||||
icon_action, shortcut_action
|
icon_action, shortcut_action
|
||||||
from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \
|
from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \
|
||||||
@ -213,7 +215,7 @@ class Ui_MainWindow(object):
|
|||||||
self.mediaManagerDock.isVisible(), UiStrings().View)
|
self.mediaManagerDock.isVisible(), UiStrings().View)
|
||||||
self.viewThemeManagerItem = shortcut_action(mainWindow,
|
self.viewThemeManagerItem = shortcut_action(mainWindow,
|
||||||
u'viewThemeManagerItem', [QtGui.QKeySequence(u'F10')],
|
u'viewThemeManagerItem', [QtGui.QKeySequence(u'F10')],
|
||||||
self.toggleThemeManager, u':/system/system_thememanager.png',
|
self.toggleThemeManager, u':/system/system_thememanager.png',
|
||||||
self.themeManagerDock.isVisible(), UiStrings().View)
|
self.themeManagerDock.isVisible(), UiStrings().View)
|
||||||
self.viewServiceManagerItem = shortcut_action(mainWindow,
|
self.viewServiceManagerItem = shortcut_action(mainWindow,
|
||||||
u'viewServiceManagerItem', [QtGui.QKeySequence(u'F9')],
|
u'viewServiceManagerItem', [QtGui.QKeySequence(u'F9')],
|
||||||
@ -283,6 +285,12 @@ class Ui_MainWindow(object):
|
|||||||
self.settingsConfigureItem = icon_action(mainWindow,
|
self.settingsConfigureItem = icon_action(mainWindow,
|
||||||
u'settingsConfigureItem', u':/system/system_settings.png',
|
u'settingsConfigureItem', u':/system/system_settings.png',
|
||||||
category=UiStrings().Settings)
|
category=UiStrings().Settings)
|
||||||
|
self.settingsImportItem = icon_action(mainWindow,
|
||||||
|
u'settingsImportItem', u':/general/general_import.png',
|
||||||
|
category=UiStrings().Settings)
|
||||||
|
self.settingsExportItem = icon_action(mainWindow,
|
||||||
|
u'settingsExportItem', u':/general/general_export.png',
|
||||||
|
category=UiStrings().Settings)
|
||||||
action_list.add_category(UiStrings().Help, CategoryOrder.standardMenu)
|
action_list.add_category(UiStrings().Help, CategoryOrder.standardMenu)
|
||||||
self.aboutItem = shortcut_action(mainWindow, u'aboutItem',
|
self.aboutItem = shortcut_action(mainWindow, u'aboutItem',
|
||||||
[QtGui.QKeySequence(u'Ctrl+F1')], self.onAboutItemClicked,
|
[QtGui.QKeySequence(u'Ctrl+F1')], self.onAboutItemClicked,
|
||||||
@ -324,12 +332,14 @@ class Ui_MainWindow(object):
|
|||||||
add_actions(self.settingsMenu, (self.settingsPluginListItem,
|
add_actions(self.settingsMenu, (self.settingsPluginListItem,
|
||||||
self.settingsLanguageMenu.menuAction(), None,
|
self.settingsLanguageMenu.menuAction(), None,
|
||||||
self.settingsConfigureItem, self.settingsShortcutsItem,
|
self.settingsConfigureItem, self.settingsShortcutsItem,
|
||||||
self.formattingTagItem))
|
self.formattingTagItem, None,
|
||||||
|
self.settingsImportItem, self.settingsExportItem))
|
||||||
else:
|
else:
|
||||||
add_actions(self.settingsMenu, (self.settingsPluginListItem,
|
add_actions(self.settingsMenu, (self.settingsPluginListItem,
|
||||||
self.settingsLanguageMenu.menuAction(), None,
|
self.settingsLanguageMenu.menuAction(), None,
|
||||||
self.formattingTagItem, self.settingsShortcutsItem,
|
self.formattingTagItem, self.settingsShortcutsItem,
|
||||||
self.settingsConfigureItem))
|
self.settingsConfigureItem, None,
|
||||||
|
self.settingsImportItem, self.settingsExportItem))
|
||||||
add_actions(self.toolsMenu, (self.toolsAddToolItem, None))
|
add_actions(self.toolsMenu, (self.toolsAddToolItem, None))
|
||||||
add_actions(self.toolsMenu, (self.toolsOpenDataFolder, None))
|
add_actions(self.toolsMenu, (self.toolsOpenDataFolder, None))
|
||||||
add_actions(self.toolsMenu, (self.toolsFirstTimeWizard, None))
|
add_actions(self.toolsMenu, (self.toolsFirstTimeWizard, None))
|
||||||
@ -356,6 +366,7 @@ class Ui_MainWindow(object):
|
|||||||
self.importLanguageItem.setVisible(False)
|
self.importLanguageItem.setVisible(False)
|
||||||
self.exportLanguageItem.setVisible(False)
|
self.exportLanguageItem.setVisible(False)
|
||||||
self.setLockPanel(panelLocked)
|
self.setLockPanel(panelLocked)
|
||||||
|
self.settingsImported = False
|
||||||
|
|
||||||
def retranslateUi(self, mainWindow):
|
def retranslateUi(self, mainWindow):
|
||||||
"""
|
"""
|
||||||
@ -419,6 +430,10 @@ class Ui_MainWindow(object):
|
|||||||
translate('OpenLP.MainWindow', '&Configure Formatting Tags...'))
|
translate('OpenLP.MainWindow', '&Configure Formatting Tags...'))
|
||||||
self.settingsConfigureItem.setText(
|
self.settingsConfigureItem.setText(
|
||||||
translate('OpenLP.MainWindow', '&Configure OpenLP...'))
|
translate('OpenLP.MainWindow', '&Configure OpenLP...'))
|
||||||
|
self.settingsExportItem.setText(
|
||||||
|
translate('OpenLP.MainWindow', 'Export Settings'))
|
||||||
|
self.settingsImportItem.setText(
|
||||||
|
translate('OpenLP.MainWindow', 'Import Settings'))
|
||||||
self.viewMediaManagerItem.setText(
|
self.viewMediaManagerItem.setText(
|
||||||
translate('OpenLP.MainWindow', '&Media Manager'))
|
translate('OpenLP.MainWindow', '&Media Manager'))
|
||||||
self.viewMediaManagerItem.setToolTip(
|
self.viewMediaManagerItem.setToolTip(
|
||||||
@ -522,8 +537,10 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||||||
# (not for use by plugins)
|
# (not for use by plugins)
|
||||||
self.uiSettingsSection = u'user interface'
|
self.uiSettingsSection = u'user interface'
|
||||||
self.generalSettingsSection = u'general'
|
self.generalSettingsSection = u'general'
|
||||||
self.serviceSettingsSection = u'servicemanager'
|
self.advancedlSettingsSection = u'advanced'
|
||||||
|
self.servicemanagerSettingsSection = u'servicemanager'
|
||||||
self.songsSettingsSection = u'songs'
|
self.songsSettingsSection = u'songs'
|
||||||
|
self.themesSettingsSection = u'themes'
|
||||||
self.serviceNotSaved = False
|
self.serviceNotSaved = False
|
||||||
self.aboutForm = AboutForm(self)
|
self.aboutForm = AboutForm(self)
|
||||||
self.settingsForm = SettingsForm(self, self)
|
self.settingsForm = SettingsForm(self, self)
|
||||||
@ -572,6 +589,10 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||||||
QtCore.SIGNAL(u'triggered()'), self.onSettingsConfigureItemClicked)
|
QtCore.SIGNAL(u'triggered()'), self.onSettingsConfigureItemClicked)
|
||||||
QtCore.QObject.connect(self.settingsShortcutsItem,
|
QtCore.QObject.connect(self.settingsShortcutsItem,
|
||||||
QtCore.SIGNAL(u'triggered()'), self.onSettingsShortcutsItemClicked)
|
QtCore.SIGNAL(u'triggered()'), self.onSettingsShortcutsItemClicked)
|
||||||
|
QtCore.QObject.connect(self.settingsImportItem,
|
||||||
|
QtCore.SIGNAL(u'triggered()'), self.onSettingsImportItemClicked)
|
||||||
|
QtCore.QObject.connect(self.settingsExportItem,
|
||||||
|
QtCore.SIGNAL(u'triggered()'), self.onSettingsExportItemClicked)
|
||||||
# i18n set signals for languages
|
# i18n set signals for languages
|
||||||
self.languageGroup.triggered.connect(LanguageManager.set_language)
|
self.languageGroup.triggered.connect(LanguageManager.set_language)
|
||||||
QtCore.QObject.connect(self.modeDefaultItem,
|
QtCore.QObject.connect(self.modeDefaultItem,
|
||||||
@ -871,6 +892,150 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||||||
if self.shortcutForm.exec_():
|
if self.shortcutForm.exec_():
|
||||||
self.shortcutForm.save()
|
self.shortcutForm.save()
|
||||||
|
|
||||||
|
def onSettingsImportItemClicked(self):
|
||||||
|
"""
|
||||||
|
Import settings from an export INI file
|
||||||
|
"""
|
||||||
|
answer = QtGui.QMessageBox.critical(self,
|
||||||
|
translate('OpenLP.MainWindow', 'Import settings?'),
|
||||||
|
translate('OpenLP.MainWindow',
|
||||||
|
'Are you sure you want to import settings?\n\n'
|
||||||
|
'Importing settings will make permanent changes to your current '
|
||||||
|
'OpenLP configuration.\n\n'
|
||||||
|
'Importing incorrect settings may cause erratic behaviour or '
|
||||||
|
'OpenLP to terminate abnormally.'),
|
||||||
|
QtGui.QMessageBox.StandardButtons(
|
||||||
|
QtGui.QMessageBox.Yes |
|
||||||
|
QtGui.QMessageBox.No),
|
||||||
|
QtGui.QMessageBox.No)
|
||||||
|
if answer == QtGui.QMessageBox.No:
|
||||||
|
return
|
||||||
|
importFileName = unicode(QtGui.QFileDialog.getOpenFileName(self,
|
||||||
|
translate('OpenLP.MainWindow', 'Open File'),
|
||||||
|
'',
|
||||||
|
translate('OpenLP.MainWindow',
|
||||||
|
'OpenLP Export Settings Files (*.ini)')))
|
||||||
|
if not importFileName:
|
||||||
|
return
|
||||||
|
settingSections = []
|
||||||
|
# Add main sections.
|
||||||
|
settingSections.extend([self.generalSettingsSection])
|
||||||
|
settingSections.extend([self.advancedlSettingsSection])
|
||||||
|
settingSections.extend([self.uiSettingsSection])
|
||||||
|
settingSections.extend([self.servicemanagerSettingsSection])
|
||||||
|
settingSections.extend([self.themesSettingsSection])
|
||||||
|
settingSections.extend([u'SettingsExport'])
|
||||||
|
# Add plugin sections.
|
||||||
|
for plugin in self.pluginManager.plugins:
|
||||||
|
settingSections.extend([plugin.name])
|
||||||
|
settings = QtCore.QSettings()
|
||||||
|
importSettings = QtCore.QSettings(importFileName,
|
||||||
|
QtCore.QSettings.IniFormat)
|
||||||
|
importKeys = importSettings.allKeys()
|
||||||
|
for sectionKey in importKeys:
|
||||||
|
# We need to handle the really bad files.
|
||||||
|
try:
|
||||||
|
section, key = string.split(sectionKey, u'/')
|
||||||
|
except:
|
||||||
|
section = u'unknown'
|
||||||
|
key = u''
|
||||||
|
# Switch General back to lowercase.
|
||||||
|
if section == u'General':
|
||||||
|
section = u'general'
|
||||||
|
sectionKey = section + "/" + key
|
||||||
|
section = section.replace(u'_', u' ')
|
||||||
|
# Make sure it's a valid section for us.
|
||||||
|
if not section in settingSections:
|
||||||
|
QtGui.QMessageBox.critical(self,
|
||||||
|
translate('OpenLP.MainWindow', 'Import settings'),
|
||||||
|
translate('OpenLP.MainWindow',
|
||||||
|
'The file you selected does appear to be a valid OpenLP '
|
||||||
|
'settings file.\n\n'
|
||||||
|
'Section [%s] is not valid \n\n'
|
||||||
|
'Processing has terminated and no changed have been made.'
|
||||||
|
% section),
|
||||||
|
QtGui.QMessageBox.StandardButtons(
|
||||||
|
QtGui.QMessageBox.Ok))
|
||||||
|
return
|
||||||
|
# We have a good file, import it.
|
||||||
|
for sectionKey in importKeys:
|
||||||
|
value = importSettings.value(sectionKey)
|
||||||
|
# Get rid of the "_" we replaced the " " with.
|
||||||
|
sectionKey = sectionKey.replace(u'_', u' ')
|
||||||
|
settings.setValue(u'%s' % (sectionKey) ,
|
||||||
|
QtCore.QVariant(value))
|
||||||
|
# We must do an immediate restart or current configuration will
|
||||||
|
# overwrite what was just imported when application terminates
|
||||||
|
# normally. We need to exit without saving configuration.
|
||||||
|
QtGui.QMessageBox.information(self,
|
||||||
|
translate('OpenLP.MainWindow', 'Import settings'),
|
||||||
|
translate('OpenLP.MainWindow',
|
||||||
|
'OpenLP will now close. Imported settings will '
|
||||||
|
'take place the next time you start OpenLP'),
|
||||||
|
QtGui.QMessageBox.StandardButtons(
|
||||||
|
QtGui.QMessageBox.Ok))
|
||||||
|
self.settingsImported = True
|
||||||
|
self.cleanUp()
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
def onSettingsExportItemClicked(self, exportFileName=None):
|
||||||
|
"""
|
||||||
|
Export settings to an INI file
|
||||||
|
"""
|
||||||
|
if not exportFileName:
|
||||||
|
exportFileName = unicode(QtGui.QFileDialog.getSaveFileName(self,
|
||||||
|
translate('OpenLP.MainWindow', 'Export Settings File'), '',
|
||||||
|
translate('OpenLP.MainWindow',
|
||||||
|
'OpenLP Export Settings File (*.ini)')))
|
||||||
|
if not exportFileName:
|
||||||
|
return
|
||||||
|
self.saveSettings()
|
||||||
|
headerSection = u'SettingsExport'
|
||||||
|
settingSections = []
|
||||||
|
# Add main sections.
|
||||||
|
settingSections.extend([self.generalSettingsSection])
|
||||||
|
settingSections.extend([self.advancedlSettingsSection])
|
||||||
|
settingSections.extend([self.uiSettingsSection])
|
||||||
|
settingSections.extend([self.servicemanagerSettingsSection])
|
||||||
|
settingSections.extend([self.themesSettingsSection])
|
||||||
|
# Add plugin sections.
|
||||||
|
for plugin in self.pluginManager.plugins:
|
||||||
|
settingSections.extend([plugin.name])
|
||||||
|
# Delete old file if found.
|
||||||
|
if os.path.exists(exportFileName):
|
||||||
|
os.remove(exportFileName)
|
||||||
|
settings = QtCore.QSettings()
|
||||||
|
settings.remove(headerSection)
|
||||||
|
# Get the settings.
|
||||||
|
keys = settings.allKeys()
|
||||||
|
exportSettings = QtCore.QSettings(exportFileName,
|
||||||
|
QtCore.QSettings.IniFormat)
|
||||||
|
# Add a header section.
|
||||||
|
# This is to insure it's our ini file for import.
|
||||||
|
now = datetime.now()
|
||||||
|
applicationVersion = get_application_version()
|
||||||
|
# Write INI format using Qsettings.
|
||||||
|
# Write our header.
|
||||||
|
exportSettings.beginGroup(headerSection)
|
||||||
|
exportSettings.setValue(u'Make_Changes', u'At Own RISK')
|
||||||
|
exportSettings.setValue(u'type', u'OpenLP_settings_export')
|
||||||
|
exportSettings.setValue(u'date_created',
|
||||||
|
now.strftime("%Y-%m-%d %H:%M"))
|
||||||
|
exportSettings.setValue(u'version', applicationVersion[u'full'])
|
||||||
|
exportSettings.endGroup()
|
||||||
|
# Write all the sections and keys.
|
||||||
|
for sectionKey in keys:
|
||||||
|
section, key = string.split(sectionKey, u'/')
|
||||||
|
keyValue = settings.value(sectionKey)
|
||||||
|
section = section.replace(u' ', u'_')
|
||||||
|
key = key.replace(u' ', u'_')
|
||||||
|
sectionKey = section + u"/" + key
|
||||||
|
# Change the service section to servicemanager.
|
||||||
|
if section == u'service':
|
||||||
|
sectionKey = u'servicemanager/' + key
|
||||||
|
exportSettings.setValue(sectionKey, keyValue)
|
||||||
|
return
|
||||||
|
|
||||||
def onModeDefaultItemClicked(self):
|
def onModeDefaultItemClicked(self):
|
||||||
"""
|
"""
|
||||||
Put OpenLP into "Default" view mode.
|
Put OpenLP into "Default" view mode.
|
||||||
@ -923,6 +1088,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||||||
"""
|
"""
|
||||||
Hook to close the main window and display windows on exit
|
Hook to close the main window and display windows on exit
|
||||||
"""
|
"""
|
||||||
|
# If we just did a settings import, close without saving changes.
|
||||||
|
if self.settingsImported:
|
||||||
|
event.accept()
|
||||||
if self.serviceManagerContents.isModified():
|
if self.serviceManagerContents.isModified():
|
||||||
ret = self.serviceManagerContents.saveModifiedService()
|
ret = self.serviceManagerContents.saveModifiedService()
|
||||||
if ret == QtGui.QMessageBox.Save:
|
if ret == QtGui.QMessageBox.Save:
|
||||||
@ -1120,6 +1288,9 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||||||
"""
|
"""
|
||||||
Save the main window settings.
|
Save the main window settings.
|
||||||
"""
|
"""
|
||||||
|
# Exit if we just did a settings import.
|
||||||
|
if self.settingsImported:
|
||||||
|
return
|
||||||
log.debug(u'Saving QSettings')
|
log.debug(u'Saving QSettings')
|
||||||
settings = QtCore.QSettings()
|
settings = QtCore.QSettings()
|
||||||
settings.beginGroup(self.generalSettingsSection)
|
settings.beginGroup(self.generalSettingsSection)
|
||||||
|
@ -289,7 +289,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
QtCore.SIGNAL(u'service_item_update'), self.serviceItemUpdate)
|
QtCore.SIGNAL(u'service_item_update'), self.serviceItemUpdate)
|
||||||
# Last little bits of setting up
|
# Last little bits of setting up
|
||||||
self.service_theme = unicode(QtCore.QSettings().value(
|
self.service_theme = unicode(QtCore.QSettings().value(
|
||||||
self.mainwindow.serviceSettingsSection + u'/service theme',
|
self.mainwindow.servicemanagerSettingsSection + u'/service theme',
|
||||||
QtCore.QVariant(u'')).toString())
|
QtCore.QVariant(u'')).toString())
|
||||||
self.servicePath = AppLocation.get_section_data_path(u'servicemanager')
|
self.servicePath = AppLocation.get_section_data_path(u'servicemanager')
|
||||||
# build the drag and drop context menu
|
# build the drag and drop context menu
|
||||||
@ -370,7 +370,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
self.mainwindow.setServiceModified(self.isModified(),
|
self.mainwindow.setServiceModified(self.isModified(),
|
||||||
self.shortFileName())
|
self.shortFileName())
|
||||||
QtCore.QSettings(). \
|
QtCore.QSettings(). \
|
||||||
setValue(u'service/last file',QtCore.QVariant(fileName))
|
setValue(u'servicemanager/last file',QtCore.QVariant(fileName))
|
||||||
|
|
||||||
def fileName(self):
|
def fileName(self):
|
||||||
"""
|
"""
|
||||||
@ -428,14 +428,15 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
self.mainwindow,
|
self.mainwindow,
|
||||||
translate('OpenLP.ServiceManager', 'Open File'),
|
translate('OpenLP.ServiceManager', 'Open File'),
|
||||||
SettingsManager.get_last_dir(
|
SettingsManager.get_last_dir(
|
||||||
self.mainwindow.serviceSettingsSection),
|
self.mainwindow.servicemanagerSettingsSection),
|
||||||
translate('OpenLP.ServiceManager',
|
translate('OpenLP.ServiceManager',
|
||||||
'OpenLP Service Files (*.osz)')))
|
'OpenLP Service Files (*.osz)')))
|
||||||
if not fileName:
|
if not fileName:
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
fileName = loadFile
|
fileName = loadFile
|
||||||
SettingsManager.set_last_dir(self.mainwindow.serviceSettingsSection,
|
SettingsManager.set_last_dir(
|
||||||
|
self.mainwindow.servicemanagerSettingsSection,
|
||||||
split_filename(fileName)[0])
|
split_filename(fileName)[0])
|
||||||
self.loadFile(fileName)
|
self.loadFile(fileName)
|
||||||
|
|
||||||
@ -460,7 +461,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
self.setFileName(u'')
|
self.setFileName(u'')
|
||||||
self.setModified(False)
|
self.setModified(False)
|
||||||
QtCore.QSettings(). \
|
QtCore.QSettings(). \
|
||||||
setValue(u'service/last file',QtCore.QVariant(u''))
|
setValue(u'servicemanager/last file',QtCore.QVariant(u''))
|
||||||
|
|
||||||
def saveFile(self):
|
def saveFile(self):
|
||||||
"""
|
"""
|
||||||
@ -473,7 +474,8 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
(basename, extension) = os.path.splitext(file_name)
|
(basename, extension) = os.path.splitext(file_name)
|
||||||
service_file_name = basename + '.osd'
|
service_file_name = basename + '.osd'
|
||||||
log.debug(u'ServiceManager.saveFile - %s' % path_file_name)
|
log.debug(u'ServiceManager.saveFile - %s' % path_file_name)
|
||||||
SettingsManager.set_last_dir(self.mainwindow.serviceSettingsSection,
|
SettingsManager.set_last_dir(
|
||||||
|
self.mainwindow.servicemanagerSettingsSection,
|
||||||
path)
|
path)
|
||||||
service = []
|
service = []
|
||||||
write_list = []
|
write_list = []
|
||||||
@ -561,7 +563,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
fileName = unicode(QtGui.QFileDialog.getSaveFileName(self.mainwindow,
|
fileName = unicode(QtGui.QFileDialog.getSaveFileName(self.mainwindow,
|
||||||
UiStrings().SaveService,
|
UiStrings().SaveService,
|
||||||
SettingsManager.get_last_dir(
|
SettingsManager.get_last_dir(
|
||||||
self.mainwindow.serviceSettingsSection),
|
self.mainwindow.servicemanagerSettingsSection),
|
||||||
translate('OpenLP.ServiceManager', 'OpenLP Service Files (*.osz)')))
|
translate('OpenLP.ServiceManager', 'OpenLP Service Files (*.osz)')))
|
||||||
if not fileName:
|
if not fileName:
|
||||||
return False
|
return False
|
||||||
@ -623,7 +625,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
self.mainwindow.addRecentFile(fileName)
|
self.mainwindow.addRecentFile(fileName)
|
||||||
self.setModified(False)
|
self.setModified(False)
|
||||||
QtCore.QSettings().setValue(
|
QtCore.QSettings().setValue(
|
||||||
'service/last file', QtCore.QVariant(fileName))
|
'servicemanager/last file', QtCore.QVariant(fileName))
|
||||||
else:
|
else:
|
||||||
critical_error_message_box(
|
critical_error_message_box(
|
||||||
message=translate('OpenLP.ServiceManager',
|
message=translate('OpenLP.ServiceManager',
|
||||||
@ -665,7 +667,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
present.
|
present.
|
||||||
"""
|
"""
|
||||||
fileName = QtCore.QSettings(). \
|
fileName = QtCore.QSettings(). \
|
||||||
value(u'service/last file',QtCore.QVariant(u'')).toString()
|
value(u'servicemanager/last file',QtCore.QVariant(u'')).toString()
|
||||||
if fileName:
|
if fileName:
|
||||||
self.loadFile(fileName)
|
self.loadFile(fileName)
|
||||||
|
|
||||||
@ -1004,7 +1006,8 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
self.service_theme = unicode(self.themeComboBox.currentText())
|
self.service_theme = unicode(self.themeComboBox.currentText())
|
||||||
self.mainwindow.renderer.set_service_theme(self.service_theme)
|
self.mainwindow.renderer.set_service_theme(self.service_theme)
|
||||||
QtCore.QSettings().setValue(
|
QtCore.QSettings().setValue(
|
||||||
self.mainwindow.serviceSettingsSection + u'/service theme',
|
self.mainwindow.servicemanagerSettingsSection +
|
||||||
|
u'/service theme',
|
||||||
QtCore.QVariant(self.service_theme))
|
QtCore.QVariant(self.service_theme))
|
||||||
self.regenerateServiceItems()
|
self.regenerateServiceItems()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user