From 33223934e3eecc8ea473f31c89b52d92ac67ad76 Mon Sep 17 00:00:00 2001 From: BONNEVILLE Geoffroy Date: Thu, 30 Nov 2017 11:05:47 +0100 Subject: [PATCH] Sorting now works for entries (not yet for groups) --- ModernKeePass/Pages/EntryDetailPage.xaml | 4 ++-- ModernKeePass/Pages/GroupDetailPage.xaml | 27 ++++++++++++++++------ ModernKeePass/Strings/en-US/Resources.resw | 6 +++++ ModernKeePass/ViewModels/GroupVm.cs | 18 +++++++++++++-- ModernKeePassApp.Test/ViewModelsTests.cs | 2 +- ModernKeePassLib/ModernKeePassLib.nuspec | 4 ++-- ModernKeePassLib/Native/Native.PCL.cs | 4 +--- 7 files changed, 48 insertions(+), 17 deletions(-) diff --git a/ModernKeePass/Pages/EntryDetailPage.xaml b/ModernKeePass/Pages/EntryDetailPage.xaml index 20d5453..08cd0ac 100644 --- a/ModernKeePass/Pages/EntryDetailPage.xaml +++ b/ModernKeePass/Pages/EntryDetailPage.xaml @@ -394,11 +394,11 @@ - + diff --git a/ModernKeePass/Pages/GroupDetailPage.xaml b/ModernKeePass/Pages/GroupDetailPage.xaml index 512dfe1..7444222 100644 --- a/ModernKeePass/Pages/GroupDetailPage.xaml +++ b/ModernKeePass/Pages/GroupDetailPage.xaml @@ -44,18 +44,31 @@ - - - - - + + + + + + + + + + + + + + + + + + - + diff --git a/ModernKeePass/Strings/en-US/Resources.resw b/ModernKeePass/Strings/en-US/Resources.resw index 58c91a0..420ef02 100644 --- a/ModernKeePass/Strings/en-US/Resources.resw +++ b/ModernKeePass/Strings/en-US/Resources.resw @@ -132,6 +132,12 @@ Homepage: + + Entries + + + Groups + Create new key file diff --git a/ModernKeePass/ViewModels/GroupVm.cs b/ModernKeePass/ViewModels/GroupVm.cs index a9c6a06..fd4677c 100644 --- a/ModernKeePass/ViewModels/GroupVm.cs +++ b/ModernKeePass/ViewModels/GroupVm.cs @@ -183,12 +183,26 @@ namespace ModernKeePass.ViewModels public void SortEntries() { - var comparer = new PwEntryComparer(PwDefs.TitleField, true, true); + var comparer = new PwEntryComparer(PwDefs.TitleField, true, false); try { - // TODO: this throws an exception _pwGroup.Entries.Sort(comparer); Entries = new ObservableCollection(Entries.OrderBy(e => e.Name)); + OnPropertyChanged("Entries"); + } + catch (Exception e) + { + MessageDialogService.ShowErrorDialog(e); + } + } + + public void SortGroups() + { + try + { + _pwGroup.SortSubGroups(false); + Groups = new ObservableCollection(Groups.Skip(1).OrderBy(g => g.Name)); + OnPropertyChanged("Groups"); } catch (Exception e) { diff --git a/ModernKeePassApp.Test/ViewModelsTests.cs b/ModernKeePassApp.Test/ViewModelsTests.cs index 5df57fa..0f796c8 100644 --- a/ModernKeePassApp.Test/ViewModelsTests.cs +++ b/ModernKeePassApp.Test/ViewModelsTests.cs @@ -97,7 +97,7 @@ namespace ModernKeePassApp.Test Assert.AreEqual(1, firstGroup.Count()); Assert.IsNotNull(settingsVm.SelectedItem); var selectedItem = (ListMenuItemVm) settingsVm.SelectedItem; - Assert.AreEqual("General", selectedItem.Title); + Assert.AreEqual("New", selectedItem.Title); } } } diff --git a/ModernKeePassLib/ModernKeePassLib.nuspec b/ModernKeePassLib/ModernKeePassLib.nuspec index d4fabc9..f797fc9 100644 --- a/ModernKeePassLib/ModernKeePassLib.nuspec +++ b/ModernKeePassLib/ModernKeePassLib.nuspec @@ -2,7 +2,7 @@ ModernKeePassLib - 2.37.7000 + 2.37.8000 ModernKeePassLib Geoffroy Bonneville Geoffroy Bonneville @@ -10,7 +10,7 @@ https://github.com/wismna/ModernKeePass false Portable KeePass Password Management Library that targets .Net Standard and WinRT. Allows reading, editing and writing to KeePass 2.x databases. - Can now create key files + Code cleanup Copyright © 2017 Geoffroy Bonneville KeePass KeePassLib Portable PCL NetStandard diff --git a/ModernKeePassLib/Native/Native.PCL.cs b/ModernKeePassLib/Native/Native.PCL.cs index 7d46b61..7836989 100644 --- a/ModernKeePassLib/Native/Native.PCL.cs +++ b/ModernKeePassLib/Native/Native.PCL.cs @@ -18,9 +18,7 @@ namespace ModernKeePassLib.Native internal static class NativeMethods { - public static bool SupportsStrCmpNaturally { - get { throw new NotImplementedException(); } - } + public static bool SupportsStrCmpNaturally => false; internal const int GCRY_CIPHER_AES256 = 9; internal const int GCRY_CIPHER_MODE_ECB = 1;