From a8257d8dedecea41ef220f560cd075f4def9cb04 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Mon, 8 Aug 2005 01:04:26 +0000 Subject: [PATCH] made hitting Escape in the name entry restore the data's original name. 2005-08-08 Michael Natterer * app/widgets/gimpdataeditor.c: made hitting Escape in the name entry restore the data's original name. Enables undoing of accidential editing. Addresses bug #169257. --- ChangeLog | 6 ++++++ app/widgets/gimpdataeditor.c | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/ChangeLog b/ChangeLog index cd6d89f5ae..0748587f36 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-08-08 Michael Natterer + + * app/widgets/gimpdataeditor.c: made hitting Escape in the name + entry restore the data's original name. Enables undoing of + accidential editing. Addresses bug #169257. + 2005-08-08 Sven Neumann * app/display/gimpdisplayshell-draw.c (gimp_display_shell_get_pen_gc) diff --git a/app/widgets/gimpdataeditor.c b/app/widgets/gimpdataeditor.c index efb891d808..55626328f2 100644 --- a/app/widgets/gimpdataeditor.c +++ b/app/widgets/gimpdataeditor.c @@ -24,6 +24,7 @@ #include #include +#include #include "libgimpwidgets/gimpwidgets.h" @@ -77,6 +78,9 @@ static gchar * gimp_data_editor_get_title (GimpDocked *docked); static void gimp_data_editor_real_set_data (GimpDataEditor *editor, GimpData *data); +static gboolean gimp_data_editor_name_key_press (GtkWidget *widget, + GdkEventKey *kevent, + GimpDataEditor *editor); static void gimp_data_editor_name_activate (GtkWidget *widget, GimpDataEditor *editor); static gboolean gimp_data_editor_name_focus_out (GtkWidget *widget, @@ -175,6 +179,9 @@ gimp_data_editor_init (GimpDataEditor *editor) gtk_widget_set_sensitive (editor->name_entry, FALSE); + g_signal_connect (editor->name_entry, "key-press-event", + G_CALLBACK (gimp_data_editor_name_key_press), + editor); g_signal_connect (editor->name_entry, "activate", G_CALLBACK (gimp_data_editor_name_activate), editor); @@ -431,6 +438,21 @@ gimp_data_editor_get_data (GimpDataEditor *editor) /* private functions */ +static gboolean +gimp_data_editor_name_key_press (GtkWidget *widget, + GdkEventKey *kevent, + GimpDataEditor *editor) +{ + if (kevent->keyval == GDK_Escape) + { + gtk_entry_set_text (GTK_ENTRY (editor->name_entry), + gimp_object_get_name (GIMP_OBJECT (editor->data))); + return TRUE; + } + + return FALSE; +} + static void gimp_data_editor_name_activate (GtkWidget *widget, GimpDataEditor *editor)