diff --git a/ModernKeePass/App.xaml b/ModernKeePass/App.xaml
index 0427b85..89ac398 100644
--- a/ModernKeePass/App.xaml
+++ b/ModernKeePass/App.xaml
@@ -11,6 +11,7 @@
+
diff --git a/ModernKeePass/Controls/Breadcrumb.cs b/ModernKeePass/Controls/Breadcrumb.cs
new file mode 100644
index 0000000..48a1c56
--- /dev/null
+++ b/ModernKeePass/Controls/Breadcrumb.cs
@@ -0,0 +1,55 @@
+using System.Collections.Generic;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using ModernKeePass.Interfaces;
+
+// The Templated Control item template is documented at http://go.microsoft.com/fwlink/?LinkId=234235
+
+namespace ModernKeePass.Controls
+{
+ public class Breadcrumb : Control
+ {
+ public Breadcrumb()
+ {
+ DefaultStyleKey = typeof(Breadcrumb);
+ }
+ public string TargetPage
+ {
+ get { return (string)GetValue(TargetPageProperty); }
+ set { SetValue(TargetPageProperty, value); }
+ }
+
+ public static readonly DependencyProperty TargetPageProperty =
+ DependencyProperty.Register(
+ "TargetPage",
+ typeof(string),
+ typeof(Breadcrumb),
+ new PropertyMetadata(string.Empty, (o, args) => { }));
+
+ public Symbol SeparatorSymbol
+ {
+ get { return (Symbol)GetValue(SeparatorSymbolProperty); }
+ set { SetValue(SeparatorSymbolProperty, value); }
+ }
+
+ public static readonly DependencyProperty SeparatorSymbolProperty =
+ DependencyProperty.Register(
+ "SeparatorSymbol",
+ typeof(Symbol),
+ typeof(Breadcrumb),
+ new PropertyMetadata(Symbol.Forward, (o, args) => { }));
+
+ public IEnumerable PathItems
+ {
+ get { return (IEnumerable)GetValue(PathItemsProperty); }
+ set { SetValue(PathItemsProperty, value); }
+ }
+
+ public static readonly DependencyProperty PathItemsProperty =
+ DependencyProperty.Register(
+ "PathItems",
+ typeof(IEnumerable<>),
+ typeof(Breadcrumb),
+ new PropertyMetadata(null, (o, args) => { }));
+ }
+}
diff --git a/ModernKeePass/ModernKeePass.App.csproj b/ModernKeePass/ModernKeePass.App.csproj
index 369b72a..4cd17da 100644
--- a/ModernKeePass/ModernKeePass.App.csproj
+++ b/ModernKeePass/ModernKeePass.App.csproj
@@ -114,6 +114,7 @@
App.xaml
+
@@ -247,6 +248,11 @@
MSBuild:Compile
Designer
+
+ Designer
+ MSBuild:Compile
+ PreserveNewest
+
Designer
MSBuild:Compile
diff --git a/ModernKeePass/Services/DatabaseService.cs b/ModernKeePass/Services/DatabaseService.cs
index ad7f2f5..43377f1 100644
--- a/ModernKeePass/Services/DatabaseService.cs
+++ b/ModernKeePass/Services/DatabaseService.cs
@@ -2,6 +2,7 @@ using System;
using System.Threading.Tasks;
using Windows.Storage;
using Windows.UI.Xaml.Controls;
+using Microsoft.HockeyApp;
using ModernKeePass.Exceptions;
using ModernKeePass.Interfaces;
using ModernKeePass.ViewModels;
@@ -146,6 +147,7 @@ namespace ModernKeePass.Services
}
catch (InvalidCompositeKeyException ex)
{
+ HockeyClient.Current.TrackException(ex);
throw new ArgumentException(ex.Message, ex);
}
}
diff --git a/ModernKeePass/Styles/BreadcrumbStyle.xaml b/ModernKeePass/Styles/BreadcrumbStyle.xaml
new file mode 100644
index 0000000..d6d5ef5
--- /dev/null
+++ b/ModernKeePass/Styles/BreadcrumbStyle.xaml
@@ -0,0 +1,58 @@
+
+
+
+
diff --git a/ModernKeePass/ViewModels/EntryVm.cs b/ModernKeePass/ViewModels/EntryVm.cs
index e59fed6..ebb974d 100644
--- a/ModernKeePass/ViewModels/EntryVm.cs
+++ b/ModernKeePass/ViewModels/EntryVm.cs
@@ -143,6 +143,7 @@ namespace ModernKeePass.ViewModels
}
}
+ [Obsolete]
public string Path
{
get
diff --git a/ModernKeePass/ViewModels/GroupVm.cs b/ModernKeePass/ViewModels/GroupVm.cs
index 5cd1819..b78ed99 100644
--- a/ModernKeePass/ViewModels/GroupVm.cs
+++ b/ModernKeePass/ViewModels/GroupVm.cs
@@ -93,22 +93,23 @@ namespace ModernKeePass.ViewModels
set { SetProperty(ref _isMenuClosed, value); }
}
- public ObservableCollection BreadCrumb
+ public Stack BreadCrumb
{
get
{
- var groups = new ObservableCollection();
+ var groups = new Stack();
var group = this;
while (group.ParentGroup != null)
{
group = group.ParentGroup;
- groups.Insert(0, group);
+ groups.Push(group);
}
return groups;
}
}
+ [Obsolete]
public string Path
{
get
diff --git a/ModernKeePass/Views/GroupDetailPage.xaml b/ModernKeePass/Views/GroupDetailPage.xaml
index 4609e40..237d16f 100644
--- a/ModernKeePass/Views/GroupDetailPage.xaml
+++ b/ModernKeePass/Views/GroupDetailPage.xaml
@@ -9,6 +9,7 @@
xmlns:core="using:Microsoft.Xaml.Interactions.Core"
xmlns:actions="using:ModernKeePass.Actions"
xmlns:templateSelectors="using:ModernKeePass.TemplateSelectors"
+ xmlns:controls="using:ModernKeePass.Controls"
x:Name="PageRoot"
x:Class="ModernKeePass.Views.GroupDetailPage"
mc:Ignorable="d"
@@ -95,7 +96,10 @@
Source="{Binding Entries}" />
+ Source="{Binding EntriesZoomedOut}" IsSourceGrouped="True" />
+
@@ -131,7 +135,7 @@
-
+
@@ -141,7 +145,7 @@
-
+
@@ -210,6 +214,7 @@
-
-
-
-
-
-
@@ -347,7 +346,8 @@
-
+
+