diff --git a/mRemoteV1/Credential/CredentialRepositoryList.cs b/mRemoteV1/Credential/CredentialRepositoryList.cs
index 5ede7b277..8dadd9d68 100644
--- a/mRemoteV1/Credential/CredentialRepositoryList.cs
+++ b/mRemoteV1/Credential/CredentialRepositoryList.cs
@@ -23,8 +23,6 @@ namespace mRemoteNG.Credential
RaiseCollectionChangedEvent(NotifyCollectionChangedAction.Add, new[] { credentialProvider });
}
-
-
public void RemoveProvider(ICredentialRepository credentialProvider)
{
if (!Contains(credentialProvider.Config.Id)) return;
diff --git a/mRemoteV1/UI/Controls/CredentialRepositoryListView.Designer.cs b/mRemoteV1/UI/Controls/CredentialRepositoryListView.Designer.cs
new file mode 100644
index 000000000..ee257622c
--- /dev/null
+++ b/mRemoteV1/UI/Controls/CredentialRepositoryListView.Designer.cs
@@ -0,0 +1,96 @@
+namespace mRemoteNG.UI.Controls
+{
+ partial class CredentialRepositoryListView
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.objectListView1 = new BrightIdeasSoftware.ObjectListView();
+ this.olvColumnProvider = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.olvColumnSource = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ ((System.ComponentModel.ISupportInitialize)(this.objectListView1)).BeginInit();
+ this.SuspendLayout();
+ //
+ // objectListView1
+ //
+ this.objectListView1.AllColumns.Add(this.olvColumnProvider);
+ this.objectListView1.AllColumns.Add(this.olvColumnSource);
+ this.objectListView1.CellEditUseWholeCell = false;
+ this.objectListView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.olvColumnProvider,
+ this.olvColumnSource});
+ this.objectListView1.CopySelectionOnControlC = false;
+ this.objectListView1.CopySelectionOnControlCUsesDragSource = false;
+ this.objectListView1.Cursor = System.Windows.Forms.Cursors.Default;
+ this.objectListView1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.objectListView1.FullRowSelect = true;
+ this.objectListView1.HideSelection = false;
+ this.objectListView1.Location = new System.Drawing.Point(0, 0);
+ this.objectListView1.Name = "objectListView1";
+ this.objectListView1.SelectAllOnControlA = false;
+ this.objectListView1.ShowGroups = false;
+ this.objectListView1.Size = new System.Drawing.Size(308, 171);
+ this.objectListView1.TabIndex = 8;
+ this.objectListView1.UseCompatibleStateImageBehavior = false;
+ this.objectListView1.UseNotifyPropertyChanged = true;
+ this.objectListView1.View = System.Windows.Forms.View.Details;
+ //
+ // olvColumnProvider
+ //
+ this.olvColumnProvider.AspectName = "";
+ this.olvColumnProvider.FillsFreeSpace = true;
+ this.olvColumnProvider.Groupable = false;
+ this.olvColumnProvider.Hideable = false;
+ this.olvColumnProvider.IsEditable = false;
+ this.olvColumnProvider.Searchable = false;
+ this.olvColumnProvider.Text = "Provider";
+ //
+ // olvColumnSource
+ //
+ this.olvColumnSource.AspectName = "";
+ this.olvColumnSource.FillsFreeSpace = true;
+ this.olvColumnSource.Groupable = false;
+ this.olvColumnSource.Text = "Source";
+ //
+ // CredentialRepositoryListView
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.objectListView1);
+ this.Name = "CredentialRepositoryListView";
+ this.Size = new System.Drawing.Size(308, 171);
+ ((System.ComponentModel.ISupportInitialize)(this.objectListView1)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private BrightIdeasSoftware.ObjectListView objectListView1;
+ private BrightIdeasSoftware.OLVColumn olvColumnProvider;
+ private BrightIdeasSoftware.OLVColumn olvColumnSource;
+ }
+}
diff --git a/mRemoteV1/UI/Controls/CredentialRepositoryListView.cs b/mRemoteV1/UI/Controls/CredentialRepositoryListView.cs
new file mode 100644
index 000000000..3f7513f80
--- /dev/null
+++ b/mRemoteV1/UI/Controls/CredentialRepositoryListView.cs
@@ -0,0 +1,70 @@
+using System;
+using System.Collections.Specialized;
+using System.Windows.Forms;
+using BrightIdeasSoftware;
+using mRemoteNG.Credential;
+using mRemoteNG.Tree;
+
+namespace mRemoteNG.UI.Controls
+{
+ public partial class CredentialRepositoryListView : UserControl
+ {
+ private ICredentialRepositoryList _credentialRepositoryList = new CredentialRepositoryList();
+
+ public ICredentialRepositoryList CredentialRepositoryList
+ {
+ get { return _credentialRepositoryList; }
+ set
+ {
+ _credentialRepositoryList.CollectionChanged -= UpdateList;
+ _credentialRepositoryList = value;
+ objectListView1.SetObjects(CredentialRepositoryList.CredentialProviders);
+ _credentialRepositoryList.CollectionChanged += UpdateList;
+ }
+ }
+
+ public ICredentialRepository SelectedRepository => GetSelectedRepository();
+ public Func DoubleClickHandler { get; set; }
+
+ public CredentialRepositoryListView()
+ {
+ InitializeComponent();
+ SetupObjectListView();
+ }
+
+ private void SetupObjectListView()
+ {
+ olvColumnProvider.AspectGetter = rowObject => ((ICredentialRepository)rowObject).Config.TypeName;
+ olvColumnSource.AspectGetter = rowObject => ((ICredentialRepository)rowObject).Config.Source;
+ objectListView1.SetObjects(CredentialRepositoryList.CredentialProviders);
+ objectListView1.SelectionChanged += (sender, args) => RaiseSelectionChangedEvent();
+ objectListView1.MouseDoubleClick += ObjectListView1OnMouseDoubleClick;
+ }
+
+ private void UpdateList(object sender, NotifyCollectionChangedEventArgs args)
+ {
+ objectListView1.SetObjects(CredentialRepositoryList.CredentialProviders);
+ }
+
+ private void ObjectListView1OnMouseDoubleClick(object sender, MouseEventArgs mouseEventArgs)
+ {
+ if (mouseEventArgs.Clicks < 2) return;
+ OLVColumn column;
+ var listItem = objectListView1.GetItemAt(mouseEventArgs.X, mouseEventArgs.Y, out column);
+ var clickedNode = listItem.RowObject as ICredentialRepository;
+ if (clickedNode == null) return;
+ DoubleClickHandler?.Invoke(clickedNode);
+ }
+
+ private ICredentialRepository GetSelectedRepository()
+ {
+ return objectListView1.SelectedObject as ICredentialRepository;
+ }
+
+ public event EventHandler SelectionChanged;
+ private void RaiseSelectionChangedEvent()
+ {
+ SelectionChanged?.Invoke(this, EventArgs.Empty);
+ }
+ }
+}
\ No newline at end of file
diff --git a/mRemoteV1/UI/Controls/CredentialRepositoryListView.resx b/mRemoteV1/UI/Controls/CredentialRepositoryListView.resx
new file mode 100644
index 000000000..1af7de150
--- /dev/null
+++ b/mRemoteV1/UI/Controls/CredentialRepositoryListView.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.Designer.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.Designer.cs
index 58e9884e2..f9d0f8b98 100644
--- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.Designer.cs
+++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.Designer.cs
@@ -29,13 +29,14 @@
private void InitializeComponent()
{
this.objectListView1 = new BrightIdeasSoftware.ObjectListView();
+ this.olvColumnCredentialId = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnTitle = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnUsername = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnDomain = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.olvColumnSource = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.buttonAdd = new System.Windows.Forms.Button();
this.buttonRemove = new System.Windows.Forms.Button();
- this.olvColumnSource = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
- this.olvColumnCredentialId = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.buttonEdit = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.objectListView1)).BeginInit();
this.SuspendLayout();
//
@@ -71,31 +72,42 @@
this.objectListView1.UseNotifyPropertyChanged = true;
this.objectListView1.View = System.Windows.Forms.View.Details;
//
+ // olvColumnCredentialId
+ //
+ this.olvColumnCredentialId.AspectName = "";
+ this.olvColumnCredentialId.IsEditable = false;
+ this.olvColumnCredentialId.IsVisible = false;
+ this.olvColumnCredentialId.Text = "Credential ID";
+ //
// olvColumnTitle
//
- this.olvColumnTitle.AspectName = "Title";
+ this.olvColumnTitle.AspectName = "";
this.olvColumnTitle.FillsFreeSpace = true;
this.olvColumnTitle.Groupable = false;
this.olvColumnTitle.Text = "Title";
//
// olvColumnUsername
//
- this.olvColumnUsername.AspectName = "Username";
+ this.olvColumnUsername.AspectName = "";
this.olvColumnUsername.FillsFreeSpace = true;
this.olvColumnUsername.Text = "Username";
//
// olvColumnDomain
//
- this.olvColumnDomain.AspectName = "Domain";
+ this.olvColumnDomain.AspectName = "";
this.olvColumnDomain.FillsFreeSpace = true;
this.olvColumnDomain.Text = "Domain";
//
+ // olvColumnSource
+ //
+ this.olvColumnSource.Text = "Source";
+ //
// buttonAdd
//
this.buttonAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonAdd.Image = global::mRemoteNG.Resources.key_add;
this.buttonAdd.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.buttonAdd.Location = new System.Drawing.Point(176, 241);
+ this.buttonAdd.Location = new System.Drawing.Point(71, 241);
this.buttonAdd.Name = "buttonAdd";
this.buttonAdd.Size = new System.Drawing.Size(99, 32);
this.buttonAdd.TabIndex = 3;
@@ -117,21 +129,23 @@
this.buttonRemove.UseVisualStyleBackColor = true;
this.buttonRemove.Click += new System.EventHandler(this.buttonRemove_Click);
//
- // olvColumnSource
+ // buttonEdit
//
- this.olvColumnSource.Text = "Source";
- //
- // olvColumnCredentialId
- //
- this.olvColumnCredentialId.AspectName = "Id";
- this.olvColumnCredentialId.IsEditable = false;
- this.olvColumnCredentialId.IsVisible = false;
- this.olvColumnCredentialId.Text = "Credential ID";
+ this.buttonEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.buttonEdit.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ this.buttonEdit.Location = new System.Drawing.Point(176, 241);
+ this.buttonEdit.Name = "buttonEdit";
+ this.buttonEdit.Size = new System.Drawing.Size(99, 32);
+ this.buttonEdit.TabIndex = 5;
+ this.buttonEdit.Text = "Edit";
+ this.buttonEdit.UseVisualStyleBackColor = true;
+ this.buttonEdit.Click += new System.EventHandler(this.buttonEdit_Click);
//
// CredentialListPage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.buttonEdit);
this.Controls.Add(this.buttonAdd);
this.Controls.Add(this.buttonRemove);
this.Controls.Add(this.objectListView1);
@@ -152,5 +166,6 @@
private System.Windows.Forms.Button buttonRemove;
private BrightIdeasSoftware.OLVColumn olvColumnCredentialId;
private BrightIdeasSoftware.OLVColumn olvColumnSource;
+ private System.Windows.Forms.Button buttonEdit;
}
}
diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs
index 7a50bc568..2845440dd 100644
--- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs
+++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.Designer.cs
@@ -28,13 +28,11 @@
///
private void InitializeComponent()
{
+ mRemoteNG.Credential.CredentialRepositoryList credentialRepositoryList1 = new mRemoteNG.Credential.CredentialRepositoryList();
this.buttonAdd = new System.Windows.Forms.Button();
this.buttonRemove = new System.Windows.Forms.Button();
- this.objectListView1 = new BrightIdeasSoftware.ObjectListView();
- this.olvColumnProvider = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
- this.olvColumnSource = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.buttonEdit = new System.Windows.Forms.Button();
- ((System.ComponentModel.ISupportInitialize)(this.objectListView1)).BeginInit();
+ this.credentialRepositoryListView = new mRemoteNG.UI.Controls.CredentialRepositoryListView();
this.SuspendLayout();
//
// buttonAdd
@@ -64,49 +62,6 @@
this.buttonRemove.UseVisualStyleBackColor = true;
this.buttonRemove.Click += new System.EventHandler(this.buttonRemove_Click);
//
- // objectListView1
- //
- this.objectListView1.AllColumns.Add(this.olvColumnProvider);
- this.objectListView1.AllColumns.Add(this.olvColumnSource);
- this.objectListView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.objectListView1.CellEditUseWholeCell = false;
- this.objectListView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
- this.olvColumnProvider,
- this.olvColumnSource});
- this.objectListView1.CopySelectionOnControlC = false;
- this.objectListView1.CopySelectionOnControlCUsesDragSource = false;
- this.objectListView1.Cursor = System.Windows.Forms.Cursors.Default;
- this.objectListView1.FullRowSelect = true;
- this.objectListView1.HideSelection = false;
- this.objectListView1.Location = new System.Drawing.Point(0, 0);
- this.objectListView1.Name = "objectListView1";
- this.objectListView1.SelectAllOnControlA = false;
- this.objectListView1.ShowGroups = false;
- this.objectListView1.Size = new System.Drawing.Size(417, 263);
- this.objectListView1.TabIndex = 7;
- this.objectListView1.UseCompatibleStateImageBehavior = false;
- this.objectListView1.UseNotifyPropertyChanged = true;
- this.objectListView1.View = System.Windows.Forms.View.Details;
- //
- // olvColumnProvider
- //
- this.olvColumnProvider.AspectName = "";
- this.olvColumnProvider.FillsFreeSpace = true;
- this.olvColumnProvider.Groupable = false;
- this.olvColumnProvider.Hideable = false;
- this.olvColumnProvider.IsEditable = false;
- this.olvColumnProvider.Searchable = false;
- this.olvColumnProvider.Text = "Provider";
- //
- // olvColumnSource
- //
- this.olvColumnSource.AspectName = "";
- this.olvColumnSource.FillsFreeSpace = true;
- this.olvColumnSource.Groupable = false;
- this.olvColumnSource.Text = "Source";
- //
// buttonEdit
//
this.buttonEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
@@ -120,17 +75,28 @@
this.buttonEdit.UseVisualStyleBackColor = true;
this.buttonEdit.Click += new System.EventHandler(this.buttonEdit_Click);
//
+ // credentialRepositoryListView
+ //
+ this.credentialRepositoryListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.credentialRepositoryListView.CredentialRepositoryList = credentialRepositoryList1;
+ this.credentialRepositoryListView.DoubleClickHandler = null;
+ this.credentialRepositoryListView.Location = new System.Drawing.Point(0, 0);
+ this.credentialRepositoryListView.Name = "credentialRepositoryListView";
+ this.credentialRepositoryListView.Size = new System.Drawing.Size(417, 263);
+ this.credentialRepositoryListView.TabIndex = 9;
+ //
// CredentialRepositoriesPage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.credentialRepositoryListView);
this.Controls.Add(this.buttonEdit);
- this.Controls.Add(this.objectListView1);
this.Controls.Add(this.buttonAdd);
this.Controls.Add(this.buttonRemove);
this.Name = "CredentialRepositoriesPage";
this.Size = new System.Drawing.Size(417, 304);
- ((System.ComponentModel.ISupportInitialize)(this.objectListView1)).EndInit();
this.ResumeLayout(false);
}
@@ -139,9 +105,7 @@
private System.Windows.Forms.Button buttonAdd;
private System.Windows.Forms.Button buttonRemove;
- private BrightIdeasSoftware.ObjectListView objectListView1;
- private BrightIdeasSoftware.OLVColumn olvColumnProvider;
- private BrightIdeasSoftware.OLVColumn olvColumnSource;
private System.Windows.Forms.Button buttonEdit;
+ private Controls.CredentialRepositoryListView credentialRepositoryListView;
}
}
diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs
index 4e53640cd..702100bfb 100644
--- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs
+++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs
@@ -1,8 +1,6 @@
using System;
using System.Drawing;
-using System.Linq;
using System.Windows.Forms;
-using BrightIdeasSoftware;
using mRemoteNG.Credential;
using mRemoteNG.Credential.Repositories;
using mRemoteNG.UI.Controls;
@@ -26,41 +24,18 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages
_providerCatalog = providerCatalog;
InitializeComponent();
- SetupObjectListView();
- }
-
- private void SetupObjectListView()
- {
- olvColumnProvider.AspectGetter = rowObject => ((ICredentialRepository) rowObject).Config.TypeName;
- olvColumnSource.AspectGetter = rowObject => ((ICredentialRepository)rowObject).Config.Source;
- objectListView1.SetObjects(_providerCatalog.CredentialProviders);
- _providerCatalog.CollectionChanged += (sender, args) => UpdateList();
- objectListView1.SelectionChanged += ObjectListView1OnSelectionChanged;
- objectListView1.MouseDoubleClick += ObjectListView1OnMouseDoubleClick;
+ credentialRepositoryListView.CredentialRepositoryList = providerCatalog;
+ credentialRepositoryListView.SelectionChanged += ObjectListView1OnSelectionChanged;
+ credentialRepositoryListView.DoubleClickHandler = EditRepository;
}
private void ObjectListView1OnSelectionChanged(object sender, EventArgs eventArgs)
{
- var selectedRepository = objectListView1.SelectedObject as ICredentialRepository;
+ var selectedRepository = credentialRepositoryListView.SelectedRepository;
buttonRemove.Enabled = selectedRepository != null;
buttonEdit.Enabled = selectedRepository != null;
}
- private void ObjectListView1OnMouseDoubleClick(object sender, MouseEventArgs mouseEventArgs)
- {
- if (mouseEventArgs.Clicks < 2) return;
- OLVColumn column;
- var listItem = objectListView1.GetItemAt(mouseEventArgs.X, mouseEventArgs.Y, out column);
- var clickedNode = listItem.RowObject as ICredentialRepository;
- if (clickedNode == null) return;
- EditRepository(clickedNode);
- }
-
- private void UpdateList()
- {
- objectListView1.SetObjects(_providerCatalog.CredentialProviders);
- }
-
private void buttonAdd_Click(object sender, EventArgs e)
{
var addRepoSequence = new PageSequence(Parent,
@@ -82,12 +57,12 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages
private void buttonEdit_Click(object sender, EventArgs e)
{
- var selectedRepository = objectListView1.SelectedObject as ICredentialRepository;
+ var selectedRepository = credentialRepositoryListView.SelectedRepository;
if (selectedRepository == null) return;
EditRepository(selectedRepository);
}
- private void EditRepository(ICredentialRepository repository)
+ private bool EditRepository(ICredentialRepository repository)
{
var editorPage = CredentialRepositoryPageEditorFactory.BuildXmlCredentialRepositoryEditorPage(repository.Config, _providerCatalog);
var pageSequence = new PageSequence(Parent,
@@ -96,13 +71,14 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages
this
);
RaiseNextPageEvent();
+ return true;
}
private void buttonRemove_Click(object sender, EventArgs e)
{
- var selectedRepository = objectListView1.SelectedObject as ICredentialRepository;
+ var selectedRepository = credentialRepositoryListView.SelectedRepository;
if (selectedRepository == null) return;
- if (_providerCatalog.Contains(selectedRepository))
+ if (_providerCatalog.Contains(selectedRepository.Config.Id))
_providerCatalog.RemoveProvider(selectedRepository);
}
}
diff --git a/mRemoteV1/mRemoteV1.csproj b/mRemoteV1/mRemoteV1.csproj
index d7ce00249..d720d073f 100644
--- a/mRemoteV1/mRemoteV1.csproj
+++ b/mRemoteV1/mRemoteV1.csproj
@@ -299,6 +299,12 @@
CredentialRecordListBox.cs
+
+ UserControl
+
+
+ CredentialRepositoryListView.cs
+
Component
@@ -663,6 +669,9 @@
Designer
+
+ CredentialRepositoryListView.cs
+
IPTextBox.cs