Beispiel #1
0
        private void removeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int         itemIndex = imageListView1.SelectedItems[0].Index;
            string      themeId   = (string)imageListView1.Items[itemIndex].Tag;
            ThemeConfig theme     = ThemeManager.themeSettings.Find(t => t.themeId == themeId);

            DialogResult result = MessageDialog.ShowQuestion(string.Format(_("Are you sure you want to remove the " +
                                                                             "'{0}' theme?"), ThemeManager.GetThemeName(theme)), _("Question"), true);

            if (result == DialogResult.Yes)
            {
                if (!ThemeManager.defaultThemes.Contains(theme.themeId))
                {
                    imageListView1.Items.RemoveAt(itemIndex);
                    imageListView1.Items[itemIndex - 1].Selected = true;
                    themeNames.RemoveAt(itemIndex - 1);
                }

                Task.Run(() => {
                    ThemeManager.RemoveTheme(theme);

                    if (ThemeManager.defaultThemes.Contains(theme.themeId))
                    {
                        this.Invoke(new Action(() => UpdateSelectedItem()));
                    }
                });
            }
        }
        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();
            }
        }
Beispiel #3
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;
        }
Beispiel #4
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]));
                }
            }
        }
Beispiel #5
0
        private async void removeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int         itemIndex = listView1.FocusedItem.Index;
            ThemeConfig theme     = ThemeManager.themeSettings[itemIndex - 1];

            DialogResult result = MessageBox.Show("Are you sure you want to remove the '" +
                                                  theme.themeName.Replace('_', ' ') + "' theme?", "Question",
                                                  MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (result == DialogResult.Yes)
            {
                listView1.Items.RemoveAt(itemIndex);
                listView1.Items[itemIndex - 1].Selected = true;

                await Task.Run(() => ThemeManager.RemoveTheme(theme));
            }
        }
        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));
            }
        }
        private void removeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int         itemIndex = imageListView1.SelectedItems[0].Index;
            string      themeId   = (string)imageListView1.Items[itemIndex].Tag;
            ThemeConfig theme     = ThemeManager.themeSettings.Find(t => t.themeId == themeId);

            DialogResult result = MessageBox.Show(string.Format(_("Are you sure you want to " +
                                                                  "remove the '{0}' theme?"), ThemeManager.GetThemeName(theme)), _("Question"),
                                                  MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (result == DialogResult.Yes)
            {
                imageListView1.Items.RemoveAt(itemIndex);
                imageListView1.Items[itemIndex - 1].Selected = true;
                themeNames.RemoveAt(itemIndex - 1);

                Task.Run(() => ThemeManager.RemoveTheme(theme));
            }
        }
        private void themeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int         itemIndex = imageListView1.SelectedItems[0].Index;
            string      themeId   = (string)imageListView1.Items[itemIndex].Tag;
            ThemeConfig theme     = ThemeManager.themeSettings.Find(t => t.themeId == themeId);

            if (ThemeManager.IsThemeDownloaded(theme))
            {
                DialogResult result = MessageDialog.ShowQuestion(string.Format(_("Are you sure you want to remove the " +
                                                                                 "'{0}' theme?"), ThemeManager.GetThemeName(theme)), _("Question"), true);

                if (result == DialogResult.Yes)
                {
                    if (!ThemeManager.defaultThemes.Contains(theme.themeId))
                    {
                        imageListView1.Items.RemoveAt(itemIndex);
                        imageListView1.Items[itemIndex - 1].Selected = true;
                        themeNames.RemoveAt(itemIndex - 1);
                    }

                    Task.Run(() => {
                        ThemeManager.RemoveTheme(theme);

                        if (ThemeManager.defaultThemes.Contains(theme.themeId))
                        {
                            this.Invoke(new Action(() => UpdateSelectedItem()));
                        }
                    });
                }
            }
            else
            {
                DownloadDialog downloadDialog = new DownloadDialog()
                {
                    Owner = this, applyPending = false
                };
                downloadDialog.FormClosed += OnDownloadDialogClosed;
                downloadDialog.Show();
                this.Enabled = false;
                downloadDialog.InitDownload(theme);
            }
        }