diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs index 9eb77bcd..8e3ed0f2 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs @@ -61,6 +61,7 @@ this.buttonRemove.TabIndex = 6; this.buttonRemove.Text = "Remove"; this.buttonRemove.UseVisualStyleBackColor = true; + this.buttonRemove.Click += new System.EventHandler(this.buttonRemove_Click); // // objectListView1 // diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs index 51b2c34f..acb53eee 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs @@ -1,5 +1,6 @@ using System; using System.Drawing; +using System.Linq; using System.Windows.Forms; using mRemoteNG.Credential; using mRemoteNG.Credential.Repositories; @@ -31,6 +32,13 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages olvColumnSource.AspectGetter = rowObject => ((ICredentialRepository)rowObject).Config.Source; objectListView1.SetObjects(_providerCatalog.CredentialProviders); _providerCatalog.CollectionChanged += (sender, args) => UpdateList(); + objectListView1.SelectionChanged += ObjectListView1OnSelectionChanged; + } + + private void ObjectListView1OnSelectionChanged(object sender, EventArgs eventArgs) + { + var selectedRepository = objectListView1.SelectedObject as ICredentialRepository; + buttonRemove.Enabled = selectedRepository != null; } private void UpdateList() @@ -53,5 +61,13 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages parent.Controls.Clear(); parent.Controls.Add(repoSelector); } + + private void buttonRemove_Click(object sender, EventArgs e) + { + var selectedRepository = objectListView1.SelectedObject as ICredentialRepository; + if (selectedRepository == null) return; + if (_providerCatalog.Contains(selectedRepository)) + _providerCatalog.RemoveProvider(selectedRepository); + } } }