X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FUndo.cpp;h=28a2e822395abefca4956d3970e079567922f1c1;hb=9176e60b7bcab3e355521a86ddb4c2778cd9b29e;hp=5d613f2e0db4f6c84ac4502690c11a11c3b80db8;hpb=8e3972c35d302e1988605940cac6f6a8e9e66ce0;p=lyx.git diff --git a/src/Undo.cpp b/src/Undo.cpp index 5d613f2e0d..28a2e82239 100644 --- a/src/Undo.cpp +++ b/src/Undo.cpp @@ -90,21 +90,15 @@ struct UndoElement { } /// - UndoElement(UndoElement const & ue) : time(current_time()) - { - kind = ue.kind; - cur_before = ue.cur_before; - cur_after = ue.cur_after; - cell = ue.cell; - from = ue.from; - end = ue.end; - pars = ue.pars; - array = ue.array; - bparams = ue.bparams - ? new BufferParams(*ue.bparams) : 0; - lyx_clean = ue.lyx_clean; - group_id = ue.group_id; - } + UndoElement(UndoElement const & ue) : + kind(ue.kind), + cur_before(ue.cur_before), cur_after(ue.cur_after), + cell(ue.cell), from(ue.from), end(ue.end), + pars(ue.pars), array(ue.array), + bparams(ue.bparams ? new BufferParams(*ue.bparams) : 0), + lyx_clean(ue.lyx_clean), group_id(ue.group_id), + time(current_time()) + {} /// ~UndoElement() { @@ -610,6 +604,16 @@ void Undo::endUndoGroup(CursorData const & cur_after) } +void Undo::splitUndoGroup(CursorData const & cur) +{ + size_t const level = d->group_level_; + d->group_level_ = 1; + endUndoGroup(cur); + beginUndoGroup(cur); + d->group_level_ = level; +} + + bool Undo::activeUndoGroup() const { return d->group_level_ > 0