diff --git a/ModernKeePass/Views/EntryDetailPage.xaml b/ModernKeePass/Views/EntryDetailPage.xaml index 40552dc..f467a56 100644 --- a/ModernKeePass/Views/EntryDetailPage.xaml +++ b/ModernKeePass/Views/EntryDetailPage.xaml @@ -228,13 +228,12 @@ - - - - diff --git a/ModernKeePass/Views/MainPage.xaml.cs b/ModernKeePass/Views/MainPage.xaml.cs index 83bfb79..fbd51ee 100644 --- a/ModernKeePass/Views/MainPage.xaml.cs +++ b/ModernKeePass/Views/MainPage.xaml.cs @@ -40,7 +40,11 @@ namespace ModernKeePass.Views protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); - var file = e.Parameter as FileInfo; + FileInfo file; + if (e.NavigationMode == NavigationMode.Back) + file = null; + else + file = e.Parameter as FileInfo; await Model.Initialize(Frame, MenuFrame, file); } } diff --git a/ModernKeePass/Views/UserControls/BreadcrumbUserControl.xaml b/ModernKeePass/Views/UserControls/BreadcrumbUserControl.xaml index 64c9002..55185e5 100644 --- a/ModernKeePass/Views/UserControls/BreadcrumbUserControl.xaml +++ b/ModernKeePass/Views/UserControls/BreadcrumbUserControl.xaml @@ -9,23 +9,29 @@ xmlns:interactivity="using:Microsoft.Xaml.Interactivity" xmlns:core="using:Microsoft.Xaml.Interactions.Core" mc:Ignorable="d"> - - + + - + - - + + - + + + + + + + - + - + @@ -113,5 +120,5 @@ - + diff --git a/ModernKeePass/Views/UserControls/BreadcrumbUserControl.xaml.cs b/ModernKeePass/Views/UserControls/BreadcrumbUserControl.xaml.cs index 415346f..02ed5b2 100644 --- a/ModernKeePass/Views/UserControls/BreadcrumbUserControl.xaml.cs +++ b/ModernKeePass/Views/UserControls/BreadcrumbUserControl.xaml.cs @@ -1,4 +1,5 @@ -using Windows.UI.Xaml; +using System.Linq; +using Windows.UI.Xaml; using ModernKeePass.Application.Group.Models; using ModernKeePass.ViewModels; @@ -22,7 +23,9 @@ namespace ModernKeePass.Views.UserControls { var userControl = o as BreadcrumbUserControl; var vm = userControl?.StackPanel.DataContext as BreadcrumbControlVm; - if (vm != null) await vm.Initialize(args.NewValue as GroupVm).ConfigureAwait(false); + if (vm == null) return; + await vm.Initialize(args.NewValue as GroupVm).ConfigureAwait(false); + userControl?.ListView.ScrollIntoView(vm.BreadcrumbItems.Last()); })); public BreadcrumbUserControl() diff --git a/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml b/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml index b393e1f..520bdba 100644 --- a/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml +++ b/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml @@ -60,7 +60,7 @@ - + @@ -97,7 +97,7 @@ - + diff --git a/ModernKeePass/appMetadata/en-us/baselisting/releaseNotes.txt b/ModernKeePass/appMetadata/en-us/baselisting/releaseNotes.txt index bc34abc..8edfb5a 100644 --- a/ModernKeePass/appMetadata/en-us/baselisting/releaseNotes.txt +++ b/ModernKeePass/appMetadata/en-us/baselisting/releaseNotes.txt @@ -1 +1,2 @@ +(Re-)Added a breadcrumb to help with navigation Design improvements \ No newline at end of file diff --git a/ModernKeePass/appMetadata/fr-fr/baselisting/releaseNotes.txt b/ModernKeePass/appMetadata/fr-fr/baselisting/releaseNotes.txt index 184f7f6..563ef03 100644 --- a/ModernKeePass/appMetadata/fr-fr/baselisting/releaseNotes.txt +++ b/ModernKeePass/appMetadata/fr-fr/baselisting/releaseNotes.txt @@ -1 +1,2 @@ +(R)Ajout du fil d'Ariane pour aider a la navigation Ameliorations de design \ No newline at end of file diff --git a/WinAppCommon/ViewModels/UserControls/BreadcrumbControlVm.cs b/WinAppCommon/ViewModels/UserControls/BreadcrumbControlVm.cs index 6062a4b..fefafda 100644 --- a/WinAppCommon/ViewModels/UserControls/BreadcrumbControlVm.cs +++ b/WinAppCommon/ViewModels/UserControls/BreadcrumbControlVm.cs @@ -16,7 +16,7 @@ namespace ModernKeePass.ViewModels { public ObservableCollection BreadcrumbItems { get; } public string ParentGroupName { get; private set; } - public Icon ParentGroupIcon { get; private set; } + public Icon ParentGroupIcon { get; private set; } = Icon.Folder; public RelayCommand GoBackCommand { get; } public RelayCommand GoUpCommand { get; private set; } @@ -33,22 +33,22 @@ namespace ModernKeePass.ViewModels BreadcrumbItems = new ObservableCollection(); GoBackCommand = new RelayCommand(() => _navigation.GoBack()); GoToCommand = new RelayCommand(GoTo); + GoUpCommand = new RelayCommand(() => GoTo(BreadcrumbItems.Count - 1), () => !string.IsNullOrEmpty(ParentGroupName)); } public async Task Initialize(GroupVm group) { - GoUpCommand = new RelayCommand(() => GoTo(BreadcrumbItems.Count - 1), () => group != null); - if (group == null) return; + GoBackCommand.RaiseCanExecuteChanged(); ParentGroupName = group.Title; ParentGroupIcon = group.Icon; - BreadcrumbItems.Insert(0, new BreadcrumbItem { Path = group.Id, Name = group.Title, Icon = group.Icon }); + BreadcrumbItems.Add(new BreadcrumbItem { Path = group.Id, Name = group.Title, Icon = group.Icon }); var parentGroup = group; while (!string.IsNullOrEmpty(parentGroup.ParentGroupId)) { parentGroup = await _mediator.Send(new GetGroupQuery {Id = parentGroup.ParentGroupId}); - BreadcrumbItems.Insert(0, new BreadcrumbItem {Path = parentGroup.Id, Name = parentGroup.Title, Icon = parentGroup.Icon}); + BreadcrumbItems.Add(new BreadcrumbItem {Path = parentGroup.Id, Name = parentGroup.Title, Icon = parentGroup.Icon}); } }