1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-09 03:39:14 +00:00
OpenMW/apps/opencs/model/world/commandmacro.cpp
2022-09-22 21:35:26 +03:00

30 lines
582 B
C++

#include "commandmacro.hpp"
#include <QUndoCommand>
#include <QUndoStack>
CSMWorld::CommandMacro::CommandMacro(QUndoStack& undoStack, const QString& description)
: mUndoStack(undoStack)
, mDescription(description)
, mStarted(false)
{
}
CSMWorld::CommandMacro::~CommandMacro()
{
if (mStarted)
mUndoStack.endMacro();
}
void CSMWorld::CommandMacro::push(QUndoCommand* command)
{
if (!mStarted)
{
mUndoStack.beginMacro(mDescription.isEmpty() ? command->text() : mDescription);
mStarted = true;
}
mUndoStack.push(command);
}