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-01-08 18:52:03 +01:00
|
|
|
|
public bool ShowPasswordBox => _database.IsFileOpen;
|
2017-10-10 15:00:31 +02:00
|
|
|
|
|
2017-11-23 15:26:57 +01:00
|
|
|
|
public string Name => _database?.Name;
|
|
|
|
|
|
2018-02-23 18:09:21 +01:00
|
|
|
|
private readonly IDatabaseService _database;
|
2017-11-23 15:26:57 +01:00
|
|
|
|
|
2018-02-23 18:09:21 +01:00
|
|
|
|
public OpenVm() : this(DatabaseService.Instance) { }
|
2017-10-10 15:00:31 +02:00
|
|
|
|
|
2018-02-23 18:09:21 +01:00
|
|
|
|
public OpenVm(IDatabaseService database)
|
2017-10-11 15:10:28 -04:00
|
|
|
|
{
|
2017-11-23 15:26:57 +01:00
|
|
|
|
_database = database;
|
2018-01-08 18:52:03 +01:00
|
|
|
|
if (database == null || !database.IsFileOpen) return;
|
2017-11-23 15:26:57 +01:00
|
|
|
|
OpenFile(database.DatabaseFile);
|
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
|
|
|
|
{
|
2017-11-23 15:26:57 +01:00
|
|
|
|
_database.DatabaseFile = file;
|
2017-11-27 15:26:36 +01:00
|
|
|
|
OnPropertyChanged("Name");
|
|
|
|
|
OnPropertyChanged("ShowPasswordBox");
|
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
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|