use progressring on PrivacyControlView
MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/Send/PrivacyControlViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/Send/PrivacyControlViewModel.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections.ObjectModel;
using System.Linq;
using System.Reactive.Disposables;
+using System.Threading.Tasks;
using DynamicData;
using DynamicData.Aggregation;
using NBitcoin;
@@ -61,7 +62,7 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Send
{
try
{
- var transactionResult = TransactionHelpers.BuildTransaction(_wallet, transactionInfo.Address, transactionInfo.Amount, transactionInfo.Labels, transactionInfo.FeeRate, coins, subtractFee: false);
+ var transactionResult = await Task.Run(() => TransactionHelpers.BuildTransaction(_wallet, transactionInfo.Address, transactionInfo.Amount, transactionInfo.Labels, transactionInfo.FeeRate, coins, subtractFee: false));
Navigate().To(new TransactionPreviewViewModel(wallet, transactionInfo, broadcaster, transactionResult));
}
catch (InsufficientBalanceException)
@@ -71,7 +72,7 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Send
if (result.Result)
{
- var transactionResult = TransactionHelpers.BuildTransaction(_wallet, transactionInfo.Address, transactionInfo.Amount, transactionInfo.Labels, transactionInfo.FeeRate, coins, subtractFee: true);
+ var transactionResult = await Task.Run(() => TransactionHelpers.BuildTransaction(_wallet, transactionInfo.Address, transactionInfo.Amount, transactionInfo.Labels, transactionInfo.FeeRate, coins, subtractFee: true));
Navigate().To(new TransactionPreviewViewModel(wallet, transactionInfo, broadcaster, transactionResult));
}
else
@@ -88,6 +89,8 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Send
}
},
this.WhenAnyValue(x => x.EnoughSelected));
+
+ EnableAutoBusyOn(NextCommand);
}
public ReadOnlyObservableCollection<PocketViewModel> Pockets => _pockets;

MODIFY
WalletWasabi.Fluent/Views/Wallets/Send/PrivacyControlView.axaml
WalletWasabi.Fluent/Views/Wallets/Send/PrivacyControlView.axaml
x:Class="WalletWasabi.Fluent.Views.Wallets.Send.PrivacyControlView">
<c:ContentArea Title="Send - Privacy Control"
Caption="Parts of your wallet are know to certain entities. Select the entities you can tolerate leaking information about this transaction:"
- HorizontalAlignment="Left"
EnableBack="True"
EnableCancel="True"
- EnableNext="True"
- NextContent="Continue"
+ EnableNext="True" NextContent="Continue"
+ IsBusy="{Binding IsBusy}"
ScrollViewer.VerticalScrollBarVisibility="Disabled">
<DockPanel>
<Panel MinHeight="60" DockPanel.Dock="Bottom">

use progressring on PrivacyControlView