[Gnucash-changes] r14286 - gnucash/trunk - Cancel renaming of a page when GDK_Escape is pressed. Fixes #343226.

Andreas Köhler andi5 at cvs.gnucash.org
Thu Jun 1 04:56:39 EDT 2006


Author: andi5
Date: 2006-06-01 04:56:38 -0400 (Thu, 01 Jun 2006)
New Revision: 14286
Trac: http://svn.gnucash.org/trac/changeset/14286

Modified:
   gnucash/trunk/ChangeLog
   gnucash/trunk/src/gnome-utils/gnc-main-window.c
Log:
Cancel renaming of a page when GDK_Escape is pressed. Fixes #343226.


Modified: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog	2006-06-01 01:44:53 UTC (rev 14285)
+++ gnucash/trunk/ChangeLog	2006-06-01 08:56:38 UTC (rev 14286)
@@ -1,3 +1,8 @@
+2006-06-01  Andreas Köhler  <andi5.py at gmx.net>
+
+	* src/gnome-utils/gnc-main-window.c: Cancel renaming of a page
+	  when GDK_Escape is pressed. Fixes #343226.
+
 2006-05-31  Andreas Köhler  <andi5.py at gmx.net>
 
 	* src/gnome-utils/gnc-tree-model-account.c: Replace

Modified: gnucash/trunk/src/gnome-utils/gnc-main-window.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-main-window.c	2006-06-01 01:44:53 UTC (rev 14285)
+++ gnucash/trunk/src/gnome-utils/gnc-main-window.c	2006-06-01 08:56:38 UTC (rev 14286)
@@ -1592,6 +1592,32 @@
   return FALSE;
 }
 
+static gboolean
+gnc_main_window_tab_entry_key_press_event (GtkWidget *entry,
+					   GdkEventKey *event,
+					   GncPluginPage *page)
+{
+  if (event->keyval == GDK_Escape) {
+    GtkWidget *label, *entry2;
+
+    g_return_val_if_fail(GTK_IS_ENTRY(entry), FALSE);
+    g_return_val_if_fail(GNC_IS_PLUGIN_PAGE(page), FALSE);
+
+    ENTER("");
+    if (!main_window_find_tab_items(GNC_MAIN_WINDOW(page->window),
+				    page, &label, &entry2)) {
+      LEAVE("can't find required widgets");
+      return FALSE;
+    }
+
+    gtk_entry_set_text(GTK_ENTRY(entry), gtk_label_get_text(GTK_LABEL(label)));
+    gtk_widget_hide(entry);
+    gtk_widget_show(label);
+    LEAVE("");
+  }
+  return FALSE;
+}
+
 /************************************************************
  *                   Widget Implementation                  *
  ************************************************************/
@@ -2056,6 +2082,9 @@
 	g_signal_connect(G_OBJECT(entry), "focus-out-event",
 			 G_CALLBACK(gnc_main_window_tab_entry_focus_out_event),
 			 page);
+	g_signal_connect(G_OBJECT(entry), "key-press-event",
+			 G_CALLBACK(gnc_main_window_tab_entry_key_press_event),
+			 page);
 	g_signal_connect(G_OBJECT(entry), "editing-done",
 			 G_CALLBACK(gnc_main_window_tab_entry_editing_done),
 			 page);



More information about the gnucash-changes mailing list