Route cloud prompts through app dialog bridge

This commit is contained in:
2026-06-05 10:03:34 +02:00
parent 73564342fc
commit 903fe2d5a1
4 changed files with 27 additions and 19 deletions

View File

@@ -4,6 +4,7 @@
#include "app.h"
#include "canvas.h"
#include "legacy_app_dialog_services.h"
#include "legacy_canvas_view_services.h"
#include "node_dialog_cloud.h"
#include "node_progress_bar.h"
@@ -12,20 +13,6 @@
namespace pp::panopainter {
namespace {
void apply_cloud_message_box_plan(
NodeMessageBox& msgbox,
const pp::app::AppMessageDialogPlan& plan)
{
msgbox.m_title->set_text(plan.title.c_str());
msgbox.m_message->set_text(plan.message.c_str());
msgbox.btn_ok->m_text->set_text(plan.ok_caption.c_str());
if (plan.show_cancel) {
msgbox.btn_cancel->m_text->set_text(plan.cancel_caption.c_str());
} else {
msgbox.btn_cancel->destroy();
}
}
class LegacyCloudServices final : public pp::app::CloudServices {
public:
explicit LegacyCloudServices(App& app) noexcept
@@ -130,8 +117,9 @@ public:
std::thread([app, request] {
BT_SetTerminate();
auto* m = app->layout[app->main_id]->add_child<NodeMessageBox>();
apply_cloud_message_box_plan(*m, pp::app::plan_cloud_download_progress_prompt());
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;
app->download(url, request.selected_path, [m](float p) {
const auto progress = pp::app::format_cloud_download_progress_message(p);