Plan cloud browse decisions in app core

This commit is contained in:
2026-06-02 23:39:03 +02:00
parent 3a78361aea
commit 8a7db3bca8
9 changed files with 174 additions and 4 deletions

View File

@@ -83,8 +83,14 @@ void App::cloud_upload_all()
void App::cloud_browse()
{
if (!canvas)
const auto browse_plan = pp::app::plan_cloud_browse(canvas != nullptr);
switch (browse_plan)
{
case pp::app::CloudBrowseAction::unavailable_no_canvas:
return;
case pp::app::CloudBrowseAction::show_browser:
break;
}
// load thumbnail test
auto dialog = std::make_shared<NodeDialogCloud>();
@@ -97,7 +103,8 @@ void App::cloud_browse()
dialog->btn_ok->on_click = [this, dialog](Node*)
{
if (dialog->selected_file.empty())
const auto selection_plan = pp::app::plan_cloud_download_selection(dialog->selected_file);
if (selection_plan == pp::app::CloudDownloadSelectionAction::wait_for_selection)
return;
dialog->destroy();
std::thread([this, dialog] {