aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/CellBuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/CellBuffer.h')
-rw-r--r--src/CellBuffer.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/CellBuffer.h b/src/CellBuffer.h
index f07b45983..5e4fc7c8c 100644
--- a/src/CellBuffer.h
+++ b/src/CellBuffer.h
@@ -95,6 +95,7 @@ class UndoHistory {
int currentAction;
int undoSequenceDepth;
int savePoint;
+ int tentativePoint;
void EnsureUndoRoom();
@@ -117,6 +118,12 @@ public:
void SetSavePoint();
bool IsSavePoint() const;
+ // Tentative actions are used for input composition so that it can be undone cleanly
+ void TentativeStart();
+ void TentativeCommit();
+ bool TentativeActive() const { return tentativePoint >= 0; }
+ int TentativeSteps();
+
/// To perform an undo, StartUndo is called to retrieve the number of steps, then UndoStep is
/// called that many times. Similarly for redo.
bool CanUndo() const;
@@ -193,6 +200,11 @@ public:
void SetSavePoint();
bool IsSavePoint() const;
+ void TentativeStart();
+ void TentativeCommit();
+ bool TentativeActive() const;
+ int TentativeSteps();
+
bool SetUndoCollection(bool collectUndo);
bool IsCollectingUndo() const;
void BeginUndoAction();