ImageSourceServiceProvider(IThemeService themeService, IBackgroundImageOptionDefinitionService backgroundImageOptionDefinitionService, IBackgroundImageSettingsService backgroundImageSettingsService) { this.themeService = themeService; this.backgroundImageOptionDefinitionService = backgroundImageOptionDefinitionService; this.backgroundImageSettingsService = backgroundImageSettingsService; imageSourceServices = new Dictionary <IBackgroundImageOptionDefinition, IImageSourceService>(); }
BackgroundImageSettingsService(ISettingsService settingsService, IBackgroundImageOptionDefinitionService backgroundImageOptionDefinitionService) { this.settingsService = settingsService; settingsInfos = new Dictionary<string, SettingsInfo>(backgroundImageOptionDefinitionService.AllSettings.Length, StringComparer.Ordinal); foreach (var lazy in backgroundImageOptionDefinitionService.AllSettings) { if (settingsInfos.ContainsKey(lazy.Value.Id)) continue; settingsInfos[lazy.Value.Id] = new SettingsInfo(lazy); } var allSettingsIds = new HashSet<string>(backgroundImageOptionDefinitionService.AllSettings.Select(a => a.Value.Id), StringComparer.Ordinal); var rootSection = settingsService.GetOrCreateSection(SETTINGS_GUID); foreach (var section in rootSection.SectionsWithName(SettingsName)) { var rawSettings = new RawSettings(section); if (!rawSettings.IsValid) continue; SettingsInfo info; if (!settingsInfos.TryGetValue(rawSettings.Id, out info)) continue; if (!allSettingsIds.Contains(rawSettings.Id)) continue; allSettingsIds.Remove(rawSettings.Id); if (info.Lazy.Value.UserVisible) { info.SettingsSection = section; info.RawSettings.CopyFrom(rawSettings); } } }
BackgroundImageSettingsService(ISettingsService settingsService, IBackgroundImageOptionDefinitionService backgroundImageOptionDefinitionService) { this.settingsService = settingsService; settingsInfos = new Dictionary <string, SettingsInfo>(backgroundImageOptionDefinitionService.AllSettings.Length, StringComparer.Ordinal); foreach (var lazy in backgroundImageOptionDefinitionService.AllSettings) { if (settingsInfos.ContainsKey(lazy.Value.Id)) { continue; } settingsInfos[lazy.Value.Id] = new SettingsInfo(lazy); } var allSettingsIds = new HashSet <string>(backgroundImageOptionDefinitionService.AllSettings.Select(a => a.Value.Id), StringComparer.Ordinal); var rootSection = settingsService.GetOrCreateSection(SETTINGS_GUID); foreach (var section in rootSection.SectionsWithName(SettingsName)) { var rawSettings = new RawSettings(section); if (!rawSettings.IsValid) { continue; } Debug2.Assert(rawSettings.Id is not null); if (!settingsInfos.TryGetValue(rawSettings.Id, out var info)) { continue; } if (!allSettingsIds.Contains(rawSettings.Id)) { continue; } allSettingsIds.Remove(rawSettings.Id); if (info.Lazy.Value.UserVisible) { info.SettingsSection = section; info.RawSettings.CopyFrom(rawSettings); } } }
ImageSourceServiceProvider(IThemeService themeService, IBackgroundImageOptionDefinitionService backgroundImageOptionDefinitionService, IBackgroundImageSettingsService backgroundImageSettingsService) { this.themeService = themeService; this.backgroundImageOptionDefinitionService = backgroundImageOptionDefinitionService; this.backgroundImageSettingsService = backgroundImageSettingsService; imageSourceServices = new Dictionary<IBackgroundImageOptionDefinition, IImageSourceService>(); }