Give the application a settings area built from what really exists

This commit is contained in:
2026-08-08 14:17:19 +02:00
parent 422d5ca10e
commit c8507b44fe
42 changed files with 3810 additions and 1083 deletions
@@ -0,0 +1,29 @@
using Avalonia.Controls;
using Avalonia.Input;
using DodoSSH.Client.Shell.ViewModels;
namespace DodoSSH.Client.App.Views;
/// <summary>Vaults, restyled into the settings page idiom — see the remark at the top of the markup.</summary>
internal sealed partial class SettingsVaultsPage : UserControl
{
public SettingsVaultsPage() => InitializeComponent();
private MainWindowViewModel? Shell => DataContext as MainWindowViewModel;
/// <remarks>
/// Only a press on the wash itself, the same test <c>QuickConnect.OnBackdropPressed</c> makes: a press
/// inside the card bubbles through here too, with its source the control that was actually hit rather
/// than the backdrop, so closing on those would make the panel impossible to click into.
/// </remarks>
private void OnBackdropPressed(object? sender, PointerPressedEventArgs e)
{
if (!ReferenceEquals(e.Source, MembersBackdrop) || Shell is not { } shell)
{
return;
}
shell.Vaults.CloseMembersPanelCommand.Execute(null);
e.Handled = true;
}
}