Files
modernkeepass/ModernKeePass/ViewModels/OpenVm.cs
BONNEVILLE Geoffroy 188233cc81 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
2018-06-20 11:52:17 +02:00

44 lines
1.1 KiB
C#

using Windows.Storage;
using ModernKeePass.Common;
using ModernKeePass.Interfaces;
using ModernKeePass.Services;
namespace ModernKeePass.ViewModels
{
public class OpenVm: NotifyPropertyChangedBase
{
public bool IsFileSelected => DatabaseFile != null;
public string Name => DatabaseFile?.DisplayName;
public StorageFile DatabaseFile { get; private set; }
public OpenVm() : this(null) { }
public OpenVm(StorageFile file)
{
if (!IsFileSelected) return;
OpenFile(file);
}
public void OpenFile(StorageFile file)
{
OpenFile(file, RecentService.Instance);
}
public void OpenFile(StorageFile file, IRecentService recent)
{
DatabaseFile = file;
OnPropertyChanged("Name");
OnPropertyChanged("IsFileSelected");
OnPropertyChanged("DatabaseFile");
AddToRecentList(file, recent);
}
private void AddToRecentList(StorageFile file, IRecentService recent)
{
recent.Add(file, file.DisplayName);
}
}
}