Extract layer rename dialog and brush preset registry shells

This commit is contained in:
2026-06-16 23:46:08 +02:00
parent 42bae9db16
commit cb9751dcc7
9 changed files with 91 additions and 68 deletions

View File

@@ -1,11 +1,8 @@
#include "pch.h"
#include "app.h"
#include "app_core/app_dialog.h"
#include "app_core/document_layer.h"
#include "legacy_app_dialog_services.h"
#include "legacy_document_layer_services.h"
#include "legacy_ui_overlay_services.h"
#include "node_dialog_layer_rename.h"
#ifdef __QUEST__
#include "oculus_vr.h"
@@ -25,6 +22,7 @@ void open_changelog_dialog(App& app);
void open_about_dialog(App& app);
void open_whatsnew_dialog(App& app, bool force_show);
void open_shortcuts_dialog(App& app);
void open_legacy_document_layer_rename_dialog(App& app);
}
std::shared_ptr<NodeProgressBar> App::show_progress(const std::string& title, int total /*= 0*/)
@@ -95,46 +93,7 @@ void App::dialog_export_cube_faces()
void App::dialog_layer_rename()
{
auto* overlay_anchor = layout[main_id];
if (!overlay_anchor) {
LOG("Layer rename dialog open failed: main layout anchor is missing");
return;
}
auto dialog = pp::panopainter::make_legacy_overlay_node<NodeDialogLayerRename>(*this);
dialog->input->set_text(layers->m_current_layer->m_label_text);
App::I->showKeyboard();
const auto overlay = pp::panopainter::open_legacy_overlay_node_with_handle(*overlay_anchor, dialog);
if (!overlay) {
App::I->hideKeyboard();
LOG("Layer rename dialog open failed: %s", overlay.status().message);
return;
}
const auto overlay_handle = overlay.value();
const auto close_dialog = [this, overlay_anchor, overlay_handle]() {
const auto close_status =
pp::panopainter::close_legacy_overlay_node(*overlay_anchor, overlay_handle);
(void)close_status;
App::I->hideKeyboard();
};
dialog->btn_ok->on_click = [this,dialog](Node*)
{
const auto old_name = layers->m_current_layer->m_label_text;
const auto plan = pp::app::plan_document_layer_rename(old_name, dialog->get_name());
if (!plan)
return;
const auto status = pp::panopainter::execute_legacy_document_layer_rename_plan(*this, plan.value(), dialog);
if (!status.ok())
LOG("Layer rename failed: %s", status.message);
};
dialog->btn_cancel->on_click = [close_dialog](Node*)
{
close_dialog();
};
pp::panopainter::open_legacy_document_layer_rename_dialog(*this);
}
void App::dialog_preset_download()