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);