Files
Walleby/Wallet.Avalonia/ItemEntryActionView.axaml
2024-08-01 23:19:30 +01:00

229 lines
17 KiB
XML

<UserControl
x:Class="Wallet.Avalonia.ItemEntryActionView"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:Wallet"
x:CompileBindings="False"
DataContext="{Binding $parent[SettingsExpander].DataContext}">
<UserControl.Resources>
<Thickness x:Key="ButtonMargin">12,0,0,0</Thickness>
<Thickness x:Key="ButtonPadding">0</Thickness>
<x:Double x:Key="ButtonMinWidth">32</x:Double>
<x:Double x:Key="ButtonMinHeight">32</x:Double>
</UserControl.Resources>
<StackPanel Orientation="Horizontal">
<Button
Grid.Column="1"
MinWidth="{StaticResource ButtonMinWidth}"
MinHeight="{StaticResource ButtonMinHeight}"
Margin="{StaticResource ButtonMargin}"
Padding="{StaticResource ButtonPadding}"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Command="{Binding RemoveCommand}"
Theme="{StaticResource TransparentButton}">
<Viewbox Height="20">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="{StaticResource FluentThemeFontFamily}"
FontSize="16"
Foreground="{DynamicResource SystemFillColorCriticalBrush}"
Text="&#xE5B9;" />
</Viewbox>
<Button.Styles>
<Style Selector="Button.Hide">
<Setter Property="IsVisible" Value="True" />
</Style>
<Style Selector="Button.Show">
<Setter Property="IsVisible" Value="False" />
</Style>
</Button.Styles>
<Interaction.Behaviors>
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
<AddClassAction ClassName="Show" RemoveIfExists="True" />
<RemoveClassAction ClassName="Hide" />
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
<RemoveClassAction ClassName="Show" />
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
<RemoveClassAction ClassName="Show" />
</DataTriggerBehavior>
</Interaction.Behaviors>
</Button>
<Button
Grid.Column="1"
MinWidth="{StaticResource ButtonMinWidth}"
MinHeight="{StaticResource ButtonMinHeight}"
Margin="{StaticResource ButtonMargin}"
Padding="{StaticResource ButtonPadding}"
VerticalAlignment="Center"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Theme="{StaticResource TransparentButton}">
<Viewbox Height="20">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="{StaticResource FluentThemeFontFamily}"
FontSize="16"
Text="&#xEB09;" />
</Viewbox>
<Button.Styles>
<Style Selector="Button.Hide">
<Setter Property="IsVisible" Value="False" />
</Style>
<Style Selector="Button.Show">
<Setter Property="IsVisible" Value="True" />
</Style>
</Button.Styles>
<Button.Flyout>
<MenuFlyout>
<MenuItem
Width="216"
Command="{Binding RevealCommand}"
Header="Reveal">
<MenuItem.Styles>
<Style Selector="MenuItem.Hide">
<Setter Property="IsVisible" Value="False" />
</Style>
<Style Selector="MenuItem.Show">
<Setter Property="IsVisible" Value="True" />
</Style>
</MenuItem.Styles>
<MenuItem.Icon>
<PathIcon
HorizontalAlignment="Center"
VerticalAlignment="Center"
Data="F1 M 3.28 13.4 C 3.493333 12.333333 3.926666 11.373333 4.58 10.52 C 5.233333 9.666667 6.033333 9 6.98 8.52 C 7.926666 8.039999 8.933332 7.799999 10 7.799999 C 11.066666 7.799999 12.073333 8.039999 13.02 8.52 C 13.966666 9 14.766666 9.666667 15.42 10.52 C 16.073334 11.373333 16.52 12.333333 16.76 13.4 C 16.786667 13.533333 16.853333 13.639999 16.959999 13.719999 C 17.066666 13.799999 17.186665 13.826666 17.32 13.799999 C 17.453333 13.773333 17.559999 13.699999 17.639999 13.579999 C 17.719999 13.459999 17.746666 13.333333 17.719999 13.2 C 17.453333 11.973333 16.946667 10.873333 16.199999 9.9 C 15.453332 8.926666 14.539999 8.166667 13.46 7.62 C 12.379999 7.073334 11.226666 6.8 10 6.799999 C 8.773333 6.8 7.62 7.073334 6.54 7.62 C 5.46 8.166667 4.546667 8.926666 3.8 9.9 C 3.053333 10.873333 2.546666 11.973333 2.28 13.2 C 2.253333 13.333333 2.28 13.459999 2.36 13.579999 C 2.44 13.699999 2.546667 13.773333 2.68 13.799999 C 2.813333 13.826666 2.933333 13.799999 3.04 13.719999 C 3.146666 13.639999 3.226666 13.533333 3.28 13.4 Z M 10 9.799999 C 9.039999 9.799999 8.213333 10.139999 7.52 10.82 C 6.826666 11.5 6.486667 12.326666 6.5 13.299999 C 6.513333 14.273333 6.86 15.099999 7.54 15.779999 C 8.219999 16.459999 9.039999 16.799999 10 16.799999 C 10.959999 16.799999 11.786666 16.459999 12.48 15.779999 C 13.173332 15.099999 13.519999 14.273333 13.52 13.299999 C 13.519999 12.326666 13.173332 11.5 12.48 10.82 C 11.786666 10.139999 10.959999 9.799999 10 9.799999 Z M 7.52 13.28 C 7.493333 12.613334 7.726666 12.033333 8.22 11.539999 C 8.713333 11.046666 9.306666 10.799999 10 10.799999 C 10.693333 10.799999 11.28 11.046666 11.759999 11.539999 C 12.239999 12.033333 12.486666 12.62 12.5 13.299999 C 12.513332 13.98 12.273333 14.566667 11.78 15.059999 C 11.286667 15.553333 10.693333 15.799999 10 15.799999 C 9.306666 15.799999 8.719999 15.553333 8.24 15.059999 C 7.759999 14.566667 7.52 13.973333 7.52 13.28 Z " />
</MenuItem.Icon>
<Interaction.Behaviors>
<DataTriggerBehavior Binding="{Binding IsRevealed}" Value="True">
<ConditionAction>
<ConditionAction.Condition>
<ConditionalExpression ForwardChaining="And">
<ComparisonCondition LeftOperand="{Binding IsConcealed}" RightOperand="True" />
</ConditionalExpression>
</ConditionAction.Condition>
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
<RemoveClassAction ClassName="Show" />
</ConditionAction>
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding IsRevealed}" Value="False">
<ConditionAction>
<ConditionAction.Condition>
<ConditionalExpression ForwardChaining="And">
<ComparisonCondition LeftOperand="{Binding IsConcealed}" RightOperand="True" />
</ConditionalExpression>
</ConditionAction.Condition>
<AddClassAction ClassName="Show" RemoveIfExists="True" />
<RemoveClassAction ClassName="Hide" />
</ConditionAction>
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding IsConcealed}" Value="True">
<ConditionAction>
<ConditionAction.Condition>
<ConditionalExpression ForwardChaining="And">
<ComparisonCondition LeftOperand="{Binding IsRevealed}" RightOperand="True" />
</ConditionalExpression>
</ConditionAction.Condition>
<AddClassAction ClassName="Show" RemoveIfExists="True" />
<RemoveClassAction ClassName="Hide" />
</ConditionAction>
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding IsConcealed}" Value="False">
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
<RemoveClassAction ClassName="Show" />
</DataTriggerBehavior>
</Interaction.Behaviors>
</MenuItem>
<MenuItem
Width="216"
Classes="Hide"
Command="{Binding HideCommand}"
Header="Hide">
<MenuItem.Styles>
<Style Selector="MenuItem.Hide">
<Setter Property="IsVisible" Value="False" />
</Style>
<Style Selector="MenuItem.Show">
<Setter Property="IsVisible" Value="True" />
</Style>
</MenuItem.Styles>
<MenuItem.Icon>
<PathIcon
HorizontalAlignment="Center"
VerticalAlignment="Center"
Data="F1 M 2.84 3.959999 C 2.76 3.853333 2.646667 3.799999 2.5 3.799999 C 2.353333 3.799999 2.233333 3.846668 2.14 3.940001 C 2.046667 4.033333 2 4.153334 2 4.299999 C 2 4.446667 2.053333 4.560001 2.16 4.639999 L 5.64 8.16 C 4.786666 8.746668 4.066667 9.473333 3.48 10.339999 C 2.893333 11.206667 2.493333 12.16 2.28 13.2 C 2.253333 13.386666 2.306667 13.546666 2.44 13.679999 C 2.573333 13.813334 2.733333 13.846666 2.92 13.78 C 3.106666 13.713333 3.213333 13.586666 3.24 13.4 C 3.453333 12.466666 3.826667 11.606667 4.36 10.82 C 4.893333 10.033334 5.559999 9.386667 6.36 8.879999 L 7.96 10.44 C 7.4 10.866667 6.993333 11.4 6.74 12.039999 C 6.486666 12.679999 6.426666 13.34 6.56 14.02 C 6.693333 14.7 7.006666 15.286667 7.5 15.779999 C 7.993333 16.273333 8.58 16.586666 9.26 16.719999 C 9.94 16.853333 10.606666 16.799999 11.259999 16.559999 C 11.913332 16.32 12.439999 15.906666 12.84 15.32 L 17.16 19.639999 C 17.239998 19.746666 17.353333 19.799999 17.5 19.799999 C 17.646666 19.799999 17.766666 19.753332 17.859999 19.66 C 17.953331 19.566666 18 19.446667 18 19.299999 C 18 19.153332 17.946667 19.039999 17.84 18.959999 Z M 10.12 9.799999 L 13.48 13.16 C 13.453333 12.253333 13.113333 11.473333 12.46 10.82 C 11.806666 10.166666 11.026667 9.826666 10.12 9.799999 Z M 7.52 7.2 L 8.32 8 C 8.879999 7.866667 9.44 7.799999 10 7.799999 C 11.066666 7.799999 12.073333 8.039999 13.02 8.52 C 13.966666 9 14.766666 9.666667 15.42 10.52 C 16.073334 11.373333 16.52 12.333333 16.76 13.4 C 16.786667 13.533333 16.853333 13.639999 16.959999 13.719999 C 17.066666 13.799999 17.186665 13.826666 17.32 13.799999 C 17.453333 13.773333 17.559999 13.699999 17.639999 13.579999 C 17.719999 13.459999 17.746666 13.333333 17.719999 13.2 C 17.453333 11.973333 16.946667 10.873333 16.199999 9.9 C 15.453332 8.926666 14.539999 8.166667 13.46 7.62 C 12.379999 7.073334 11.226666 6.8 10 6.799999 C 9.146667 6.8 8.32 6.933333 7.52 7.2 Z " />
</MenuItem.Icon>
<Interaction.Behaviors>
<DataTriggerBehavior Binding="{Binding IsRevealed}" Value="True">
<ConditionAction>
<ConditionAction.Condition>
<ConditionalExpression ForwardChaining="And">
<ComparisonCondition LeftOperand="{Binding IsConcealed}" RightOperand="True" />
</ConditionalExpression>
</ConditionAction.Condition>
<AddClassAction ClassName="Show" RemoveIfExists="True" />
<RemoveClassAction ClassName="Hide" />
</ConditionAction>
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding IsRevealed}" Value="False">
<ConditionAction>
<ConditionAction.Condition>
<ConditionalExpression ForwardChaining="And">
<ComparisonCondition LeftOperand="{Binding IsConcealed}" RightOperand="True" />
</ConditionalExpression>
</ConditionAction.Condition>
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
<RemoveClassAction ClassName="Show" />
</ConditionAction>
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding IsConcealed}" Value="True">
<ConditionAction>
<ConditionAction.Condition>
<ConditionalExpression ForwardChaining="And">
<ComparisonCondition LeftOperand="{Binding IsRevealed}" RightOperand="True" />
</ConditionalExpression>
</ConditionAction.Condition>
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
<RemoveClassAction ClassName="Show" />
</ConditionAction>
</DataTriggerBehavior>
</Interaction.Behaviors>
</MenuItem>
<MenuItem
Width="216"
Classes="Hide"
Command="{Binding CopyCommand}"
Header="Copy">
<MenuItem.Icon>
<PathIcon
HorizontalAlignment="Center"
VerticalAlignment="Center"
Data="F1 M 8 3.799999 C 7.44 3.799999 6.966666 3.993334 6.58 4.379999 C 6.193333 4.766666 6 5.24 6 5.799999 L 6 15.799999 C 6 16.360001 6.193333 16.833332 6.58 17.219999 C 6.966666 17.606667 7.44 17.799999 8 17.799999 L 14 17.799999 C 14.559999 17.799999 15.033333 17.606667 15.42 17.219999 C 15.806666 16.833332 16 16.360001 16 15.799999 L 16 5.799999 C 16 5.24 15.806666 4.766666 15.42 4.379999 C 15.033333 3.993334 14.559999 3.799999 14 3.799999 Z M 7 5.799999 C 7 5.533333 7.1 5.299999 7.3 5.1 C 7.5 4.9 7.733333 4.799999 8 4.799999 L 14 4.799999 C 14.266666 4.799999 14.5 4.9 14.7 5.1 C 14.9 5.299999 14.999999 5.533333 15 5.799999 L 15 15.799999 C 14.999999 16.066666 14.9 16.299999 14.7 16.5 C 14.5 16.700001 14.266666 16.799999 14 16.799999 L 8 16.799999 C 7.733333 16.799999 7.5 16.700001 7.3 16.5 C 7.1 16.299999 7 16.066666 7 15.799999 Z M 4 7.799999 C 4 7.453333 4.086667 7.12 4.26 6.799999 C 4.433333 6.48 4.68 6.240001 5 6.08 L 5 16.279999 C 5 16.973333 5.246666 17.566666 5.74 18.059999 C 6.233333 18.553333 6.813333 18.799999 7.48 18.799999 L 13.719999 18.799999 C 13.559999 19.119999 13.32 19.366667 13 19.539999 C 12.679998 19.713333 12.346665 19.799999 12 19.799999 L 7.52 19.799999 C 6.533333 19.799999 5.7 19.459999 5.02 18.779999 C 4.34 18.099998 4 17.266666 4 16.279999 Z " />
</MenuItem.Icon>
</MenuItem>
</MenuFlyout>
</Button.Flyout>
<Interaction.Behaviors>
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
<AddClassAction ClassName="Show" RemoveIfExists="True" />
<RemoveClassAction ClassName="Hide" />
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
<RemoveClassAction ClassName="Show" />
</DataTriggerBehavior>
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
<RemoveClassAction ClassName="Show" />
</DataTriggerBehavior>
</Interaction.Behaviors>
</Button>
</StackPanel>
</UserControl>