Allow manual user fee setting
MODIFY
WalletWasabi.Gui/Tabs/SettingsView.xaml
WalletWasabi.Gui/Tabs/SettingsView.xaml
<ToggleButton IsChecked="{Binding Autocopy}" Content="{Binding Autocopy, Converter={StaticResource BooleanStringConverter}, ConverterParameter=On:Off}" Margin="0 0 10 0" />
<TextBlock VerticalAlignment="Center">Autocopy on Receive and History wallet tabs.</TextBlock>
</StackPanel>
+ <StackPanel Margin="0 10" Orientation="Horizontal" Spacing="5">
+ <ToggleButton IsChecked="{Binding CustomFee}" Content="{Binding CustomFee, Converter={StaticResource BooleanStringConverter}, ConverterParameter=On:Off}" Margin="0 0 10 0" />
+ <TextBlock VerticalAlignment="Center">Use manual fee entry</TextBlock>
+ </StackPanel>
<StackPanel Margin="0 10" Orientation="Horizontal" Spacing="5">
<ToggleButton IsChecked="{Binding LurkingWifeMode}" Content="{Binding LurkingWifeMode, Converter={StaticResource BooleanStringConverter}, ConverterParameter=On:Off}" Margin="0 0 10 0" Command="{Binding LurkingWifeModeCommand}" />
<TextBlock VerticalAlignment="Center">Lurking Wife Mode hides sensitive content.</TextBlock>

MODIFY
WalletWasabi.Gui/Tabs/SettingsViewModel.cs
WalletWasabi.Gui/Tabs/SettingsViewModel.cs
@@ -26,6 +26,7 @@ namespace WalletWasabi.Gui.Tabs
private string _torSocks5EndPoint;
private string _bitcoinP2pEndPoint;
private bool _autocopy;
+ private bool _customFee;
private bool _useTor;
private bool _isModified;
private string _somePrivacyLevel;
@@ -49,6 +50,7 @@ namespace WalletWasabi.Gui.Tabs
{
var config = new Config(Global.Config.FilePath);
Autocopy = Global.UiConfig?.Autocopy is true;
+ CustomFee = Global.UiConfig?.CustomFee is true;
this.WhenAnyValue(x => x.Network)
.ObserveOn(RxApp.MainThreadScheduler)
@@ -72,11 +74,13 @@ namespace WalletWasabi.Gui.Tabs
.Subscribe(x => Save());
this.WhenAnyValue(x => x.Autocopy)
- .Subscribe(async x =>
- {
- Global.UiConfig.Autocopy = x;
- await Global.UiConfig.ToFileAsync();
- });
+ .Subscribe(x => Global.UiConfig.Autocopy = x);
+
+ this.WhenAnyValue(x => x.CustomFee)
+ .Subscribe(x => Global.UiConfig.CustomFee = x);
+
+ this.WhenAnyValue(x => x.Autocopy, x => x.CustomFee)
+ .Subscribe(async _ => await Global.UiConfig.ToFileAsync());
Dispatcher.UIThread.PostLogException(async () =>
{
@@ -223,6 +227,12 @@ namespace WalletWasabi.Gui.Tabs
set => this.RaiseAndSetIfChanged(ref _autocopy, value);
}
+ public bool CustomFee
+ {
+ get => _customFee;
+ set => this.RaiseAndSetIfChanged(ref _customFee, value);
+ }
+
public bool UseTor
{
get => _useTor;

MODIFY
WalletWasabi.Gui/UiConfig.cs
WalletWasabi.Gui/UiConfig.cs
@@ -46,6 +46,9 @@ namespace WalletWasabi.Gui
[JsonProperty(PropertyName = "Autocopy")]
public bool? Autocopy { get; internal set; }
+ [JsonProperty(PropertyName = "CustomFee")]
+ public bool? CustomFee { get; internal set; }
+
[JsonProperty(PropertyName = "LurkingWifeMode")]
public bool? LurkingWifeMode
{
@@ -98,6 +101,7 @@ namespace WalletWasabi.Gui
FeeTarget = 2;
FeeDisplayFormat = 0;
Autocopy = true;
+ CustomFee = false;
LurkingWifeMode = false;
LockScreenActive = false;
LockScreenPinHash = "";
@@ -124,6 +128,7 @@ namespace WalletWasabi.Gui
Width = config?.Width ?? Width;
FeeTarget = config?.FeeTarget ?? FeeTarget;
FeeDisplayFormat = config?.FeeDisplayFormat ?? FeeDisplayFormat;
+ CustomFee = config?.CustomFee ?? CustomFee;
Autocopy = config?.Autocopy ?? Autocopy;
LurkingWifeMode = config?.LurkingWifeMode ?? LurkingWifeMode;
LockScreenActive = config?.LockScreenActive ?? LockScreenActive;

Allow manual user fee setting