From e795a8c3c4eb3761b209ffdb99dfd733257e4017 Mon Sep 17 00:00:00 2001 From: Geoffroy BONNEVILLE Date: Fri, 3 Apr 2020 18:14:44 +0200 Subject: [PATCH] Database settings now work properly --- .../Queries/GetDatabase/GetDatabaseQuery.cs | 2 +- .../Parameters/Models/KeyDerivationVm.cs | 1 - .../ViewModels/Items/SettingsDatabaseVm.cs | 58 +++---------------- 3 files changed, 8 insertions(+), 53 deletions(-) diff --git a/ModernKeePass.Application/Database/Queries/GetDatabase/GetDatabaseQuery.cs b/ModernKeePass.Application/Database/Queries/GetDatabase/GetDatabaseQuery.cs index 927f929..8835b71 100644 --- a/ModernKeePass.Application/Database/Queries/GetDatabase/GetDatabaseQuery.cs +++ b/ModernKeePass.Application/Database/Queries/GetDatabase/GetDatabaseQuery.cs @@ -33,7 +33,7 @@ namespace ModernKeePass.Application.Database.Queries.GetDatabase database.RecycleBinId = _databaseProxy.RecycleBinId; database.Compression = _databaseProxy.Compression; database.CipherId = _databaseProxy.CipherId; - database.KeyDerivationId = _databaseProxy.CipherId; + database.KeyDerivationId = _databaseProxy.KeyDerivationId; } return database; } diff --git a/ModernKeePass.Application/Parameters/Models/KeyDerivationVm.cs b/ModernKeePass.Application/Parameters/Models/KeyDerivationVm.cs index 7bd275a..7732446 100644 --- a/ModernKeePass.Application/Parameters/Models/KeyDerivationVm.cs +++ b/ModernKeePass.Application/Parameters/Models/KeyDerivationVm.cs @@ -4,6 +4,5 @@ { public string Id { get; set; } public string Name { get; set; } - } } \ No newline at end of file diff --git a/ModernKeePass/ViewModels/Items/SettingsDatabaseVm.cs b/ModernKeePass/ViewModels/Items/SettingsDatabaseVm.cs index b29c174..5fabe41 100644 --- a/ModernKeePass/ViewModels/Items/SettingsDatabaseVm.cs +++ b/ModernKeePass/ViewModels/Items/SettingsDatabaseVm.cs @@ -44,11 +44,10 @@ namespace ModernKeePass.ViewModels } } - public ObservableCollection Groups { get; set; } - - public IEnumerable Ciphers => _mediator.Send(new GetCiphersQuery()).GetAwaiter().GetResult(); + public ObservableCollection Groups { get; } + public ObservableCollection Ciphers { get; } public IEnumerable Compressions => _mediator.Send(new GetCompressionsQuery()).GetAwaiter().GetResult(); - public IEnumerable KeyDerivations => _mediator.Send(new GetKeyDerivationsQuery()).GetAwaiter().GetResult(); + public ObservableCollection KeyDerivations { get; } public CipherVm SelectedCipher { @@ -74,53 +73,6 @@ namespace ModernKeePass.ViewModels set { _mediator.Send(new SetRecycleBinCommand { RecycleBinId = value.Id}).Wait(); } } - - - /*public int CipherIndex - { - get - { - for (var inx = 0; inx < CipherPool.GlobalPool.EngineCount; ++inx) - { - if (CipherPool.GlobalPool[inx].CipherUuid.Equals(_database.DataCipher)) return inx; - } - return -1; - } - set { _database.DataCipher = CipherPool.GlobalPool[value].CipherUuid; } - }*/ - - - /*public string CompressionName - { - get { return _database.} - set { _database.CompressionAlgorithm = (PwCompressionAlgorithm)Enum.Parse(typeof(PwCompressionAlgorithm), value); } - }*/ - /*public string KeyDerivationName - { - get { return KdfPool.Get(_database.KeyDerivation.KdfUuid).Name; } - set { _database.KeyDerivation = KdfPool.Engines.FirstOrDefault(e => e.Name == value)?.GetDefaultParameters(); } - } - - public ISelectableModel SelectedItem - { - get { return Groups.FirstOrDefault(g => g.IsSelected); } - set - { - if (_selectedItem == value || IsNewRecycleBin) return; - if (_selectedItem != null) - { - _selectedItem.IsSelected = false; - } - - SetProperty(ref _selectedItem, (IEntityVm)value); - - if (_selectedItem != null) - { - _selectedItem.IsSelected = true; - } - } - }*/ - public SettingsDatabaseVm() : this(App.Mediator) { } public SettingsDatabaseVm(IMediator mediator) @@ -129,6 +81,10 @@ namespace ModernKeePass.ViewModels _database = _mediator.Send(new GetDatabaseQuery()).GetAwaiter().GetResult(); var rootGroup = _mediator.Send(new GetGroupQuery { Id = _database.RootGroupId }).GetAwaiter().GetResult(); Groups = new ObservableCollection(rootGroup.SubGroups); + var ciphers = _mediator.Send(new GetCiphersQuery()).GetAwaiter().GetResult(); + Ciphers = new ObservableCollection(ciphers); + var keyDerivations = _mediator.Send(new GetKeyDerivationsQuery()).GetAwaiter().GetResult(); + KeyDerivations = new ObservableCollection(keyDerivations); } } }