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();
            }
        }
Example #2
0
        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;
        }
Example #3
0
        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));
            }
        }