diff --git a/src/gui/editors/editnote.py b/src/gui/editors/editnote.py index d055224e2..3f02135fe 100644 --- a/src/gui/editors/editnote.py +++ b/src/gui/editors/editnote.py @@ -266,6 +266,8 @@ class EditNote(EditPrimary): if self.obj: self.empty = False self.texteditor.set_text(self.obj.get_styledtext()) + # Reset the undoable buffer: + self.texteditor.reset() _LOG.debug("Initial Note: %s" % str(self.texteditor.get_text())) else: self.empty = True diff --git a/src/gui/widgets/styledtexteditor.py b/src/gui/widgets/styledtexteditor.py index ba18e75b8..84779573b 100644 --- a/src/gui/widgets/styledtexteditor.py +++ b/src/gui/widgets/styledtexteditor.py @@ -382,6 +382,12 @@ class StyledTextEditor(gtk.TextView): open_menu.show() menu.prepend(open_menu) + def reset(self): + """ + Reset the undoable buffer + """ + self.textbuffer.reset() + # private methods def _connect_signals(self): diff --git a/src/gui/widgets/undoablebuffer.py b/src/gui/widgets/undoablebuffer.py index a5347ebf4..647999711 100644 --- a/src/gui/widgets/undoablebuffer.py +++ b/src/gui/widgets/undoablebuffer.py @@ -194,6 +194,15 @@ class UndoableBuffer(gtk.TextBuffer): toggles self.not_undoable_action""" self.not_undoable_action = False + def reset(self): + """ + Resets buffer to initial state. + """ + self.undo_stack[:] = [] + self.redo_stack[:] = [] + self.not_undoable_action = False + self.undo_in_progress = False + def undo(self): """undo inserts or deletions