mirror of
https://github.com/wismna/ModernKeePass.git
synced 2025-10-03 15:40:18 -04:00
Database files are added to the mru instead of the fal
Simplify opening database workflow Corrected opening from recent bug
This commit is contained in:
@@ -7,9 +7,8 @@ namespace ModernKeePass.Application.Common.Interfaces
|
||||
public interface IRecentProxy
|
||||
{
|
||||
int EntryCount { get; }
|
||||
Task<FileInfo> Get(string token, bool updateAccessTime = false);
|
||||
Task<byte[]> Get(string token, bool updateAccessTime = true);
|
||||
IEnumerable<FileInfo> GetAll();
|
||||
Task Add(FileInfo recentItem);
|
||||
void ClearAll();
|
||||
}
|
||||
}
|
@@ -9,18 +9,15 @@ namespace ModernKeePass.Application.Database.Commands.CloseDatabase
|
||||
public class CloseDatabaseCommandHandler : IRequestHandler<CloseDatabaseCommand>
|
||||
{
|
||||
private readonly IDatabaseProxy _database;
|
||||
private readonly IFileProxy _file;
|
||||
|
||||
public CloseDatabaseCommandHandler(IDatabaseProxy database, IFileProxy file)
|
||||
public CloseDatabaseCommandHandler(IDatabaseProxy database)
|
||||
{
|
||||
_database = database;
|
||||
_file = file;
|
||||
}
|
||||
public void Handle(CloseDatabaseCommand message)
|
||||
{
|
||||
if (!_database.IsOpen) throw new DatabaseClosedException();
|
||||
_database.CloseDatabase();
|
||||
_file.ReleaseFile(_database.FileAccessToken);
|
||||
|
||||
// Cleanup
|
||||
_database.FileAccessToken = null;
|
||||
|
@@ -16,18 +16,20 @@ namespace ModernKeePass.Application.Database.Queries.OpenDatabase
|
||||
{
|
||||
private readonly IDatabaseProxy _database;
|
||||
private readonly IFileProxy _file;
|
||||
private readonly IRecentProxy _recent;
|
||||
|
||||
public OpenDatabaseQueryHandler(IDatabaseProxy database, IFileProxy file)
|
||||
public OpenDatabaseQueryHandler(IDatabaseProxy database, IFileProxy file, IRecentProxy recent)
|
||||
{
|
||||
_database = database;
|
||||
_file = file;
|
||||
_recent = recent;
|
||||
}
|
||||
|
||||
public async Task Handle(OpenDatabaseQuery message)
|
||||
{
|
||||
if (_database.IsDirty) throw new DatabaseOpenException();
|
||||
|
||||
var file = await _file.OpenBinaryFile(message.FilePath);
|
||||
|
||||
var file = await _recent.Get(message.FilePath);
|
||||
var hasKeyFile = !string.IsNullOrEmpty(message.KeyFilePath);
|
||||
await _database.Open(file, new Credentials
|
||||
{
|
||||
|
Reference in New Issue
Block a user