diff --git a/ModernKeePass/Mappings/PwIconToSegoeMapping.cs b/ModernKeePass/Converters/IntToSymbolConverter.cs similarity index 96% rename from ModernKeePass/Mappings/PwIconToSegoeMapping.cs rename to ModernKeePass/Converters/IntToSymbolConverter.cs index b847d4c..b858a6b 100644 --- a/ModernKeePass/Mappings/PwIconToSegoeMapping.cs +++ b/ModernKeePass/Converters/IntToSymbolConverter.cs @@ -1,12 +1,15 @@ -using Windows.UI.Xaml.Controls; +using System; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Data; using ModernKeePassLib; -namespace ModernKeePass.Mappings +namespace ModernKeePass.Converters { - public static class PwIconToSegoeMapping + public class IntToSymbolConverter : IValueConverter { - public static Symbol GetSymbolFromIcon(PwIcon icon) + public object Convert(object value, Type targetType, object parameter, string language) { + var icon = (PwIcon) value; switch (icon) { case PwIcon.Key: return Symbol.Permissions; @@ -29,7 +32,7 @@ namespace ModernKeePass.Mappings case PwIcon.Scanner: return Symbol.Scan; case PwIcon.CDRom: return Symbol.Rotate; case PwIcon.Monitor: return Symbol.Caption; - case PwIcon.EMailBox: + case PwIcon.EMailBox: case PwIcon.EMail: return Symbol.Mail; case PwIcon.Configuration: return Symbol.Setting; case PwIcon.ClipboardReady: return Symbol.Paste; @@ -56,7 +59,7 @@ namespace ModernKeePass.Mappings case PwIcon.Info: return Symbol.Help; //case PwIcon.Package: return Symbol.; case PwIcon.Folder: - case PwIcon.FolderOpen: + case PwIcon.FolderOpen: case PwIcon.FolderPackage: return Symbol.Folder; //case PwIcon.LockOpen: return Symbol.; case PwIcon.PaperLocked: return Symbol.ProtectedDocument; @@ -79,8 +82,9 @@ namespace ModernKeePass.Mappings } } - public static PwIcon GetIconFromSymbol(Symbol symbol) + public object ConvertBack(object value, Type targetType, object parameter, string language) { + var symbol = (Symbol) value; switch (symbol) { /*case Symbol.Previous: @@ -474,4 +478,4 @@ namespace ModernKeePass.Mappings } } } -} +} \ No newline at end of file diff --git a/ModernKeePass/Interfaces/IPwEntity.cs b/ModernKeePass/Interfaces/IPwEntity.cs index 3cee427..e855a8f 100644 --- a/ModernKeePass/Interfaces/IPwEntity.cs +++ b/ModernKeePass/Interfaces/IPwEntity.cs @@ -1,4 +1,4 @@ -using Windows.UI.Xaml.Controls; +using System.Collections.Generic; using ModernKeePass.ViewModels; namespace ModernKeePass.Interfaces @@ -7,9 +7,10 @@ namespace ModernKeePass.Interfaces { GroupVm ParentGroup { get; } GroupVm PreviousGroup { get; } - Symbol IconSymbol { get; } + int IconId { get; } string Id { get; } string Name { get; set; } + IEnumerable BreadCrumb { get; } bool IsEditMode { get; } bool IsRecycleOnDelete { get; } diff --git a/ModernKeePass/ModernKeePass.App.csproj b/ModernKeePass/ModernKeePass.App.csproj index 679ccec..e76076f 100644 --- a/ModernKeePass/ModernKeePass.App.csproj +++ b/ModernKeePass/ModernKeePass.App.csproj @@ -114,6 +114,7 @@ App.xaml + @@ -185,7 +186,6 @@ MainPage.xaml - AboutPage.xaml diff --git a/ModernKeePass/Services/DatabaseService.cs b/ModernKeePass/Services/DatabaseService.cs index 43377f1..035e427 100644 --- a/ModernKeePass/Services/DatabaseService.cs +++ b/ModernKeePass/Services/DatabaseService.cs @@ -224,7 +224,7 @@ namespace ModernKeePass.Services { RecycleBin = RootGroup.AddNewGroup(title); RecycleBin.IsSelected = true; - RecycleBin.IconSymbol = Symbol.Delete; + RecycleBin.IconId = (int)PwIcon.TrashBin; } private void CreateSampleData() diff --git a/ModernKeePass/ViewModels/EntryVm.cs b/ModernKeePass/ViewModels/EntryVm.cs index 6589ec5..ee91e3a 100644 --- a/ModernKeePass/ViewModels/EntryVm.cs +++ b/ModernKeePass/ViewModels/EntryVm.cs @@ -1,9 +1,7 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using Windows.UI.Xaml.Controls; using ModernKeePass.Interfaces; -using ModernKeePass.Mappings; using ModernKeePass.Services; using ModernKeePassLib; using ModernKeePassLib.Cryptography.PasswordGenerator; @@ -79,14 +77,12 @@ namespace ModernKeePass.ViewModels set { SetEntryValue(PwDefs.NotesField, value); } } - public Symbol IconSymbol + public int IconId { get { - if (_pwEntry == null) return Symbol.Add; - if (HasExpired) return Symbol.Priority; - var result = PwIconToSegoeMapping.GetSymbolFromIcon(_pwEntry.IconId); - return result == Symbol.More ? Symbol.Permissions : result; + if (_pwEntry?.IconId != null) return (int) _pwEntry?.IconId; + return -1; } } diff --git a/ModernKeePass/ViewModels/GroupVm.cs b/ModernKeePass/ViewModels/GroupVm.cs index 28a609d..81a1848 100644 --- a/ModernKeePass/ViewModels/GroupVm.cs +++ b/ModernKeePass/ViewModels/GroupVm.cs @@ -3,11 +3,8 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; using System.Linq; -using System.Text; -using Windows.UI.Xaml.Controls; using ModernKeePass.Common; using ModernKeePass.Interfaces; -using ModernKeePass.Mappings; using ModernKeePass.Services; using ModernKeePassLib; @@ -71,14 +68,14 @@ namespace ModernKeePass.ViewModels set { _pwGroup.Name = value; } } - public Symbol IconSymbol + public int IconId { get { - var result = PwIconToSegoeMapping.GetSymbolFromIcon(_pwGroup.IconId); - return result == Symbol.More ? Symbol.Folder : result; + if (_pwGroup?.IconId != null) return (int) _pwGroup?.IconId; + return -1; } - set { _pwGroup.IconId = PwIconToSegoeMapping.GetIconFromSymbol(value); } + set { _pwGroup.IconId = (PwIcon)value; } } public bool IsEditMode diff --git a/ModernKeePass/Views/GroupDetailPage.xaml b/ModernKeePass/Views/GroupDetailPage.xaml index 1e2cb99..ddfd191 100644 --- a/ModernKeePass/Views/GroupDetailPage.xaml +++ b/ModernKeePass/Views/GroupDetailPage.xaml @@ -19,6 +19,7 @@ + @@ -128,7 +129,7 @@ - + @@ -138,7 +139,7 @@ - + @@ -237,7 +238,7 @@ - +