* Licence details can be found in the file COPYING.
*
* \author Asger Alstrup
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
* \author John Levon
- * \author André Pönitz
- * \author Jürgen Vigna
+ * \author André Pönitz
+ * \author Jürgen Vigna
* \author Abdelrazak Younes
*
* Full author contact details are available in file CREDITS.
class Buffer;
class BufferParams;
class DocIterator;
+class Inset;
class MathData;
class ParagraphList;
~Undo();
+ /// Clear out all undo/redo contents.
+ void clear();
+
/// this will undo the last action - returns false if no undo possible
bool textUndo(DocIterator &);
bool textRedo(DocIterator &);
/// End a sequence of INSERT_UNDO or DELETE_UNDO type of undo
- /// operations.
+ /// operations (grouping of consecutive characters insertion/deletion).
void finishUndo();
///
///
bool hasRedoStack() const;
- /// open a new group of undo operations. Groups can be nested.
+ /// Mark all the elements of the undo and redo stacks as dirty
+ void markDirty();
+
+ /// open a new group of undo operations.
+ /**
+ * Groups can be nested. Such a nested group e.g. { {} {} } is undone in
+ * a single step. This means you can add a group whenever you are not sure.
+ */
void beginUndoGroup();
/// end the current undo group.
/// Convenience: record undo information for the inset
/// containing the cursor.
- void recordUndoInset(DocIterator const & cur,
- UndoKind kind = ATOMIC_UNDO);
+ void recordUndoInset(DocIterator const & cur,
+ UndoKind kind = ATOMIC_UNDO,
+ Inset const * inset = 0);
/// Convenience: prepare undo for the whole buffer
void recordUndoFullDocument(DocIterator const & cur);