From 9fe36ea0c7134aa7ad0f00d51c6cabb8bc763fe2 Mon Sep 17 00:00:00 2001 From: Manuel Kamper Date: Tue, 2 Apr 2019 17:36:31 +0200 Subject: [PATCH] =?UTF-8?q?Zoom-Einstellung=20von=20Buttons=20auf=20Combob?= =?UTF-8?q?ox=20ge=C3=A4ndert=20und=20Optionen=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Mk0.Software.ImageSorter/App.config | 50 ++++++++------ Mk0.Software.ImageSorter/Main.Designer.cs | 63 ++++++++--------- Mk0.Software.ImageSorter/Main.cs | 69 ++++++++++++------- .../Properties/AssemblyInfo.cs | 2 +- .../Properties/Settings.Designer.cs | 14 +++- .../Properties/Settings.settings | 5 +- 6 files changed, 122 insertions(+), 81 deletions(-) diff --git a/Mk0.Software.ImageSorter/App.config b/Mk0.Software.ImageSorter/App.config index 452f2d1..12e7981 100644 --- a/Mk0.Software.ImageSorter/App.config +++ b/Mk0.Software.ImageSorter/App.config @@ -37,27 +37,33 @@ - - - - - - - - True - - - 0 - - - 0 - - - 0 - - - 0 - - + + + + + + + + True + + + 0 + + + 0 + + + 0 + + + 0 + + + False + + + 0 + + diff --git a/Mk0.Software.ImageSorter/Main.Designer.cs b/Mk0.Software.ImageSorter/Main.Designer.cs index 8a15e1a..01efd50 100644 --- a/Mk0.Software.ImageSorter/Main.Designer.cs +++ b/Mk0.Software.ImageSorter/Main.Designer.cs @@ -53,8 +53,6 @@ this.buttonRotate270 = new System.Windows.Forms.Button(); this.buttonMirrorHorizontal = new System.Windows.Forms.Button(); this.buttonMirrorVertikal = new System.Windows.Forms.Button(); - this.buttonZoom100 = new System.Windows.Forms.Button(); - this.buttonZoomAuto = new System.Windows.Forms.Button(); this.panel1 = new System.Windows.Forms.Panel(); this.labelNoImages = new System.Windows.Forms.Label(); this.labelZoom = new System.Windows.Forms.Label(); @@ -64,6 +62,8 @@ this.label1 = new System.Windows.Forms.Label(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog(); + this.comboBoxZoom = new System.Windows.Forms.ComboBox(); + this.label3 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit(); this.contextMenuStrip.SuspendLayout(); this.groupBox1.SuspendLayout(); @@ -333,30 +333,6 @@ this.buttonMirrorVertikal.UseVisualStyleBackColor = true; this.buttonMirrorVertikal.Click += new System.EventHandler(this.ImageMirror); // - // buttonZoom100 - // - this.buttonZoom100.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonZoom100.Location = new System.Drawing.Point(712, 538); - this.buttonZoom100.Name = "buttonZoom100"; - this.buttonZoom100.Size = new System.Drawing.Size(100, 23); - this.buttonZoom100.TabIndex = 11; - this.buttonZoom100.Tag = "100"; - this.buttonZoom100.Text = "Zoom 100%"; - this.buttonZoom100.UseVisualStyleBackColor = true; - this.buttonZoom100.Click += new System.EventHandler(this.Zoom); - // - // buttonZoomAuto - // - this.buttonZoomAuto.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonZoomAuto.Location = new System.Drawing.Point(818, 538); - this.buttonZoomAuto.Name = "buttonZoomAuto"; - this.buttonZoomAuto.Size = new System.Drawing.Size(100, 23); - this.buttonZoomAuto.TabIndex = 12; - this.buttonZoomAuto.Tag = "auto"; - this.buttonZoomAuto.Text = "Zoom Auto"; - this.buttonZoomAuto.UseVisualStyleBackColor = true; - this.buttonZoomAuto.Click += new System.EventHandler(this.Zoom); - // // panel1 // this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -449,16 +425,41 @@ this.pictureBox1.TabIndex = 0; this.pictureBox1.TabStop = false; // + // comboBoxZoom + // + this.comboBoxZoom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.comboBoxZoom.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBoxZoom.FormattingEnabled = true; + this.comboBoxZoom.Items.AddRange(new object[] { + "Auto", + "Vollbild", + "Original"}); + this.comboBoxZoom.Location = new System.Drawing.Point(799, 538); + this.comboBoxZoom.Name = "comboBoxZoom"; + this.comboBoxZoom.Size = new System.Drawing.Size(121, 21); + this.comboBoxZoom.TabIndex = 14; + this.comboBoxZoom.SelectedIndexChanged += new System.EventHandler(this.ComboBoxZoom_SelectedIndexChanged); + // + // label3 + // + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(759, 543); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(34, 13); + this.label3.TabIndex = 15; + this.label3.Text = "Zoom"; + // // 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.label3); + this.Controls.Add(this.comboBoxZoom); this.Controls.Add(this.panel3); this.Controls.Add(this.labelZoom); this.Controls.Add(this.panel1); - this.Controls.Add(this.buttonZoomAuto); - this.Controls.Add(this.buttonZoom100); this.Controls.Add(this.buttonMirrorVertikal); this.Controls.Add(this.buttonMirrorHorizontal); this.Controls.Add(this.buttonRotate270); @@ -472,7 +473,7 @@ this.MinimumSize = new System.Drawing.Size(983, 605); this.Name = "Main"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "Image Sorter v1.28 | © 2015-2019 by manuelkamper.com"; + this.Text = "Image Sorter v1.29 | © 2015-2019 by manuelkamper.com"; 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); @@ -513,8 +514,6 @@ private System.Windows.Forms.Button buttonRotate270; private System.Windows.Forms.Button buttonMirrorHorizontal; private System.Windows.Forms.Button buttonMirrorVertikal; - private System.Windows.Forms.Button buttonZoom100; - private System.Windows.Forms.Button buttonZoomAuto; private System.Windows.Forms.Panel panel1; private System.Windows.Forms.Label labelZoom; private System.Windows.Forms.ContextMenuStrip contextMenuStrip; @@ -532,6 +531,8 @@ private System.Windows.Forms.Button buttonQuellPfad; private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog; private System.Windows.Forms.Label labelZielPath; + private System.Windows.Forms.ComboBox comboBoxZoom; + private System.Windows.Forms.Label label3; } } diff --git a/Mk0.Software.ImageSorter/Main.cs b/Mk0.Software.ImageSorter/Main.cs index f67bd15..815cf68 100644 --- a/Mk0.Software.ImageSorter/Main.cs +++ b/Mk0.Software.ImageSorter/Main.cs @@ -37,7 +37,7 @@ namespace Mk0.Software.ImageSorter private Thread folderThread; private bool threadIsRunning = false; private Banner banner; - private string zoomType = "auto"; + //private string zoomType = "auto"; private string startuppath; private string startupimage; public string[] Args; @@ -49,6 +49,7 @@ namespace Mk0.Software.ImageSorter pictureBox.Cursor = grabCursor; DoubleBuffered = true; SetDefaultPath(); + comboBoxZoom.SelectedIndex = Properties.Settings.Default.zoom; } private void Main_Load(object sender, EventArgs e) @@ -401,8 +402,7 @@ namespace Mk0.Software.ImageSorter buttonRotate180.Enabled = enabled; buttonRotate270.Enabled = enabled; buttonRotate90.Enabled = enabled; - buttonZoom100.Enabled = enabled; - buttonZoomAuto.Enabled = enabled; + comboBoxZoom.Enabled = enabled; buttonJumpOver.Enabled = enabled; labelNoImages.Visible = !enabled; } @@ -672,37 +672,48 @@ namespace Mk0.Software.ImageSorter } /// - /// Zoom-Optionen für Buttons + /// Zoom-Optionen /// /// /// - private void Zoom(object sender, EventArgs e) + private void Zoom() { - Button btn = (Button)sender; - string zoom = btn.Tag.ToString(); + string zoom = comboBoxZoom.SelectedItem.ToString(); - if (zoom == "100") + if (zoom == "Original") { - zoomType = "100"; - buttonZoom100.Font = new Font(buttonZoom100.Font, FontStyle.Bold); - buttonZoomAuto.Font = new Font(buttonZoomAuto.Font, FontStyle.Regular); pictureBox.SizeMode = PictureBoxSizeMode.Zoom; pictureBox.Size = new Size(pictureBox.Image.Width, pictureBox.Image.Height); if (pictureBox.Image.Width > panel1.Width) { pictureBox.Left = (panel1.Width / 2) - (pictureBox.Width / 2); } else { pictureBox.Left = (panel1.Width / 2) - (pictureBox.Image.Width / 2); } if (pictureBox.Image.Height > panel1.Height) { pictureBox.Top = (panel1.Height / 2) - (pictureBox.Height / 2); } else { pictureBox.Top = (panel1.Height / 2) - (pictureBox.Image.Height / 2); } moveable = true; } - else if (zoom == "auto") + else if (zoom == "Vollbild") { - zoomType = "auto"; - buttonZoom100.Font = new Font(buttonZoom100.Font, FontStyle.Regular); - buttonZoomAuto.Font = new Font(buttonZoomAuto.Font, FontStyle.Bold); pictureBox.SizeMode = PictureBoxSizeMode.Zoom; pictureBox.Size = new Size(panel1.Width, panel1.Height); pictureBox.Top = 0; pictureBox.Left = 0; moveable = false; } + else if (zoom == "Auto") + { + pictureBox.SizeMode = PictureBoxSizeMode.Zoom; + if(pictureBox.Image.Width>panel1.Width || pictureBox.Image.Height>panel1.Height) + { + pictureBox.Size = new Size(panel1.Width, panel1.Height); + pictureBox.Top = 0; + pictureBox.Left = 0; + moveable = false; + } + else + { + pictureBox.Size = new Size(pictureBox.Image.Width, pictureBox.Image.Height); + if (pictureBox.Image.Width > panel1.Width) { pictureBox.Left = (panel1.Width / 2) - (pictureBox.Width / 2); } else { pictureBox.Left = (panel1.Width / 2) - (pictureBox.Image.Width / 2); } + if (pictureBox.Image.Height > panel1.Height) { pictureBox.Top = (panel1.Height / 2) - (pictureBox.Height / 2); } else { pictureBox.Top = (panel1.Height / 2) - (pictureBox.Image.Height / 2); } + moveable = true; + } + } else { return; @@ -855,11 +866,7 @@ namespace Mk0.Software.ImageSorter /// private void PictureBox_LoadCompleted(object sender, AsyncCompletedEventArgs e) { - Button b = new Button - { - Tag = zoomType - }; - Zoom(b, null); + Zoom(); } /// @@ -1047,11 +1054,7 @@ namespace Mk0.Software.ImageSorter { try { - Button b = new Button - { - Tag = zoomType - }; - Zoom(b, null); + Zoom(); } catch (Exception) { @@ -1140,5 +1143,21 @@ namespace Mk0.Software.ImageSorter LoadPicture(0); ResetUndo(); } + + /// + /// Zoom-Combobox geändert + /// + /// + /// + private void ComboBoxZoom_SelectedIndexChanged(object sender, EventArgs e) + { + Properties.Settings.Default.zoom = comboBoxZoom.SelectedIndex; + Properties.Settings.Default.Save(); + + if(pictureBox.Image != null) + { + Zoom(); + } + } } } \ No newline at end of file diff --git a/Mk0.Software.ImageSorter/Properties/AssemblyInfo.cs b/Mk0.Software.ImageSorter/Properties/AssemblyInfo.cs index e5ef9a9..0802e78 100644 --- a/Mk0.Software.ImageSorter/Properties/AssemblyInfo.cs +++ b/Mk0.Software.ImageSorter/Properties/AssemblyInfo.cs @@ -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.28.*")] +[assembly: AssemblyVersion("1.29.*")] //[assembly: AssemblyFileVersion("1.6.0.0")] diff --git a/Mk0.Software.ImageSorter/Properties/Settings.Designer.cs b/Mk0.Software.ImageSorter/Properties/Settings.Designer.cs index a70960b..4ed8230 100644 --- a/Mk0.Software.ImageSorter/Properties/Settings.Designer.cs +++ b/Mk0.Software.ImageSorter/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace Mk0.Software.ImageSorter.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.8.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -118,5 +118,17 @@ namespace Mk0.Software.ImageSorter.Properties { this["fileAssociation"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public int zoom { + get { + return ((int)(this["zoom"])); + } + set { + this["zoom"] = value; + } + } } } diff --git a/Mk0.Software.ImageSorter/Properties/Settings.settings b/Mk0.Software.ImageSorter/Properties/Settings.settings index ddd057c..941d310 100644 --- a/Mk0.Software.ImageSorter/Properties/Settings.settings +++ b/Mk0.Software.ImageSorter/Properties/Settings.settings @@ -1,5 +1,5 @@  - + @@ -26,5 +26,8 @@ False + + 0 + \ No newline at end of file