feat(settings): Flatpak/Snap sandbox section with copyable permission commands

Tauri parity (the sections did not survive the Slint port): a Settings
section shown only on sandboxed installs holding the one-time permission
commands with copy-to-clipboard buttons. Flatpak: exclusive-DAC D-Bus
reservation override (the user-side fix for #641's exclusive-mode failure
— the Flathub manifest cannot carry the wildcard own-name past its linter,
so the user grants it locally) and NAS/external-drive filesystem access.
Snap: the audio interface connections (qbz-player:alsa/pulseaudio/
pipewire/mpris) plus optional removable-media. New SandboxState global
seeded from qbz_app::diagnostics install_method; 14 msgids across all 8
bundled locales.

km
This commit is contained in:
vicrodh committed 2026-07-20 13:47:24 -06:00
1 parent a5242435e0
commit 9353ed700d
13 files changed
+556 -2

No files matched your search

+13
View File
@@ -5709,6 +5709,19 @@ export global DacWizardActions {
callback toggle-config(int); // collapse/expand one DAC's config accordion
}
// ============================================================================
// Sandbox (Flatpak/Snap) — Settings section holding the one-time permission
// commands for sandboxed installs (Tauri parity: Settings > Flatpak / Snap).
// The section is only shown when install-method is "flatpak" or "snap".
// ============================================================================
export global SandboxState {
// "flatpak" | "snap" | anything else (section hidden). Seeded once at
// startup from qbz_app::diagnostics::system_info().install_method.
in property <string> install-method: "";
callback copy-command(string); // → crate::share::copy_to_clipboard
}
// ============================================================================
// Keyboard shortcuts (hotkeys) — port of the Tauri keybindings system.
// ============================================================================