63 lines
1.5 KiB
C++
63 lines
1.5 KiB
C++
#include "app_core/document_session.h"
|
|
|
|
namespace pp::app {
|
|
namespace {
|
|
|
|
[[nodiscard]] constexpr HistoryUiPlan make_history_clear_effect() noexcept
|
|
{
|
|
HistoryUiPlan plan;
|
|
plan.operation = HistoryUiOperation::clear;
|
|
plan.clears_history = true;
|
|
plan.updates_memory_label = true;
|
|
return plan;
|
|
}
|
|
|
|
[[nodiscard]] constexpr HistoryUiPlan make_history_no_op_effect() noexcept
|
|
{
|
|
HistoryUiPlan plan;
|
|
plan.operation = HistoryUiOperation::clear;
|
|
plan.no_op = true;
|
|
return plan;
|
|
}
|
|
|
|
} // namespace
|
|
|
|
HistoryUiPlan plan_document_open_history(const DocumentOpenRoute& route) noexcept
|
|
{
|
|
return route.kind == DocumentOpenKind::open_project
|
|
? make_history_clear_effect()
|
|
: make_history_no_op_effect();
|
|
}
|
|
|
|
HistoryUiPlan plan_close_request_history(CloseRequestDecision) noexcept
|
|
{
|
|
return make_history_no_op_effect();
|
|
}
|
|
|
|
HistoryUiPlan plan_document_save_history(DocumentSaveDecision) noexcept
|
|
{
|
|
return make_history_no_op_effect();
|
|
}
|
|
|
|
HistoryUiPlan plan_document_workflow_history(DocumentWorkflowDecision) noexcept
|
|
{
|
|
return make_history_no_op_effect();
|
|
}
|
|
|
|
HistoryUiPlan plan_document_file_save_history(const DocumentFileSavePlan&) noexcept
|
|
{
|
|
return make_history_no_op_effect();
|
|
}
|
|
|
|
HistoryUiPlan plan_document_version_save_history(const DocumentVersionTarget&) noexcept
|
|
{
|
|
return make_history_no_op_effect();
|
|
}
|
|
|
|
HistoryUiPlan plan_new_document_history(const NewDocumentPlan&) noexcept
|
|
{
|
|
return make_history_clear_effect();
|
|
}
|
|
|
|
} // namespace pp::app
|