Extract cloud download thread helper
This commit is contained in:
@@ -151,6 +151,25 @@ void execute_cloud_upload_transfer(
|
||||
curl_easy_cleanup(curl);
|
||||
}
|
||||
}
|
||||
|
||||
void execute_cloud_download_thread(
|
||||
App& app,
|
||||
const pp::app::CloudDownloadRequest& request)
|
||||
{
|
||||
BT_SetTerminate();
|
||||
|
||||
auto m = pp::panopainter::create_legacy_app_message_dialog(
|
||||
app,
|
||||
pp::app::plan_cloud_download_progress_prompt());
|
||||
std::string url = "https://panopainter.com/cloud/cloud-dwl.php?file=" + request.selected_file;
|
||||
execute_cloud_download_transfer(app, url, request.selected_path, [m](float p) {
|
||||
const auto progress = pp::app::format_cloud_download_progress_message(p);
|
||||
m->m_message->set_text(progress.c_str());
|
||||
});
|
||||
|
||||
execute_legacy_downloaded_project_open(app, request.selected_path, request.selected_name);
|
||||
pp::panopainter::close_legacy_dialog_node(*m);
|
||||
}
|
||||
#endif //WITH_CURL
|
||||
|
||||
class LegacyCloudServices final : public pp::app::CloudServices {
|
||||
@@ -249,19 +268,7 @@ public:
|
||||
{
|
||||
auto* app = &app_;
|
||||
std::thread([app, request] {
|
||||
BT_SetTerminate();
|
||||
|
||||
auto m = pp::panopainter::create_legacy_app_message_dialog(
|
||||
*app,
|
||||
pp::app::plan_cloud_download_progress_prompt());
|
||||
std::string url = "https://panopainter.com/cloud/cloud-dwl.php?file=" + request.selected_file;
|
||||
execute_cloud_download_transfer(*app, url, request.selected_path, [m](float p) {
|
||||
const auto progress = pp::app::format_cloud_download_progress_message(p);
|
||||
m->m_message->set_text(progress.c_str());
|
||||
});
|
||||
|
||||
execute_legacy_downloaded_project_open(*app, request.selected_path, request.selected_name);
|
||||
pp::panopainter::close_legacy_dialog_node(*m);
|
||||
execute_cloud_download_thread(*app, request);
|
||||
}).detach();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user