diff --git a/Eve-O-Preview/View/Implementation/ThumbnailView.cs b/Eve-O-Preview/View/Implementation/ThumbnailView.cs index 167b673..558e56b 100644 --- a/Eve-O-Preview/View/Implementation/ThumbnailView.cs +++ b/Eve-O-Preview/View/Implementation/ThumbnailView.cs @@ -458,27 +458,7 @@ namespace EveOPreview.View private void MouseDown_Handler(object sender, MouseEventArgs e) { - if (e.Button == MouseButtons.Left) - { - if (Control.ModifierKeys == Keys.Control) - { - this.ThumbnailDeactivated?.Invoke(this.Id, false); - } - else - if (Control.ModifierKeys == (Keys.Control | Keys.Shift)) - { - this.ThumbnailDeactivated?.Invoke(this.Id, true); - } - else - { - this.ThumbnailActivated?.Invoke(this.Id); - } - } - - if ((e.Button == MouseButtons.Right) || (e.Button == (MouseButtons.Left | MouseButtons.Right))) - { - this.EnterCustomMouseMode(); - } + this.MouseDownEventHandler(e.Button, Control.ModifierKeys); } private void MouseMove_Handler(object sender, MouseEventArgs e) @@ -560,5 +540,27 @@ namespace EveOPreview.View this._isCustomMouseModeActive = false; } #endregion + + #region Custom GUI events + protected virtual void MouseDownEventHandler(MouseButtons mouseButtons, Keys modifierKeys) + { + switch (mouseButtons) + { + case MouseButtons.Left when modifierKeys == Keys.Control: + this.ThumbnailDeactivated?.Invoke(this.Id, false); + break; + case MouseButtons.Left when modifierKeys == (Keys.Control | Keys.Shift): + this.ThumbnailDeactivated?.Invoke(this.Id, true); + break; + case MouseButtons.Left: + this.ThumbnailActivated?.Invoke(this.Id); + break; + case MouseButtons.Right: + case MouseButtons.Left | MouseButtons.Right: + this.EnterCustomMouseMode(); + break; + } + } + #endregion } } \ No newline at end of file