diff options
author | Jiri Moskovcak <jmoskovc@redhat.com> | 2009-10-08 10:07:35 +0200 |
---|---|---|
committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2009-10-08 10:07:35 +0200 |
commit | a1aadc72bb236567a5c95f3d4ab6e6a286eb3f97 (patch) | |
tree | 3c326a55652238c1c09fe99201b3d44de0d66182 /src | |
parent | 97e93c8456762295af923a3198dcd769314c6cfb (diff) | |
download | abrt-a1aadc72bb236567a5c95f3d4ab6e6a286eb3f97.tar.gz abrt-a1aadc72bb236567a5c95f3d4ab6e6a286eb3f97.tar.xz abrt-a1aadc72bb236567a5c95f3d4ab6e6a286eb3f97.zip |
GUI: fixed report cells editing rhbz#527763
- changed cell behavior, so now it remembers the text even
on "focus-out" and forgets the new text only if escape is pressed
Diffstat (limited to 'src')
-rw-r--r-- | src/Gui/CellRenderers.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Gui/CellRenderers.py b/src/Gui/CellRenderers.py index 5777a7ce..0bedf7a0 100644 --- a/src/Gui/CellRenderers.py +++ b/src/Gui/CellRenderers.py @@ -29,11 +29,12 @@ class MultilineCellRenderer(gtk.CellRendererText): def __init__(self): gtk.CellRendererText.__init__(self) self._in_editor_menu = False + self.old_text = "" - def _on_editor_focus_out_event(self, editor, *args): + def _on_editor_focus_out_event(self, editor, event): if self._in_editor_menu: return editor.remove_widget() - self.emit("editing-canceled") + self.emit("edited", editor.get_data("path"), editor.get_text()) def _on_editor_key_press_event(self, editor, event): if event.state & (gtk.gdk.SHIFT_MASK | gtk.gdk.CONTROL_MASK): return @@ -41,6 +42,7 @@ class MultilineCellRenderer(gtk.CellRendererText): editor.remove_widget() self.emit("edited", editor.get_data("path"), editor.get_text()) elif event.keyval == gtk.keysyms.Escape: + editor.set_text(self.old_text) editor.remove_widget() self.emit("editing-canceled") @@ -53,6 +55,7 @@ class MultilineCellRenderer(gtk.CellRendererText): def do_start_editing(self, event, widget, path, bg_area, cell_area, flags): editor = CellTextView() editor.modify_font(self.props.font_desc) + self.old_text = self.props.text editor.set_text(self.props.text) editor.set_size_request(cell_area.width, cell_area.height) editor.set_border_width(min(self.props.xpad, self.props.ypad)) |