2017-11-27 15:26:36 +01:00
|
|
|
|
using Windows.Storage;
|
2017-10-11 18:43:27 +02:00
|
|
|
|
using ModernKeePass.Common;
|
2017-11-23 15:26:57 +01:00
|
|
|
|
using ModernKeePass.Interfaces;
|
2017-11-29 19:13:38 +01:00
|
|
|
|
using ModernKeePass.Services;
|
2017-10-10 15:00:31 +02:00
|
|
|
|
|
|
|
|
|
namespace ModernKeePass.ViewModels
|
|
|
|
|
{
|
2017-11-27 15:26:36 +01:00
|
|
|
|
public class OpenVm: NotifyPropertyChangedBase
|
2017-10-10 15:00:31 +02:00
|
|
|
|
{
|
2020-03-30 19:43:04 +02:00
|
|
|
|
private readonly IRecentService _recent;
|
2018-06-19 18:47:37 +02:00
|
|
|
|
public bool IsFileSelected => DatabaseFile != null;
|
2017-10-10 15:00:31 +02:00
|
|
|
|
|
2018-06-20 11:52:17 +02:00
|
|
|
|
public string Name => DatabaseFile?.DisplayName;
|
2017-11-23 15:26:57 +01:00
|
|
|
|
|
2018-06-19 18:47:37 +02:00
|
|
|
|
public StorageFile DatabaseFile { get; private set; }
|
2020-03-30 19:43:04 +02:00
|
|
|
|
|
|
|
|
|
public OpenVm(): this(new RecentService()) { }
|
|
|
|
|
|
|
|
|
|
public OpenVm(IRecentService recent)
|
2017-12-01 17:59:38 +01:00
|
|
|
|
{
|
2020-03-30 19:43:04 +02:00
|
|
|
|
_recent = recent;
|
2017-12-01 17:59:38 +01:00
|
|
|
|
}
|
2020-03-30 19:43:04 +02:00
|
|
|
|
|
|
|
|
|
public void OpenFile(StorageFile file)
|
2017-10-10 15:00:31 +02:00
|
|
|
|
{
|
2018-06-19 18:47:37 +02:00
|
|
|
|
DatabaseFile = file;
|
2017-11-27 15:26:36 +01:00
|
|
|
|
OnPropertyChanged("Name");
|
2018-06-19 18:47:37 +02:00
|
|
|
|
OnPropertyChanged("IsFileSelected");
|
2018-06-20 11:52:17 +02:00
|
|
|
|
OnPropertyChanged("DatabaseFile");
|
2020-03-30 19:43:04 +02:00
|
|
|
|
AddToRecentList(file);
|
2017-10-10 15:00:31 +02:00
|
|
|
|
}
|
|
|
|
|
|
2020-03-30 19:43:04 +02:00
|
|
|
|
private void AddToRecentList(StorageFile file)
|
2017-10-10 15:00:31 +02:00
|
|
|
|
{
|
2020-03-30 19:43:04 +02:00
|
|
|
|
_recent.Add(file, file.DisplayName);
|
2017-10-10 15:00:31 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|