Switch to load wallet after successful recovery or generation.
MODIFY
WalletWasabi.Gui/Tabs/WalletManager/GenerateWalletSuccessView.xaml
WalletWasabi.Gui/Tabs/WalletManager/GenerateWalletSuccessView.xaml
<TextBlock Text="- the mnemonic words AND" FontWeight="Bold" />
<TextBlock Text="- your password" FontWeight="Bold" />
<TextBlock Text="Unlike most other wallets if an attacker aquires your mnemonic words, it will not be able to hack your wallet without knowing your password. On the contrary, unlike other wallets, you will not be able to recover your wallet only with the mnemonic words if you lose your password." TextWrapping="Wrap" />
+ <Button Content="I backed up the mnemonic words!" Command="{Binding ConfirmCommand}" />
</StackPanel>
</UserControl>

MODIFY
WalletWasabi.Gui/Tabs/WalletManager/GenerateWalletSuccessViewModel.cs
WalletWasabi.Gui/Tabs/WalletManager/GenerateWalletSuccessViewModel.cs
@@ -8,9 +8,14 @@ namespace WalletWasabi.Gui.Tabs.WalletManager
{
private string _mnemonicWords;
- public GenerateWalletSuccessViewModel(Mnemonic mnemonic) : base("Wallet Generated Successfully!")
+ public GenerateWalletSuccessViewModel(WalletManagerViewModel owner, Mnemonic mnemonic) : base("Wallet Generated Successfully!")
{
_mnemonicWords = mnemonic.ToString();
+
+ ConfirmCommand = ReactiveCommand.Create(() =>
+ {
+ owner.SelectedCategory = owner.LoadWalletCategory;
+ });
}
public string MnemonicWords
@@ -19,6 +24,8 @@ namespace WalletWasabi.Gui.Tabs.WalletManager
set { this.RaiseAndSetIfChanged(ref _mnemonicWords, value); }
}
+ public ReactiveCommand ConfirmCommand { get; }
+
public override void OnCategorySelected()
{
base.OnCategorySelected();

MODIFY
WalletWasabi.Gui/Tabs/WalletManager/GenerateWalletViewModel.cs
WalletWasabi.Gui/Tabs/WalletManager/GenerateWalletViewModel.cs
@@ -51,7 +51,7 @@ namespace WalletWasabi.Gui.Tabs.WalletManager
{
KeyManager.CreateNew(out Mnemonic mnemonic, Password, walletFilePath);
- owner.CurrentView = new GenerateWalletSuccessViewModel(mnemonic);
+ owner.CurrentView = new GenerateWalletSuccessViewModel(owner, mnemonic);
}
catch (Exception ex)
{

MODIFY
WalletWasabi.Gui/Tabs/WalletManager/RecoverWalletViewModel.cs
WalletWasabi.Gui/Tabs/WalletManager/RecoverWalletViewModel.cs
@@ -20,7 +20,7 @@ namespace WalletWasabi.Gui.Tabs.WalletManager
private bool _termsAccepted;
private string _validationMessage;
- public RecoverWalletViewModel() : base("Recover Wallet")
+ public RecoverWalletViewModel(WalletManagerViewModel owner) : base("Recover Wallet")
{
RecoverCommand = ReactiveCommand.Create(() =>
{
@@ -51,6 +51,8 @@ namespace WalletWasabi.Gui.Tabs.WalletManager
{
var mnemonic = new Mnemonic(MnemonicWords);
KeyManager.Recover(mnemonic, Password, walletFilePath);
+
+ owner.SelectedCategory = owner.LoadWalletCategory;
}
catch (Exception ex)
{

MODIFY
WalletWasabi.Gui/Tabs/WalletManager/WalletManagerViewModel.cs
WalletWasabi.Gui/Tabs/WalletManager/WalletManagerViewModel.cs
@@ -14,11 +14,13 @@ namespace WalletWasabi.Gui.Tabs.WalletManager
public WalletManagerViewModel() : base("Wallet Manager")
{
+ LoadWalletCategory = new LoadWalletViewModel();
+
Categories = new ObservableCollection<CategoryViewModel>
{
new GenerateWalletViewModel(this),
- new RecoverWalletViewModel(),
- new LoadWalletViewModel()
+ new RecoverWalletViewModel(this),
+ LoadWalletCategory
};
SelectedCategory = Categories.FirstOrDefault();
@@ -31,6 +33,8 @@ namespace WalletWasabi.Gui.Tabs.WalletManager
});
}
+ public LoadWalletViewModel LoadWalletCategory { get; }
+
public ObservableCollection<CategoryViewModel> Categories
{
get { return _categories; }

Switch to load wallet after successful recovery or generation.