Wed, 11 Jul 2012 19:15:52 +0200
Refined the "workspace" change to use the user home directory as a last resort.
# -*- coding: utf-8 -*- # Copyright (c) 2008 - 2012 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing the Multi Project configuration page. """ from PyQt4.QtCore import pyqtSlot from .ConfigurationPageBase import ConfigurationPageBase from .Ui_MultiProjectPage import Ui_MultiProjectPage from E5Gui import E5FileDialog import Preferences import Utilities class MultiProjectPage(ConfigurationPageBase, Ui_MultiProjectPage): """ Class implementing the Multi Project configuration page. """ def __init__(self): """ Constructor """ super().__init__() self.setupUi(self) self.setObjectName("MultiProjectPage") # set initial values self.openMasterAutomaticallyCheckBox.setChecked( Preferences.getMultiProject("OpenMasterAutomatically")) self.multiProjectTimestampCheckBox.setChecked( Preferences.getMultiProject("XMLTimestamp")) self.multiProjectRecentSpinBox.setValue( Preferences.getMultiProject("RecentNumber")) self.workspaceEdit.setText( Utilities.toNativeSeparators( Preferences.getMultiProject("Workspace") or Utilities.getHomeDir())) def save(self): """ Public slot to save the Project configuration. """ Preferences.setMultiProject("OpenMasterAutomatically", self.openMasterAutomaticallyCheckBox.isChecked()) Preferences.setMultiProject("XMLTimestamp", self.multiProjectTimestampCheckBox.isChecked()) Preferences.setMultiProject("RecentNumber", self.multiProjectRecentSpinBox.value()) Preferences.setMultiProject("Workspace", self.workspaceEdit.text()) @pyqtSlot() def on_workspaceButton_clicked(self): """ Private slot to display a directory selection dialog. """ default = self.workspaceEdit.text() if default == "": default = Utilities.getHomeDir() directory = E5FileDialog.getExistingDirectory( self, self.trUtf8("Select Workspace Directory"), default, E5FileDialog.Options(0)) if directory: self.workspaceEdit.setText(Utilities.toNativeSeparators(directory)) def create(dlg): """ Module function to create the configuration page. @param dlg reference to the configuration dialog """ page = MultiProjectPage() return page