diff --git a/ModernKeePass/App.xaml.cs b/ModernKeePass/App.xaml.cs index 89a17db..21fea6e 100644 --- a/ModernKeePass/App.xaml.cs +++ b/ModernKeePass/App.xaml.cs @@ -199,7 +199,7 @@ namespace ModernKeePass base.OnFileActivated(args); var rootFrame = new Frame(); var file = args.Files[0] as StorageFile; - rootFrame.Navigate(typeof(OpenDatabasePage), file); + rootFrame.Navigate(typeof(MainPage), file); Window.Current.Content = rootFrame; Window.Current.Activate(); } diff --git a/ModernKeePass/ViewModels/CompositeKeyVm.cs b/ModernKeePass/ViewModels/CompositeKeyVm.cs index 8e9ebe1..dd5b39b 100644 --- a/ModernKeePass/ViewModels/CompositeKeyVm.cs +++ b/ModernKeePass/ViewModels/CompositeKeyVm.cs @@ -3,7 +3,6 @@ using System.Text; using System.Threading.Tasks; using Windows.Storage; using ModernKeePass.Common; -using ModernKeePass.Exceptions; using ModernKeePass.Interfaces; using ModernKeePass.Services; using ModernKeePassLib.Cryptography; diff --git a/ModernKeePass/ViewModels/MainVm.cs b/ModernKeePass/ViewModels/MainVm.cs index 7443dc1..f0dee88 100644 --- a/ModernKeePass/ViewModels/MainVm.cs +++ b/ModernKeePass/ViewModels/MainVm.cs @@ -1,6 +1,7 @@ using System.Collections.ObjectModel; using System.Linq; using Windows.ApplicationModel; +using Windows.Storage; using Windows.UI.Xaml.Controls; using ModernKeePass.Common; using ModernKeePass.Interfaces; @@ -44,11 +45,11 @@ namespace ModernKeePass.ViewModels public MainVm() {} - internal MainVm(Frame referenceFrame, Frame destinationFrame) : this(referenceFrame, destinationFrame, - DatabaseService.Instance, new ResourcesService(), RecentService.Instance) + internal MainVm(Frame referenceFrame, Frame destinationFrame, StorageFile databaseFile = null) : this(referenceFrame, destinationFrame, + DatabaseService.Instance, new ResourcesService(), RecentService.Instance, databaseFile) { } - public MainVm(Frame referenceFrame, Frame destinationFrame, IDatabaseService database, IResourceService resource, IRecentService recent) + public MainVm(Frame referenceFrame, Frame destinationFrame, IDatabaseService database, IResourceService resource, IRecentService recent, StorageFile databaseFile = null) { var isDatabaseOpen = database != null && database.IsOpen; @@ -59,8 +60,9 @@ namespace ModernKeePass.ViewModels Title = resource.GetResourceValue("MainMenuItemOpen"), PageType = typeof(OpenDatabasePage), Destination = destinationFrame, - Parameter = referenceFrame, - SymbolIcon = Symbol.Page2 + Parameter = databaseFile, + SymbolIcon = Symbol.Page2, + IsSelected = databaseFile != null }, new MainMenuItemVm { diff --git a/ModernKeePass/ViewModels/OpenVm.cs b/ModernKeePass/ViewModels/OpenVm.cs index 1b77f4f..4ae900a 100644 --- a/ModernKeePass/ViewModels/OpenVm.cs +++ b/ModernKeePass/ViewModels/OpenVm.cs @@ -9,7 +9,7 @@ namespace ModernKeePass.ViewModels { public bool IsFileSelected => DatabaseFile != null; - public string Name => DatabaseFile.DisplayName; + public string Name => DatabaseFile?.DisplayName; public StorageFile DatabaseFile { get; private set; } @@ -31,6 +31,7 @@ namespace ModernKeePass.ViewModels DatabaseFile = file; OnPropertyChanged("Name"); OnPropertyChanged("IsFileSelected"); + OnPropertyChanged("DatabaseFile"); AddToRecentList(file, recent); } diff --git a/ModernKeePass/Views/MainPage.xaml.cs b/ModernKeePass/Views/MainPage.xaml.cs index a38dbfb..8747bb3 100644 --- a/ModernKeePass/Views/MainPage.xaml.cs +++ b/ModernKeePass/Views/MainPage.xaml.cs @@ -1,4 +1,5 @@ -using Windows.UI.Xaml.Controls; +using Windows.Storage; +using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Navigation; using ModernKeePass.ViewModels; @@ -32,7 +33,8 @@ namespace ModernKeePass.Views protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); - DataContext = new MainVm(Frame, MenuFrame); + var file = e.Parameter as StorageFile; + DataContext = new MainVm(Frame, MenuFrame, file); } } } diff --git a/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml b/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml index 59bab03..0126cb1 100644 --- a/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml +++ b/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml @@ -20,7 +20,7 @@ - + diff --git a/ModernKeePass/Views/MainPageFrames/OpenDatabasePage.xaml b/ModernKeePass/Views/MainPageFrames/OpenDatabasePage.xaml index a5e058a..7a81149 100644 --- a/ModernKeePass/Views/MainPageFrames/OpenDatabasePage.xaml +++ b/ModernKeePass/Views/MainPageFrames/OpenDatabasePage.xaml @@ -21,7 +21,7 @@ - + diff --git a/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml b/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml index 8a246cf..0904623 100644 --- a/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml +++ b/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml @@ -50,11 +50,8 @@ - + - - -