added ability to remove cred repositories

This commit is contained in:
David Sparer
2017-02-10 17:05:35 -07:00
parent 7703986c9e
commit c1b6b30144
2 changed files with 17 additions and 0 deletions

View File

@@ -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
//

View File

@@ -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);
}
}
}