Extract cloud publish worker helper
This commit is contained in:
@@ -170,6 +170,27 @@ void execute_cloud_download_thread(
|
||||
execute_legacy_downloaded_project_open(app, request.selected_path, request.selected_name);
|
||||
pp::panopainter::close_legacy_dialog_node(*m);
|
||||
}
|
||||
|
||||
void execute_cloud_publish_worker(App& app, bool save_before_upload)
|
||||
{
|
||||
BT_SetTerminate();
|
||||
|
||||
if (save_before_upload)
|
||||
{
|
||||
execute_legacy_document_save_before_cloud_upload(app);
|
||||
}
|
||||
|
||||
const auto progress_plan = pp::app::plan_cloud_upload_progress_dialog();
|
||||
auto pb = app.show_progress(progress_plan.title, progress_plan.total);
|
||||
|
||||
execute_cloud_upload_transfer(app, app.doc_path, app.doc_filename, [pb](float p) {
|
||||
pb->set_progress(p);
|
||||
});
|
||||
|
||||
pp::panopainter::close_legacy_dialog_node(*pb);
|
||||
const auto success_plan = pp::app::plan_cloud_upload_success_prompt();
|
||||
app.message_box(success_plan.title, success_plan.message, success_plan.show_cancel);
|
||||
}
|
||||
#endif //WITH_CURL
|
||||
|
||||
class LegacyCloudServices final : public pp::app::CloudServices {
|
||||
@@ -189,23 +210,7 @@ public:
|
||||
{
|
||||
auto* app = &app_;
|
||||
auto upload_thread = [app, save_before_upload] {
|
||||
BT_SetTerminate();
|
||||
|
||||
if (save_before_upload)
|
||||
{
|
||||
execute_legacy_document_save_before_cloud_upload(*app);
|
||||
}
|
||||
|
||||
const auto progress_plan = pp::app::plan_cloud_upload_progress_dialog();
|
||||
auto pb = app->show_progress(progress_plan.title, progress_plan.total);
|
||||
|
||||
execute_cloud_upload_transfer(*app, app->doc_path, app->doc_filename, [pb](float p) {
|
||||
pb->set_progress(p);
|
||||
});
|
||||
|
||||
pp::panopainter::close_legacy_dialog_node(*pb);
|
||||
const auto success_plan = pp::app::plan_cloud_upload_success_prompt();
|
||||
app->message_box(success_plan.title, success_plan.message, success_plan.show_cancel);
|
||||
execute_cloud_publish_worker(*app, save_before_upload);
|
||||
};
|
||||
|
||||
const auto prompt_plan = pp::app::plan_cloud_publish_prompt();
|
||||
|
||||
Reference in New Issue
Block a user