From 40ed6450ffd8cabbf1fa13376d2b96dd61cef613 Mon Sep 17 00:00:00 2001 From: David Sparer Date: Tue, 2 May 2017 12:23:41 -0600 Subject: [PATCH] fixed some minor ui bugs where elements would not update right away --- mRemoteV1/UI/Controls/CredentialRepositoryListView.cs | 6 ++++++ .../CredentialManagerPages/CredentialRepositoriesPage.cs | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/mRemoteV1/UI/Controls/CredentialRepositoryListView.cs b/mRemoteV1/UI/Controls/CredentialRepositoryListView.cs index 071d1f62..687d4c30 100644 --- a/mRemoteV1/UI/Controls/CredentialRepositoryListView.cs +++ b/mRemoteV1/UI/Controls/CredentialRepositoryListView.cs @@ -35,6 +35,12 @@ namespace mRemoteNG.UI.Controls SetupObjectListView(); } + public void RefreshObjects() + { + var repos = CredentialRepositoryList.CredentialProviders.ToList(); + objectListView1.RefreshObjects(repos); + } + private void SetupObjectListView() { olvColumnTitle.AspectGetter = rowObject => ((ICredentialRepository) rowObject).Config.Title; diff --git a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs index 62cdfc16..2c1e0e74 100644 --- a/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs +++ b/mRemoteV1/UI/Forms/CredentialManagerPages/CredentialRepositoriesPage.cs @@ -29,11 +29,11 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages _unlockerFactory = unlockerFactory; InitializeComponent(); credentialRepositoryListView.CredentialRepositoryList = providerCatalog; - credentialRepositoryListView.SelectionChanged += ObjectListView1OnSelectionChanged; + credentialRepositoryListView.SelectionChanged += (sender, args) => UpdateUi(); credentialRepositoryListView.DoubleClickHandler = EditRepository; } - private void ObjectListView1OnSelectionChanged(object sender, EventArgs eventArgs) + private void UpdateUi() { var selectedRepository = credentialRepositoryListView.SelectedRepository; buttonRemove.Enabled = selectedRepository != null; @@ -70,6 +70,7 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages private bool EditRepository(ICredentialRepository repository) { + if (!repository.IsLoaded) return false; var editorPage = CredentialRepositoryPageEditorFactory.BuildXmlCredentialRepositoryEditorPage(repository.Config, _providerCatalog); var pageSequence = new PageSequence(Parent, this, @@ -101,6 +102,8 @@ namespace mRemoteNG.UI.Forms.CredentialManagerPages selectedRepository.UnloadCredentials(); else _unlockerFactory.Build(new[] {selectedRepository}).ShowDialog(this); + credentialRepositoryListView.RefreshObjects(); + UpdateUi(); } } } \ No newline at end of file