Implement modal dialog band.
MODIFY
WalletWasabi.Dependencies/AvalonStudio.Shell
WalletWasabi.Dependencies/AvalonStudio.Shell
-Subproject commit 7736d7e9a7d2d99defa3a4c4045ff2eb57367074
+Subproject commit 34eb9aa1624a1066bbed859d19dcdc93a5d3d73c

MODIFY
WalletWasabi.Gui/MainWindow.xaml
WalletWasabi.Gui/MainWindow.xaml
<cont:MetroWindow.TitleBarContent>
</cont:MetroWindow.TitleBarContent>
+ <Grid>
<DockPanel LastChildFill="True">
<wasabi:StatusBar DockPanel.Dock="Bottom" DataContext="{Binding StatusBar}" />
<shell:ShellView />
</DockPanel>
+ <wasabi:ModalDialog DataContext="{Binding ModalDialog}" />
+ </Grid>
</cont:MetroWindow>

MODIFY
WalletWasabi.Gui/Program.cs
WalletWasabi.Gui/Program.cs
@@ -34,8 +34,10 @@ namespace WalletWasabi.Gui
Global.Initialize(config);
statusBar = new StatusBarViewModel(Global.Nodes.ConnectedNodes, Global.MemPoolService, Global.IndexDownloader);
+ MainWindowViewModel.Instance = new MainWindowViewModel(statusBar);
+
BuildAvaloniaApp()
- .StartShellApp<AppBuilder, MainWindow>("Wasabi Wallet", new DefaultLayoutFactory(), () => new MainWindowViewModel(statusBar));
+ .StartShellApp<AppBuilder, MainWindow>("Wasabi Wallet", new DefaultLayoutFactory(), () => MainWindowViewModel.Instance);
}
catch (Exception ex)
{

MODIFY
WalletWasabi.Gui/Shell/Commands/HelpCommands.cs
WalletWasabi.Gui/Shell/Commands/HelpCommands.cs
@@ -3,6 +3,8 @@ using ReactiveUI;
using System;
using System.Collections.Generic;
using System.Text;
+using WalletWasabi.Gui.Dialogs;
+using WalletWasabi.Gui.ViewModels;
namespace WalletWasabi.Gui.Shell.Commands
{
@@ -11,7 +13,7 @@ namespace WalletWasabi.Gui.Shell.Commands
public HelpCommands()
{
AboutCommand = new CommandDefinition(
- "About", null, ReactiveCommand.Create(() => { }));
+ "About", null, ReactiveCommand.Create(async () => { await MainWindowViewModel.Instance.ShowDialogAsync(new CannotCloseDialogViewModel()); }));
CustomerSupportCommand = new CommandDefinition(
"Customer Support", null, ReactiveCommand.Create(() => { }));

Implement modal dialog band.