Extract cloud browser ok wiring helper
This commit is contained in:
@@ -14,6 +14,11 @@
|
||||
#include "util.h"
|
||||
|
||||
namespace pp::panopainter {
|
||||
pp::foundation::Status execute_legacy_cloud_download_selection_action(
|
||||
App& app,
|
||||
pp::app::CloudDownloadSelectionAction action,
|
||||
NodeDialogCloud& dialog);
|
||||
|
||||
namespace {
|
||||
|
||||
#if WITH_CURL
|
||||
@@ -206,6 +211,18 @@ void wire_cloud_publish_prompt_buttons(
|
||||
}
|
||||
#endif //WITH_CURL
|
||||
|
||||
void wire_cloud_browser_ok_button(
|
||||
const std::shared_ptr<NodeDialogCloud>& dialog,
|
||||
App* app)
|
||||
{
|
||||
dialog->btn_ok->on_click = [app, dialog](Node*) {
|
||||
const auto selection_plan = pp::app::plan_cloud_download_selection(dialog->selected_file);
|
||||
const auto status = execute_legacy_cloud_download_selection_action(*app, selection_plan, *dialog);
|
||||
if (!status.ok())
|
||||
LOG("Cloud download selection action failed: %s", status.message);
|
||||
};
|
||||
}
|
||||
|
||||
class LegacyCloudServices final : public pp::app::CloudServices {
|
||||
public:
|
||||
explicit LegacyCloudServices(App& app) noexcept
|
||||
@@ -266,14 +283,7 @@ public:
|
||||
void show_browser() override
|
||||
{
|
||||
auto dialog = pp::panopainter::create_legacy_cloud_browser_dialog_overlay(app_);
|
||||
|
||||
auto* app = &app_;
|
||||
dialog->btn_ok->on_click = [app, dialog](Node*) {
|
||||
const auto selection_plan = pp::app::plan_cloud_download_selection(dialog->selected_file);
|
||||
const auto status = execute_legacy_cloud_download_selection_action(*app, selection_plan, *dialog);
|
||||
if (!status.ok())
|
||||
LOG("Cloud download selection action failed: %s", status.message);
|
||||
};
|
||||
wire_cloud_browser_ok_button(dialog, &app_);
|
||||
}
|
||||
|
||||
void start_download(const pp::app::CloudDownloadRequest& request) override
|
||||
|
||||
Reference in New Issue
Block a user