From e849d0f14500600df62f4ef52aa304915dce15f1 Mon Sep 17 00:00:00 2001 From: Manuel Kamper Date: Mon, 15 Aug 2022 10:37:49 +0200 Subject: [PATCH] New Icons implemented Shortcut R added: shows menu to manually crop borders While the menu for manually cropping borders is shown, you can use the keyboard digits (1-0) to adjust the slider Shortcut Ctrl+Up/Down/Left/Right added: Manually crop selected border (only works if menu for manually cropping is opened; press R before) Shortcut D added: duplicates image Shortcut T added: shows menu for image trasnformations Shortcut Q added: select source path for images to sort --- Mk0.Software.ImageSorter/Main.Designer.cs | 183 +++++++++---- Mk0.Software.ImageSorter/Main.cs | 253 +++++++++++++++++- .../Mk0.Software.ImageSorter.csproj | 23 +- .../Properties/AssemblyInfo.cs | 6 +- .../Properties/Resources.Designer.cs | 210 +++++++++++++++ .../Properties/Resources.resx | 109 ++++++-- .../Resources/arrow-left-icon.png | Bin 0 -> 547 bytes .../Resources/arrow-right-icon.png | Bin 0 -> 558 bytes .../Resources/arrow-undo-icon.png | Bin 0 -> 1582 bytes .../Resources/bin-closed-icon.png | Bin 0 -> 1358 bytes .../Resources/border-2-bottom-icon.png | Bin 0 -> 317 bytes .../Resources/border-2-left-icon.png | Bin 0 -> 304 bytes .../Resources/border-2-right-icon.png | Bin 0 -> 296 bytes .../Resources/border-2-top-icon.png | Bin 0 -> 311 bytes .../Resources/canvas-size-icon.png | Bin 0 -> 1821 bytes .../Resources/cog-icon.png | Bin 0 -> 2157 bytes .../Resources/contrast-high-icon.png | Bin 0 -> 1595 bytes .../Resources/folder-picture-icon.png | Bin 0 -> 1619 bytes .../Resources/hardware-building-oem-icon.png | Bin 0 -> 1467 bytes .../Resources/info-rhombus-icon.png | Bin 0 -> 1724 bytes .../Resources/pictures-icon.png | Bin 0 -> 1460 bytes .../Resources/richtext-editor-icon.png | Bin 0 -> 1800 bytes .../Resources/shape-flip-horizontal-icon.png | Bin 0 -> 1662 bytes .../Resources/shape-flip-vertical-icon.png | Bin 0 -> 1337 bytes .../Resources/transform-rotate-180-icon.png | Bin 0 -> 1713 bytes .../Resources/transform-rotate-270-icon.png | Bin 0 -> 1723 bytes .../Resources/transform-rotate-90-icon.png | Bin 0 -> 1634 bytes 27 files changed, 695 insertions(+), 89 deletions(-) create mode 100644 Mk0.Software.ImageSorter/Resources/arrow-left-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/arrow-right-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/arrow-undo-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/bin-closed-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/border-2-bottom-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/border-2-left-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/border-2-right-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/border-2-top-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/canvas-size-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/cog-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/contrast-high-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/folder-picture-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/hardware-building-oem-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/info-rhombus-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/pictures-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/richtext-editor-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/shape-flip-horizontal-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/shape-flip-vertical-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/transform-rotate-180-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/transform-rotate-270-icon.png create mode 100644 Mk0.Software.ImageSorter/Resources/transform-rotate-90-icon.png diff --git a/Mk0.Software.ImageSorter/Main.Designer.cs b/Mk0.Software.ImageSorter/Main.Designer.cs index 50b0356..04da044 100644 --- a/Mk0.Software.ImageSorter/Main.Designer.cs +++ b/Mk0.Software.ImageSorter/Main.Designer.cs @@ -164,12 +164,15 @@ // // buttonSettings // + this.buttonSettings.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.cog_icon; + this.buttonSettings.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonSettings.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonSettings.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.buttonSettings.Font = new System.Drawing.Font("Webdings", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(2))); this.buttonSettings.Location = new System.Drawing.Point(233, 16); this.buttonSettings.Name = "buttonSettings"; this.buttonSettings.Size = new System.Drawing.Size(23, 23); this.buttonSettings.TabIndex = 7; - this.buttonSettings.Text = "@"; this.buttonSettings.UseVisualStyleBackColor = true; this.buttonSettings.Click += new System.EventHandler(this.ButtonSettings_Click); // @@ -218,12 +221,15 @@ // // buttonQuellPfad // + this.buttonQuellPfad.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.folder_picture_icon; + this.buttonQuellPfad.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonQuellPfad.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonQuellPfad.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.buttonQuellPfad.Font = new System.Drawing.Font("Wingdings", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(2))); this.buttonQuellPfad.Location = new System.Drawing.Point(204, 16); this.buttonQuellPfad.Name = "buttonQuellPfad"; this.buttonQuellPfad.Size = new System.Drawing.Size(23, 23); this.buttonQuellPfad.TabIndex = 6; - this.buttonQuellPfad.Text = "1"; this.buttonQuellPfad.UseVisualStyleBackColor = true; this.buttonQuellPfad.Click += new System.EventHandler(this.ButtonQuellPfad_Click); // @@ -248,35 +254,44 @@ // // buttonDateirenamer // + this.buttonDateirenamer.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.richtext_editor_icon; + this.buttonDateirenamer.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.buttonDateirenamer.Enabled = false; + this.buttonDateirenamer.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonDateirenamer.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.buttonDateirenamer.Font = new System.Drawing.Font("Wingdings", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(2))); this.buttonDateirenamer.Location = new System.Drawing.Point(105, 16); this.buttonDateirenamer.Name = "buttonDateirenamer"; this.buttonDateirenamer.Size = new System.Drawing.Size(23, 23); this.buttonDateirenamer.TabIndex = 4; - this.buttonDateirenamer.Text = "4"; this.buttonDateirenamer.UseVisualStyleBackColor = true; this.buttonDateirenamer.Click += new System.EventHandler(this.ButtonDateirenamer_Click); // // buttonInfo // + this.buttonInfo.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.info_rhombus_icon; + this.buttonInfo.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonInfo.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonInfo.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.buttonInfo.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.buttonInfo.Location = new System.Drawing.Point(175, 16); this.buttonInfo.Name = "buttonInfo"; this.buttonInfo.Size = new System.Drawing.Size(23, 23); this.buttonInfo.TabIndex = 5; - this.buttonInfo.Text = "i"; this.buttonInfo.UseVisualStyleBackColor = true; this.buttonInfo.Click += new System.EventHandler(this.ButtonInfo_Click); // // buttonJumpBack // + this.buttonJumpBack.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.arrow_left_icon; + this.buttonJumpBack.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonJumpBack.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonJumpBack.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.buttonJumpBack.Font = new System.Drawing.Font("Wingdings", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(2))); this.buttonJumpBack.Location = new System.Drawing.Point(6, 16); this.buttonJumpBack.Name = "buttonJumpBack"; this.buttonJumpBack.Size = new System.Drawing.Size(23, 23); this.buttonJumpBack.TabIndex = 1; - this.buttonJumpBack.Text = "ç"; this.buttonJumpBack.UseVisualStyleBackColor = true; this.buttonJumpBack.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ButtonJumpBack_Click); // @@ -307,96 +322,120 @@ // // buttonJumpForward // + this.buttonJumpForward.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.arrow_right_icon; + this.buttonJumpForward.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.buttonJumpForward.Enabled = false; + this.buttonJumpForward.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonJumpForward.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.buttonJumpForward.Font = new System.Drawing.Font("Wingdings", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(2))); this.buttonJumpForward.Location = new System.Drawing.Point(35, 16); this.buttonJumpForward.Name = "buttonJumpForward"; this.buttonJumpForward.Size = new System.Drawing.Size(23, 23); this.buttonJumpForward.TabIndex = 2; - this.buttonJumpForward.Text = "è"; this.buttonJumpForward.UseVisualStyleBackColor = true; this.buttonJumpForward.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ButtonJumpForward_Click); // // buttonUndo // + this.buttonUndo.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.arrow_undo_icon; + this.buttonUndo.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.buttonUndo.Enabled = false; + this.buttonUndo.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonUndo.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.buttonUndo.Font = new System.Drawing.Font("Wingdings", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(2))); this.buttonUndo.Location = new System.Drawing.Point(64, 16); this.buttonUndo.Name = "buttonUndo"; this.buttonUndo.Size = new System.Drawing.Size(23, 23); this.buttonUndo.TabIndex = 3; - this.buttonUndo.Text = "Õ"; this.buttonUndo.UseVisualStyleBackColor = true; this.buttonUndo.Click += new System.EventHandler(this.ButtonUndo_Click); // // buttonDeleteImage // this.buttonDeleteImage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonDeleteImage.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.bin_closed_icon; + this.buttonDeleteImage.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonDeleteImage.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonDeleteImage.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.buttonDeleteImage.Location = new System.Drawing.Point(6, 538); this.buttonDeleteImage.Name = "buttonDeleteImage"; - this.buttonDeleteImage.Size = new System.Drawing.Size(95, 23); + this.buttonDeleteImage.Size = new System.Drawing.Size(23, 23); this.buttonDeleteImage.TabIndex = 10; - this.buttonDeleteImage.Text = "Löschen"; this.buttonDeleteImage.UseVisualStyleBackColor = true; this.buttonDeleteImage.Click += new System.EventHandler(this.ImageDelete); // // buttonRotate90 // this.buttonRotate90.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonRotate90.Location = new System.Drawing.Point(6, 20); + this.buttonRotate90.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.transform_rotate_90_icon; + this.buttonRotate90.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonRotate90.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonRotate90.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonRotate90.Location = new System.Drawing.Point(6, 19); this.buttonRotate90.Name = "buttonRotate90"; - this.buttonRotate90.Size = new System.Drawing.Size(95, 23); + this.buttonRotate90.Size = new System.Drawing.Size(23, 23); this.buttonRotate90.TabIndex = 6; this.buttonRotate90.Tag = "90"; - this.buttonRotate90.Text = "Drehen 90°"; this.buttonRotate90.UseVisualStyleBackColor = true; this.buttonRotate90.Click += new System.EventHandler(this.ImageRotate); // // buttonRotate180 // this.buttonRotate180.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonRotate180.Location = new System.Drawing.Point(6, 49); + this.buttonRotate180.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.transform_rotate_180_icon; + this.buttonRotate180.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonRotate180.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonRotate180.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonRotate180.Location = new System.Drawing.Point(35, 19); this.buttonRotate180.Name = "buttonRotate180"; - this.buttonRotate180.Size = new System.Drawing.Size(95, 23); + this.buttonRotate180.Size = new System.Drawing.Size(23, 23); this.buttonRotate180.TabIndex = 7; this.buttonRotate180.Tag = "180"; - this.buttonRotate180.Text = "Drehen 180°"; this.buttonRotate180.UseVisualStyleBackColor = true; this.buttonRotate180.Click += new System.EventHandler(this.ImageRotate); // // buttonRotate270 // this.buttonRotate270.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonRotate270.Location = new System.Drawing.Point(6, 78); + this.buttonRotate270.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.transform_rotate_270_icon; + this.buttonRotate270.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonRotate270.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonRotate270.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonRotate270.Location = new System.Drawing.Point(64, 19); this.buttonRotate270.Name = "buttonRotate270"; - this.buttonRotate270.Size = new System.Drawing.Size(95, 23); + this.buttonRotate270.Size = new System.Drawing.Size(23, 23); this.buttonRotate270.TabIndex = 8; this.buttonRotate270.Tag = "270"; - this.buttonRotate270.Text = "Drehen 270°"; this.buttonRotate270.UseVisualStyleBackColor = true; this.buttonRotate270.Click += new System.EventHandler(this.ImageRotate); // // buttonMirrorHorizontal // this.buttonMirrorHorizontal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonMirrorHorizontal.Location = new System.Drawing.Point(6, 112); + this.buttonMirrorHorizontal.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.shape_flip_horizontal_icon; + this.buttonMirrorHorizontal.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonMirrorHorizontal.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonMirrorHorizontal.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonMirrorHorizontal.Location = new System.Drawing.Point(6, 53); this.buttonMirrorHorizontal.Name = "buttonMirrorHorizontal"; - this.buttonMirrorHorizontal.Size = new System.Drawing.Size(95, 23); + this.buttonMirrorHorizontal.Size = new System.Drawing.Size(23, 23); this.buttonMirrorHorizontal.TabIndex = 9; - this.buttonMirrorHorizontal.Tag = "y"; - this.buttonMirrorHorizontal.Text = "Spiegeln horiz."; + this.buttonMirrorHorizontal.Tag = "x"; this.buttonMirrorHorizontal.UseVisualStyleBackColor = true; this.buttonMirrorHorizontal.Click += new System.EventHandler(this.ImageMirror); // // buttonMirrorVertikal // this.buttonMirrorVertikal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonMirrorVertikal.Location = new System.Drawing.Point(6, 141); + this.buttonMirrorVertikal.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.shape_flip_vertical_icon; + this.buttonMirrorVertikal.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonMirrorVertikal.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonMirrorVertikal.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonMirrorVertikal.Location = new System.Drawing.Point(35, 53); this.buttonMirrorVertikal.Name = "buttonMirrorVertikal"; - this.buttonMirrorVertikal.Size = new System.Drawing.Size(95, 23); + this.buttonMirrorVertikal.Size = new System.Drawing.Size(23, 23); this.buttonMirrorVertikal.TabIndex = 10; - this.buttonMirrorVertikal.Tag = "x"; - this.buttonMirrorVertikal.Text = "Spiegeln vertikal"; + this.buttonMirrorVertikal.Tag = "y"; this.buttonMirrorVertikal.UseVisualStyleBackColor = true; this.buttonMirrorVertikal.Click += new System.EventHandler(this.ImageMirror); // @@ -427,7 +466,7 @@ this.labelNoImages.Size = new System.Drawing.Size(682, 526); this.labelNoImages.TabIndex = 1; this.labelNoImages.Text = "Keine Bilder im aktuellen Pfad vorhanden.\r\nBitte den Quellpfad ändern, um Bilder " + - "zu sortieren.\r\nErlaubte Dateiformate sind (JPG, PNG, GIF, BMP, TIF)."; + "zu sortieren.\r\nErlaubte Dateiformate sind (JPG, PNG, GIF, BMP, TIF, WEBP)."; this.labelNoImages.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // groupBoxRander @@ -439,9 +478,9 @@ this.groupBoxRander.Controls.Add(this.buttonRandRechts); this.groupBoxRander.Controls.Add(this.buttonRandUnten); this.groupBoxRander.Controls.Add(this.buttonRandOben); - this.groupBoxRander.Location = new System.Drawing.Point(428, 347); + this.groupBoxRander.Location = new System.Drawing.Point(161, 423); this.groupBoxRander.Name = "groupBoxRander"; - this.groupBoxRander.Size = new System.Drawing.Size(109, 186); + this.groupBoxRander.Size = new System.Drawing.Size(125, 110); this.groupBoxRander.TabIndex = 18; this.groupBoxRander.TabStop = false; this.groupBoxRander.Text = "Ränder schneiden"; @@ -451,7 +490,7 @@ // this.labelRander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.labelRander.AutoSize = true; - this.labelRander.Location = new System.Drawing.Point(6, 52); + this.labelRander.Location = new System.Drawing.Point(6, 54); this.labelRander.Name = "labelRander"; this.labelRander.Size = new System.Drawing.Size(30, 13); this.labelRander.TabIndex = 12; @@ -461,10 +500,10 @@ // this.trackBarRander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.trackBarRander.LargeChange = 1; - this.trackBarRander.Location = new System.Drawing.Point(6, 18); + this.trackBarRander.Location = new System.Drawing.Point(6, 21); this.trackBarRander.Minimum = 1; this.trackBarRander.Name = "trackBarRander"; - this.trackBarRander.Size = new System.Drawing.Size(95, 45); + this.trackBarRander.Size = new System.Drawing.Size(110, 45); this.trackBarRander.TabIndex = 13; this.trackBarRander.Value = 1; this.trackBarRander.Scroll += new System.EventHandler(this.TrackBarRander_Scroll); @@ -472,48 +511,60 @@ // buttonRandLinks // this.buttonRandLinks.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonRandLinks.Location = new System.Drawing.Point(6, 69); + this.buttonRandLinks.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.border_2_left_icon; + this.buttonRandLinks.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonRandLinks.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonRandLinks.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonRandLinks.Location = new System.Drawing.Point(6, 75); this.buttonRandLinks.Name = "buttonRandLinks"; - this.buttonRandLinks.Size = new System.Drawing.Size(95, 23); + this.buttonRandLinks.Size = new System.Drawing.Size(23, 23); this.buttonRandLinks.TabIndex = 7; this.buttonRandLinks.Tag = "links"; - this.buttonRandLinks.Text = "links"; this.buttonRandLinks.UseVisualStyleBackColor = true; this.buttonRandLinks.Click += new System.EventHandler(this.RandSchneiden_Click); // // buttonRandRechts // this.buttonRandRechts.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonRandRechts.Location = new System.Drawing.Point(6, 98); + this.buttonRandRechts.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.border_2_right_icon; + this.buttonRandRechts.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonRandRechts.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonRandRechts.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonRandRechts.Location = new System.Drawing.Point(35, 75); this.buttonRandRechts.Name = "buttonRandRechts"; - this.buttonRandRechts.Size = new System.Drawing.Size(95, 23); + this.buttonRandRechts.Size = new System.Drawing.Size(23, 23); this.buttonRandRechts.TabIndex = 8; this.buttonRandRechts.Tag = "rechts"; - this.buttonRandRechts.Text = "rechts"; this.buttonRandRechts.UseVisualStyleBackColor = true; this.buttonRandRechts.Click += new System.EventHandler(this.RandSchneiden_Click); // // buttonRandUnten // this.buttonRandUnten.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonRandUnten.Location = new System.Drawing.Point(6, 156); + this.buttonRandUnten.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.border_2_bottom_icon; + this.buttonRandUnten.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonRandUnten.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonRandUnten.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonRandUnten.Location = new System.Drawing.Point(93, 75); this.buttonRandUnten.Name = "buttonRandUnten"; - this.buttonRandUnten.Size = new System.Drawing.Size(95, 23); + this.buttonRandUnten.Size = new System.Drawing.Size(23, 23); this.buttonRandUnten.TabIndex = 10; this.buttonRandUnten.Tag = "unten"; - this.buttonRandUnten.Text = "unten"; this.buttonRandUnten.UseVisualStyleBackColor = true; this.buttonRandUnten.Click += new System.EventHandler(this.RandSchneiden_Click); // // buttonRandOben // this.buttonRandOben.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonRandOben.Location = new System.Drawing.Point(6, 127); + this.buttonRandOben.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.border_2_top_icon; + this.buttonRandOben.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonRandOben.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonRandOben.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonRandOben.Location = new System.Drawing.Point(64, 75); this.buttonRandOben.Name = "buttonRandOben"; - this.buttonRandOben.Size = new System.Drawing.Size(95, 23); + this.buttonRandOben.Size = new System.Drawing.Size(23, 23); this.buttonRandOben.TabIndex = 9; this.buttonRandOben.Tag = "oben"; - this.buttonRandOben.Text = "oben"; this.buttonRandOben.UseVisualStyleBackColor = true; this.buttonRandOben.Click += new System.EventHandler(this.RandSchneiden_Click); // @@ -608,12 +659,16 @@ // buttonDuplicate // this.buttonDuplicate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonDuplicate.Location = new System.Drawing.Point(220, 538); + this.buttonDuplicate.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.pictures_icon; + this.buttonDuplicate.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonDuplicate.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonDuplicate.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonDuplicate.Font = new System.Drawing.Font("Webdings", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(2))); + this.buttonDuplicate.Location = new System.Drawing.Point(83, 538); this.buttonDuplicate.Name = "buttonDuplicate"; - this.buttonDuplicate.Size = new System.Drawing.Size(95, 23); + this.buttonDuplicate.Size = new System.Drawing.Size(23, 23); this.buttonDuplicate.TabIndex = 12; this.buttonDuplicate.Tag = ""; - this.buttonDuplicate.Text = "Duplizieren"; this.buttonDuplicate.UseVisualStyleBackColor = true; this.buttonDuplicate.Click += new System.EventHandler(this.ButtonDuplicate_Click); // @@ -625,9 +680,9 @@ this.groupBoxTransformation.Controls.Add(this.buttonRotate270); this.groupBoxTransformation.Controls.Add(this.buttonMirrorVertikal); this.groupBoxTransformation.Controls.Add(this.buttonMirrorHorizontal); - this.groupBoxTransformation.Location = new System.Drawing.Point(108, 362); + this.groupBoxTransformation.Location = new System.Drawing.Point(46, 445); this.groupBoxTransformation.Name = "groupBoxTransformation"; - this.groupBoxTransformation.Size = new System.Drawing.Size(109, 171); + this.groupBoxTransformation.Size = new System.Drawing.Size(109, 88); this.groupBoxTransformation.TabIndex = 17; this.groupBoxTransformation.TabStop = false; this.groupBoxTransformation.Text = "Transformation"; @@ -636,36 +691,46 @@ // buttonTransformation // this.buttonTransformation.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonTransformation.Location = new System.Drawing.Point(113, 538); + this.buttonTransformation.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.canvas_size_icon; + this.buttonTransformation.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonTransformation.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonTransformation.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonTransformation.Location = new System.Drawing.Point(45, 538); this.buttonTransformation.Name = "buttonTransformation"; - this.buttonTransformation.Size = new System.Drawing.Size(95, 23); + this.buttonTransformation.Size = new System.Drawing.Size(23, 23); this.buttonTransformation.TabIndex = 11; this.buttonTransformation.Tag = ""; - this.buttonTransformation.Text = "Transformation"; this.buttonTransformation.UseVisualStyleBackColor = true; this.buttonTransformation.Click += new System.EventHandler(this.ButtonTransformation_Click); // // buttonHintergrund // this.buttonHintergrund.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonHintergrund.Location = new System.Drawing.Point(327, 538); + this.buttonHintergrund.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.contrast_high_icon; + this.buttonHintergrund.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonHintergrund.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonHintergrund.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonHintergrund.Location = new System.Drawing.Point(122, 538); this.buttonHintergrund.Name = "buttonHintergrund"; - this.buttonHintergrund.Size = new System.Drawing.Size(95, 23); + this.buttonHintergrund.Size = new System.Drawing.Size(23, 23); this.buttonHintergrund.TabIndex = 13; this.buttonHintergrund.Tag = ""; - this.buttonHintergrund.Text = "hell/dunkel"; this.buttonHintergrund.UseVisualStyleBackColor = true; this.buttonHintergrund.Click += new System.EventHandler(this.ButtonHintergrund_Click); // // buttonRander // this.buttonRander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonRander.Location = new System.Drawing.Point(434, 538); + this.buttonRander.BackgroundImage = global::Mk0.Software.ImageSorter.Properties.Resources.hardware_building_oem_icon; + this.buttonRander.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.buttonRander.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.buttonRander.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonRander.Font = new System.Drawing.Font("Webdings", 9.5F); + this.buttonRander.Location = new System.Drawing.Point(161, 538); this.buttonRander.Name = "buttonRander"; - this.buttonRander.Size = new System.Drawing.Size(95, 23); + this.buttonRander.Size = new System.Drawing.Size(23, 23); this.buttonRander.TabIndex = 14; this.buttonRander.Tag = ""; - this.buttonRander.Text = "Ränder"; this.buttonRander.UseVisualStyleBackColor = true; this.buttonRander.Click += new System.EventHandler(this.ButtonRander_Click); // @@ -693,7 +758,7 @@ this.MinimumSize = new System.Drawing.Size(983, 605); this.Name = "Main"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "Image Sorter v1.59 | © 2015-2022 by mk0.at"; + this.Text = "Image Sorter v2.0 | © 2015-2022 by kmpr.at"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Main_FormClosing); this.Load += new System.EventHandler(this.Main_Load); this.Shown += new System.EventHandler(this.Main_Shown); diff --git a/Mk0.Software.ImageSorter/Main.cs b/Mk0.Software.ImageSorter/Main.cs index cd698ca..1a2b187 100644 --- a/Mk0.Software.ImageSorter/Main.cs +++ b/Mk0.Software.ImageSorter/Main.cs @@ -238,7 +238,7 @@ namespace Mk0.Software.ImageSorter InitialDelay = 1000, ReshowDelay = 500 }; - t6.SetToolTip(buttonInfo, "Informationen ein-/ausblenden"); + t6.SetToolTip(buttonInfo, "Informationen ein-/ausblenden (I)"); ToolTip t7 = new ToolTip { AutoPopDelay = 5000, @@ -246,6 +246,105 @@ namespace Mk0.Software.ImageSorter ReshowDelay = 500 }; t7.SetToolTip(buttonDateirenamer, "Dateirenamer öffnen (F12)"); + ToolTip t8 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t8.SetToolTip(buttonRander, "Ränder manuell beschneiden (R)"); + ToolTip t9 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t9.SetToolTip(buttonDuplicate, "Duplizieren (D)"); + ToolTip t10 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t10.SetToolTip(buttonDeleteImage, "Löschen (Entf)"); + ToolTip t11 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t11.SetToolTip(buttonHintergrund, "Hintergrund hell/dunkel umschalten (H)"); + ToolTip t12 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t12.SetToolTip(buttonTransformation, "Transformation (T)"); + ToolTip t13 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t13.SetToolTip(buttonMirrorHorizontal, "Horizontal spiegeln"); + ToolTip t14 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + + }; + t14.SetToolTip(buttonMirrorVertikal, "Vertikal spiegeln"); + ToolTip t15 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t15.SetToolTip(buttonRotate90, "Drehen 90°"); + ToolTip t16 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t16.SetToolTip(buttonRotate180, "Drehen 180°"); + ToolTip t17 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t17.SetToolTip(buttonRotate270, "Drehen 270°"); + ToolTip t18 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t18.SetToolTip(buttonRandOben, "Oben"); + ToolTip t19 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t19.SetToolTip(buttonRandUnten, "Unten"); + ToolTip t20 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t20.SetToolTip(buttonRandRechts, "Rechts"); + ToolTip t21 = new ToolTip + { + AutoPopDelay = 5000, + InitialDelay = 1000, + ReshowDelay = 500 + }; + t21.SetToolTip(buttonRandLinks, "Links"); } /// @@ -1348,7 +1447,7 @@ namespace Mk0.Software.ImageSorter e.Handled = true; } - if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Down) + if (!e.Control && (e.KeyCode == Keys.Left || e.KeyCode == Keys.Down)) { CountPicsInPath(); LoadPicture(imageIndex - 1); @@ -1356,7 +1455,7 @@ namespace Mk0.Software.ImageSorter e.Handled = true; } - if (e.KeyCode == Keys.Right || e.KeyCode == Keys.Up) + if (!e.Control && (e.KeyCode == Keys.Right || e.KeyCode == Keys.Up)) { CountPicsInPath(); LoadPicture(imageIndex + 1); @@ -1423,6 +1522,154 @@ namespace Mk0.Software.ImageSorter buttonInfo.PerformClick(); e.Handled = true; } + + if (e.KeyCode == Keys.R) + { + buttonRander.PerformClick(); + e.Handled = true; + } + + if (e.KeyCode == Keys.D) + { + buttonDuplicate.PerformClick(); + e.Handled = true; + } + + if (e.KeyCode == Keys.T) + { + buttonTransformation.PerformClick(); + e.Handled = true; + } + + if (e.KeyCode == Keys.Q) + { + buttonQuellPfad.PerformClick(); + e.Handled = true; + } + + if (e.KeyCode == Keys.D1) + { + if (groupBoxRander.Visible) + { + trackBarRander.Value = 1; + TrackBarRander_Scroll(sender, e); + e.Handled = true; + } + } + + if (e.KeyCode == Keys.D2) + { + if (groupBoxRander.Visible) + { + trackBarRander.Value = 2; + TrackBarRander_Scroll(sender, e); + e.Handled = true; + } + } + + if (e.KeyCode == Keys.D3) + { + if (groupBoxRander.Visible) + { + trackBarRander.Value = 3; + TrackBarRander_Scroll(sender, e); + e.Handled = true; + } + } + + if (e.KeyCode == Keys.D4) + { + if (groupBoxRander.Visible) + { + trackBarRander.Value = 4; + TrackBarRander_Scroll(sender, e); + e.Handled = true; + } + } + + if (e.KeyCode == Keys.D5) + { + if (groupBoxRander.Visible) + { + trackBarRander.Value = 5; + TrackBarRander_Scroll(sender, e); + e.Handled = true; + } + } + + if (e.KeyCode == Keys.D6) + { + if (groupBoxRander.Visible) + { + trackBarRander.Value = 6; + TrackBarRander_Scroll(sender, e); + e.Handled = true; + } + } + + if (e.KeyCode == Keys.D7) + { + if (groupBoxRander.Visible) + { + trackBarRander.Value = 7; + TrackBarRander_Scroll(sender, e); + e.Handled = true; + } + } + + if (e.KeyCode == Keys.D8) + { + if (groupBoxRander.Visible) + { + trackBarRander.Value = 8; + TrackBarRander_Scroll(sender, e); + e.Handled = true; + } + } + + if (e.KeyCode == Keys.D9) + { + if (groupBoxRander.Visible) + { + trackBarRander.Value = 9; + TrackBarRander_Scroll(sender, e); + e.Handled = true; + } + } + + if (e.KeyCode == Keys.D0) + { + if (groupBoxRander.Visible) + { + trackBarRander.Value = 10; + TrackBarRander_Scroll(sender, e); + e.Handled = true; + } + } + + if (e.Control && e.KeyCode == Keys.Left) + { + buttonRandLinks.PerformClick(); + e.Handled = true; + } + + if (e.Control && e.KeyCode == Keys.Right) + { + buttonRandRechts.PerformClick(); + e.Handled = true; + } + + if (e.Control && e.KeyCode == Keys.Up) + { + buttonRandOben.PerformClick(); + e.Handled = true; + } + + if (e.Control && e.KeyCode == Keys.Down) + { + buttonRandUnten.PerformClick(); + e.Handled = true; + } } /// diff --git a/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj b/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj index 1cf72d8..399fc4f 100644 --- a/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj +++ b/Mk0.Software.ImageSorter/Mk0.Software.ImageSorter.csproj @@ -33,7 +33,7 @@ manuelkamper.com false 0 - 1.59.0.0 + 2.0.0.0 true true true @@ -187,16 +187,37 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Mk0.Software.ImageSorter/Properties/AssemblyInfo.cs b/Mk0.Software.ImageSorter/Properties/AssemblyInfo.cs index 0a5a173..43677d8 100644 --- a/Mk0.Software.ImageSorter/Properties/AssemblyInfo.cs +++ b/Mk0.Software.ImageSorter/Properties/AssemblyInfo.cs @@ -8,9 +8,9 @@ using System.Runtime.InteropServices; [assembly: AssemblyTitle("Image Sorter")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("mk0.at")] +[assembly: AssemblyCompany("kmpr.at")] [assembly: AssemblyProduct("ImageSorter")] -[assembly: AssemblyCopyright("Copyright © 2015-2022 by mk0.at")] +[assembly: AssemblyCopyright("Copyright © 2015-2022 by kmpr.at")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.59.*")] +[assembly: AssemblyVersion("2.0.*")] //[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs b/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs index 589e271..f3495b3 100644 --- a/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs +++ b/Mk0.Software.ImageSorter/Properties/Resources.Designer.cs @@ -60,6 +60,46 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap arrow_left_icon { + get { + object obj = ResourceManager.GetObject("arrow-left-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap arrow_right_icon { + get { + object obj = ResourceManager.GetObject("arrow-right-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap arrow_undo_icon { + get { + object obj = ResourceManager.GetObject("arrow-undo-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap bin_closed_icon { + get { + object obj = ResourceManager.GetObject("bin-closed-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol). /// @@ -70,6 +110,76 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap border_2_bottom_icon { + get { + object obj = ResourceManager.GetObject("border-2-bottom-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap border_2_left_icon { + get { + object obj = ResourceManager.GetObject("border-2-left-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap border_2_right_icon { + get { + object obj = ResourceManager.GetObject("border-2-right-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap border_2_top_icon { + get { + object obj = ResourceManager.GetObject("border-2-top-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap canvas_size_icon { + get { + object obj = ResourceManager.GetObject("canvas-size-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap cog_icon { + get { + object obj = ResourceManager.GetObject("cog-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap contrast_high_icon { + get { + object obj = ResourceManager.GetObject("contrast-high-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. /// @@ -100,6 +210,16 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap folder_picture_icon { + get { + object obj = ResourceManager.GetObject("folder-picture-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol). /// @@ -130,6 +250,26 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap hardware_building_oem_icon { + get { + object obj = ResourceManager.GetObject("hardware-building-oem-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap info_rhombus_icon { + get { + object obj = ResourceManager.GetObject("info-rhombus-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol). /// @@ -160,6 +300,16 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pictures_icon { + get { + object obj = ResourceManager.GetObject("pictures-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol). /// @@ -170,6 +320,36 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap richtext_editor_icon { + get { + object obj = ResourceManager.GetObject("richtext-editor-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap shape_flip_horizontal_icon { + get { + object obj = ResourceManager.GetObject("shape-flip-horizontal-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap shape_flip_vertical_icon { + get { + object obj = ResourceManager.GetObject("shape-flip-vertical-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Icon ähnlich wie (Symbol). /// @@ -190,6 +370,36 @@ namespace Mk0.Software.ImageSorter.Properties { } } + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap transform_rotate_180_icon { + get { + object obj = ResourceManager.GetObject("transform-rotate-180-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap transform_rotate_270_icon { + get { + object obj = ResourceManager.GetObject("transform-rotate-270-icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap transform_rotate_90_icon { + get { + object obj = ResourceManager.GetObject("transform-rotate-90-icon", 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 fd51edd..402c57f 100644 --- a/Mk0.Software.ImageSorter/Properties/Resources.resx +++ b/Mk0.Software.ImageSorter/Properties/Resources.resx @@ -118,49 +118,112 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\bmp.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\crop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\duplicate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\gif.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\shape-flip-vertical-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Cursors\grab.cur;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Cursors\grabbing.cur;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\Resources\jpeg.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\gif.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\bin-closed-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\duplicate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\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\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\undo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\folder-picture-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\transform-rotate-90-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\hardware-building-oem-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\move.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\arrow-left-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\tif.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\transform-rotate-180-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\pictures-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\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 - - ..\Resources\undo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\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\richtext-editor-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\tif.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\transform-rotate-270-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\info-rhombus-icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\contrast-high-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 + + + ..\Cursors\grabbing.cur;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\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 + \ No newline at end of file diff --git a/Mk0.Software.ImageSorter/Resources/arrow-left-icon.png b/Mk0.Software.ImageSorter/Resources/arrow-left-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a37132706c9b804dff463ef3339d90b08e1ae6de GIT binary patch literal 547 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 KKbLh*2~7aZka&*( literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/border-2-left-icon.png b/Mk0.Software.ImageSorter/Resources/border-2-left-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a2376066f74aea5b448678a478f074abd25be0f6 GIT binary patch literal 304 zcmV-00nh%4P)H~=KGxj9rE zNWCJ`AZ{rB3dO_%6nzvq02ZgDIsjSUXb6mkz-R~zo)CbRgaZ`#VE{?{4jWb!4l-}>7v=uzNoXxp$L{BE1{ng9O{a`N~DnLgcb zmSrea^mri7+1BXvPPX&ck=m^5_fk`Su$MTju$b_l%aUcEli|h&ncAd%TUW<7Noepj z92H#2r{FAK#@^F*AcF%)bZ{{yc>XAI@ODaw{U8)2p3u@Duq8)*TUql;^{9BwEoLcA zSK1^L9rzXacpAMeoEs9in91m}yE!MAumFiIW=jflJFc0_Ot=*wAi{M)VE1{3x6+#! p4YlXWFl>Hpens%Xy^jq{3>LdS7#!xcSpf7pgQu&X%Q~loCIFKdZRr32 literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/border-2-top-icon.png b/Mk0.Software.ImageSorter/Resources/border-2-top-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..66bb687fd74d49d06a07e630bab47c8cdb8bc4d1 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJf1WOmAr-fhQxXyqKCg}aJh}0q zJ@a1%<-^aO36v>37FV7i@MYEQ4}CBH$1nI`zo_@e`2$Bj%%3>1@#FvcNnigar=;Du zCZfRdWFNbw!x|m^zp2-k%$(=&EnjHQ!Kit&H|;I{Bs1wNEL1021dy(XsR+fwzRYhMDTNw5-rg1Rb-0xw~z$?a- z@=CfUGr>f>r|m!n2ZXqDYeFyMrO-v@45h3G_daH1WpGoNXi)O*JU1{T7(8A5T-G@y GGywoK-h(6n literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/canvas-size-icon.png b/Mk0.Software.ImageSorter/Resources/canvas-size-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..962ca7ec61a8a58a7c6e13fad857b18a17b22c70 GIT binary patch literal 1821 zcmV+&2jcjNP)+=l4IiEtY$yCg7T)HSpej5ushX5@P!*2qLHzi`gF5>-f z%rL%bN54gcU6dgC`5@16kR+)*ORvwOzjhZuU`c7|BYj53h^S{9PNLk9g4Ktc<^M<5 zMk3u2iC$xf1Tb~VWEa2$ zs=DU|aPwBDB7lwn_Wp7MXD;7|P6d3F9*yeuhw{6m@F09w-iQGQuz2P;Y*{iD13mzz zOb+!A(Ajxg5rBLTS~B@)oq*`V1{gn1!m;N2^1D@$<6!u<8jU$Icr;*#g_cBA@I(d> z8al~8!0oO(iU6`NQ0qVfSX5Y#t!tCf|{b^9AGSb~JR^pmO%6W{3$}~mYwdYjI}J4?je*7HKyYxdG5`rtH^nBb zeGf6W;2iW36Y)74(C+YvC(bz_6C_t>_L>P01D4!@sew*VVK)JrTJE4VcM&v!K_JaR z*3$rGWu@Ke=^1!+a~XcxoP-Y#n$cX40Gm~mKfo+vbFhzyvQ;>ECTVE4Jk-t^vo>lC zkI39we7`;(EB967%DxPgmzN*N zcU~bgI~3PgM@zToW!+_*-Il6lbwSCyDjp=p&c)wdkA_U=zQ)Y_(}G9gOie2;ehl3u(JJOg=q006(pZ#(!3aBESo@Tdq9Rh-*FlL$hZaCP@b(;$q}6>S`OX zFF|5X7)GxRk*NwDIpK*fJ7lE>%6F}bu0|oe!;2uVJc3A1)rbB z;$)%gh)?CJ7#S@iR?EfBR^}-aL7r694xFf?jON0oR#1lE{))Z zLo=_W4Mpc~;?iDrU=c`&Oe91ro|58{l5SEb*sT@_%x3g8n{z<-q$4xu6}6$b<+kkE za7Ij4#3bZr&&Gh&QzIC#nt&hE9-&o}f~vJ3)kXFS9{?7M1-_E(Fj_U{8BQVZy(kYU z&i}Cq7mdqcwJ19%`(cr-)jk8jYPIq!)>ip2r*b@~5>_-V*JR*ygS3?51)(c!gp zt|SP8e*lL=S?5(M6?PQ0;6!sLGz7CDYaxm+-ebOxta;;cptuoM`snh=Q0&N#@H>uQ z08tbbJF-K{tD8(%|L!6ZD>}~h51^e6By4~%I*^PH(2>Y+IB?vID_{E`$1i|vLWMPS zsoI<^rC1oh5IpIFyAz5O@8`|Gqit{IGsjQ_phH6UNG~SL2jY|CDE6JQtrB29TQ}qb z&q~gVi3dRN;UhXe-oKeIyB_O!R@VH;sTW;S-7zX`Xi8T;rc z$~wU7wB;)WFv~g1J(T-L*pHcq9jBkb?Q;4&iS44UW7A_i=k@%5wP-_pJZRTt00000 LNkvXXu0mjf>{eRu literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/cog-icon.png b/Mk0.Software.ImageSorter/Resources/cog-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8318b8f52897371e8f2bc5fb6cca7943b3a2b28f GIT binary patch literal 2157 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 literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/contrast-high-icon.png b/Mk0.Software.ImageSorter/Resources/contrast-high-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..10915875c15ac05c3aac0efa2e3ed41efd72ecd7 GIT binary patch literal 1595 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 VNQ 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 literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/richtext-editor-icon.png b/Mk0.Software.ImageSorter/Resources/richtext-editor-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6eafdec36cc6662067cebca3bf21e801d82eaf76 GIT binary patch literal 1800 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®8YdUi0TjLhV=#8YMuRQe!rA1Jj_zbLCgb z`D$sRK_LkMQu!93@@+)rBOa~OnGZt86wvW=FhDv2baeGT7l44b=Ca^Gb~%)m85EKL z;0Tlc$che~8R#{R50_501L5F=jS$p$TmS$707*qo IM6N<$f)w%o0{{R3 literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/shape-flip-vertical-icon.png b/Mk0.Software.ImageSorter/Resources/shape-flip-vertical-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..12a2fe241f8235f9f4bc66771346ecd0842c2e0e GIT binary patch literal 1337 zcmV-91;+Y`P)Q=&6kPD-4SHPNUz~BEx@z;11cg7z>mSr3auff|4;M^|HVgYn5C$AikIKE#H zgsq_}A3EwPQ0&RY=tL5CA4c)dWE5#h0;l`|B4l)h3Ks>C5fg7XD9U_SV|6h?m0oPB z^59`i!YJ+X-lI6;DNzZ?aTJ&y*t1M7NisTuUi1!LC4k-Y22jMr8O^Gg{HB^J3R+pf zBH+Pv0{13kc$`RQUe*NF8UvscKuaJWy=UeDkQI~6#N@IX8%a#;Z0%+NQO}5;00|N|ZA@d`5Z~V&z^l4rl=MTL*sp zAzWS387%W4RN+A~1;mmfVkrtr3Z4&oQE`7X{cFoFU8KP=TM{X2={im`}Z&a8~GY?rwX_d#u~;0@;eN`KyD(>!LlU%na0u_ zCyyyraNz6V8%dFSLzHF@VA)9M!+H{;ftP>3@Lr^m#j)=Ha%A$`_qVLj<}=pw)o-|T zG;C8u*nNI@?DEkt?njfjH4(+=R17+9wzV!*Hk4sR9rVqB4{x0x!IfhX~R9OCt{dNrf1r%w$r}~6gyxlG;Ax)N7ol4`2K^4QigW&(#Sif zdmJSjwmV(k>b4+VCW1a#O$KG*D2>-qns#Yf&dl{!Y{l7eyrsxF2Y^LkrRY?DEzL(i z+vg~)-dm7o&ugouO9r`)qNWI7Y&wpAY5YP3Sx7drM-cMa=KwHc_0P)CNWO~P!7^jX z_dDwkp6az0t>07TwFn)QnWlhSS&*cbdG}EQQM!1{_gJ#ycwN5vDFChMR1oH-EX?YS zjm7Ibj_l9%mhFgCy1=})#HlQZr6uKFkd$8DMcErAb`t>%6F|dDZ$!K%E4iv(9JSrY z!|uT5R#)MghDb#|!UVInAS2#rTBMtiNMe(o`%$miIBx)LcJ-R9SX8}O!$&^paF$kY zcQEm8pvw!1*PfdZZ$gw1r|c*bMokXWja@J-7~n}5rWZklvEm8w`todfZ3Mz#^n7N# zh(wU7B3i7|Eeb$u&l9gB)P1}&ud42FsmGGTKw8#%<}6ej(V_vKgvpAR!6KtFMFOMzr9lPKMRu;FZ-pdFQWegk$k#^cU%cP00000NkvXXu0mjfqb7mt literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/transform-rotate-180-icon.png b/Mk0.Software.ImageSorter/Resources/transform-rotate-180-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cd898501d9156288cbf398c89ae1d8d1a957eb62 GIT binary patch literal 1713 zcmV;i22S~jP)2@*5_6Bv zkp?MG0VT==ikeMStX3QBSicy04Hmd|rxmL5g@bShpi}l;Iiv~=+>^L45EOG|K+`k~ zvSYw;0KUlbUCm=ys|tYMsu~4@Z~@RMd6&M-PK@|Wy)Xzg{T9%Tm_UTf7WYu#rS^##3_3({7n}hR1C?*u?%DfB3vt)iL6`!XI>f8k& zPcJGTNY7je4fV~?e5>SO{keiOIIl;sMufe#x=q*hgrdcsoXy(zADxTi^84DO@lA5CyG{xp8!KwB66oZ+=KfND1m$&_)=)L2q!DZ4Ynb zrQZSqqQD(j;Et6%023J*dCb$(b34N@c`Yq1$CXOu7B4TaVvEIcrnR-T2t%vmBesCg zlK`A+=jRl}2EW-!KDpVc0LYkw0C(L0$g2s(x$`&|>r%q--p26mz*{pq>u_^M0OUB= z&(8(&b1$uemkmF3cE=6iDMla{BXE+uL$ld@)!W;9GlpD-5GN4gC^~!coHGJ2AQZqj z8Y5wY#>U2UtJOMzNfsL%9DJI05bhRk!2te1fJpvfD;gVid&eWZgI0bn8k4k2BoYPc z_4-BK-QAk-@bEO5Om-b3HiSv4nlS(xY(#@WJOH4xZjwY8@*^1XeOPvfu&LQWXltQH)Bc zOUY)lbu~0JY{FXtCsQgH=3`~NhbIu=sR?F=Ij4Q3E5tRDA7&JBT4Cu${Gx6^g_0Zl z*Ss|q06CoI^Y@+LEE_pW065PH8!-mXQtIbli6=@B0fA@VaK~xa$6vXn9~ZA&l#o#M zYKQ`=?zWJA!e=S~au!JWdn50N)UX%7=5pX((=@*>%lP_sugx-6eltJk9dMQ~0rptF z_wu!^If<*D7&)l9*Ft&<`E;7nnGBDW1!c@f8xr7$lE1NS%X%d>|4NkI#wtPLT^JoI ze=TR}0ytOO2ZOpUb7g*ZsE`02sfA@s=5iGTNF{K#vdPg^`OlUBjg3v%Jb#D@mBWMH z321Ha2Ys97a?SA%b_fOFfjtG2x-1Urd&VJC=?g}dbGBO&8rwJ#3>&S`H^zdIVWGF} z5!^quJ9(r-(;x(ZN5-LR%OV0hf}^S$Cv ziojW#MnNI~&JvxE5Y>y9C&47{RCD)F$Nvg4IL>Zn3`4bbXAd5p80aKl&0dr-6uV$K z;DSgiD6L+Ry&7sNZepEhWrMR+t-M3hgp7joP$H!{t^bBIhRFD$yqXywuBkr!?sjlC z9(Hi{17;rP*%163;2{*ev&X>qep3yh0bCGX{H|Zv@$=&!vUBU7EF}Xq00000NkvXX Hu0mjf)8!wH literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/transform-rotate-270-icon.png b/Mk0.Software.ImageSorter/Resources/transform-rotate-270-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..10caf67a2d2d59cd317257798cea471e62c85f4b GIT binary patch literal 1723 zcmV;s21NOZP)?U$WvNc%Cpe-;iy>&CKX4oe{SG7W zJb(nbd|TTCFUkVpx9WPYk(eaFrJN}KSdp~iy@ZHhQ0c7DF=Pf7KU>}Q38NvC8#smm z9^W#erEvbreegz3Ob}R+aX3i6XMf+0b&*ikHVTGuCkQx%XC_VX2;BU{Bg=B2ZEb_9 zoQyd9(1BulRsw>Q;}?F|wl4aBK(Y{bZw8yu2O7N z^8ImA?{>R?QmIr&2rv>DM!PjQ-@P85H1SJ$DfG|TDjExNc)5ZDR93CFIAdyIR z`1ttjMMtIRXkS=Zn8M+32wX0g-QVATt)HJ?79oZXm&C-xY!V8EC1~5H)9JFLQt3Ma zfgl;}4>vS4{1G1?-^O5b<9XhsR4T*CX%YfLddwoS0~D5$5z!D3=C^USB1j0%91Vw1 zCX<~d02YhoY)eZ^HUiv6fZ(pKu3aM|BkchJ0bwB_A*FO}IQ2`gNa<=OPvEgwQ2?L> z0+B!uvbG{?LSUHW4muA;=iT)9V~I1gdr04x(_A5I+o>)HCmY?Eosw|O^kc+CL`1xd z$Na0)>AYKCU!OsfQ-HB9##m?C?e=Spjg7C9a3fgX6fiNNM{dx?68XxDNPCpGy`UKsq32c?92$8Lh|cCr3{j5ZSdKIwjQt{r&xKXtml)B>n^p z*VN;hz=45*RlU8vs%6WTrD3I9K_3S6A)74$0Xix{M?1)iUavps>+7o#i^WdNfg4d# zQHQZC3o$8en3OSS(o2(T0Rmr0xzGZJ_d-|2&N zFZ?!0o{dK1sg910uV_;8BnMEIMn&_}bgrfKK|X#X72-(CFT=2M zJF&Z!Ud`F|(vt|xM|lo~v`QC>1w8#>oC>LBe+sOj-^pO9KA6t*cO1rOj*PE)t1x9% zVq*2ukRYhO*+lLW^PWV2)G28e!fATa6YTUmOM$H@?kP5;NzL2x$@L+(!%}fAN3kC~ z^-gTL4aZ9=_is;1eQ4sL_Er-W<_dvh83!g6BcaXMC%98Y$S^YPBY7$#Ns;IGz z4c6A2e)S-DemzOAu))7g?a}ahAD|?HC|D18I^q8gZxfg#F^BH@u^mqz{{V7O;-CCJ R@xTB8002ovPDHLkV1m?tF?av~ literal 0 HcmV?d00001 diff --git a/Mk0.Software.ImageSorter/Resources/transform-rotate-90-icon.png b/Mk0.Software.ImageSorter/Resources/transform-rotate-90-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4795ab2060821dcb554e9d6dd17e068be9ea993a GIT binary patch literal 1634 zcmV-o2A%ndP) zdr(wm6u{4Y?DE`1SeDfx0u_jb1w_guF$9c?gXfOLg@^1*jtT*FkOCNnfkC?w z1OXrbS-z~-!-lwEI9uB+8H5LbNj*?nl#?9!VPe!G;0#vi8Z`rr(^l7%d(kNG0*0bM zz+SdS1wUW92~xy_8z3_K9d*W*ZT%ZpMML@R2^gAm0L!3y%CiJr;1b+FX_|q)_714Y z&xyy0E)@Q80oc_2XTHf@rP0_ndkCpxY0; zD4B8(fHJ+HVrWxN3Uu_2KwDD_fBEpn^*BC+Vn*>xJ6L+sOA(Y>wJ%LlnWi=frG)0F-c)K$J<8yECk3;^X7LqiOmrp6829CKDGF z6!fM{CdPPMnUAHpFcN(e%AivUsh zyF>iFOpK3U9P1Rv)C5E{j(C(8pYsBsL}mSi9yeP|03stJH~abdm5K_qIIo+bi~y)` z%pi`1h+_{_@}Q<%x^(G#3WXw{bnqN?=x(iN5*5UwGH#YK0x%#IfG^5orBa!MLhc3| zLU{Z5_-w_X8^B1G!$LgwMIyy1Ss zq9# zwtHhDe0}~eEZeddtj#|c<8s=gLFQYa30FO}e&sUwzM&rmyLv2G)Pze3AYWThVar;r zg?vpyD(jD$rvo-Xc*xg&~LN@Z?i++?Z4qh@!pitJDg4m0QtIORkr6+mP79-4+7SX zE-a&cWh68Na0m=AEPwRJ}JS-onaFdKeY#s=;s7w#jx8Z%8)Bqj` gAJOVL7SC?~00bPapI8MLRsaA107*qoM6N<$f}-{Z)c^nh literal 0 HcmV?d00001