# Moved dialog settings outside of AbstractUIPlugin
This change is needed to reduce the usage of this Activator. Skipping
Activators will reduce the time to startup the framework. In addition,
it provides a way of getting dialog settings outside of eclipse.ui.
## AbstractUIPlugin
All methods that deal with the old way of getting dialog settings
have been deprecated. Clients will not break because the same
functionality is delegated to IDialogSettingsProvider and
implemented in DialogSettingsProvider
## NEW API: IDialogSettingsProvider (IDSP)
A new abstraction has been made to just load and save the settings
without the assumption of the actual technique. When implemented,
like it was in AbstractUIPlugin, the burden of loading and saving
may now be done on a higher level.
While IDialogSettings assume a specific way of loading and saving,
the IDSP does not.
IDialogSettings Javadoc has been updated to point to the new API.
The load and save methods of AbstractUIPlugin were protected.
The load and save methods in IDSP are public. This gives clients
control over reloading and saving. Saving is done by Platform
on shutdown but must also be possible when running w/o Platform.
## NEW API: PlatformUI.getDialogSettingsProvider(Bundle)
The entry point to get platform dialog settings has been moved to
PlatformUI which in turn delegates to the internal
DialogSettingsProviderService class.
## DialogSettingsProviderService
This class is the central point of giving out instances of IDSP. It
will remember all the instances and takes care of saving the settings
when the Platform wants to shutdown. This class is internal.
## TESTS
Changed DialogSettingsCustomizationTest to use the new flow.
## Notes
The dialog settings are stored in the preferences instance scope of
"org.eclipse.ui". This is unfortunately hard-coded but will still
work outside of org.eclipse.ui.
Change-Id: I4e3338af9d69bd0fd5a9897afc788f8fa40f1026
Signed-off-by: Wim Jongman <wim.jongman@remainsoftware.com>