Extract cloud publish prompt wiring helper

This commit is contained in:
2026-06-15 21:03:46 +02:00
parent 87e1307d12
commit a3c7af716d
4 changed files with 60 additions and 7 deletions

View File

@@ -191,6 +191,19 @@ void execute_cloud_publish_worker(App& app, bool save_before_upload)
const auto success_plan = pp::app::plan_cloud_upload_success_prompt();
app.message_box(success_plan.title, success_plan.message, success_plan.show_cancel);
}
void wire_cloud_publish_prompt_buttons(
const std::shared_ptr<NodeMessageBox>& dialog,
std::function<void()> upload_thread)
{
dialog->btn_ok->on_click = [dialog, upload_thread](Node*) {
std::thread(upload_thread).detach();
pp::panopainter::close_legacy_dialog_node(*dialog);
};
dialog->btn_cancel->on_click = [dialog](Node*) {
pp::panopainter::close_legacy_dialog_node(*dialog);
};
}
#endif //WITH_CURL
class LegacyCloudServices final : public pp::app::CloudServices {
@@ -215,13 +228,7 @@ public:
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);
m->btn_ok->on_click = [m, upload_thread](Node*) {
std::thread(upload_thread).detach();
pp::panopainter::close_legacy_dialog_node(*m);
};
m->btn_cancel->on_click = [m](Node*) {
pp::panopainter::close_legacy_dialog_node(*m);
};
wire_cloud_publish_prompt_buttons(m, upload_thread);
}
void begin_bulk_upload(int progress_total, bool show_progress) override