From 9bf79beec2d96a3a8f24e38e5ca658c6bce1ae97 Mon Sep 17 00:00:00 2001 From: omigamedev Date: Mon, 15 Jun 2026 22:48:40 +0200 Subject: [PATCH] Reuse shared history service in document bridges --- src/legacy_document_open_services.cpp | 28 +++--------------------- src/legacy_document_session_services.cpp | 22 ++----------------- 2 files changed, 5 insertions(+), 45 deletions(-) diff --git a/src/legacy_document_open_services.cpp b/src/legacy_document_open_services.cpp index 68450d4c..98b73c41 100644 --- a/src/legacy_document_open_services.cpp +++ b/src/legacy_document_open_services.cpp @@ -6,6 +6,7 @@ #include "app.h" #include "legacy_brush_package_import_services.h" #include "legacy_canvas_view_services.h" +#include "legacy_history_services.h" #include "legacy_ui_overlay_services.h" #include "log.h" #include "node_panel_brush.h" @@ -14,33 +15,10 @@ namespace pp::panopainter { namespace { -class LegacyDocumentHistoryServices final : public pp::app::HistoryUiServices { -public: - void invoke_undo() override - { - ActionManager::undo(); - } - - void invoke_redo() override - { - ActionManager::redo(); - } - - void clear_history() override - { - ActionManager::clear(); - } -}; - -pp::foundation::Status apply_document_history(const pp::app::HistoryUiPlan& plan) -{ - LegacyDocumentHistoryServices services; - return pp::app::execute_history_ui_plan(plan, services); -} - void apply_open_legacy_project_history(const pp::app::DocumentOpenRoute& route) { - const auto history_status = apply_document_history(pp::app::plan_document_open_history(route)); + const auto history_status = pp::panopainter::execute_legacy_history_plan( + pp::app::plan_document_open_history(route)); if (!history_status.ok()) { LOG("Project open history effect failed: %s", history_status.message); } diff --git a/src/legacy_document_session_services.cpp b/src/legacy_document_session_services.cpp index a011df8b..2b226dfc 100644 --- a/src/legacy_document_session_services.cpp +++ b/src/legacy_document_session_services.cpp @@ -7,6 +7,7 @@ #include "legacy_app_dialog_services.h" #include "legacy_document_canvas_services.h" #include "legacy_canvas_view_services.h" +#include "legacy_history_services.h" #include "legacy_ui_overlay_services.h" #include "node_dialog_open.h" @@ -15,28 +16,9 @@ namespace pp::panopainter { namespace { -class LegacyDocumentHistoryServices final : public pp::app::HistoryUiServices { -public: - void invoke_undo() override - { - ActionManager::undo(); - } - - void invoke_redo() override - { - ActionManager::redo(); - } - - void clear_history() override - { - ActionManager::clear(); - } -}; - pp::foundation::Status apply_document_history(const pp::app::HistoryUiPlan& plan) { - LegacyDocumentHistoryServices services; - return pp::app::execute_history_ui_plan(plan, services); + return pp::panopainter::execute_legacy_history_plan(plan); } void log_legacy_document_save_snapshot(