diff --git a/ModernKeePass/App.xaml b/ModernKeePass/App.xaml index 9866df7..885a6bc 100644 --- a/ModernKeePass/App.xaml +++ b/ModernKeePass/App.xaml @@ -40,6 +40,13 @@ + diff --git a/ModernKeePass/Pages/EntryDetailPage.xaml b/ModernKeePass/Pages/EntryDetailPage.xaml index 2142368..2a50976 100644 --- a/ModernKeePass/Pages/EntryDetailPage.xaml +++ b/ModernKeePass/Pages/EntryDetailPage.xaml @@ -56,10 +56,16 @@ AutomationProperties.Name="Back" AutomationProperties.AutomationId="BackButton" AutomationProperties.ItemType="Navigation Button"/> - + - + diff --git a/ModernKeePass/Pages/GroupDetailPage.xaml b/ModernKeePass/Pages/GroupDetailPage.xaml index f2b8059..af21e95 100644 --- a/ModernKeePass/Pages/GroupDetailPage.xaml +++ b/ModernKeePass/Pages/GroupDetailPage.xaml @@ -187,24 +187,21 @@ AutomationProperties.Name="Back" AutomationProperties.AutomationId="BackButton" AutomationProperties.ItemType="Navigation Button"/> - + VerticalAlignment="Center" + Margin="0,0,30,0"/> - - - - - + + diff --git a/ModernKeePass/ViewModels/EntryVm.cs b/ModernKeePass/ViewModels/EntryVm.cs index 0e89a64..f738764 100644 --- a/ModernKeePass/ViewModels/EntryVm.cs +++ b/ModernKeePass/ViewModels/EntryVm.cs @@ -1,17 +1,19 @@ using Windows.UI.Text; using Windows.UI.Xaml.Controls; +using ModernKeePass.Common; using ModernKeePass.Mappings; using ModernKeePassLib; using ModernKeePassLib.Security; namespace ModernKeePass.ViewModels { - public class EntryVm + public class EntryVm: NotifyPropertyChangedBase { public GroupVm ParentGroup { get; } - public PwEntry Entry => _pwEntry; - public System.Drawing.Color? BackgroundColor => _pwEntry?.BackgroundColor; - public System.Drawing.Color? ForegroundColor => _pwEntry?.ForegroundColor; + public PwEntry Entry { get; } + + public System.Drawing.Color? BackgroundColor => Entry?.BackgroundColor; + public System.Drawing.Color? ForegroundColor => Entry?.ForegroundColor; public string Title { @@ -47,18 +49,24 @@ namespace ModernKeePass.ViewModels { get { - if (_pwEntry == null) return Symbol.Add; - var result = PwIconToSegoeMapping.GetSymbolFromIcon(_pwEntry.IconId); + if (Entry == null) return Symbol.Add; + var result = PwIconToSegoeMapping.GetSymbolFromIcon(Entry.IconId); return result == Symbol.More ? Symbol.Permissions : result; } } - - private readonly PwEntry _pwEntry; + + public bool IsEditMode + { + get { return _isEditMode; } + set { SetProperty(ref _isEditMode, value); } + } + + private bool _isEditMode; public EntryVm() { } public EntryVm(PwEntry entry, GroupVm parent) { - _pwEntry = entry; + Entry = entry; ParentGroup = parent; } @@ -69,12 +77,12 @@ namespace ModernKeePass.ViewModels private string GetEntryValue(string key) { - return _pwEntry?.Strings.GetSafe(key).ReadString(); + return Entry?.Strings.GetSafe(key).ReadString(); } private void SetEntryValue(string key, string newValue) { - _pwEntry?.Strings.Set(key, new ProtectedString(true, newValue)); + Entry?.Strings.Set(key, new ProtectedString(true, newValue)); } } } diff --git a/ModernKeePass/ViewModels/GroupVm.cs b/ModernKeePass/ViewModels/GroupVm.cs index d4e48bb..4da682b 100644 --- a/ModernKeePass/ViewModels/GroupVm.cs +++ b/ModernKeePass/ViewModels/GroupVm.cs @@ -13,12 +13,17 @@ namespace ModernKeePass.ViewModels public GroupVm ParentGroup { get; } public ObservableCollection Entries { get; set; } = new ObservableCollection(); public ObservableCollection Groups { get; set; } = new ObservableCollection(); - public string Name => _pwGroup == null ? "New group" : _pwGroup.Name; + public int EntryCount => Entries.Count - 1; public int GroupCount => Groups.Count - 1; public bool IsNotRoot => ParentGroup != null; public FontWeight FontWeight => _pwGroup == null ? FontWeights.Bold : FontWeights.Normal; + public string Name + { + get { return _pwGroup == null ? "New group" : _pwGroup.Name; } + set { _pwGroup.Name = value; } + } public Symbol IconSymbol { get @@ -35,8 +40,15 @@ namespace ModernKeePass.ViewModels set { SetProperty(ref _isLeftPaneOpen, value); } } + public bool IsEditMode + { + get { return _isEditMode; } + set { SetProperty(ref _isEditMode, value); } + } + private readonly PwGroup _pwGroup; private bool _isLeftPaneOpen; + private bool _isEditMode; public GroupVm() {}