From 63d5c817aa15b983492ca18036acee944b585527 Mon Sep 17 00:00:00 2001 From: DanS Date: Mon, 13 Jul 2026 22:37:26 -0500 Subject: [PATCH] chore(sweep): add modal-bootstrap surface for the standalone bootstrap dialog The settings-triggered BootstrapDownloadDialog wasn't captured (only the wizard's bootstrap page was). Add BootstrapDownloadDialog::hide() + a modal-bootstrap sweep surface (opens the confirm screen) so the migrated dialog is verifiable. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/app_sweep.cpp | 3 +++ src/ui/windows/bootstrap_download_dialog.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/app_sweep.cpp b/src/app_sweep.cpp index 610bb65..092f485 100644 --- a/src/app_sweep.cpp +++ b/src/app_sweep.cpp @@ -21,6 +21,7 @@ #include "ui/windows/wallets_dialog.h" #include "ui/windows/export_transactions_dialog.h" #include "ui/windows/export_all_keys_dialog.h" +#include "ui/windows/bootstrap_download_dialog.h" #include "ui/windows/daemon_download_dialog.h" #include "ui/windows/xmrig_download_dialog.h" #include "ui/pages/settings_page.h" @@ -272,6 +273,8 @@ void App::buildSweepCatalog() [](App&) { ui::ExportTransactionsDialog::show(); }, [](App&) { ui::ExportTransactionsDialog::hide(); }); add("modal-export-all-keys", ui::NavPage::Settings, [](App&) { ui::ExportAllKeysDialog::show(); }, [](App&) { ui::ExportAllKeysDialog::hide(); }); + add("modal-bootstrap", ui::NavPage::Settings, + [](App& a) { ui::BootstrapDownloadDialog::show(&a); }, [](App&) { ui::BootstrapDownloadDialog::hide(); }); add("modal-backup", ui::NavPage::Overview, [](App& a) { a.show_backup_ = true; }, [](App& a) { a.show_backup_ = false; a.backup_status_.clear(); }); add("modal-about", ui::NavPage::Overview, diff --git a/src/ui/windows/bootstrap_download_dialog.h b/src/ui/windows/bootstrap_download_dialog.h index 811dac3..251341a 100644 --- a/src/ui/windows/bootstrap_download_dialog.h +++ b/src/ui/windows/bootstrap_download_dialog.h @@ -47,6 +47,9 @@ public: static bool isOpen() { return s_open; } + // Close the dialog (used by the UI sweep teardown). + static void hide() { s_open = false; s_state = State::Confirm; } + static void render() { if (!s_app) return; if (!s_open) {