private void LoadImportedThemes(List <ThemeConfig> themes) { themes.Sort((t1, t2) => t1.themeId.CompareTo(t2.themeId)); List <ThemeConfig> missingThemes = ThemeManager.FindMissingThemes(); Size thumbnailSize = GetThumbnailSize(); ListViewItem newItem = null; for (int i = 0; i < themes.Count; i++) { if (missingThemes.IndexOf(themes[i]) == -1) { EnsureThemeNotDuplicated(themes[i].themeId); listView1.LargeImageList.Images.Add(GetThumbnailImage(themes[i], thumbnailSize)); newItem = listView1.Items.Add(GetThemeName(themes[i]), listView1.LargeImageList.Images.Count - 1); newItem.Tag = themes[i].themeId; } else { MessageBox.Show(string.Format(_("Failed to download images for the '{0}' " + "theme."), GetThemeName(themes[i])), _("Error"), MessageBoxButtons.OK, MessageBoxIcon.Warning); Task.Run(() => ThemeManager.RemoveTheme(themes[i])); } } if (newItem != null) { listView1.Sort(); newItem.Selected = true; newItem.EnsureVisible(); } }
private async void LoadImportedTheme() { ThemeManager.themeSettings.Add(tempTheme); ThemeManager.themeSettings.Sort((t1, t2) => t1.themeName.CompareTo(t2.themeName)); List <ThemeConfig> missingThemes = ThemeManager.FindMissingThemes(); bool isInstalled = missingThemes.IndexOf(tempTheme) == -1; if (isInstalled) { int itemIndex = ThemeManager.themeSettings.IndexOf(tempTheme) + 1; listView1.LargeImageList.Images.Add(GetThumbnailImage(tempTheme, 192, 108)); listView1.Items.Insert(itemIndex, tempTheme.themeName.Replace('_', ' '), listView1.LargeImageList.Images.Count - 1); listView1.Items[itemIndex].Selected = true; } else { MessageBox.Show("Failed to install the '" + tempTheme.themeName.Replace('_', ' ') + "' theme.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); await Task.Run(() => ThemeManager.RemoveTheme(tempTheme)); } tempTheme = null; }
private void LoadImportedThemes(List <ThemeConfig> themes) { List <ThemeConfig> missingThemes = ThemeManager.FindMissingThemes(); Size thumbnailSize = GetThumbnailSize(); for (int i = 0; i < themes.Count; i++) { if (missingThemes.IndexOf(themes[i]) == -1) { int itemIndex = ThemeManager.themeSettings.IndexOf(themes[i]) + 1; listView1.LargeImageList.Images.Add(GetThumbnailImage(themes[i], thumbnailSize)); ListViewItem newItem = listView1.Items.Insert(itemIndex, GetThemeName(themes[i]), listView1.LargeImageList.Images.Count - 1); if (i == themes.Count - 1) { newItem.Selected = true; listView1.EnsureVisible(itemIndex); } } else { MessageBox.Show("Failed to download images for the " + GetThemeName(themes[i]) + " theme.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); Task.Run(() => ThemeManager.RemoveTheme(themes[i])); } } }
private async void OnDownloadDialogClosed(object sender, EventArgs e) { this.Enabled = true; List <ThemeConfig> missingThemes = ThemeManager.FindMissingThemes(); bool isInstalled = true; foreach (ThemeConfig theme in missingThemes) { if (theme == tempTheme) { isInstalled = false; break; } } if (isInstalled) { ThemeManager.themeSettings.Add(tempTheme); ThemeManager.themeSettings.Sort((t1, t2) => t1.themeName.CompareTo(t2.themeName)); int itemIndex = 1; for (int i = 0; i < ThemeManager.themeSettings.Count; i++) { if (ThemeManager.themeSettings[i] == tempTheme) { itemIndex += i; break; } } listView1.LargeImageList.Images.Add(GetThumbnailImage(tempTheme, 192, 108)); listView1.Items.Insert(itemIndex, tempTheme.themeName.Replace('_', ' '), listView1.LargeImageList.Images.Count - 1); listView1.Items[itemIndex].Selected = true; tempTheme = null; } else { MessageBox.Show("Failed to install the '" + tempTheme.themeName.Replace('_', ' ') + "' theme.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); await Task.Run(() => ThemeManager.RemoveTheme(tempTheme)); } }