Slicer: 2145-support-for-installing-extension-from-file e6fb116c

Author Committer Branch Timestamp Parent
jcfr jcfr 2145-support-for-installing-extension-from-file 2012-12-06 19:23:59 2145-support-for-installing-extension-from-file e0480309
Affected Issues 0002143: Extend Additional Launcher Settings to support user specific settings
0002533: Failed to open launcher settings is reported when installing extension
0002720: can't install extensions on windows
0002767: Extension test pass despite of "error: Application does NOT exists []"
0002791: Re-enabling of incompatible extensions
Changeset

ENH: Support per user per revision extensions settings

There is now a clear distinction between:

  • userSettings -> i.e. ~/.config/NA-MIC/Slicer.ini
  • revisionUserSettings -> i.e. ~/.config/NA-MIC/Slicer-<revision>.ini

The following slicer settings are now revision specific:

  • Extensions/ManagerEnabled
  • Extensions/ServerUrl
  • Extensions/InstallPath
  • Modules/AdditonalPath
  • Modules/IgnoreModules

Additionally, the launcher version has also been updated to be able to
consider settings associated with a user, application and revision. This is
captured by the new parameter APPLICATION_REVISION, ORGANIZATION_DOMAIN,
ORGANIZATION_NAME and USER_ADDITIONAL_SETTINGS_FILEBASENAME passed to the CMake
function "ctkAppLauncherConfigure".

qSlicerCoreApplication API has also been extended and now includes methods
like:

  • QSettings* userSettings() [settings() method is deprecated and kept for backward compatibility]
  • QSettings* revisionUserSettings()
  • QString launcherRevisionUserSettingsFilePath()
  • QString slicerUserSettingsFilePath()
  • QString slicerRevisionUserSettingsFilePath()

In addition to the settings, the extensions install path is also revision
specific, it means that it's now possible to have multiple version of slicer
running with different set of extensions.

Fixes 0002791, 0002143, 0002720, 0002533

Since the version of the launcher is updated, launcher will return EXIT_FAILURE
also when no application is been set in the launcher settings.

Fixes 0002767

git-svn-id: http://svn.slicer.org/Slicer4/trunk@21482 3bd1e089-480b-0410-8dfb-8563597acbee

mod - Applications/SlicerApp/CMakeLists.txt Diff File
mod - Applications/SlicerApp/Main.cxx Diff File
mod - Applications/SlicerApp/qSlicerAppMainWindow.cxx Diff File
mod - Base/Logic/Testing/vtkSlicerApplicationLogicTest1.cxx Diff File
mod - Base/Logic/vtkSlicerApplicationLogic.cxx Diff File
mod - Base/Logic/vtkSlicerApplicationLogic.h Diff File
mod - Base/QTApp/qSlicerApplicationHelper.cxx Diff File
mod - Base/QTCLI/qSlicerCLIModuleFactoryHelper.cxx Diff File
mod - Base/QTCore/Testing/Cxx/qSlicerCoreApplicationTest1.cxx Diff File
mod - Base/QTCore/Testing/Cxx/qSlicerExtensionsManagerModelTest.cxx Diff File
mod - Base/QTCore/Testing/Data/Input/19615-macosx-amd64-CLIExtensionTemplate-svn19615-2012-03-18.tar.gz Diff File
mod - Base/QTCore/Testing/Data/Input/19615-macosx-amd64-LoadableExtensionTemplate-svn19615-2012-03-18.tar.gz Diff File
mod - Base/QTCore/Testing/Data/Input/19615-macosx-amd64-ScriptedLoadableExtensionTemplate-svn19615-2012-03-18.tar.gz Diff File
mod - Base/QTCore/Testing/Data/Input/19615-macosx-amd64-SuperBuildLoadableExtensionTemplate-svn19615-2012-03-18.tar.gz Diff File
mod - Base/QTCore/qSlicerCoreApplication.cxx Diff File
mod - Base/QTCore/qSlicerCoreApplication.h Diff File
mod - Base/QTCore/qSlicerCoreApplication_p.h Diff File
mod - Base/QTCore/qSlicerCoreCommandOptions.cxx Diff File
mod - Base/QTCore/qSlicerCoreCommandOptions.h Diff File
mod - Base/QTCore/qSlicerExtensionsManagerModel.cxx Diff File
mod - Base/QTCore/qSlicerExtensionsManagerModel.h Diff File
mod - Base/QTCore/qSlicerLoadableModuleFactory.cxx Diff File
mod - Base/QTGUI/qSlicerExtensionsManagerDialog.cxx Diff File
mod - Base/QTGUI/qSlicerScriptedLoadableModuleFactory.cxx Diff File
mod - Base/QTGUI/qSlicerSettingsExtensionsPanel.cxx Diff File
mod - Base/QTGUI/qSlicerSettingsGeneralPanel.cxx Diff File
mod - Base/QTGUI/qSlicerSettingsModulesPanel.cxx Diff File
mod - CMake/SlicerConfig.cmake.in Diff File
mod - CMake/UseSlicer.cmake.in Diff File
mod - CMake/vtkSlicerConfigure.h.in Diff File
mod - CMakeLists.txt Diff File
mod - Modules/Loadable/Colors/qSlicerColorsModule.cxx Diff File
mod - Modules/Scripted/Scripts/DICOM.py Diff File
mod - SuperBuild.cmake Diff File
mod - SuperBuild/External_CTK.cmake Diff File
mod - SuperBuild/External_CTKAPPLAUNCHER.cmake Diff File