Finishing move
MODIFY
WalletWasabi.Gui/Tabs/WalletManager/HardwareWallets/ConnectHardwareWalletView.xaml
WalletWasabi.Gui/Tabs/WalletManager/HardwareWallets/ConnectHardwareWalletView.xaml
</Grid>
</controls:GroupBox>
<DockPanel LastChildFill="True" Margin="20 10">
- <Button Content="Connect" Command="{Binding ConnectCommand}" DockPanel.Dock="Right" />
+ <Button Command="{Binding ConnectCommand}" DockPanel.Dock="Right">
+ <StackPanel Orientation="Horizontal">
+ <controls:Spinner Height="20" Width="20" IsVisible="{Binding IsBusy}" Margin="0 0 8 0" />
+ <TextBlock Text="Connect" />
+ </StackPanel>
+ </Button>
<Button Content="Search Hardware Wallets" Command="{Binding EnumerateHardwareWalletsCommand}" DockPanel.Dock="Right" Margin="0 0 10 0" />
<Button Content="Import Coldcard" Command="{Binding ImportColdcardCommand}" DockPanel.Dock="Right" Margin="0 0 10 0" />
<Grid></Grid>

MODIFY
WalletWasabi.Gui/Tabs/WalletManager/HardwareWallets/ConnectHardwareWalletViewModel.cs
WalletWasabi.Gui/Tabs/WalletManager/HardwareWallets/ConnectHardwareWalletViewModel.cs
+using AvalonStudio.Extensibility;
using ReactiveUI;
+using Splat;
using System;
using System.Collections.Generic;
+using System.Linq;
using System.Reactive;
using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using WalletWasabi.Blockchain.Keys;
+using WalletWasabi.Gui.Controls.WalletExplorer;
+using WalletWasabi.Gui.Helpers;
+using WalletWasabi.Gui.Tabs.WalletManager.LoadWallets;
using WalletWasabi.Gui.ViewModels;
+using WalletWasabi.Helpers;
+using WalletWasabi.Hwi;
+using WalletWasabi.Logging;
namespace WalletWasabi.Gui.Tabs.WalletManager.HardwareWallets
{
- public class ConnectHardwareWalletViewModel : CategoryViewModel
+ internal class ConnectHardwareWalletViewModel : LoadWalletViewModel
{
- public ConnectHardwareWalletViewModel() : base("Hardware Wallets")
+ internal ConnectHardwareWalletViewModel(WalletManagerViewModel owner) : base(owner, LoadWalletType.Hardware)
{
- //ConnectCommand = ReactiveCommand.CreateFromTask(LoadWalletAsync, this.WhenAnyValue(x => x.CanLoadWallet));
+ ConnectCommand = LoadCommand;
}
public ReactiveCommand<Unit, Unit> ConnectCommand { get; }

MODIFY
WalletWasabi.Gui/Tabs/WalletManager/WalletManagerViewModel.cs
WalletWasabi.Gui/Tabs/WalletManager/WalletManagerViewModel.cs
@@ -36,7 +36,7 @@ namespace WalletWasabi.Gui.Tabs.WalletManager
new RecoverWalletViewModel(this),
LoadWalletViewModelDesktop,
new LoadWalletViewModel(this, LoadWalletType.Password),
- new ConnectHardwareWalletViewModel()
+ new ConnectHardwareWalletViewModel(this)
};
SelectedCategory = Categories.FirstOrDefault();

Finishing move