diff --git a/ModernKeePass/Common/DatabaseHelper.cs b/ModernKeePass/Common/DatabaseHelper.cs
index d91b5d4..4388974 100644
--- a/ModernKeePass/Common/DatabaseHelper.cs
+++ b/ModernKeePass/Common/DatabaseHelper.cs
@@ -1,6 +1,7 @@
using System;
using Windows.Storage;
using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
using ModernKeePass.ViewModels;
using ModernKeePassLib;
using ModernKeePassLib.Interfaces;
@@ -129,5 +130,12 @@ namespace ModernKeePass.Common
{
_pwDatabase.DeletedObjects.Add(new PwDeletedObject(id, DateTime.UtcNow));
}
+
+ public void CreateRecycleBin()
+ {
+ RecycleBin = RootGroup.AddNewGroup("Recycle bin");
+ RecycleBin.IsSelected = true;
+ RecycleBin.IconSymbol = Symbol.Delete;
+ }
}
}
diff --git a/ModernKeePass/Pages/SettingsPage.xaml b/ModernKeePass/Pages/SettingsPage.xaml
index c217926..0aeac44 100644
--- a/ModernKeePass/Pages/SettingsPage.xaml
+++ b/ModernKeePass/Pages/SettingsPage.xaml
@@ -27,7 +27,7 @@
-
+
@@ -43,7 +43,7 @@
-
diff --git a/ModernKeePass/ViewModels/EntryVm.cs b/ModernKeePass/ViewModels/EntryVm.cs
index f6595ba..158b9f5 100644
--- a/ModernKeePass/ViewModels/EntryVm.cs
+++ b/ModernKeePass/ViewModels/EntryVm.cs
@@ -196,6 +196,8 @@ namespace ModernKeePass.ViewModels
public void MarkForDelete()
{
+ if (_app.Database.RecycleBinEnabled && _app.Database.RecycleBin?.IdUuid == null)
+ _app.Database.CreateRecycleBin();
Move(_app.Database.RecycleBinEnabled && !ParentGroup.IsSelected ? _app.Database.RecycleBin : null);
}
diff --git a/ModernKeePass/ViewModels/GroupVm.cs b/ModernKeePass/ViewModels/GroupVm.cs
index 7cc3533..7c82572 100644
--- a/ModernKeePass/ViewModels/GroupVm.cs
+++ b/ModernKeePass/ViewModels/GroupVm.cs
@@ -32,16 +32,16 @@ namespace ModernKeePass.ViewModels
///
public bool IsSelected
{
- get { return _app.Database.RecycleBinEnabled && _app.Database.RecycleBin.Id == Id; }
+ get { return _app.Database.RecycleBinEnabled && _app.Database.RecycleBin?.Id == Id; }
set
{
if (value && _pwGroup != null) _app.Database.RecycleBin = this;
- else if (value && _pwGroup == null)
+ /*else if (value && _pwGroup == null)
{
var recycleBin = _app.Database.RootGroup.AddNewGroup("Recycle bin");
recycleBin.IsSelected = true;
recycleBin.IconSymbol = Symbol.Delete;
- }
+ }*/
}
}
@@ -133,6 +133,8 @@ namespace ModernKeePass.ViewModels
public void MarkForDelete()
{
+ if (_app.Database.RecycleBinEnabled && _app.Database.RecycleBin?.IdUuid == null)
+ _app.Database.CreateRecycleBin();
Move(_app.Database.RecycleBinEnabled && !IsSelected ? _app.Database.RecycleBin : null);
}