diff --git a/Wallet.Avalonia/CommentEntryView.axaml b/Wallet.Avalonia/CommentEntryView.axaml
index 1ba1106..101d66f 100644
--- a/Wallet.Avalonia/CommentEntryView.axaml
+++ b/Wallet.Avalonia/CommentEntryView.axaml
@@ -5,4 +5,4 @@
xmlns:vm="using:Wallet"
x:DataType="vm:CommentEntryViewModel"
Content="{Binding Comment}"
- Description="{Binding Created}" />
+ Description="{Binding Created, StringFormat=f}" />
diff --git a/Wallet.Avalonia/DeleteItemEntryView.axaml b/Wallet.Avalonia/DeleteItemEntryView.axaml
deleted file mode 100644
index 7c3e8aa..0000000
--- a/Wallet.Avalonia/DeleteItemEntryView.axaml
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
- 0,0,12,0
- 5,0,5,0
- 32
- 32
-
-
-
\ No newline at end of file
diff --git a/Wallet.Avalonia/DeleteItemEntryView.axaml.cs b/Wallet.Avalonia/DeleteItemEntryView.axaml.cs
deleted file mode 100644
index 64dea12..0000000
--- a/Wallet.Avalonia/DeleteItemEntryView.axaml.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Avalonia;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-
-namespace Wallet.Avalonia;
-
-public partial class DeleteItemEntryView : UserControl
-{
- public DeleteItemEntryView()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/Wallet.Avalonia/ItemEntryActionView.axaml b/Wallet.Avalonia/ItemEntryActionView.axaml
index 87f0ba7..b80fa62 100644
--- a/Wallet.Avalonia/ItemEntryActionView.axaml
+++ b/Wallet.Avalonia/ItemEntryActionView.axaml
@@ -6,180 +6,223 @@
x:CompileBindings="False"
DataContext="{Binding $parent[SettingsExpander].DataContext}">
- 12,0,0,0
- 5,0,5,0
- 32
- 32
+ 12,0,0,0
+ 0
+ 32
+ 32
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Wallet.Avalonia/PasswordEntryView.axaml b/Wallet.Avalonia/PasswordEntryView.axaml
index 04d4aab..df91145 100644
--- a/Wallet.Avalonia/PasswordEntryView.axaml
+++ b/Wallet.Avalonia/PasswordEntryView.axaml
@@ -21,7 +21,7 @@
0
- 10,5,6,6
+ 10,6,6,5
0
0
diff --git a/Wallet.Avalonia/TextEntryView.axaml b/Wallet.Avalonia/TextEntryView.axaml
index ec5592f..de173c1 100644
--- a/Wallet.Avalonia/TextEntryView.axaml
+++ b/Wallet.Avalonia/TextEntryView.axaml
@@ -24,9 +24,7 @@
0
0
-
-
-
+
diff --git a/Wallet/ItemContentViewModelActivationHandler.cs b/Wallet/ItemContentViewModelActivationHandler.cs
index 6a950f4..b88d9b3 100644
--- a/Wallet/ItemContentViewModelActivationHandler.cs
+++ b/Wallet/ItemContentViewModelActivationHandler.cs
@@ -1,4 +1,5 @@
-using System.Reflection;
+using System.Reactive.Disposables;
+using System.Reflection;
using Toolkit.Foundation;
namespace Wallet;
@@ -7,6 +8,7 @@ public class ItemContentViewModelActivationHandler(IDecoratorService- itemConfigurationDecorator,
IMediator mediator,
IServiceFactory serviceFactory,
+ IDisposer disposer,
IPublisher publisher) :
INotificationHandler>
{
@@ -39,6 +41,12 @@ public class ItemContentViewModelActivationHandler(IDecoratorService
- (message,
entryConfiguration.GetType().Name) is IItemEntryViewModel entryViewModel)
{
+ // Should this be here?
+ disposer.Add(entryViewModel, Disposable.Create(() =>
+ {
+ configurationSection.Entries.Remove(entryConfiguration);
+ }));
+
publisher.Publish(Create.As(entryViewModel), id);
}
}
diff --git a/Wallet/ItemEntryViewModel.cs b/Wallet/ItemEntryViewModel.cs
index 525e229..e7f1d6b 100644
--- a/Wallet/ItemEntryViewModel.cs
+++ b/Wallet/ItemEntryViewModel.cs
@@ -7,6 +7,7 @@ namespace Wallet;
public partial class ItemEntryViewModel :
Observable,
IItemEntryViewModel,
+ IRemovable,
IHandler, bool>,
INotificationHandler>,
INotificationHandler>,
@@ -69,6 +70,8 @@ public partial class ItemEntryViewModel :
return Task.CompletedTask;
}
+
+
public async Task Handle(ValidateEventArgs args,
CancellationToken cancellationToken)
{
@@ -80,6 +83,9 @@ public partial class ItemEntryViewModel :
return await Task.FromResult(true);
}
+ [RelayCommand]
+ private void Remove() => Dispose();
+
[RelayCommand]
private void Copy() => Publisher.Publish(Write.As(new Clipboard