Extract cloud download transfer helper
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user