changeset 991:b884506e569c

imported patch rename_dialog
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Thu, 04 Feb 2010 18:02:06 +0900
parents a4641b8c68bb
children 9c583f570950
files src/gtk/misc-gtk.c
diffstat 1 files changed, 15 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/src/gtk/misc-gtk.c	Thu Feb 04 18:02:06 2010 +0900
+++ b/src/gtk/misc-gtk.c	Thu Feb 04 18:02:06 2010 +0900
@@ -864,29 +864,22 @@
 static gint
 dialog_keypress (GtkWidget * widget, GdkEventKey * event, gpointer data)
 {
-  if (event->type != GDK_KEY_PRESS)
-    return (FALSE);
-
-  if (event->keyval == GDK_KP_Enter || event->keyval == GDK_Return)
-    {
-#if GTK_MAJOR_VERSION == 1
-      ok_dialog_response (widget, data);
-#else
-      dialog_response (widget, GTK_RESPONSE_YES, data);
-#endif
-      return (TRUE);
+    switch(event->keyval) {
+    case GDK_Return:
+    case GDK_KP_Enter:
+        if (gtk_im_context_filter_keypress (GTK_ENTRY (widget)->im_context, event)) {
+            GTK_ENTRY (widget)->need_im_reset = TRUE;
+            return TRUE;
+        } else {
+            dialog_response (widget, GTK_RESPONSE_YES, data);
+            return TRUE;
+        }
+    case GDK_Escape:
+        dialog_response (widget, GTK_RESPONSE_NO, data);
+        return TRUE;
+    default:
+        return FALSE;
     }
-  else if (event->keyval == GDK_Escape)
-    {
-#if GTK_MAJOR_VERSION == 1
-      cancel_dialog_response (widget, data);
-#else
-      dialog_response (widget, GTK_RESPONSE_NO, data);
-#endif
-      return (TRUE);
-    }
-
-  return (FALSE);
 }