diff --git a/Wallet.Avalonia/DateEntryView.axaml b/Wallet.Avalonia/DateEntryView.axaml
index e6b6246..97c9157 100644
--- a/Wallet.Avalonia/DateEntryView.axaml
+++ b/Wallet.Avalonia/DateEntryView.axaml
@@ -7,24 +7,11 @@
Header="{Binding Key}"
IsExpanded="False">
- 10,5,6,6
- 0
+ 0
+ 0,-3,0,0
-
+
@@ -66,7 +53,8 @@
-
+
+
diff --git a/Wallet.Avalonia/ItemEntryActionView.axaml b/Wallet.Avalonia/ItemEntryActionView.axaml
new file mode 100644
index 0000000..23bace7
--- /dev/null
+++ b/Wallet.Avalonia/ItemEntryActionView.axaml
@@ -0,0 +1,179 @@
+
+
+ 12,0,0,0
+ 5,0,5,0
+ 24
+ 32
+
+
+
diff --git a/Wallet.Avalonia/ItemEntryActionView.axaml.cs b/Wallet.Avalonia/ItemEntryActionView.axaml.cs
new file mode 100644
index 0000000..3271531
--- /dev/null
+++ b/Wallet.Avalonia/ItemEntryActionView.axaml.cs
@@ -0,0 +1,12 @@
+using Avalonia.Controls;
+
+namespace Wallet.Avalonia
+{
+ public partial class ItemEntryActionView : UserControl
+ {
+ public ItemEntryActionView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Wallet.Avalonia/PasswordEntryView.axaml b/Wallet.Avalonia/PasswordEntryView.axaml
index 4fd5278..9e76849 100644
--- a/Wallet.Avalonia/PasswordEntryView.axaml
+++ b/Wallet.Avalonia/PasswordEntryView.axaml
@@ -2,8 +2,10 @@
x:Class="Wallet.Avalonia.PasswordEntryView"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:v="using:Wallet.Avalonia"
xmlns:vm="using:Wallet"
x:DataType="vm:PasswordEntryViewModel"
+
Header="{Binding Key}"
IsExpanded="False">
@@ -11,152 +13,10 @@
10,5,6,6
0
0,-3,0,0
- 8,0,0,0
- 5,0,5,0
- 30
- 40
-
+
10,5,6,6
0
+
+
+
diff --git a/Wallet/DateEntryViewModel.cs b/Wallet/DateEntryViewModel.cs
index fdeaa3c..35d65cf 100644
--- a/Wallet/DateEntryViewModel.cs
+++ b/Wallet/DateEntryViewModel.cs
@@ -8,10 +8,11 @@ public partial class DateEntryViewModel(IServiceProvider provider,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
+ IClipboardWriter clipboardWriter,
ItemState state,
ItemEntryConfiguration configuration,
string key,
DateTimeOffset value,
bool isConcealed,
bool isRevealed,
- double width) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, state, configuration, key, value, isConcealed, isRevealed, width);
+ double width) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, clipboardWriter, state, configuration, key, value, isConcealed, isRevealed, width);
diff --git a/Wallet/HyperlinkEntryViewModel.cs b/Wallet/HyperlinkEntryViewModel.cs
index 59cb385..715a0de 100644
--- a/Wallet/HyperlinkEntryViewModel.cs
+++ b/Wallet/HyperlinkEntryViewModel.cs
@@ -9,13 +9,14 @@ public partial class HyperlinkEntryViewModel(IServiceProvider provider,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
+ IClipboardWriter clipboardWriter,
ItemState state,
ItemEntryConfiguration configuration,
string key,
string value,
double width,
bool isConcealed,
- bool isRevealed) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, state, configuration, key, value, isConcealed, isRevealed, width)
+ bool isRevealed) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, clipboardWriter, state, configuration, key, value, isConcealed, isRevealed, width)
{
[RelayCommand]
private void Invoke() => Publisher.Publish(Create.As(new Hyperlink(Value)));
diff --git a/Wallet/ItemEntryViewModel.cs b/Wallet/ItemEntryViewModel.cs
index 4f8891b..afd93d1 100644
--- a/Wallet/ItemEntryViewModel.cs
+++ b/Wallet/ItemEntryViewModel.cs
@@ -10,6 +10,7 @@ public partial class ItemEntryViewModel(IServiceProvider provider,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
+ IClipboardWriter clipboardWriter,
ItemState state,
ItemEntryConfiguration configuration,
string key,
@@ -59,14 +60,11 @@ public partial class ItemEntryViewModel(IServiceProvider provider,
configuration.Value = Value;
[RelayCommand]
- private void Hide()
- {
- IsRevealed = false;
- }
+ private void Hide() => IsRevealed = false;
[RelayCommand]
- private void Reveal()
- {
- IsRevealed = true;
- }
+ private void Reveal() => IsRevealed = true;
+
+ [RelayCommand]
+ private void Copy() => clipboardWriter.Write($"{Value}");
}
\ No newline at end of file
diff --git a/Wallet/MaskedTextEntryViewModel.cs b/Wallet/MaskedTextEntryViewModel.cs
index ffe713f..7e6b7ae 100644
--- a/Wallet/MaskedTextEntryViewModel.cs
+++ b/Wallet/MaskedTextEntryViewModel.cs
@@ -9,6 +9,7 @@ public partial class MaskedTextEntryViewModel(IServiceProvider provider,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
+ IClipboardWriter clipboardWriter,
ItemState state,
ItemEntryConfiguration configuration,
string pattern,
@@ -16,7 +17,7 @@ public partial class MaskedTextEntryViewModel(IServiceProvider provider,
string value,
bool isConcealed,
bool isRevealed,
- double width) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, state, configuration, key, value, isConcealed, isRevealed, width)
+ double width) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, clipboardWriter, state, configuration, key, value, isConcealed, isRevealed, width)
{
[ObservableProperty]
private string pattern = pattern;
diff --git a/Wallet/MultilineTextEntryViewModel.cs b/Wallet/MultilineTextEntryViewModel.cs
index 654f553..1df8288 100644
--- a/Wallet/MultilineTextEntryViewModel.cs
+++ b/Wallet/MultilineTextEntryViewModel.cs
@@ -8,11 +8,12 @@ public partial class MultilineTextEntryViewModel(IServiceProvider provider,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
+ IClipboardWriter clipboardWriter,
ItemState state,
ItemEntryConfiguration configuration,
string key,
string value,
bool isConcealed,
bool isRevealed,
- double width) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, state, configuration, key, value, isConcealed, isRevealed, width);
+ double width) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, clipboardWriter, state, configuration, key, value, isConcealed, isRevealed, width);
diff --git a/Wallet/PasswordEntryViewModel.cs b/Wallet/PasswordEntryViewModel.cs
index f6bfa79..f89e80f 100644
--- a/Wallet/PasswordEntryViewModel.cs
+++ b/Wallet/PasswordEntryViewModel.cs
@@ -8,10 +8,11 @@ public partial class PasswordEntryViewModel(IServiceProvider provider,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
+ IClipboardWriter clipboardWriter,
ItemState state,
ItemEntryConfiguration configuration,
string key,
string value,
bool isConcealed,
bool isRevealed,
- double width) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, state, configuration, key, value, isConcealed, isRevealed, width);
\ No newline at end of file
+ double width) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, clipboardWriter, state, configuration, key, value, isConcealed, isRevealed, width);
\ No newline at end of file
diff --git a/Wallet/PinEntryViewModel.cs b/Wallet/PinEntryViewModel.cs
index 049771e..8101717 100644
--- a/Wallet/PinEntryViewModel.cs
+++ b/Wallet/PinEntryViewModel.cs
@@ -8,10 +8,11 @@ public partial class PinEntryViewModel(IServiceProvider provider,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
+ IClipboardWriter clipboardWriter,
ItemState state,
ItemEntryConfiguration configuration,
string key,
string value,
double width,
bool isConcealed,
- bool isRevealed) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, state, configuration, key, value, isConcealed, isRevealed, width);
\ No newline at end of file
+ bool isRevealed) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, clipboardWriter, state, configuration, key, value, isConcealed, isRevealed, width);
\ No newline at end of file
diff --git a/Wallet/TextEntryViewModel.cs b/Wallet/TextEntryViewModel.cs
index 7e3955a..4b85ed8 100644
--- a/Wallet/TextEntryViewModel.cs
+++ b/Wallet/TextEntryViewModel.cs
@@ -8,10 +8,11 @@ public partial class TextEntryViewModel(IServiceProvider provider,
IPublisher publisher,
ISubscriber subscriber,
IDisposer disposer,
+ IClipboardWriter clipboardWriter,
ItemState state,
ItemEntryConfiguration configuration,
string key,
string value,
bool isConcealed,
bool isRevealed,
- double width) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, state, configuration, key, value, isConcealed, isRevealed, width);
+ double width) : ItemEntryViewModel(provider, factory, mediator, publisher, subscriber, disposer, clipboardWriter, state, configuration, key, value, isConcealed, isRevealed, width);