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
|
|
|
|
{
|
2018-06-19 18:47:37 +02:00
|
|
|
|
public bool IsFileSelected => DatabaseFile != null;
|
2017-10-10 15:00:31 +02:00
|
|
|
|
|
2018-06-19 18:47:37 +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; }
|
2017-11-23 15:26:57 +01:00
|
|
|
|
|
2018-06-19 18:47:37 +02:00
|
|
|
|
public OpenVm() : this(null) { }
|
2017-10-10 15:00:31 +02:00
|
|
|
|
|
2018-06-19 18:47:37 +02:00
|
|
|
|
public OpenVm(StorageFile file)
|
2017-10-11 15:10:28 -04:00
|
|
|
|
{
|
2018-06-19 18:47:37 +02:00
|
|
|
|
if (!IsFileSelected) return;
|
|
|
|
|
OpenFile(file);
|
2017-10-11 15:10:28 -04:00
|
|
|
|
}
|
2017-12-01 17:59:38 +01:00
|
|
|
|
|
2017-10-10 15:00:31 +02:00
|
|
|
|
public void OpenFile(StorageFile file)
|
2017-12-01 17:59:38 +01:00
|
|
|
|
{
|
2018-02-23 18:09:21 +01:00
|
|
|
|
OpenFile(file, RecentService.Instance);
|
2017-12-01 17:59:38 +01:00
|
|
|
|
}
|
|
|
|
|
|
2018-02-23 18:09:21 +01:00
|
|
|
|
public void OpenFile(StorageFile file, IRecentService recent)
|
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");
|
2017-12-01 17:59:38 +01:00
|
|
|
|
AddToRecentList(file, recent);
|
2017-10-10 15:00:31 +02:00
|
|
|
|
}
|
|
|
|
|
|
2018-02-23 18:09:21 +01:00
|
|
|
|
private void AddToRecentList(StorageFile file, IRecentService recent)
|
2017-10-10 15:00:31 +02:00
|
|
|
|
{
|
2017-12-01 17:59:38 +01:00
|
|
|
|
recent.Add(file, file.DisplayName);
|
2017-10-10 15:00:31 +02:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|