2017-11-27 15:26:36 +01:00
|
|
|
|
using Windows.Storage;
|
2017-10-10 15:00:31 +02:00
|
|
|
|
using Windows.Storage.AccessCache;
|
2017-10-11 18:43:27 +02:00
|
|
|
|
using Windows.UI.Xaml;
|
|
|
|
|
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
|
|
|
|
{
|
2017-11-29 19:13:38 +01:00
|
|
|
|
public bool ShowPasswordBox => _database?.Status == (int) DatabaseService.DatabaseStatus.Opening;
|
2017-10-10 15:00:31 +02:00
|
|
|
|
|
2017-11-23 15:26:57 +01:00
|
|
|
|
public string Name => _database?.Name;
|
|
|
|
|
|
|
|
|
|
private readonly IDatabase _database;
|
|
|
|
|
|
|
|
|
|
public OpenVm() : this((Application.Current as App)?.Database) { }
|
2017-10-10 15:00:31 +02:00
|
|
|
|
|
2017-11-23 15:26:57 +01:00
|
|
|
|
public OpenVm(IDatabase database)
|
2017-10-11 15:10:28 -04:00
|
|
|
|
{
|
2017-11-23 15:26:57 +01:00
|
|
|
|
_database = database;
|
2017-11-29 19:13:38 +01:00
|
|
|
|
if (database == null || database.Status != (int) DatabaseService.DatabaseStatus.Opening) return;
|
2017-11-23 15:26:57 +01:00
|
|
|
|
OpenFile(database.DatabaseFile);
|
2017-10-11 15:10:28 -04:00
|
|
|
|
}
|
2017-10-11 14:30:07 +02:00
|
|
|
|
|
2017-10-10 15:00:31 +02:00
|
|
|
|
public void OpenFile(StorageFile file)
|
|
|
|
|
{
|
2017-11-23 15:26:57 +01:00
|
|
|
|
_database.DatabaseFile = file;
|
2017-11-27 15:26:36 +01:00
|
|
|
|
OnPropertyChanged("Name");
|
|
|
|
|
OnPropertyChanged("ShowPasswordBox");
|
2017-10-10 15:00:31 +02:00
|
|
|
|
AddToRecentList(file);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AddToRecentList(StorageFile file)
|
|
|
|
|
{
|
|
|
|
|
var mru = StorageApplicationPermissions.MostRecentlyUsedList;
|
|
|
|
|
mru.Add(file, file.DisplayName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|