From 8f568cc6ac4e636876e9cd6042e5ef28c6e93a74 Mon Sep 17 00:00:00 2001 From: David Sparer Date: Sat, 11 Feb 2017 17:31:01 -0700 Subject: [PATCH] loading creds --- .../App/Initialization/CredsAndConsSetup.cs | 3 + .../CredentialListPage.cs | 74 +++++++++++++++---- 2 files changed, 61 insertions(+), 16 deletions(-) diff --git a/mRemoteV1/App/Initialization/CredsAndConsSetup.cs b/mRemoteV1/App/Initialization/CredsAndConsSetup.cs index cddba9a5a..e68713f32 100644 --- a/mRemoteV1/App/Initialization/CredsAndConsSetup.cs +++ b/mRemoteV1/App/Initialization/CredsAndConsSetup.cs @@ -93,7 +93,10 @@ namespace mRemoteNG.App.Initialization var credRepoListLoader = new CredentialRepositoryListLoader(credRepoListDataProvider, new CredentialRepositoryListDeserializer()); var credRepoListSaver = new CredentialRepositoryListSaver(credRepoListDataProvider); foreach (var repository in credRepoListLoader.Load()) + { Runtime.CredentialProviderCatalog.AddProvider(repository); + repository.LoadCredentials(); + } Runtime.CredentialProviderCatalog.CollectionChanged += (o, args) => credRepoListSaver.Save(Runtime.CredentialProviderCatalog.CredentialProviders); } diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.cs index 39c549084..087f298b0 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialListPage.cs @@ -5,10 +5,11 @@ using System.Windows.Forms; using BrightIdeasSoftware; using mRemoteNG.Credential; using mRemoteNG.Tree; +using mRemoteNG.UI.Controls.PageSequence; namespace mRemoteNG.UI.Forms.CredentialManagerPages { - public partial class CredentialListPage : UserControl, ICredentialManagerPage + public partial class CredentialListPage : SequencedControl, ICredentialManagerPage { private readonly ICredentialRepositoryList _credentialRepositoryList; @@ -30,10 +31,38 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages objectListView1.KeyDown += ObjectListView1OnEnterPressed; objectListView1.KeyDown += OnAPressed; objectListView1.KeyDown += OnDeletePressed; + olvColumnCredentialId.AspectGetter = CredentialIdAspectGetter; + olvColumnTitle.AspectGetter = CredentialTitleAspectGetter; + olvColumnUsername.AspectGetter = CredentialUsernameAspectGetter; + olvColumnDomain.AspectGetter = CredentialDomainAspectGetter; olvColumnSource.AspectGetter = CredentialSourceAspectGetter; SetObjectList(); } + private object CredentialIdAspectGetter(object rowObject) + { + var keyValuePair = CastRowObject(rowObject); + return keyValuePair.Key.Id; + } + + private object CredentialTitleAspectGetter(object rowObject) + { + var keyValuePair = CastRowObject(rowObject); + return keyValuePair.Key.Title; + } + + private object CredentialUsernameAspectGetter(object rowObject) + { + var keyValuePair = CastRowObject(rowObject); + return keyValuePair.Key.Username; + } + + private object CredentialDomainAspectGetter(object rowObject) + { + var keyValuePair = CastRowObject(rowObject); + return keyValuePair.Key.Domain; + } + private object CredentialSourceAspectGetter(object rowObject) { var keyValuePair = CastRowObject(rowObject); @@ -62,21 +91,6 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages buttonRemove.Text = Language.strRemove; } - private void EditCredential(ICredentialRecord credentialRecord) - { - if (credentialRecord == null) return; - var credentialEditorForm = new CredentialEditorForm(credentialRecord); - credentialEditorForm.ChangesAccepted += (o, args) => RaiseCredentialsChangedEvent(o); - //credentialEditorForm.CenterOnTarget(this); - credentialEditorForm.Show(this); - } - - private void AddCredential() - { - //_credentialManager.Add(new CredentialRecord()); - //RaiseCredentialsChangedEvent(this); - } - private void RemoveSelectedCredential() { if (objectListView1.SelectedObject == null) return; @@ -93,11 +107,39 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages EditCredential(clickedCredential.Key); } + private void AddCredential() + { + var sequence = new PageSequence(Parent, + this, + + new CredentialEditorPage(new CredentialRecord()), + this + ); + RaiseNextPageEvent(); + } + + private void EditCredential(ICredentialRecord credentialRecord) + { + if (credentialRecord == null) return; + var sequence = new PageSequence(Parent, + this, + new CredentialEditorPage(credentialRecord), + this + ); + RaiseNextPageEvent(); + } + private void buttonAdd_Click(object sender, EventArgs e) { AddCredential(); } + private void buttonEdit_Click(object sender, EventArgs e) + { + var selectedCredential = CastRowObject(objectListView1.SelectedObject); + EditCredential(selectedCredential.Key); + } + private void buttonRemove_Click(object sender, EventArgs e) { RemoveSelectedCredential();