Esempio n. 1
0
        public TagTabControl(int startingTabIndex, TagFormStyle tagFormStyle = TagFormStyle.Editor,
                             WallpaperData.ImageData activeImage             = null, TagData activeTag = null, TagForm parentTagForm = null, Action <TagData> tagClickEvent = null)
        {
            InitializeComponent();

            ParentTagForm      = parentTagForm;
            this.activeImage   = activeImage;
            this.activeTag     = activeTag;
            this.tagFormStyle  = tagFormStyle;
            this.tagClickEvent = tagClickEvent;

            this.tabControlImageTagger.MouseDown            += tabControlImageTagger_MouseDown;
            this.tabControlImageTagger.MouseUp              += tabControlImageTagger_MouseUp;
            this.tabControlImageTagger.MouseMove            += tabControlImageTagger_MouseMove;
            this.tabControlImageTagger.DragOver             += tabControlImageTagger_DragOver;
            this.tabControlImageTagger.DragOver             += tagContainerButton_DragOver;
            this.tabControlImageTagger.DragDrop             += tagContainerButton_DragDrop;
            this.tabControlImageTagger.SelectedIndexChanged += CategoryChanged;

            tabControlImageTagger.ItemSize = new Size(28, 18);
            initialItemSize = tabControlImageTagger.ItemSize;

            if (WallpaperData.TaggingInfo.CategoryCount() > 0)
            {
                LoadTaggingInfo();
            }
            else
            {
                CreateCategory("Default");
            }

            tabControlImageTagger.SelectedIndex = startingTabIndex;
            LoadTagContainer(startingTabIndex);
            ParentTagForm?.UpdateCategoryControls();
        }
Esempio n. 2
0
        public ImageEditorControl(WallpaperData.ImageData imageData, bool immediatelyLoadImage)
        {
            InitializeComponent();

            this.ImageData = imageData;

            SuspendLayout();
            buttonSelectImage.Click += (o, i) => { WallpaperData.WallpaperManagerForm.UpdateSelectedImage(ImageData); };

            textBoxRankEditor.Text       = ImageData.Rank.ToString();
            textBoxRankEditor.Click     += (s, e) => textBoxRankEditor.SelectAll(); // highlights all text when clicking on the control
            textBoxRankEditor.LostFocus += TextBoxRankEditor_LostFocus;
            textBoxRankEditor.KeyDown   += TextBoxRankEditor_KeyDown;

            buttonMinus.Click += (o, i) => { ImageData.Rank--; textBoxRankEditor.Text = ImageData.Rank.ToString(); };
            buttonPlus.Click  += (o, i) => { ImageData.Rank++; textBoxRankEditor.Text = ImageData.Rank.ToString(); };

            if (immediatelyLoadImage)                                               // this can cause lag if too many ImageEditorControl objects are loaded at once
            {
                WallpaperData.WallpaperManagerForm.LoadImage(this, ImageData.Path); //? calls back to SetBackgroundImage after getting the needed info to set the background
            }

            if (!ImageData.Active) // if EnableDetectionOfInactiveImages is true, this'll show which images are disabled
            {
                buttonSelectImage.FlatAppearance.BorderColor = Color.Red;
            }

            ResumeLayout();
        }
Esempio n. 3
0
        private static bool UpdateImagePath(string oldPath, string newPath, WallpaperData.ImageData image)
        {
            if (image == null)
            {
                return(false);
            }

            if (File.Exists(oldPath))
            {
                if (!File.Exists(newPath))
                {
                    if (new FileInfo(newPath).Name.IndexOfAny(Path.GetInvalidFileNameChars()) == -1)
                    {
                        return(FinalizeImagePathUpdate(oldPath, newPath));
                    }
                    else
                    {
                        MessageBox.Show("The image could not be renamed as its name contains invalid characters");
                    }
                }
                else
                {
                    MessageBox.Show("The following image could not be renamed as its intended path has already been taken: " +
                                    "\nOld Path: " + oldPath +
                                    "\nNew Path: " + newPath);
                }
            }
            else
            {
                MessageBox.Show("The image you attempted to rename was not found: \n" + oldPath);
            }

            return(false);
        }
Esempio n. 4
0
        public ImageEditorForm(WallpaperData.ImageData imageData)
        {
            InitializeComponent();

            activeImage = imageData;

            if (activeImage.imageType != ImageType.Video)
            {
                pictureBoxImage.ImageLocation = imageData.Path;
                pictureBoxImage.Visible       = true; axWindowsMediaPlayer.Visible = false;
            }
            else
            {
                pictureBoxImage.Visible = false; axWindowsMediaPlayer.Visible = true;
                axWindowsMediaPlayer.settings.autoStart = true;
                axWindowsMediaPlayer.settings.setMode("loop", true);
                axWindowsMediaPlayer.URL             = imageData.Path;
                axWindowsMediaPlayer.settings.volume = imageData.VideoSettings.Volume / 2; //? windows media player supports double the volume of mpv
                axWindowsMediaPlayer.settings.rate   = imageData.VideoSettings.PlaybackSpeed;
            }

            imageTagsFLP.SuspendLayout();
            foreach (CategoryData category in WallpaperData.TaggingInfo.GetAllCategories())
            {
                string categoryName = category.Name;
                if (imageData.Tags.ContainsKey(categoryName)) //? remember that imageData.Tags may be ordered improperly
                {
                    tagButtons.Add(categoryName, new HashSet <Tuple <string, Button> >());

                    HashSet <string> orderedTags = (
                        from t
                        in imageData.Tags[categoryName]
                        orderby WallpaperData.TaggingInfo.GetTag(category, t).GetLinkedImageCount()
                        descending
                        select t).ToHashSet();

                    foreach (string tag in orderedTags)
                    {
                        CreateTagButton(categoryName, tag);
                    }
                }
            }
            imageTagsFLP.ResumeLayout();

            if (Options.OptionsData.ThemeOptions.EnableDetectionOfInactiveImages)
            {
                if (!activeImage.Active) // the Enabled setting already shows by default
                {
                    labelEnabled.Text      = "Disabled";
                    labelEnabled.ForeColor = Color.Red;
                }
            }
            else // no need to see this labeled if you're only able to select enabled images
            {
                labelEnabled.Visible = false;
            }
        }
Esempio n. 5
0
        public TagClickerForm(int startingTabIndex, TagFormStyle tagFormStyle, WallpaperData.ImageData activeImage = null, TagData activeTag = null, Action <TagData> tagClickEvent = null)
        {
            InitializeComponent();

            tagTabControl = new TagTabControl(startingTabIndex, tagFormStyle, activeImage, activeTag, tagClickEvent: tagClickEvent);

            //this.Size = tagTabControl.Size;
            Controls.Add(tagTabControl);
            tagTabControl.Location = new Point(0, 0);
        }
Esempio n. 6
0
 public void UpdateSelectedImage(WallpaperData.ImageData imageData)
 {
     labelSelectedImage.Text = InspectedImage = imageData.Path;
 }