Centralize service adapter dialog closing
This commit is contained in:
@@ -580,6 +580,10 @@ agent or engineer to remove them without reconstructing context from chat.
|
|||||||
color-wheel, color-quad, and canvas gesture-end capture release now route
|
color-wheel, color-quad, and canvas gesture-end capture release now route
|
||||||
through `src/legacy_ui_overlay_services.*`. The controls still own raw event
|
through `src/legacy_ui_overlay_services.*`. The controls still own raw event
|
||||||
callback targets and public `Node` capture state.
|
callback targets and public `Node` capture state.
|
||||||
|
- 2026-06-12: DEBT-0063/DEBT-0058 were narrowed again. Legacy document-open
|
||||||
|
import/discard prompts and brush-package export completion now route retained
|
||||||
|
dialog closing through `src/legacy_ui_overlay_services.*` instead of direct
|
||||||
|
`destroy()` calls from service adapters.
|
||||||
- 2026-06-05: DEBT-0011 was narrowed. The Windows app package smoke target now
|
- 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
|
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
|
2026 generator validation does not depend on an older `cmake` on PATH, and
|
||||||
|
|||||||
@@ -533,6 +533,8 @@ Canvas mode mouse-capture release for camera, paint, line, grid, mask, and fill
|
|||||||
interactions now routes through the retained capture-release helper.
|
interactions now routes through the retained capture-release helper.
|
||||||
Button, slider, scroll, color-wheel, color-quad, and canvas gesture-end capture
|
Button, slider, scroll, color-wheel, color-quad, and canvas gesture-end capture
|
||||||
release now route through that same helper.
|
release now route through that same helper.
|
||||||
|
Legacy document-open import/discard prompts and brush-package export completion
|
||||||
|
now route retained dialog closing through the same helper.
|
||||||
Raw popup callback captures and full close/capture ownership remain part of
|
Raw popup callback captures and full close/capture ownership remain part of
|
||||||
`DEBT-0063`.
|
`DEBT-0063`.
|
||||||
`pano_cli inspect-image` exposes PNG IHDR metadata as JSON,
|
`pano_cli inspect-image` exposes PNG IHDR metadata as JSON,
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#include "legacy_brush_package_export_services.h"
|
#include "legacy_brush_package_export_services.h"
|
||||||
|
|
||||||
#include "app.h"
|
#include "app.h"
|
||||||
|
#include "legacy_ui_overlay_services.h"
|
||||||
#include "node_dialog_export_ppbr.h"
|
#include "node_dialog_export_ppbr.h"
|
||||||
#include "node_panel_brush.h"
|
#include "node_panel_brush.h"
|
||||||
|
|
||||||
@@ -49,7 +50,7 @@ public:
|
|||||||
std::thread([app, dialog, path_string, info] {
|
std::thread([app, dialog, path_string, info] {
|
||||||
BT_SetTerminate();
|
BT_SetTerminate();
|
||||||
app->presets->export_ppbr(path_string, info);
|
app->presets->export_ppbr(path_string, info);
|
||||||
dialog->destroy();
|
pp::panopainter::close_legacy_dialog_node(*dialog);
|
||||||
const auto plan = pp::app::plan_brush_package_export_success_dialog(path_string);
|
const auto plan = pp::app::plan_brush_package_export_success_dialog(path_string);
|
||||||
app->message_box(plan.title, plan.message, plan.show_cancel);
|
app->message_box(plan.title, plan.message, plan.show_cancel);
|
||||||
}).detach();
|
}).detach();
|
||||||
@@ -94,7 +95,7 @@ pp::foundation::Status execute_legacy_brush_package_export(
|
|||||||
void complete_legacy_brush_package_export(NodeDialogExportPPBR& dialog, bool saved)
|
void complete_legacy_brush_package_export(NodeDialogExportPPBR& dialog, bool saved)
|
||||||
{
|
{
|
||||||
if (saved) {
|
if (saved) {
|
||||||
dialog.destroy();
|
pp::panopainter::close_legacy_dialog_node(dialog);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
#include "legacy_brush_package_import_services.h"
|
#include "legacy_brush_package_import_services.h"
|
||||||
#include "legacy_canvas_view_services.h"
|
#include "legacy_canvas_view_services.h"
|
||||||
#include "legacy_history_services.h"
|
#include "legacy_history_services.h"
|
||||||
|
#include "legacy_ui_overlay_services.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "node_panel_brush.h"
|
#include "node_panel_brush.h"
|
||||||
#include "node_panel_layer.h"
|
#include "node_panel_layer.h"
|
||||||
@@ -61,7 +62,7 @@ public:
|
|||||||
path);
|
path);
|
||||||
if (!status.ok())
|
if (!status.ok())
|
||||||
LOG("ABR import failed: %s", status.message);
|
LOG("ABR import failed: %s", status.message);
|
||||||
target->destroy();
|
pp::panopainter::close_legacy_dialog_node(*target);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,7 +77,7 @@ public:
|
|||||||
path);
|
path);
|
||||||
if (!status.ok())
|
if (!status.ok())
|
||||||
LOG("PPBR import failed: %s", status.message);
|
LOG("PPBR import failed: %s", status.message);
|
||||||
target->destroy();
|
pp::panopainter::close_legacy_dialog_node(*target);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,7 +95,7 @@ public:
|
|||||||
true);
|
true);
|
||||||
mb->on_submit = [app, route](Node* target) {
|
mb->on_submit = [app, route](Node* target) {
|
||||||
open_legacy_project(*app, route);
|
open_legacy_project(*app, route);
|
||||||
target->destroy();
|
pp::panopainter::close_legacy_dialog_node(*target);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user