Extract cloud publish prompt helper

This commit is contained in:
2026-06-15 21:21:14 +02:00
parent 58f0229d8f
commit 777579fffe
4 changed files with 52 additions and 8 deletions

View File

@@ -18,6 +18,12 @@ agent or engineer to remove them without reconstructing context from chat.
## Recent Reductions
- 2026-06-15: `DEBT-0038` was narrowed again. The retained cloud publish
prompt path in `LegacyCloudServices::prompt_publish()` now routes through a
focused helper in `src/legacy_cloud_services.cpp` instead of living inline
in the retained service method; the remaining cloud bridge debt stays
concentrated in retained prompt/progress lifetime, OpenGL context guarding,
and the still-retained transfer-thread execution model.
- 2026-06-15: `DEBT-0038` was narrowed again. The retained cloud
save-required warning path in `LegacyCloudServices::show_save_required_warning()`
now routes through a focused helper in `src/legacy_cloud_services.cpp`

View File

@@ -167,6 +167,11 @@ focused helper in `src/legacy_cloud_services.cpp`, so the remaining cloud
bridge debt is further concentrated on retained prompt/progress lifetime,
OpenGL context guarding, and the still-retained transfer-thread execution
model.
The retained cloud publish prompt path in
`LegacyCloudServices::prompt_publish()` now also routes through a focused
helper in `src/legacy_cloud_services.cpp`, so the remaining cloud bridge debt
is further concentrated on retained prompt/progress lifetime, OpenGL context
guarding, and the still-retained transfer-thread execution model.
Recent 2026-06-13 retained preview reductions continue to narrow DEBT-0036:
`NodeStrokePreview::draw_stroke_immediate()` now also routes

View File

@@ -943,6 +943,35 @@ Completed Task Log:
| --- | --- | ---: | --- | --- |
| 2026-06-15 | ADP-024 | no score movement | `MSBuild.exe out\build\windows-msvc-default\panopainter_app.vcxproj /p:Configuration=Debug /p:Platform=x64`; `ctest --preset desktop-fast --build-config Debug -R "pp_app_core_document_cloud" --output-on-failure` | `4c6b39c2` |
### ADP-025 - Extract Cloud Publish Prompt Helper
Status: Done
Score: no score movement
Debt: `DEBT-0038`
Scope: `src/legacy_cloud_services.cpp` only
Goal:
Reduce the inline retained cloud publish prompt surface by extracting
the prompt path from `LegacyCloudServices::prompt_publish()`
into a focused helper while preserving current behavior.
Done Checks:
- The retained cloud publish prompt path no longer lives inline in
`LegacyCloudServices::prompt_publish()`.
- The retained cloud publish prompt path now routes through a focused helper
in `src/legacy_cloud_services.cpp`.
- `DEBT-0038` and the roadmap note the reduced remaining cloud bridge
surface.
Validation:
```powershell
& 'C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe' out\build\windows-msvc-default\panopainter_app.vcxproj /p:Configuration=Debug /p:Platform=x64
ctest --preset desktop-fast --build-config Debug -R "pp_app_core_document_cloud" --output-on-failure
```
Completed Task Log:
| Date | Task | Score | Validation | Commit |

View File

@@ -210,6 +210,17 @@ void wire_cloud_publish_prompt_buttons(
};
}
void show_cloud_publish_prompt(App& app, bool save_before_upload)
{
auto upload_thread = [&app, save_before_upload] {
execute_cloud_publish_worker(app, save_before_upload);
};
const auto prompt_plan = pp::app::plan_cloud_publish_prompt();
auto dialog = app.message_box(prompt_plan.title, prompt_plan.message, prompt_plan.show_cancel);
wire_cloud_publish_prompt_buttons(dialog, upload_thread);
}
std::shared_ptr<NodeProgressBar> create_cloud_bulk_upload_progress(
App& app,
int progress_total)
@@ -272,14 +283,7 @@ public:
void prompt_publish(bool save_before_upload) override
{
auto* app = &app_;
auto upload_thread = [app, save_before_upload] {
execute_cloud_publish_worker(*app, save_before_upload);
};
const auto prompt_plan = pp::app::plan_cloud_publish_prompt();
auto m = app_.message_box(prompt_plan.title, prompt_plan.message, prompt_plan.show_cancel);
wire_cloud_publish_prompt_buttons(m, upload_thread);
show_cloud_publish_prompt(app_, save_before_upload);
}
void begin_bulk_upload(int progress_total, bool show_progress) override