From 4f65588d1a8cbc392239bee467695846323d5713 Mon Sep 17 00:00:00 2001 From: MaxED <j.maxed@gmail.com> Date: Thu, 28 May 2015 21:27:47 +0000 Subject: [PATCH] Changed, ButtonsNumericTextbox: turns out this problem can be solved without manual focus shifting. --- .../ButtonsNumericTextbox.Designer.cs | 3 --- Source/Core/Controls/ButtonsNumericTextbox.cs | 25 ++++++------------- Source/Core/Controls/NumericTextbox.cs | 6 ----- 3 files changed, 7 insertions(+), 27 deletions(-) diff --git a/Source/Core/Controls/ButtonsNumericTextbox.Designer.cs b/Source/Core/Controls/ButtonsNumericTextbox.Designer.cs index 3429dd91c..09ad9e053 100644 --- a/Source/Core/Controls/ButtonsNumericTextbox.Designer.cs +++ b/Source/Core/Controls/ButtonsNumericTextbox.Designer.cs @@ -44,9 +44,6 @@ namespace CodeImp.DoomBuilder.Controls this.buttons.Size = new System.Drawing.Size(18, 24); this.buttons.TabIndex = 1; this.buttons.ValueChanged += new System.EventHandler(this.buttons_ValueChanged); - this.buttons.KeyUp += new System.Windows.Forms.KeyEventHandler(this.buttons_KeyStateChanged); - this.buttons.MouseEnter += new System.EventHandler(this.buttons_MouseEnter); - this.buttons.KeyDown += new System.Windows.Forms.KeyEventHandler(this.buttons_KeyStateChanged); // // textbox // diff --git a/Source/Core/Controls/ButtonsNumericTextbox.cs b/Source/Core/Controls/ButtonsNumericTextbox.cs index d37da03d8..43abf5a4f 100644 --- a/Source/Core/Controls/ButtonsNumericTextbox.cs +++ b/Source/Core/Controls/ButtonsNumericTextbox.cs @@ -118,7 +118,10 @@ namespace CodeImp.DoomBuilder.Controls ignorebuttonchange = true; if(!textbox.CheckIsRelative()) { - if(steps != null && (!usemodifierkeys || (!textbox.ControlPressed && !textbox.ShiftPressed))) + bool ctrl = ((ModifierKeys & Keys.Control) == Keys.Control); //mxd + bool shift = ((ModifierKeys & Keys.Shift) == Keys.Shift); //mxd + + if(steps != null && (!usemodifierkeys || (!ctrl && !shift))) { if(buttons.Value < 0) textbox.Text = steps.GetNextHigherWrap(textbox.GetResult(0), wrapsteps).ToString(); //mxd @@ -129,7 +132,7 @@ namespace CodeImp.DoomBuilder.Controls { float stepsizemod; //mxd if(usemodifierkeys) - stepsizemod = (textbox.ControlPressed ? stepsizeSmall : (textbox.ShiftPressed ? stepsizeBig : stepsizeFloat)); + stepsizemod = (ctrl ? stepsizeSmall : (shift ? stepsizeBig : stepsizeFloat)); else stepsizemod = stepsizeFloat; @@ -141,7 +144,7 @@ namespace CodeImp.DoomBuilder.Controls { int stepsizemod; //mxd if(usemodifierkeys) - stepsizemod = (textbox.ControlPressed ? (int)stepsizeSmall : (textbox.ShiftPressed ? (int)stepsizeBig : stepsize)); + stepsizemod = (ctrl ? (int)stepsizeSmall : (shift ? (int)stepsizeBig : stepsize)); else stepsizemod = stepsize; @@ -160,24 +163,10 @@ namespace CodeImp.DoomBuilder.Controls } } - //mxd - private void buttons_KeyStateChanged(object sender, KeyEventArgs e) - { - if(!usemodifierkeys) return; - textbox.ControlPressed = e.Control; - textbox.ShiftPressed = e.Shift; - } - - //mxd - private void buttons_MouseEnter(object sender, EventArgs e) - { - if(usemodifierkeys) buttons.Focus(); - } - // Mouse wheel used private void textbox_MouseWheel(object sender, MouseEventArgs e) { - if(steps != null && (!usemodifierkeys || (!textbox.ControlPressed && !textbox.ShiftPressed))) + if(steps != null && (!usemodifierkeys || ((ModifierKeys & Keys.Control) != Keys.Control && (ModifierKeys & Keys.Shift) != Keys.Shift))) { if(e.Delta > 0) textbox.Text = steps.GetNextHigher(textbox.GetResult(0)).ToString(); diff --git a/Source/Core/Controls/NumericTextbox.cs b/Source/Core/Controls/NumericTextbox.cs index 5ee6bf115..242a109f5 100644 --- a/Source/Core/Controls/NumericTextbox.cs +++ b/Source/Core/Controls/NumericTextbox.cs @@ -38,7 +38,6 @@ namespace CodeImp.DoomBuilder.Controls private bool allowrelative; // Allow ++, --, * and / prefix for relative changes private bool allowdecimal; // Allow decimal (float) numbers private bool controlpressed; - private bool shiftpressed; //mxd private readonly ToolTip tooltip; //mxd #endregion @@ -49,9 +48,6 @@ namespace CodeImp.DoomBuilder.Controls public bool AllowRelative { get { return allowrelative; } set { allowrelative = value; UpdateTextboxStyle(); } } public bool AllowDecimal { get { return allowdecimal; } set { allowdecimal = value; } } - public bool ControlPressed { get { return controlpressed; } internal set { controlpressed = value; } } //mxd - public bool ShiftPressed { get { return shiftpressed; } internal set { shiftpressed = value; } } //mxd - #endregion #region ================== Constructor / Disposer @@ -73,7 +69,6 @@ namespace CodeImp.DoomBuilder.Controls protected override void OnKeyDown(KeyEventArgs e) { controlpressed = e.Control; - shiftpressed = e.Shift; //mxd base.OnKeyDown(e); } @@ -81,7 +76,6 @@ namespace CodeImp.DoomBuilder.Controls protected override void OnKeyUp(KeyEventArgs e) { controlpressed = e.Control; - shiftpressed = e.Shift; //mxd base.OnKeyUp(e); } -- GitLab