public void SaveAsDefault(ImagePropertiesInfo imageInfo) { ImageDecoratorsList decorators = imageInfo.ImageDecorators; //delete the existing image settings DeleteImageSettings(_contextId); using (SettingsPersisterHelper contextImageSettings = GetImageSettingsPersister(_contextId, true)) { //loop over the image decorators and save the settings of any decorators that are defaultable. StringBuilder sb = new StringBuilder(); foreach (string decoratorId in decorators.GetImageDecoratorIds()) { ImageDecorator decorator = decorators.GetImageDecorator(decoratorId); if (decorator.IsDefaultable) { if (sb.Length > 0) { sb.Append(","); } sb.Append(decorator.Id); using (SettingsPersisterHelper decoratorDefaultSettings = contextImageSettings.GetSubSettings(decoratorId)) { PluginSettingsAdaptor settings = new PluginSettingsAdaptor(decoratorDefaultSettings); IProperties decoratorCurrentSettings = decorators.GetImageDecoratorSettings(decoratorId); CopySettings(decoratorCurrentSettings, settings); ImageDecoratorEditorContext editorContext = new ImageDecoratorEditorContextImpl(decoratorCurrentSettings, null, imageInfo, new NoOpUndoUnitFactory(), _decoratorsManager.CommandManager); decorator.ApplyCustomizeDefaultSettingsHook(editorContext, settings); } } } contextImageSettings.SetString(ImageDecoratorsListKey, sb.ToString()); } }
public void SaveAsDefault(ImagePropertiesInfo imageInfo) { ImageDecoratorsList decorators = imageInfo.ImageDecorators; //delete the existing image settings DeleteImageSettings(_contextId); using (SettingsPersisterHelper contextImageSettings = GetImageSettingsPersister(_contextId, true)) { //loop over the image decorators and save the settings of any decorators that are defaultable. StringBuilder sb = new StringBuilder(); foreach (string decoratorId in decorators.GetImageDecoratorIds()) { ImageDecorator decorator = decorators.GetImageDecorator(decoratorId); if (decorator.IsDefaultable) { if (sb.Length > 0) sb.Append(","); sb.Append(decorator.Id); using (SettingsPersisterHelper decoratorDefaultSettings = contextImageSettings.GetSubSettings(decoratorId)) { PluginSettingsAdaptor settings = new PluginSettingsAdaptor(decoratorDefaultSettings); IProperties decoratorCurrentSettings = decorators.GetImageDecoratorSettings(decoratorId); CopySettings(decoratorCurrentSettings, settings); ImageDecoratorEditorContext editorContext = new ImageDecoratorEditorContextImpl(decoratorCurrentSettings, null, imageInfo, new NoOpUndoUnitFactory(), _decoratorsManager.CommandManager); decorator.ApplyCustomizeDefaultSettingsHook(editorContext, settings); } } } contextImageSettings.SetString(ImageDecoratorsListKey, sb.ToString()); } }