From 393431402436880242aad5ff5c1ae5e9636dd264 Mon Sep 17 00:00:00 2001 From: Jonas Rapp Date: Thu, 3 Aug 2017 09:37:36 +0200 Subject: [PATCH] Fixed #8 Fixed #25 Implementing IShortcutReceiver interface for shortcut keys. --- .gitignore | 1 + .../MainControl.Designer.cs | 23 +++---- Xrm.Sdk.PluginRegistration/MainControl.cs | 67 ++++++++++++++++++- 3 files changed, 76 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index b95a36a..f5fc6c1 100644 --- a/.gitignore +++ b/.gitignore @@ -184,3 +184,4 @@ UpgradeLog*.htm # Microsoft Fakes FakesAssemblies/ +/.vs diff --git a/Xrm.Sdk.PluginRegistration/MainControl.Designer.cs b/Xrm.Sdk.PluginRegistration/MainControl.Designer.cs index 34810b1..27accbe 100644 --- a/Xrm.Sdk.PluginRegistration/MainControl.Designer.cs +++ b/Xrm.Sdk.PluginRegistration/MainControl.Designer.cs @@ -164,7 +164,7 @@ private void InitializeComponent() // mnuContextNodeUnregister // this.mnuContextNodeUnregister.Name = "mnuContextNodeUnregister"; - this.mnuContextNodeUnregister.ShortcutKeys = System.Windows.Forms.Keys.Delete; + this.mnuContextNodeUnregister.ShortcutKeyDisplayString = "Delete"; this.mnuContextNodeUnregister.Size = new System.Drawing.Size(197, 22); this.mnuContextNodeUnregister.Text = "U&nregister"; this.mnuContextNodeUnregister.Click += new System.EventHandler(this.toolUnregister_Click); @@ -210,7 +210,7 @@ private void InitializeComponent() // mnuContextGeneralRefresh // this.mnuContextGeneralRefresh.Name = "mnuContextGeneralRefresh"; - this.mnuContextGeneralRefresh.ShortcutKeys = System.Windows.Forms.Keys.F5; + this.mnuContextGeneralRefresh.ShortcutKeyDisplayString = "F5"; this.mnuContextGeneralRefresh.Size = new System.Drawing.Size(197, 22); this.mnuContextGeneralRefresh.Text = "Re&fresh"; this.mnuContextGeneralRefresh.Click += new System.EventHandler(this.toolRefresh_Click); @@ -218,7 +218,7 @@ private void InitializeComponent() // mnuContextGeneralSearch // this.mnuContextGeneralSearch.Name = "mnuContextGeneralSearch"; - this.mnuContextGeneralSearch.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F))); + this.mnuContextGeneralSearch.ShortcutKeyDisplayString = "Ctrl+F"; this.mnuContextGeneralSearch.Size = new System.Drawing.Size(197, 22); this.mnuContextGeneralSearch.Text = "&Search"; this.mnuContextGeneralSearch.Click += new System.EventHandler(this.toolSearch_Click); @@ -294,7 +294,7 @@ private void InitializeComponent() // toolAssemblyRegister // this.toolAssemblyRegister.Name = "toolAssemblyRegister"; - this.toolAssemblyRegister.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A))); + this.toolAssemblyRegister.ShortcutKeyDisplayString = "Ctrl+A"; this.toolAssemblyRegister.Size = new System.Drawing.Size(274, 22); this.toolAssemblyRegister.Text = "Register New &Assembly"; this.toolAssemblyRegister.Click += new System.EventHandler(this.toolAssemblyRegister_Click); @@ -302,7 +302,7 @@ private void InitializeComponent() // toolStepRegister // this.toolStepRegister.Name = "toolStepRegister"; - this.toolStepRegister.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.T))); + this.toolStepRegister.ShortcutKeyDisplayString = "Ctrl+T"; this.toolStepRegister.Size = new System.Drawing.Size(274, 22); this.toolStepRegister.Text = "Register New S&tep"; this.toolStepRegister.Click += new System.EventHandler(this.toolStepRegister_Click); @@ -310,7 +310,7 @@ private void InitializeComponent() // toolImageRegister // this.toolImageRegister.Name = "toolImageRegister"; - this.toolImageRegister.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I))); + this.toolImageRegister.ShortcutKeyDisplayString = "Ctrl+I"; this.toolImageRegister.Size = new System.Drawing.Size(274, 22); this.toolImageRegister.Text = "Register New &Image"; this.toolImageRegister.Click += new System.EventHandler(this.toolImageRegister_Click); @@ -318,7 +318,7 @@ private void InitializeComponent() // toolServiceEndpointRegister // this.toolServiceEndpointRegister.Name = "toolServiceEndpointRegister"; - this.toolServiceEndpointRegister.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E))); + this.toolServiceEndpointRegister.ShortcutKeyDisplayString = "Ctrl+E"; this.toolServiceEndpointRegister.Size = new System.Drawing.Size(274, 22); this.toolServiceEndpointRegister.Text = "Register New Service &Endpoint"; // @@ -336,8 +336,7 @@ private void InitializeComponent() // toolViewAssembly // this.toolViewAssembly.Name = "toolViewAssembly"; - this.toolViewAssembly.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.A))); + this.toolViewAssembly.ShortcutKeyDisplayString = "Ctrl+Shift+A"; this.toolViewAssembly.Size = new System.Drawing.Size(256, 22); this.toolViewAssembly.Text = "Display by &Assembly"; this.toolViewAssembly.Click += new System.EventHandler(this.toolView_Click); @@ -345,8 +344,7 @@ private void InitializeComponent() // toolViewEntity // this.toolViewEntity.Name = "toolViewEntity"; - this.toolViewEntity.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.E))); + this.toolViewEntity.ShortcutKeyDisplayString = "Ctrl+Shift+E"; this.toolViewEntity.Size = new System.Drawing.Size(256, 22); this.toolViewEntity.Text = "Display by &Entity"; this.toolViewEntity.Click += new System.EventHandler(this.toolView_Click); @@ -354,8 +352,7 @@ private void InitializeComponent() // toolViewMessage // this.toolViewMessage.Name = "toolViewMessage"; - this.toolViewMessage.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.M))); + this.toolViewMessage.ShortcutKeyDisplayString = "Ctrl+Shift+M"; this.toolViewMessage.Size = new System.Drawing.Size(256, 22); this.toolViewMessage.Text = "Display by &Message"; this.toolViewMessage.Click += new System.EventHandler(this.toolView_Click); diff --git a/Xrm.Sdk.PluginRegistration/MainControl.cs b/Xrm.Sdk.PluginRegistration/MainControl.cs index 8f156e8..8a71dfe 100644 --- a/Xrm.Sdk.PluginRegistration/MainControl.cs +++ b/Xrm.Sdk.PluginRegistration/MainControl.cs @@ -32,7 +32,7 @@ namespace Xrm.Sdk.PluginRegistration using XrmToolBox.Extensibility.Args; using XrmToolBox.Extensibility.Interfaces; - public partial class MainControl : PluginControlBase, IStatusBarMessenger, IGitHubPlugin + public partial class MainControl : PluginControlBase, IStatusBarMessenger, IGitHubPlugin, IShortcutReceiver { #region Private Fields @@ -215,6 +215,69 @@ public MainControl() public event EventHandler SendMessageToStatusBar; + public void ReceiveKeyDownShortcut(KeyEventArgs e) + { + if (e.KeyCode == Keys.Delete && mnuContextNodeUnregister.Enabled) + { + mnuContextNodeUnregister.PerformClick(); + } + else if (e.KeyCode == Keys.F5 && mnuContextGeneralRefresh.Enabled) + { + mnuContextGeneralRefresh.PerformClick(); + } + else if (e.Control && !e.Shift && e.KeyCode == Keys.F && mnuContextGeneralSearch.Enabled) + { + mnuContextGeneralSearch.PerformClick(); + } + else if (e.Control && !e.Shift && e.KeyCode == Keys.A && toolAssemblyRegister.Enabled) + { + toolAssemblyRegister.PerformClick(); + } + else if (e.Control && !e.Shift && e.KeyCode == Keys.T && toolStepRegister.Enabled) + { + toolStepRegister.PerformClick(); + } + else if (e.Control && !e.Shift && e.KeyCode == Keys.I && toolImageRegister.Enabled) + { + toolImageRegister.PerformClick(); + } + else if (e.Control && !e.Shift && e.KeyCode == Keys.E && toolServiceEndpointRegister.Enabled) + { + toolServiceEndpointRegister.PerformClick(); + } + else if (e.Control && e.Shift && e.KeyCode == Keys.A && toolViewAssembly.Enabled) + { + toolViewAssembly.PerformClick(); + } + else if (e.Control && e.Shift && e.KeyCode == Keys.E && toolViewEntity.Enabled) + { + toolViewEntity.PerformClick(); + } + else if (e.Control && e.Shift && e.KeyCode == Keys.M && toolViewMessage.Enabled) + { + toolViewMessage.PerformClick(); + } + + else if (e.Control && e.Shift && e.KeyCode == Keys.E && toolViewEntity.Enabled) + { + toolViewEntity.PerformClick(); + } + else if (e.Control && e.Shift && e.KeyCode == Keys.E && toolViewEntity.Enabled) + { + toolViewEntity.PerformClick(); + } + else if (e.Control && e.Shift && e.KeyCode == Keys.E && toolViewEntity.Enabled) + { + toolViewEntity.PerformClick(); + } + } + + public void ReceiveKeyPressShortcut(KeyPressEventArgs e) { } + + public void ReceiveKeyUpShortcut(KeyEventArgs e) { } + + public void ReceivePreviewKeyDownShortcut(PreviewKeyDownEventArgs e) { } + #endregion Public Events #region Private Enums @@ -1167,7 +1230,7 @@ private void toolImageRegister_Click(object sender, EventArgs e) var regForm = new ImageRegistrationForm(m_org, this, trvPlugins.RootNodes, null, nodeId); regForm.ShowDialog(); } - + private void toolRefresh_Click(object sender, EventArgs e) { var instruction = new WorkAsyncInfo()