Plan cloud dialog metadata

This commit is contained in:
2026-06-05 08:14:11 +02:00
parent e5526c6d0a
commit f46839bf5c
8 changed files with 190 additions and 26 deletions

View File

@@ -3627,8 +3627,20 @@ int plan_cloud_upload(int argc, char** argv)
<< ",\"newDocument\":" << json_bool(args.new_document)
<< ",\"unsaved\":" << json_bool(args.unsaved)
<< "},\"decision\":\"" << cloud_upload_action_name(plan.action)
<< "\",\"saveBeforeUpload\":" << json_bool(plan.save_before_upload)
<< "}\n";
<< "\",\"saveBeforeUpload\":" << json_bool(plan.save_before_upload);
if (plan.action == pp::app::CloudUploadAction::show_save_required_warning
|| plan.action == pp::app::CloudUploadAction::prompt_publish) {
const auto prompt = plan.action == pp::app::CloudUploadAction::show_save_required_warning
? pp::app::plan_cloud_save_required_prompt()
: pp::app::plan_cloud_publish_prompt();
std::cout << ",\"prompt\":{\"title\":\"" << json_escape(prompt.title)
<< "\",\"message\":\"" << json_escape(prompt.message)
<< "\",\"okCaption\":\"" << json_escape(prompt.ok_caption)
<< "\",\"cancelCaption\":\"" << json_escape(prompt.cancel_caption)
<< "\",\"showCancel\":" << json_bool(prompt.show_cancel)
<< "}";
}
std::cout << "}\n";
return 0;
}
@@ -3716,7 +3728,16 @@ int plan_cloud_upload_all(int argc, char** argv)
<< "},\"plan\":{\"fileCount\":" << plan.file_count
<< ",\"progressTotal\":" << plan.progress_total
<< ",\"showProgress\":" << json_bool(plan.show_progress)
<< "}}\n";
<< "}";
if (plan.show_progress) {
const auto progress = pp::app::plan_cloud_bulk_upload_progress_dialog(plan.progress_total);
std::cout << ",\"progressDialog\":{\"title\":\"" << json_escape(progress.title)
<< "\",\"total\":" << progress.total
<< ",\"count\":" << progress.count
<< ",\"progressFraction\":" << progress.progress_fraction
<< "}";
}
std::cout << "}\n";
return 0;
}
@@ -3815,7 +3836,18 @@ int plan_cloud_transfer(int argc, char** argv)
<< ",\"disableTlsVerification\":" << json_bool(transfer.disable_tls_verification)
<< "},\"progress\":{\"notify\":" << json_bool(progress.notify)
<< ",\"fraction\":" << progress.fraction
<< "}}\n";
<< "}";
if (transfer.direction == pp::app::CloudTransferDirection::download
&& transfer.action == pp::app::CloudTransferAction::start_transfer) {
const auto prompt = pp::app::plan_cloud_download_progress_prompt();
std::cout << ",\"progressPrompt\":{\"title\":\"" << json_escape(prompt.title)
<< "\",\"message\":\"" << json_escape(prompt.message)
<< "\",\"showCancel\":" << json_bool(prompt.show_cancel)
<< ",\"formattedMessage\":\""
<< json_escape(pp::app::format_cloud_download_progress_message(progress.fraction))
<< "\"}";
}
std::cout << "}\n";
return 0;
}