Error messages are now caught at the app level (see if it's a good solution in the long term)

Redesign of the create key file button
This commit is contained in:
BONNEVILLE Geoffroy
2017-11-23 19:02:49 +01:00
parent 675a718107
commit 1b2d25e171
11 changed files with 54 additions and 47 deletions

View File

@@ -1,4 +1,5 @@
using System.Text;
using System;
using System.Text;
using Windows.Storage;
using Windows.UI.Xaml;
using ModernKeePass.Common;
@@ -105,7 +106,15 @@ namespace ModernKeePass.ViewModels
public bool OpenDatabase(bool createNew)
{
Database.Open(CreateCompositeKey(), createNew);
var error = string.Empty;
try
{
Database.Open(CreateCompositeKey(), createNew);
}
catch (Exception e)
{
error = $"Error: {e.Message}";
}
switch ((DatabaseHelper.DatabaseStatus)Database.Status)
{
case DatabaseHelper.DatabaseStatus.Opened:
@@ -118,6 +127,9 @@ namespace ModernKeePass.ViewModels
if (HasKeyFile) errorMessage.Append("key file");
UpdateStatus(errorMessage.ToString(), StatusTypes.Error);
break;
case DatabaseHelper.DatabaseStatus.Error:
UpdateStatus(error, StatusTypes.Error);
break;
}
return false;
}

View File

@@ -16,10 +16,11 @@ namespace ModernKeePass.ViewModels
public void Save(bool close = true)
{
if (close && _database.Save()) _database.Close();
_database.Save();
if (close) _database.Close();
}
internal void Save(StorageFile file)
public void Save(StorageFile file)
{
_database.Save(file);
}