Centralize retained floating panel closing

This commit is contained in:
2026-06-12 15:59:45 +02:00
parent b32ad1b720
commit 32cea98661
3 changed files with 8 additions and 2 deletions

View File

@@ -544,6 +544,9 @@ agent or engineer to remove them without reconstructing context from chat.
- 2026-06-12: DEBT-0063/DEBT-0058 were narrowed again. App message-dialog
cancel-button removal, layer-rename finish cleanup, and recording export
progress cleanup now route retained closing through `src/legacy_ui_overlay_services.*`.
- 2026-06-12: DEBT-0063 was narrowed again. Floating-panel close and drag-outline
cleanup now use the retained close helper in `src/legacy_ui_overlay_services.*`;
drag placeholder reparenting and dock/drop mutation remain legacy-owned.
- 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

View File

@@ -515,6 +515,8 @@ Cloud publish prompts, upload/download progress dialogs, and cloud browser
download-close now use the retained overlay close helpers.
App message-dialog cancel-button removal, layer-rename finish cleanup, and
recording export progress cleanup also route through those helpers.
Floating-panel close and drag-outline cleanup now use the same retained close
helper while drag reparenting remains legacy-owned.
Raw popup callback captures and full close/capture ownership remain part of
`DEBT-0063`.
`pano_cli inspect-image` exposes PNG IHDR metadata as JSON,

View File

@@ -1,5 +1,6 @@
#include "pch.h"
#include "node_panel_floating.h"
#include "legacy_ui_overlay_services.h"
#include "log.h"
Node* NodePanelFloating::clone_instantiate() const
@@ -46,7 +47,7 @@ void NodePanelFloating::init_controls()
m_button_close = find<NodeButton>("button-close");
m_button_close->on_click = [this](Node*) {
m_container->remove_all_children();
destroy();
pp::panopainter::close_legacy_dialog_node(*this);
};
}
@@ -176,7 +177,7 @@ kEventResult NodePanelFloating::handle_event(Event* e)
if (m_outline)
{
outline_pos = m_outline->m_pos;
m_outline->destroy();
pp::panopainter::close_legacy_dialog_node(*m_outline);
}
int drop_pos = 0;
if (m_drop_placeholder)