Extract cloud publish thread launcher
This commit is contained in:
@@ -248,12 +248,19 @@ void execute_cloud_publish_worker(App& app, bool save_before_upload)
|
||||
execute_cloud_publish_transfer_and_success_prompt(app, save_before_upload);
|
||||
}
|
||||
|
||||
void launch_cloud_publish_thread(App& app, bool save_before_upload)
|
||||
{
|
||||
std::thread([app = &app, save_before_upload] {
|
||||
execute_cloud_publish_worker(*app, save_before_upload);
|
||||
}).detach();
|
||||
}
|
||||
|
||||
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();
|
||||
upload_thread();
|
||||
pp::panopainter::close_legacy_dialog_node(*dialog);
|
||||
};
|
||||
dialog->btn_cancel->on_click = [dialog](Node*) {
|
||||
@@ -263,13 +270,11 @@ 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);
|
||||
wire_cloud_publish_prompt_buttons(dialog, [&app, save_before_upload] {
|
||||
launch_cloud_publish_thread(app, save_before_upload);
|
||||
});
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeProgressBar> create_cloud_bulk_upload_progress(
|
||||
|
||||
Reference in New Issue
Block a user