From fe30235b9f12b0a98357064cd178504d8f51f4e9 Mon Sep 17 00:00:00 2001 From: Nathaniel Theis Date: Thu, 25 Nov 2010 06:55:13 +0000 Subject: Fixed undo/redo support --- diff --git a/edit_app.py b/edit_app.py index 76f932d..e88569c 100644 --- a/edit_app.py +++ b/edit_app.py @@ -112,6 +112,11 @@ class EditActivity(sugar_tools.GroupActivity): toolbar_box.toolbar.insert(edit_toolbar_button, -1) edit_toolbar_button.show() + self.edit_toolbar.undo.connect('clicked', self.undobutton_cb) + self.edit_toolbar.redo.connect('clicked', self.redobutton_cb) + self.edit_toolbar.copy.connect('clicked', self.copybutton_cb) + self.edit_toolbar.paste.connect('clicked', self.pastebutton_cb) + separator = gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) @@ -177,7 +182,9 @@ class EditActivity(sugar_tools.GroupActivity): if self.refresh_buffer: #see load_from_journal() + self.buffer.begin_not_undoable_action() self.buffer.set_text(self.refresh_buffer) + self.buffer.end_not_undoable_action() self.text_view.show() @@ -231,4 +238,21 @@ class EditActivity(sugar_tools.GroupActivity): self.buffer.set_text(text) return None + def when_shared(self): + self._edit_toolbar.undo.set_sensitive(False) + self._edit_toolbar.redo.set_sensitive(False) + + def undobutton_cb(self, button): + if self.buffer.can_undo(): + self.buffer.undo() + + def redobutton_cb(self, button): + global text_buffer + if self.buffer.can_redo(): + self.buffer.redo() + + def copybutton_cb(self, button): + self.buffer.copy_clipboard(gtk.Clipboard()) + def pastebutton_cb(self, button): + self.buffer.paste_clipboard(gtk.Clipboard(), None, True) -- cgit v0.9.1