feat(ui): add Quit to File menu; hide Wallet item when no wallet is open
- File → Esci (separator + Quit at the bottom) calls IClassicDesktopStyleApplicationLifetime.Shutdown() - Wallet menu item and mobile button now use IsVisible instead of IsEnabled: they disappear entirely on the wizard/setup screen and reappear once a wallet is open, avoiding a confusing greyed-out entry
This commit is contained in:
@@ -47,6 +47,7 @@ public sealed class Loc
|
||||
["menu.file.new"] = ["Nuovo / ripristina wallet…", "New / restore wallet…", "Nuevo / restaurar wallet…", "Nouveau / restaurer le wallet…", "Novo / restaurar carteira…", "Neu / Wallet wiederherstellen…"],
|
||||
["menu.file.open"] = ["Apri wallet da file…", "Open wallet from file…", "Abrir wallet desde archivo…", "Ouvrir le wallet depuis un fichier…", "Abrir carteira de arquivo…", "Wallet aus Datei öffnen…"],
|
||||
["menu.file.close"] = ["Chiudi wallet", "Close wallet", "Cerrar wallet", "Fermer le wallet", "Fechar carteira", "Wallet schließen"],
|
||||
["menu.file.quit"] = ["Esci", "Quit", "Salir", "Quitter", "Sair", "Beenden"],
|
||||
["menu.net"] = ["_Rete", "_Network", "_Red", "_Réseau", "_Rede", "_Netzwerk"],
|
||||
["menu.net.discover"] = ["Cerca altri server (peer)", "Discover servers (peers)", "Buscar otros servidores (peers)", "Rechercher d'autres serveurs (pairs)", "Procurar outros servidores (peers)", "Weitere Server suchen (Peers)"],
|
||||
["menu.net.resetcerts"] = ["Reset certificati SSL", "Reset SSL certificates", "Restablecer certificados SSL", "Réinitialiser les certificats SSL", "Redefinir certificados SSL", "SSL-Zertifikate zurücksetzen"],
|
||||
|
||||
@@ -69,6 +69,12 @@ public partial class MainWindowViewModel
|
||||
[RelayCommand]
|
||||
private void OpenHelp() => IsHelpOpen = true;
|
||||
|
||||
[RelayCommand]
|
||||
private static void QuitApp() =>
|
||||
(Avalonia.Application.Current?.ApplicationLifetime
|
||||
as Avalonia.Controls.ApplicationLifetimes.IClassicDesktopStyleApplicationLifetime)
|
||||
?.Shutdown();
|
||||
|
||||
[RelayCommand]
|
||||
private void CloseHelp() { IsHelpOpen = false; ResetDonate(); }
|
||||
}
|
||||
|
||||
@@ -36,10 +36,12 @@
|
||||
<Separator/>
|
||||
<MenuItem Header="{Binding Loc[menu.file.close]}" Command="{Binding CloseWalletCommand}"
|
||||
IsEnabled="{Binding IsWalletOpen}"/>
|
||||
<Separator/>
|
||||
<MenuItem Header="{Binding Loc[menu.file.quit]}" Command="{Binding QuitAppCommand}"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="{Binding Loc[menu.wallet]}"
|
||||
Command="{Binding OpenWalletInfoCommand}"
|
||||
IsEnabled="{Binding IsWalletOpen}"/>
|
||||
IsVisible="{Binding IsWalletOpen}"/>
|
||||
<MenuItem Header="{Binding Loc[menu.settings]}"
|
||||
Command="{Binding OpenSettingsCommand}"/>
|
||||
<MenuItem Header="{Binding Loc[menu.help]}"
|
||||
@@ -52,7 +54,7 @@
|
||||
IsVisible="{Binding IsMobile}">
|
||||
<Button Content="{Binding Loc[menu.wallet]}"
|
||||
Command="{Binding OpenWalletInfoCommand}"
|
||||
IsEnabled="{Binding IsWalletOpen}"/>
|
||||
IsVisible="{Binding IsWalletOpen}"/>
|
||||
<Button Content="{Binding Loc[menu.settings]}" Command="{Binding OpenSettingsCommand}"/>
|
||||
<Button Content="{Binding Loc[menu.help]}" Command="{Binding OpenHelpCommand}"/>
|
||||
</StackPanel>
|
||||
|
||||
Reference in New Issue
Block a user