public void Load() { _themes.Clear(); var storageDirectory = new StorageDirectory(ResourceManager.Instance.ThemesFolder.RelativePathParts.Merge(SlideSettingsManager.Instance.SlideSettings.SlideMasterFolder)); if (!storageDirectory.ExistsLocal()) { return; } LoadApprovedThemes(storageDirectory); foreach (var themeFolder in storageDirectory.GetLocalFolders()) { var theme = new Theme(themeFolder); theme.Load(); foreach (var approvedTheme in ApprovedThemes.Where(approvedTheme => approvedTheme.Value.Any(t => t.Equals(theme.Name)))) { theme.ApprovedSlides.Add(approvedTheme.Key); } _themes.Add(theme); } _themes.Sort((x, y) => x.Order.CompareTo(y.Order)); ThemesChanged?.Invoke(null, EventArgs.Empty); }
private void ReloadThemes() { _themes = Directory.GetFiles(".", "*Theme.dll") .Select(path => new ThemeModel(Path.GetFullPath(path))) .ToArray(); ThemesChanged?.Invoke(this, _themes); }