Beispiel #1
0
        // Change Image cover
        private void picBox_Click(object sender, EventArgs e)
        {
            // Check if there is a seleted item
            if (lvManga.SelectedItems.Count > 0)
            {
                string selectedFilename = GlobalVar.GetAFile("Select new Cover image for Manga...", "JPG Files (*.jpg)|*.jpg", "");
                if (String.IsNullOrWhiteSpace(selectedFilename) == false)
                {
                    string mangapath    = lvManga.SelectedItems[0].Tag.ToString();
                    string newCoverPath = Path.GetFullPath(mangapath) + "\\cover.jpg";
                    string imageKey     = lvManga.SelectedItems[0].SubItems[1].Tag.ToString();

                    // Confirm change
                    if (GlobalVar.ShowYesNo("Changing Image cover file. Confirm?"))
                    {
                        // Dispose previous image
                        if ((picBox.Image != null) && (imageKey != DEF_IMGKEY))
                        {
                            picBox.Image.Dispose();
                        }

                        // If imageKey is NOT the default imageKey
                        if (imageKey != DEF_IMGKEY)
                        {
                            // If imageKey already exists, remove it from image list
                            if (coverListLarge.Images.ContainsKey(imageKey))
                            {
                                coverListLarge.Images.RemoveByKey(imageKey);
                            }
                        }
                        else
                        {
                            // If imagekey is the default, Get a NEW Unique ImageKey
                            imageKey = GetUniqueImgKey();
                        }

                        // Try Copy cover file to manga folder location
                        try
                        {
                            // Copy, replace existing
                            File.Copy(selectedFilename, newCoverPath, true);
                            ImgListAdd(imageKey, Image.FromFile(newCoverPath));
                            SetPicboxImg(imageKey);
                        }
                        catch (Exception ex)
                        {
                            // LogError
                            // Revert to default image
                            imageKey = DEF_IMGKEY;
                            GlobalVar.LogError(ex);
                        }

                        // Set the ImageKey on SubItem[1].Tag on LV Item
                        lvManga.SelectedItems[0].SubItems[1].Tag = imageKey;

                        // Set ImageKey for LV Item
                        lvManga.SelectedItems[0].ImageKey = imageKey;

                        // Refresh Manga ListView
                        lvManga.Refresh();
                    }
                }
            }
        }