feat(qbz-ui): settings export modal + Developer row (04 §4.2)
Add the desktop "Export settings…" surface for the qbzd daemon epic (T18): a Developer-settings row that opens a modal with the single default-off "Include Qobuz login and integration tokens" gate, its warning line, and a Cancel/Export footer. Confirm() is a Rust callback (wired next). New SettingsExportState/SettingsExportActions globals, exported from app.slint so the Rust layer binds them, and the modal mounted in AppShell. New strings translated across all 8 locales (en es de fr pt ru ja nl). cc
This commit is contained in:
13 files changed
+512
-2
No files matched your search
@@ -6,7 +6,7 @@
|
||||
import { Theme } from "../foundation/semantic-colors.slint";
|
||||
import { Typography } from "../foundation/typography.slint";
|
||||
import { Radius } from "../foundation/radius.slint";
|
||||
import { QconnectDevState, LogViewerState } from "../state.slint";
|
||||
import { QconnectDevState, LogViewerState, SettingsExportState } from "../state.slint";
|
||||
import { SettingRow } from "SettingRow.slint";
|
||||
import { DiagnosticsPanel } from "DiagnosticsPanel.slint";
|
||||
|
||||
@@ -74,5 +74,20 @@ export component DeveloperSettings inherits VerticalLayout {
|
||||
}
|
||||
}
|
||||
|
||||
GroupHeader { text: @tr("SETTINGS PORTABILITY"); }
|
||||
|
||||
SettingRow {
|
||||
label: @tr("Export settings…");
|
||||
description: @tr("Save a portable bundle of your settings to move to another machine or the qbzd daemon.");
|
||||
SecondaryButton {
|
||||
label: @tr("Export…");
|
||||
clicked => {
|
||||
// Always reset the auth gate so it opens default-OFF (04 §4.2).
|
||||
SettingsExportState.include-auth = false;
|
||||
SettingsExportState.open = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DiagnosticsPanel { }
|
||||
}
|
||||
Reference in new issue
Block a user