From b21379952b5b7dba2a3dcb522d28e85df5e455f5 Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Sat, 13 Jul 2019 18:31:07 +0200 Subject: [PATCH] Added option to close panel from right click menu, fixes #1512 --- CHANGELOG.md | 1 + mRemoteV1/UI/Panels/PanelAdder.cs | 31 +++++++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f2ad9ba..3c188081 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] ### Added +- #1512: Added option to close panel from right click menu - #826: Allow selecting RDP version to use when connecting ### Changed - #1468: Improved mRemoteNG startup time diff --git a/mRemoteV1/UI/Panels/PanelAdder.cs b/mRemoteV1/UI/Panels/PanelAdder.cs index 438ffbff..6769f7ef 100644 --- a/mRemoteV1/UI/Panels/PanelAdder.cs +++ b/mRemoteV1/UI/Panels/PanelAdder.cs @@ -60,7 +60,8 @@ namespace mRemoteNG.UI.Panels var cMen = new ContextMenuStrip(); var cMenRen = CreateRenameMenuItem(pnlcForm); var cMenScreens = CreateScreensMenuItem(pnlcForm); - cMen.Items.AddRange(new ToolStripItem[] {cMenRen, cMenScreens}); + var cMenClose = CreateCloseMenuItem(pnlcForm); + cMen.Items.AddRange(new ToolStripItem[] {cMenRen, cMenScreens, cMenClose}); pnlcForm.TabPageContextMenuStrip = cMen; } @@ -89,6 +90,18 @@ namespace mRemoteNG.UI.Panels return cMenRen; } + private static ToolStripMenuItem CreateCloseMenuItem(DockContent pnlcForm) + { + var cMenClose = new ToolStripMenuItem + { + Text = Language.strButtonClose, + Image = Resources.Panel_Close, + Tag = pnlcForm + }; + cMenClose.Click += cMenConnectionPanelClose_Click; + return cMenClose; + } + private static void cMenConnectionPanelRename_Click(object sender, EventArgs e) { try @@ -102,7 +115,21 @@ namespace mRemoteNG.UI.Panels catch (Exception ex) { Runtime.MessageCollector.AddExceptionStackTrace("cMenConnectionPanelRename_Click: Caught Exception: ", - ex); + ex); + } + } + + private static void cMenConnectionPanelClose_Click(object sender, EventArgs e) + { + try + { + var conW = (ConnectionWindow)((ToolStripMenuItem)sender).Tag; + conW.Close(); + } + catch (Exception ex) + { + Runtime.MessageCollector.AddExceptionStackTrace("cMenConnectionPanelClose_Click: Caught Exception: ", + ex); } }