Use converter to display Select All Non-Private checkbox in CoinJoin tab only
MODIFY
WalletWasabi.Gui/Controls/WalletExplorer/CoinListView.xaml
WalletWasabi.Gui/Controls/WalletExplorer/CoinListView.xaml
<converters:CoinStatusForegroundConverter x:Key="CoinStatusForegroundConverter" />
<converters:CoinItemExpanderColorConverter x:Key="CoinItemExpanderColorConverter" />
<converters:LurkingWifeModeStringConverter x:Key="LurkingWifeModeStringConverter" />
+ <converters:SelectNonPrivateCheckBoxVisibilityConverter x:Key="SelectNonPrivateCheckBoxVisibilityConverter" />
</UserControl.Resources>
<UserControl.Styles>
<Style Selector="TextBlock">
<StackPanel Margin="0 10 0 0" Spacing="10" DockPanel.Dock="Bottom" Orientation="Horizontal">
<CheckBox Content="Select All" IsThreeState="True" IsChecked="{Binding SelectAllCheckBoxState}" Command="{Binding SelectAllCheckBoxCommand}" />
<CheckBox Content="Select All Private" IsThreeState="True" IsChecked="{Binding SelectPrivateCheckBoxState}" Command="{Binding SelectPrivateCheckBoxCommand}" ToolTip.Tip="Coins that have acquired the privacy target." />
- <CheckBox Content="Select All Non-Private" IsThreeState="True" IsChecked="{Binding SelectNonPrivateCheckBoxState}" Command="{Binding SelectNonPrivateCheckBoxCommand}" ToolTip.Tip="Coins that have not acquired the privacy target." IsVisible="{Binding IsCoinJoinTab}" />
+ <CheckBox Content="Select All Non-Private" IsThreeState="True" IsChecked="{Binding SelectNonPrivateCheckBoxState}" Command="{Binding SelectNonPrivateCheckBoxCommand}" ToolTip.Tip="Coins that have not acquired the privacy target." IsVisible="{Binding IsSelectNonPrivateCheckBoxVisible, Converter={StaticResource SelectNonPrivateCheckBoxVisibilityConverter}}" />
<StackPanel Spacing="10" DockPanel.Dock="Bottom" Orientation="Horizontal" IsVisible="{Binding IsAnyCoinSelected}">
<TextBlock Text="|" />
<TextBlock Text="Selected Amount:" />

MODIFY
WalletWasabi.Gui/Controls/WalletExplorer/CoinListViewModel.cs
WalletWasabi.Gui/Controls/WalletExplorer/CoinListViewModel.cs
@@ -50,7 +50,7 @@ namespace WalletWasabi.Gui.Controls.WalletExplorer
public ReactiveCommand<Unit, Unit> SelectNonPrivateCheckBoxCommand { get; }
public ReactiveCommand<Unit, Unit> SortCommand { get; }
public ReactiveCommand<Unit, Unit> InitList { get; }
- public bool IsCoinJoinTab { get; }
+ public bool IsSelectNonPrivateCheckBoxVisible { get; }
public event EventHandler DequeueCoinsPressed;
@@ -204,7 +204,7 @@ namespace WalletWasabi.Gui.Controls.WalletExplorer
{
Global = global;
CoinListContainerType = coinListContainerType;
- IsCoinJoinTab = CoinListContainerType == CoinListContainerType.CoinJoinTabViewModel;
+ IsSelectNonPrivateCheckBoxVisible = CoinListContainerType == CoinListContainerType.CoinJoinTabViewModel;
AmountSortDirection = SortOrder.Decreasing;
RefreshOrdering();

ADD
WalletWasabi.Gui/Converters/SelectNonPrivateCheckBoxVisibilityConverter.cs
+using Avalonia.Data.Converters;
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Text;
+
+namespace WalletWasabi.Gui.Converters
+{
+ public class SelectNonPrivateCheckBoxVisibilityConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (value is true)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotSupportedException();
+ }
+ }
+}

Use converter to display Select All Non-Private checkbox in CoinJoin tab only