show seedwords in nice handwritten font, in a number tabulated style.
ADD
WalletWasabi.Gui/Assets/Handlee-Regular.ttf
WalletWasabi.Gui/Assets/Handlee-Regular.ttf
Binary files /dev/null and b/WalletWasabi.Gui/Assets/Handlee-Regular.ttf differ

MODIFY
WalletWasabi.Gui/Styles/Styles.xaml
WalletWasabi.Gui/Styles/Styles.xaml
<sys:Double x:Key="FontSizeNormal">14</sys:Double>
<sys:Double x:Key="FontSizeLarge">16</sys:Double>
<FontFamily x:Key="MonospacedFont">avares://WalletWasabi.Gui/Assets#Cascadia Mono</FontFamily>
+ <FontFamily x:Key="HandWrittenFont">avares://WalletWasabi.Gui/Assets#Handlee</FontFamily>
<converters:ErrorSeverityColorConverter x:Key="ErrorSeverityColorConverter" />
<converters:ErrorDescriptorToBorderColorConverter x:Key="ErrorDescriptorToBorderColorConverter" />
</Style.Resources>

MODIFY
WalletWasabi.Gui/Tabs/WalletManager/GenerateWallets/GenerateWalletSuccessView.xaml
WalletWasabi.Gui/Tabs/WalletManager/GenerateWallets/GenerateWalletSuccessView.xaml
x:Class="WalletWasabi.Gui.Tabs.WalletManager.GenerateWallets.GenerateWalletSuccessView">
<StackPanel Margin="20" Spacing="10">
<TextBlock Text="Write down these Recovery Words!" FontWeight="Bold" />
- <Border Padding="2" Background="White" HorizontalAlignment="Stretch" Opacity="0.8">
- <controls:ExtendedTextBox Text="{Binding MnemonicWords, Mode=TwoWay}" Background="Transparent" FontWeight="Bold" Foreground="Black" HorizontalAlignment="Center" Classes="selectableTextBlock" />
+ <Border Padding="20" Margin="20 0 20 20" HorizontalAlignment="Center">
+ <ItemsControl Items="{Binding MnemonicWords}">
+ <ItemsControl.Styles>
+ <Style Selector="TextBlock">
+ <Setter Property="TextBlock.FontFamily" Value="{StaticResource HandWrittenFont}" />
+ <Setter Property="FontSize" Value="22" />
+ <Setter Property="Margin" Value="40 10" />
+ <Setter Property="Height" Value="32" />
+ </Style>
+ </ItemsControl.Styles>
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <WrapPanel MaxHeight="220" Orientation="Vertical" />
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ </ItemsControl>
</Border>
<TextBlock Text="You can recover your wallet on any computer with" />
<TextBlock Text="- your Recovery Words AND" />
<TextBlock Text="- your Password." />
- <Button Margin="0 10 0 0" Background="IndianRed" Content="I wrote down my Recovery Words!" Command="{Binding ConfirmCommand}" />
+ <TextBlock Text="The order is IMPORTANT so include the numbers." />
+ <TextBlock Text="You will not be able to see the recovery words again." />
+ <TextBlock Text="Only click the button below when you have written them down." />
+ <Button Margin="0 10 0 0" HorizontalAlignment="Center" Content="I wrote down my Recovery Words!" Command="{Binding ConfirmCommand}" />
</StackPanel>
</UserControl>

MODIFY
WalletWasabi.Gui/Tabs/WalletManager/GenerateWallets/GenerateWalletSuccessView.xaml.cs
WalletWasabi.Gui/Tabs/WalletManager/GenerateWallets/GenerateWalletSuccessView.xaml.cs
@@ -3,7 +3,7 @@ using Avalonia.Markup.Xaml;
namespace WalletWasabi.Gui.Tabs.WalletManager.GenerateWallets
{
- internal class GenerateWalletSuccessView : UserControl
+ public class GenerateWalletSuccessView : UserControl
{
public GenerateWalletSuccessView()
{

MODIFY
WalletWasabi.Gui/Tabs/WalletManager/GenerateWallets/GenerateWalletSuccessViewModel.cs
WalletWasabi.Gui/Tabs/WalletManager/GenerateWallets/GenerateWalletSuccessViewModel.cs
@@ -10,16 +10,24 @@ using WalletWasabi.Blockchain.Keys;
using WalletWasabi.Models;
using WalletWasabi.Gui.Helpers;
using Splat;
+using System.Collections.Generic;
namespace WalletWasabi.Gui.Tabs.WalletManager.GenerateWallets
{
internal class GenerateWalletSuccessViewModel : CategoryViewModel
{
- private string _mnemonicWords;
+ private List<string> _mnemonicWords;
public GenerateWalletSuccessViewModel(WalletManagerViewModel owner, KeyManager keyManager, Mnemonic mnemonic) : base("Wallet Generated Successfully!")
{
- _mnemonicWords = mnemonic.ToString();
+
+ _mnemonicWords = new List<string>(mnemonic.Words.Length);
+
+ for (int i = 0; i < mnemonic.Words.Length; i++)
+ {
+ _mnemonicWords.Add($"{i + 1}. {mnemonic.Words[i]}");
+ }
+
var global = Locator.Current.GetService<Global>();
ConfirmCommand = ReactiveCommand.Create(() =>
@@ -34,17 +42,12 @@ namespace WalletWasabi.Gui.Tabs.WalletManager.GenerateWallets
.Subscribe(ex => Logger.LogError(ex));
}
- public string MnemonicWords
+ public List<string> MnemonicWords
{
- get => _mnemonicWords;
- set => this.RaiseAndSetIfChanged(ref _mnemonicWords, value);
+ get { return _mnemonicWords; }
+ set { this.RaiseAndSetIfChanged(ref _mnemonicWords, value); }
}
public ReactiveCommand<Unit, Unit> ConfirmCommand { get; }
-
- public override void OnCategorySelected()
- {
- base.OnCategorySelected();
- }
}
}

show seedwords in nice handwritten font, in a number tabulated style.