diff --git a/docs/modernization/debt.md b/docs/modernization/debt.md index cd343ec..58e03fe 100644 --- a/docs/modernization/debt.md +++ b/docs/modernization/debt.md @@ -538,6 +538,9 @@ agent or engineer to remove them without reconstructing context from chat. Document-session overwrite prompts, unsaved-close prompts, save-before-workflow prompts, and accepted new/save document cleanup now route retained dialog closing through `src/legacy_ui_overlay_services.*`. +- 2026-06-12: DEBT-0063/DEBT-0058 were narrowed again. Cloud publish prompts, + upload/download progress dialogs, and cloud browser download-close now route + retained closing through `src/legacy_ui_overlay_services.*`. - 2026-06-05: DEBT-0011 was narrowed. The Windows app package smoke target now passes the configure-time CMake executable into `package-smoke.ps1`, so VS 2026 generator validation does not depend on an older `cmake` on PATH, and diff --git a/docs/modernization/roadmap.md b/docs/modernization/roadmap.md index e3ee443..f32e12f 100644 --- a/docs/modernization/roadmap.md +++ b/docs/modernization/roadmap.md @@ -511,6 +511,8 @@ bindings now use that same retained dialog close helper. Document-session overwrite, unsaved-close, save-before-workflow, and accepted new/save document cleanup now route retained dialog closing through the same helpers. +Cloud publish prompts, upload/download progress dialogs, and cloud browser +download-close now use the retained overlay close helpers. Raw popup callback captures and full close/capture ownership remain part of `DEBT-0063`. `pano_cli inspect-image` exposes PNG IHDR metadata as JSON, diff --git a/src/legacy_cloud_services.cpp b/src/legacy_cloud_services.cpp index 5640750..be3a8a0 100644 --- a/src/legacy_cloud_services.cpp +++ b/src/legacy_cloud_services.cpp @@ -6,6 +6,7 @@ #include "canvas.h" #include "legacy_app_dialog_services.h" #include "legacy_canvas_view_services.h" +#include "legacy_ui_overlay_services.h" #include "node_dialog_cloud.h" #include "node_progress_bar.h" #include "util.h" @@ -44,7 +45,7 @@ public: pb->set_progress(p); }); - pb->destroy(); + pp::panopainter::close_legacy_dialog_node(*pb); const auto success_plan = pp::app::plan_cloud_upload_success_prompt(); app->message_box(success_plan.title, success_plan.message, success_plan.show_cancel); }; @@ -53,10 +54,10 @@ public: auto m = app_.message_box(prompt_plan.title, prompt_plan.message, prompt_plan.show_cancel); m->btn_ok->on_click = [m, upload_thread](Node*) { std::thread(upload_thread).detach(); - m->destroy(); + pp::panopainter::close_legacy_dialog_node(*m); }; m->btn_cancel->on_click = [m](Node*) { - m->destroy(); + pp::panopainter::close_legacy_dialog_node(*m); }; } @@ -87,7 +88,7 @@ public: void end_bulk_upload() override { if (bulk_progress_) { - bulk_progress_->destroy(); + pp::panopainter::close_legacy_dialog_node(*bulk_progress_); } bulk_progress_.reset(); } @@ -138,7 +139,7 @@ public: for (auto& l : app->canvas->m_canvas->m_layers) app->layers->add_layer(l->m_name.c_str(), false); ActionManager::clear(); - m->destroy(); + pp::panopainter::close_legacy_dialog_node(*m); }).detach(); } @@ -184,7 +185,7 @@ pp::foundation::Status execute_legacy_cloud_download_selection_action( .selected_name = dialog.selected_name, }; if (action == pp::app::CloudDownloadSelectionAction::start_download) { - dialog.destroy(); + pp::panopainter::close_legacy_dialog_node(dialog); } LegacyCloudServices services(app); return pp::app::execute_cloud_download_selection_action(action, services, request);