diff --git a/Mk0.Software.ImageSorter/Main.Designer.cs b/Mk0.Software.ImageSorter/Main.Designer.cs index 04da044..4afdd85 100644 --- a/Mk0.Software.ImageSorter/Main.Designer.cs +++ b/Mk0.Software.ImageSorter/Main.Designer.cs @@ -80,6 +80,10 @@ this.buttonTransformation = new System.Windows.Forms.Button(); this.buttonHintergrund = new System.Windows.Forms.Button(); this.buttonRander = new System.Windows.Forms.Button(); + this.buttonPreview = new System.Windows.Forms.Button(); + this.panelPreview = new System.Windows.Forms.Panel(); + this.buttonHeart = new System.Windows.Forms.Button(); + this.buttonChristmas = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxImage)).BeginInit(); this.contextMenuStrip.SuspendLayout(); this.groupBoxInformationen.SuspendLayout(); @@ -734,15 +738,74 @@ this.buttonRander.UseVisualStyleBackColor = true; this.buttonRander.Click += new System.EventHandler(this.ButtonRander_Click); // + // buttonPreview + // + this.buttonPreview.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonPreview.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.eye_icon; + this.buttonPreview.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonPreview.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonPreview.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonPreview.Location = new System.Drawing.Point(200, 537); + this.buttonPreview.Name = "buttonPreview"; + this.buttonPreview.Size = new System.Drawing.Size(23, 23); + this.buttonPreview.TabIndex = 19; + this.buttonPreview.UseVisualStyleBackColor = true; + this.buttonPreview.Visible = false; + this.buttonPreview.Click += new System.EventHandler(this.ButtonPreview_Click); + // + // panelPreview + // + this.panelPreview.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelPreview.BackColor = System.Drawing.Color.Gainsboro; + this.panelPreview.Location = new System.Drawing.Point(6, 433); + this.panelPreview.Name = "panelPreview"; + this.panelPreview.Size = new System.Drawing.Size(682, 100); + this.panelPreview.TabIndex = 20; + this.panelPreview.Visible = false; + // + // buttonHeart + // + this.buttonHeart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonHeart.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.heart_icon; + this.buttonHeart.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonHeart.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonHeart.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonHeart.Location = new System.Drawing.Point(665, 537); + this.buttonHeart.Name = "buttonHeart"; + this.buttonHeart.Size = new System.Drawing.Size(23, 23); + this.buttonHeart.TabIndex = 21; + this.buttonHeart.UseVisualStyleBackColor = true; + this.buttonHeart.Click += new System.EventHandler(this.ButtonHeart_Click); + // + // buttonChristmas + // + this.buttonChristmas.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonChristmas.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.christmas_tree_icon; + this.buttonChristmas.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonChristmas.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonChristmas.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonChristmas.Location = new System.Drawing.Point(626, 537); + this.buttonChristmas.Name = "buttonChristmas"; + this.buttonChristmas.Size = new System.Drawing.Size(23, 23); + this.buttonChristmas.TabIndex = 22; + this.buttonChristmas.UseVisualStyleBackColor = true; + this.buttonChristmas.Visible = false; + this.buttonChristmas.Click += new System.EventHandler(this.ButtonChristmas_Click); + // // Main // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.ClientSize = new System.Drawing.Size(967, 566); + this.Controls.Add(this.buttonChristmas); + this.Controls.Add(this.buttonHeart); + this.Controls.Add(this.groupBoxRander); + this.Controls.Add(this.groupBoxTransformation); + this.Controls.Add(this.panelPreview); + this.Controls.Add(this.buttonPreview); this.Controls.Add(this.buttonHintergrund); this.Controls.Add(this.buttonTransformation); - this.Controls.Add(this.groupBoxTransformation); - this.Controls.Add(this.groupBoxRander); this.Controls.Add(this.buttonDuplicate); this.Controls.Add(this.labelZoom1); this.Controls.Add(this.comboBoxZoom); @@ -837,5 +900,9 @@ private System.Windows.Forms.Button buttonRandOben; private System.Windows.Forms.TrackBar trackBarRander; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemShowEXIF; + private System.Windows.Forms.Button buttonPreview; + private System.Windows.Forms.Panel panelPreview; + private System.Windows.Forms.Button buttonHeart; + private System.Windows.Forms.Button buttonChristmas; } } diff --git a/Mk0.Software.ImageSorter/Main.cs b/Mk0.Software.ImageSorter/Main.cs index 1a2b187..d27ca70 100644 --- a/Mk0.Software.ImageSorter/Main.cs +++ b/Mk0.Software.ImageSorter/Main.cs @@ -197,6 +197,12 @@ namespace Mk0.Software.ImageSorter ResetUndo(); panelImageBackground.BackColor = Properties.Settings.Default.lightBackgroundColour; pictureBoxImage.BackColor = Properties.Settings.Default.lightBackgroundColour; + //Christmas Easteregg + if (DateTime.Now.Month == 12 && DateTime.Now.Day >= 24 && DateTime.Now.Day <= 27) + { + buttonChristmas.Visible = true; + } + //End ToolTip t1 = new ToolTip { AutoPopDelay = 5000, @@ -231,7 +237,7 @@ namespace Mk0.Software.ImageSorter InitialDelay = 1000, ReshowDelay = 500 }; - t5.SetToolTip(buttonQuellPfad, "Quellpfad festlegen"); + t5.SetToolTip(buttonQuellPfad, "Quellpfad festlegen (Q)"); ToolTip t6 = new ToolTip { AutoPopDelay = 5000, @@ -323,28 +329,49 @@ namespace Mk0.Software.ImageSorter InitialDelay = 1000, ReshowDelay = 500 }; - t18.SetToolTip(buttonRandOben, "Oben"); + t18.SetToolTip(buttonRandOben, "Oben (Ctrl+Auf)"); ToolTip t19 = new ToolTip { AutoPopDelay = 5000, InitialDelay = 1000, ReshowDelay = 500 }; - t19.SetToolTip(buttonRandUnten, "Unten"); + t19.SetToolTip(buttonRandUnten, "Unten (Ctrl+Ab)"); ToolTip t20 = new ToolTip { AutoPopDelay = 5000, InitialDelay = 1000, ReshowDelay = 500 }; - t20.SetToolTip(buttonRandRechts, "Rechts"); + t20.SetToolTip(buttonRandRechts, "Rechts (Ctrl+Rechts)"); ToolTip t21 = new ToolTip { AutoPopDelay = 5000, InitialDelay = 1000, ReshowDelay = 500 }; - t21.SetToolTip(buttonRandLinks, "Links"); + t21.SetToolTip(buttonRandLinks, "Links (Ctrl+Links)"); + ToolTip t22 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t22.SetToolTip(buttonPreview, "Bildvorschau (P)"); + ToolTip t23 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t23.SetToolTip(buttonHeart, "Unterstütze dieses Projekt"); + ToolTip t24 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t24.SetToolTip(buttonChristmas, "Frohe Weihnachten!"); } /// @@ -1670,6 +1697,12 @@ namespace Mk0.Software.ImageSorter buttonRandUnten.PerformClick(); e.Handled = true; } + + if (e.KeyCode==Keys.P) + { + buttonPreview.PerformClick(); + e.Handled = true; + } } /// @@ -1909,5 +1942,76 @@ namespace Mk0.Software.ImageSorter Dateirenamer dr = new Dateirenamer(quellPath); dr.ShowDialog(this); } + + /// + /// Preview-Sektion anzeigen/ausblenden + /// + /// + /// + private void ButtonPreview_Click(object sender, EventArgs e) + { + if (panelPreview.Visible) + { + panelImageBackground.Height += 100; + panelPreview.Visible = false; + } + + else + { + panelImageBackground.Height -= 100; + + ShowPreviewImages(); + + panelPreview.Visible = true; + } + } + + private void ShowPreviewImages() + { + int panelWidthAvailable = panelPreview.Width - 11; //verfügbare breite abzüglich ränder links+rechts + int previewImageWidth = 80; //breite eines preview-bildes + int previewImageAbstand = 11; //abstand zwischen preview-bildern + int previewBildmitAbstand = previewImageWidth + previewImageAbstand; //breite eines preview-bildes plus abstand + int previewNumber = panelWidthAvailable / previewBildmitAbstand; //anzahl der möglichen preview-bilder + int bildAbstand = (panelPreview.Width - 22 - (previewNumber * previewImageWidth)) / previewNumber; //errechneter Bildabstand für bessere verteilung + + for (int i = 1; i <= previewNumber; i++) + { + int moveNext = (i * previewImageWidth) + (bildAbstand * i) - 80; + PictureBox pb = new PictureBox + { + Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left, + BackgroundImage = Resources.no_picture, + BackgroundImageLayout = ImageLayout.Stretch, + BorderStyle = BorderStyle.FixedSingle, + Location = new Point(moveNext, previewImageAbstand), + Name = "pictureBoxPreview" + i, + Size = new Size(previewImageWidth, previewImageWidth), + TabIndex = 0, + TabStop = false + }; + panelPreview.Controls.Add(pb); + } + } + + /// + /// Öffnet Seite zum Spenden + /// + /// + /// + private void ButtonHeart_Click(object sender, EventArgs e) + { + Process.Start("https://www.kmpr.at/donate.php"); + } + + /// + /// Öffnet Seite für Weihnachten + /// + /// + /// + private void ButtonChristmas_Click(object sender, EventArgs e) + { + Process.Start("https://www.kmpr.at/christmas.php"); + } } } \ No newline at end of file diff --git a/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj b/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj index 399fc4f..949afe2 100644 --- a/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj +++ b/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj @@ -205,15 +205,19 @@ + + + + diff --git a/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs b/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs index f3495b3..ca598c5 100644 --- a/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs +++ b/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs @@ -160,6 +160,16 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap christmas_tree_icon { + get { + object obj = ResourceManager.GetObject("christmas-tree-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. /// @@ -210,6 +220,16 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap eye_icon { + get { + object obj = ResourceManager.GetObject("eye-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. /// @@ -260,6 +280,16 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap heart_icon { + get { + object obj = ResourceManager.GetObject("heart-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. /// @@ -300,6 +330,16 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap no_picture { + get { + object obj = ResourceManager.GetObject("no-picture", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. /// diff --git a/Mk0.Software.ImageSorter/Properties/Resources.resx b/Mk0.Software.ImageSorter/Properties/Resources.resx index 402c57f..a73a9e2 100644 --- a/Mk0.Software.ImageSorter/Properties/Resources.resx +++ b/Mk0.Software.ImageSorter/Properties/Resources.resx @@ -124,6 +124,9 @@ ..\Cursors\grab.cur;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\eye-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\jpeg.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -139,14 +142,14 @@ ..\Resources\crop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\cog-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\christmas-tree-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\border-2-left-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\jpg.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\border-2-top-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\undo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -166,9 +169,15 @@ ..\Resources\arrow-left-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\webp.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\arrow-right-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\heart-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\transform-rotate-180-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -178,9 +187,6 @@ ..\Resources\arrow-undo-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\border-2-top-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\tiff.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -190,8 +196,8 @@ ..\Resources\border-2-right-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\webp.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\cog-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\richtext-editor-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -208,14 +214,20 @@ ..\Resources\contrast-high-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\jpg.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\shape-flip-horizontal-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\png.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\canvas-size-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\shape-flip-horizontal-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\border-2-bottom-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Cursors\grabbing.cur;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -223,7 +235,7 @@ ..\Resources\bmp.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\border-2-bottom-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\no-picture.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/Mk0.Software.ImageSorter/Resources/christmas-tree-icon.png b/Mk0.Software.ImageSorter/Resources/christmas-tree-icon.png new file mode 100644 index 0000000..28a3957 Binary files /dev/null and b/Mk0.Software.ImageSorter/Resources/christmas-tree-icon.png differ diff --git a/Mk0.Software.ImageSorter/Resources/eye-icon.png b/Mk0.Software.ImageSorter/Resources/eye-icon.png new file mode 100644 index 0000000..09881ef Binary files /dev/null and b/Mk0.Software.ImageSorter/Resources/eye-icon.png differ diff --git a/Mk0.Software.ImageSorter/Resources/heart-icon.png b/Mk0.Software.ImageSorter/Resources/heart-icon.png new file mode 100644 index 0000000..37cd8ff Binary files /dev/null and b/Mk0.Software.ImageSorter/Resources/heart-icon.png differ diff --git a/Mk0.Software.ImageSorter/Resources/no-picture.png b/Mk0.Software.ImageSorter/Resources/no-picture.png new file mode 100644 index 0000000..e3d458f Binary files /dev/null and b/Mk0.Software.ImageSorter/Resources/no-picture.png differ