Move cloud browser dialog to checked overlay lifetime

This commit is contained in:
2026-06-15 19:55:30 +02:00
parent ec71575b5d
commit 5bf0a4f61b
6 changed files with 60 additions and 11 deletions

View File

@@ -95,13 +95,7 @@ public:
void show_browser() override
{
auto dialog = std::make_shared<NodeDialogCloud>();
dialog->set_manager(&app_.layout);
dialog->init();
dialog->create();
dialog->loaded();
app_.layout[app_.main_id]->add_child(dialog);
auto dialog = pp::panopainter::create_legacy_cloud_browser_dialog_overlay(app_);
auto* app = &app_;
dialog->btn_ok->on_click = [app, dialog](Node*) {

View File

@@ -5,6 +5,7 @@
#include "node.h"
#include "node_input_box.h"
#include "node_message_box.h"
#include "node_dialog_cloud.h"
#include "node_popup_menu.h"
#include "node_progress_bar.h"
#include "node_settings.h"
@@ -380,4 +381,12 @@ std::shared_ptr<NodeSettings> create_legacy_settings_dialog_overlay(
return settings;
}
std::shared_ptr<NodeDialogCloud> create_legacy_cloud_browser_dialog_overlay(
App& app)
{
auto dialog = make_legacy_overlay_node<NodeDialogCloud>(app);
attach_legacy_app_overlay_with_handle_or_fallback(app, dialog);
return dialog;
}
} // namespace pp::panopainter

View File

@@ -16,6 +16,7 @@ class NodeMessageBox;
class NodePopupMenu;
class NodeProgressBar;
class NodeSettings;
class NodeDialogCloud;
namespace pp::panopainter {
@@ -158,6 +159,9 @@ void close_legacy_popup_panel(
[[nodiscard]] std::shared_ptr<NodeSettings> create_legacy_settings_dialog_overlay(
App& app);
[[nodiscard]] std::shared_ptr<NodeDialogCloud> create_legacy_cloud_browser_dialog_overlay(
App& app);
template <class T>
std::shared_ptr<T> make_legacy_overlay_node(App& app)
{