coinjoin redisigned, enq deq button new position
MODIFY
WalletWasabi.Gui/Controls/WalletExplorer/CoinJoinTabView.xaml
WalletWasabi.Gui/Controls/WalletExplorer/CoinJoinTabView.xaml
<converters:MoneyStringConverter x:Key="MoneyStringConverter" />
<converters:PhaseStringConverter x:Key="PhaseStringConverter" />
<converters:PhaseColorConverter x:Key="PhaseColorConverter" />
+ <converters:PrivacyLevelValueConverter x:Key="PrivacyLevelValueConverter" />
</UserControl.Resources>
- <Grid RowDefinitions="8*,3*">
- <controls:GroupBox Title="Coins" TextBlock.FontSize="16" Padding="10" Margin="10 5 10 5">
- <Grid Classes="content">
+ <Grid RowDefinitions="8*,3*" Margin="20">
+ <Grid Classes="content" Grid.Row="0">
<DockPanel LastChildFill="True">
- <StackPanel Spacing="10" Orientation="Horizontal" DockPanel.Dock="Bottom" Margin="0 10 0 0" HorizontalAlignment="Right">
+ <StackPanel Spacing="10" Orientation="Horizontal" DockPanel.Dock="Bottom" Margin="0 10 0 0" HorizontalAlignment="Left">
<TextBlock Text="{Binding WarningMessage}" Classes="warningMessage" />
- <TextBox Text="{Binding Password}" PasswordChar="*" Watermark="Password" UseFloatingWatermark="True" MinWidth="173" />
- <DockPanel LastChildFill="True" VerticalAlignment="Top" IsEnabled="{Binding !IsEnqueueBusy}">
- <Button Command="{Binding EnqueueCommand}" DockPanel.Dock="Right">
- <StackPanel Orientation="Horizontal">
- <controls:Spinner Height="20" Width="20" IsVisible="{Binding IsEnqueueBusy}" Margin="0 0 8 0" />
- <TextBlock Text="{Binding EnqueueButtonText}" />
- </StackPanel>
- </Button>
- <Grid />
- </DockPanel>
- <DockPanel LastChildFill="True" VerticalAlignment="Top" IsEnabled="{Binding !IsDequeueBusy}">
- <Button Command="{Binding DequeueCommand}" DockPanel.Dock="Right">
- <StackPanel Orientation="Horizontal">
- <controls:Spinner Height="20" Width="20" IsVisible="{Binding IsDequeueBusy}" Margin="0 0 8 0" />
- <TextBlock Text="{Binding DequeueButtonText}" />
- </StackPanel>
- </Button>
- <Grid />
- </DockPanel>
+
</StackPanel>
<local:CoinListView DataContext="{Binding CoinsList}" />
</DockPanel>
</Grid>
- </controls:GroupBox>
- <controls:GroupBox Title="Status" TextBlock.FontSize="16" Padding="10" Margin="10 5 10 5" Grid.Row="1">
- <Grid Classes="content">
+
+ <Grid Grid.Row="1">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*" />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <controls:GroupBox Grid.Row="0" Grid.Column="1" Title="Status" Padding="10" >
<ScrollViewer>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal" Spacing="4">
</Grid>
</StackPanel>
</ScrollViewer>
- </Grid>
</controls:GroupBox>
+ <Grid Grid.Row="0" Grid.Column="0" Classes="content" >
+ <Grid.RowDefinitions>
+ <RowDefinition Height="150" />
+ </Grid.RowDefinitions>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="200" />
+ <ColumnDefinition Width="150" />
+ </Grid.ColumnDefinitions>
+ <StackPanel Grid.Row="0" Grid.Column="0">
+ <TextBox Text="{Binding Password}" PasswordChar="*" Watermark="Password" UseFloatingWatermark="True" MinWidth="173" />
+ <DockPanel Grid.Row="0" Grid.Column="1" LastChildFill="True" VerticalAlignment="Top" IsEnabled="{Binding !IsEnqueueBusy}">
+ <Button Command="{Binding EnqueueCommand}" DockPanel.Dock="Right">
+ <StackPanel Orientation="Horizontal">
+ <controls:Spinner Height="20" Width="20" IsVisible="{Binding IsEnqueueBusy}" Margin="0 0 8 0" />
+ <TextBlock Text="{Binding EnqueueButtonText}" />
+ </StackPanel>
+ </Button>
+ </DockPanel>
+ <DockPanel LastChildFill="True" VerticalAlignment="Top" IsEnabled="{Binding !IsDequeueBusy}">
+ <Button Command="{Binding DequeueCommand}" DockPanel.Dock="Right">
+ <StackPanel Orientation="Horizontal">
+ <controls:Spinner Height="20" Width="20" IsVisible="{Binding IsDequeueBusy}" Margin="0 0 8 0" />
+ <TextBlock Text="{Binding DequeueButtonText}" />
+ </StackPanel>
+ </Button>
+ </DockPanel>
+ </StackPanel>
+
+ <Panel Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Center" Background="Transparent"
+ DataContext="{Binding CoinJoinUntilAnonimitySet, Converter={StaticResource PrivacyLevelValueConverter}}"
+ ToolTip.Tip="{Binding ToolTip}" >
+ <DrawingPresenter Drawing="{Binding Icon}" VerticalAlignment="Bottom" Height="150" Width="100"/>
+ <Panel.ContextMenu>
+ <ContextMenu>
+ <MenuItem Header="Menu item 1" />
+ <MenuItem Header="Menu item 2" />
+ <Separator/>
+ <MenuItem Header="Menu item 3" />
+ </ContextMenu>
+ </Panel.ContextMenu>
+ </Panel>
+ </Grid>
+ </Grid>
+
</Grid>
</UserControl>

MODIFY
WalletWasabi.Gui/Controls/WalletExplorer/CoinJoinTabViewModel.cs
WalletWasabi.Gui/Controls/WalletExplorer/CoinJoinTabViewModel.cs
@@ -35,16 +35,17 @@ namespace WalletWasabi.Gui.Controls.WalletExplorer
private bool _isEnqueueBusy;
private bool _isDequeueBusy;
private string _enqueueButtonText;
- private const string EnqueueButtonTextString = "Enqueue Selected Coins for CoinJoin";
+ private const string EnqueueButtonTextString = "Enqueue Selected Coins";
private const string EnqueuingButtonTextString = "Queuing coins...";
private string _dequeueButtonText;
- private const string DequeueButtonTextString = "Dequeue";
+ private const string DequeueButtonTextString = "Dequeue Selected Coins";
private const string DequeuingButtonTextString = "Dequeuing coins...";
public CoinJoinTabViewModel(WalletViewModel walletViewModel)
: base("CoinJoin", walletViewModel)
{
Password = "";
+ CoinJoinUntilAnonimitySet = 20;
var registrableRound = Global.ChaumianClient.State.GetRegistrableRoundOrDefault();
@@ -435,6 +436,13 @@ namespace WalletWasabi.Gui.Controls.WalletExplorer
set { this.RaiseAndSetIfChanged(ref _dequeueButtonText, value); }
}
+ int _coinJoinUntilAnonimitySet;
+ public int CoinJoinUntilAnonimitySet
+ {
+ get { return _coinJoinUntilAnonimitySet; }
+ set { this.RaiseAndSetIfChanged(ref _coinJoinUntilAnonimitySet, value); }
+ }
+
public ReactiveCommand EnqueueCommand { get; }
public ReactiveCommand DequeueCommand { get; }

coinjoin redisigned, enq deq button new position