Extract cloud download transfer helper

This commit is contained in:
2026-06-15 21:34:19 +02:00
parent a78f444771
commit 65d762c699
4 changed files with 64 additions and 5 deletions

View File

@@ -70,6 +70,12 @@ void handle_cloud_upload_transfer_result(CURLcode err, const std::string& res)
std::cout << "\n\nUPLOAD RESULT\n" << res << "\n\n\n";
}
void execute_cloud_download_transfer(
App& app,
std::string url,
std::string dest_filepath,
std::function<void(float)> progress);
std::shared_ptr<NodeMessageBox> create_cloud_download_progress_dialog(App& app)
{
return pp::panopainter::create_legacy_app_message_dialog(
@@ -77,6 +83,18 @@ std::shared_ptr<NodeMessageBox> create_cloud_download_progress_dialog(App& app)
pp::app::plan_cloud_download_progress_prompt());
}
void execute_cloud_download_transfer_with_progress_dialog(
App& app,
const pp::app::CloudDownloadRequest& request,
const std::shared_ptr<NodeMessageBox>& dialog)
{
const std::string url = "https://panopainter.com/cloud/cloud-dwl.php?file=" + request.selected_file;
execute_cloud_download_transfer(app, url, request.selected_path, [dialog](float p) {
const auto progress = pp::app::format_cloud_download_progress_message(p);
dialog->m_message->set_text(progress.c_str());
});
}
void execute_cloud_download_transfer(
App& app,
std::string url,
@@ -171,11 +189,7 @@ void execute_cloud_download_thread(
BT_SetTerminate();
auto m = create_cloud_download_progress_dialog(app);
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_cloud_download_transfer_with_progress_dialog(app, request, m);
execute_legacy_downloaded_project_open(app, request.selected_path, request.selected_name);
pp::panopainter::close_legacy_dialog_node(*m);