mirror of
https://github.com/wismna/ModernKeePass.git
synced 2025-10-03 15:40:18 -04:00
Database file is now handled by each page, instead of a central place
Opening a database while another one is open triggers a warning message
This commit is contained in:
@@ -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;
|
||||
|
@@ -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
|
||||
{
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user