From c9dd582330e003a1cc22fab7a85a230a361011c9 Mon Sep 17 00:00:00 2001 From: Manuel Kamper Date: Mon, 15 Aug 2022 16:34:55 +0200 Subject: [PATCH] Added a button for donations Added a button for christmas --- Mk0.Software.ImageSorter/Main.Designer.cs | 71 ++++++++++- Mk0.Software.ImageSorter/Main.cs | 114 +++++++++++++++++- .../Mk0.Software.ImageSorter.csproj | 4 + .../Properties/Resources.Designer.cs | 40 ++++++ .../Properties/Resources.resx | 38 ++++-- .../Resources/christmas-tree-icon.png | Bin 0 -> 1830 bytes .../Resources/eye-icon.png | Bin 0 -> 1703 bytes .../Resources/heart-icon.png | Bin 0 -> 1646 bytes .../Resources/no-picture.png | Bin 0 -> 7180 bytes 9 files changed, 247 insertions(+), 20 deletions(-) create mode 100644 Mk0.Software.ImageSorter/Resources/christmas-tree-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/eye-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/heart-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/no-picture.png 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 0000000000000000000000000000000000000000..28a39575ec721ffd6fe1413d56818b86f2cda4c6 GIT binary patch literal 1830 zcmV+>2if?EP)pv1wta0LXBpRDaXPGpaSv`Umz|Z5U*fcUV`o}yZ83HcX#u(;KEGZnKQHJoV~yEIltfU ze1GRMnE0buyaO!)kFuk$<05&iw7B%e+sA--Ugy#S=lah6d|P6`%kvjQtuVpP19L;Nak8-<6%C$4cmg2B{BU;-w>UZwBX%3SWDJyY z8Gb$6iCs(LaGe&n%c+sIL~bpL>Mon>y5V2haO}!T&S3sE@g8f;;sBFG)SBOyo?$3Z~#)GI$3ZECeG%g(Z z2l7#1%0-_rSDM!{Rai4ckLZU4a4)N{v}{NkH|n+cyKxeR@8NJzZ$tUH%7e$ZVD)Ga zqXDofFCoKcDt>u1ei3?yk3pvb8qNSieL%l38Pohs2&0s+`%nTt=8pyaCh5iQ668U4xDG$ar~E6lAzu#bDzT?RmB?9IyKU2gzptxI943NAxr`U*~W2gYO`B zdD8Nkk<&PwxbO)m7r|55=e(su0;_~hD>%Y1$e^~vZhWGhkEGUe7FbcJ1J|pB03HUd8Jp|-H=C?{zH@Q0P6*=# za6O9MEBy>F?(gHI-bpRaomQi`!GiXMMzC}Qc{1HpM?M}TZzvOB3Dn}^^`k8(axiDK z*n0|~NZkQLcDa_*|JW-H2tR1S_^7Zamqk}*2Y4k9hOCH9v}Pxmgy1#kzAB)gw4kMU z3nFM{WFi2Hh1+0Qo3@tYKQ6?^Oe^doqRYL(ddaZoAPeLAHZZrD7X56eWK0Qv0ar{t z$UpV{m=MgUi@!rVPkoY$x-S?dIeU;kLyfo~M;OnxG5Djy0@*W0w`K(?ff&pWdj*%e zT9H>m5L?|t+yNj8P+$sbS0!ZzCvp*}YW)BgPXnR#I%v$^lJP-rGn!`^5jCIU?~)fv zSzb(8nG=G><&=64aId1e#en_gKecw0BKq=g7#<5i5}?UJUcaQrJdFP9zeA_t!Be8u zk_h!t8hDSe@Y3;!PH@CsaBNrFTgaR1p{konTEOC3Obf2OkqeWVfmWH0!xxUi)MkCG zbSHkJfAgaO{3}4J8Ay})BSNl5Sbz^SepCV??gji*4j=O_6ZG3oS`hZyIxH*uMjA5e z&!e}A3excJ*tukH1=EYB;dT@awBbls4O(%NEZ^Y)+$lh+nAh;?x~0q0=gx@4soHnJ z-gctx-azW=ZFs0ZN9uR4I1Yu%8<&a;q3_I1zhrCcpy2^(B;>d@mIquAk^uS3SXIFk z%~6$&nGIF}Q@9o7oBE|VGyIJgYy|N5rgt$bE|%ojCWSz*P~dWPHImzNLPaKL0@`j~ ze5_L-orEHtf5pNcQ=G%CT9}&DXs}sO{*ny1B(ay?RWx9vofW7c^z0mn(9rNp~pY;YF-q7>X$TF_ek86t+dVRZ)}C-pm$ow{b> zbYB7I+Y8V{XMf4hIs_RV0@SWEqwsMf!sn6waeN24AUX#a>^qs?R+NKKXHwn*pwaIQ z8Cdl|3Tj&NAd@*nrtUnsmFWGhvJirJM8!b*77zr_0bCIATsHPsl;Z1WulT`nEN=nO zt^HEjlN@T1$}8iXb-7jYDvb*~Myc#$KayaQow6n+_C05rO5L8@0Rk3n!^Hr9=*GJ{ zPakn3J-sj<+k)Bd07T{Es7=PiKUzI;gm^=0ftwIWS1)SH|7da7Bc2~oj-@302ci0> UKT%=C5&!@I07*qoM6N<$g8T_+_W%F@ literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/eye-icon.png b/Mk0.Software.ImageSorter/Resources/eye-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..09881ef1db95dd8d4c2ce63c0a14e2b9ea73180f GIT binary patch literal 1703 zcmV;Y23YxtP)ncIh90ubW*0&zPW3#8Az~zA0^*Q{l zi=l?QFs^h8LIS^|a>Wm~ogR`u0q(2zDnnGUpl+KNKfE*_!Ds@qs)06H5$V{BlY16}XIO~L zxO-~qJKr;^gi5=9`S@ELtZ%y}i$)rt_p&Xp6kdYjq5?SVR^*V)XFb`Bsd;fs$%~@> zoh@KZCddS!wzd`;$pbkhq2j9P2&s0gZSBIb4T}*?C?Jj`5IR(fLo#p_$2XLN<2ZB+ zc@=lR-hadZ$U4wiEb3~4#5@Ua`6i5=dL7&@D`;H?M^fIAZAt@7D-Z}o6no!lP6O!V z<8tL~RFwprhE6e1iDwgoJ?MF>94zm^wRQbw z1HgG=d+oP2t93j@Ao|BWf|&Cfu$oB9O(mI5!EP~O?&=+wU<+ZYOF+l|HU#`pQg$>s zy$*%cf4E9X|>*N_99(Oi7DZUJJFmJWeNBCQet%_zd|J)nPM1OR>P@0UuZ$Dw@!ARq(rhqXc`iaDct6;bsvx$s-|Dlp~mzG)Q z<`z!|Lt?ChA)crP@@9Z{l_9KIv8nB69P%E8q9oFayvdAfFD}Q!Go5g1y@;PYjM(wr zpg9Y~kPpG$PPG0=t$C)&_x|a|M|MIIDdZ3-UcYe61C^8Y2V4biMU(TWGALb5 z&jFTz8E`apN?jvkP$9{tXhzJ*Kp_@EMPJa zg^$)0*3@2ZUdyUM*qlz7a|*y`J7Kapz_6yjC=XAVMA(N|um|x_A7q(@fZWiMH@ffa z3rd~jwx5WI5hHrEX-H?n;WqMO>(a>$MGjQbngCi6K&i=eD<3)5jE!_A8ycHKvfhTT zkEJ#)-`r(%yFMZTBB^tkhNu5;B&H(+;#@Uv?Cj~|t<^3oTSn8AX*8w5sNB)f6>odK zsi(!b%osLmRl->eoo%s3r_6Z72#uYHB@?QVx@yM7Lm8t2ktF`+t>|3e35~EAuR_Mj xxy<#*Ww=+)7?u9c@c9D#YwH5Q1%Uq?;15Fe2C=uLF{q)naX9OfqgvB`*?Ik zA`u)MSJ1^{+Z!DGjUkIk8f0J*$R*J0~Ho5_S4-C1;ZJ~;74Vc8iqs_HTk?>J!;GdNZYvDyy=I7VVDmE+nf$%<;p|r&10WP-G-7UV@JOyWzAu$fDS#`-DD~jr}qF(x;=z z&cRS{{>$8w@|{e=@6XKSl1c9^Q91IDxSSLE0f`wQ5L~Dffw>=|c-t0mR43_cKSx*I zPvBdc-Ojmz^(l%Bgg9pjuK#+Z?5!eGIs+gnn5J%>vS=Y5oH^wRy-0*XiDxIFa8A?0 zd-@!q&>mkp1KVXCfoEys2G@1EQV}?39}utp`^c{Zb}Ff4&gemu|_JCt1Ptl!mm)YS^mo4Z}#k)AT2iXn1-A z+BbF_^w*5YzE~RW0x*LBXp+!ttsB0f7bVux@<`|nw~>9J4}hj2ElL7Am9+DvJq%6E zp%=BczP6137+e5!uWPDR;UPXgUYyXfuad|&dhI;Q8rplc{}{$H0Mf%#l>5_UA@4*< zM#J%n5r_#vZQDcW8{2w)E6OrgKu z)Qa2n&6RTtjq_>QLfqv^jfdC_mJrA3W~3CWVxtip=iVH;*u&7>G3qQ41DENq0_2NA9WYf?;dpJ+hCO#{Pq>|TJ?(rb z0F2nZOfPJN&y)tIeU%jbn`(SK!eycKu;GPhJRwYuIcl|r#uk|FRAS5Rn#JdvJM^^G zKuj$Yyse>JTbAt6bO)r?u6|h(vn)g)HfBIKr z+ZDJ9?muCF9snL0R+#Lfh{?-P?u`u&(xj%S;5BNLAYgw)#a3E|s*X-WZn1eaE!DW4 z_YUQJxBxtItVPEVNAH?2?xU<>ovEuY6mb%jdcev?Ij&2P8 szj4F>c=Wv8K;U*ftdNfsfDxmA0V~aG?Iw339{>OV07*qoM6N<$f{{-uZU6uP literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/no-picture.png b/Mk0.Software.ImageSorter/Resources/no-picture.png new file mode 100644 index 0000000000000000000000000000000000000000..e3d458f7cb3faa079a4508ab720afd8bc6d0ccc1 GIT binary patch literal 7180 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 literal 0 HcmV?d00001