Move settings dialog to checked overlay lifetime
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include "legacy_canvas_view_services.h"
|
||||
#include "legacy_document_canvas_services.h"
|
||||
#include "legacy_history_services.h"
|
||||
#include "legacy_ui_overlay_services.h"
|
||||
|
||||
namespace pp::panopainter {
|
||||
namespace {
|
||||
@@ -198,10 +199,7 @@ public:
|
||||
|
||||
void show_settings_dialog() override
|
||||
{
|
||||
app_.settings = new NodeSettings();
|
||||
app_.settings->set_manager(&app_.layout);
|
||||
app_.settings->init();
|
||||
app_.layout[app_.main_id]->add_child(app_.settings);
|
||||
app_.settings = pp::panopainter::create_legacy_settings_dialog_overlay(app_).get();
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "node_message_box.h"
|
||||
#include "node_popup_menu.h"
|
||||
#include "node_progress_bar.h"
|
||||
#include "node_settings.h"
|
||||
|
||||
#include <memory>
|
||||
#include <unordered_map>
|
||||
@@ -371,4 +372,12 @@ std::shared_ptr<NodeInputBox> create_legacy_input_dialog_overlay(
|
||||
return input;
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeSettings> create_legacy_settings_dialog_overlay(
|
||||
App& app)
|
||||
{
|
||||
auto settings = make_legacy_overlay_node<NodeSettings>(app);
|
||||
attach_legacy_app_overlay_with_handle_or_fallback(app, settings);
|
||||
return settings;
|
||||
}
|
||||
|
||||
} // namespace pp::panopainter
|
||||
|
||||
@@ -15,6 +15,7 @@ class NodeInputBox;
|
||||
class NodeMessageBox;
|
||||
class NodePopupMenu;
|
||||
class NodeProgressBar;
|
||||
class NodeSettings;
|
||||
|
||||
namespace pp::panopainter {
|
||||
|
||||
@@ -154,6 +155,9 @@ void close_legacy_popup_panel(
|
||||
App& app,
|
||||
const pp::app::AppInputDialogPlan& plan);
|
||||
|
||||
[[nodiscard]] std::shared_ptr<NodeSettings> create_legacy_settings_dialog_overlay(
|
||||
App& app);
|
||||
|
||||
template <class T>
|
||||
std::shared_ptr<T> make_legacy_overlay_node(App& app)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user