Skip to content

ENH: Add Restore Tab to the extension manager widget

Created by: jcfr

This commit improves the extension manager so that it can keep track of the installed extensions across version. The goal is to simplify the number of steps allowing people to reinstall extensions that were used in a previous installation.

(1) After installing a new version of Slicer, the user can select from all previously installed extensions and batch-install them. (2) Extensions installed in the last (previous) Slicer versions are marked and preselected (one click-solution for getting the previous setup) (3) Extensions that where previously installed but are not compatible for some reason, are shown but not selectable (4) UI: a third tab ("Restore Extensions") is added to the Extension Manager and provide at least a list view for selection / a button button for installing the selected extensions.

More specifically, this topic implements the following changes:

  • add setter/getter for extension history settings file path
  • set path to Slicer.ini as extension model extension history path
  • add function to write extension id to settings file after installation
  • installed (and scheduled for removal) extensions are reflected in ini file
  • add check functionality for previous extensions
  • add headless mode to restore widget for initial extension restore
  • add messagebox to advice restart after extension restore
  • extension check on startup coupled with settings
  • user-visible strings are translatable

References:

Co-authored-by: Hans Meine hans_meine@gmx.net

Reviewed-by: Andras Lasso lasso@queensu.ca Reviewed-by: Jean-Christophe Fillion-Robin jchris.fillionr@kitware.com Reviewed-by: Steve Pieper pieper@bwh.harvard.edu

Merge request reports