# HG changeset patch # User Yoshiki Yazawa # Date 1265274126 -32400 # Node ID b884506e569c7e83495972f796cf7c0fec466dde # Parent a4641b8c68bb51957bebdab893ca6bc5ab3607d4 imported patch rename_dialog diff -r a4641b8c68bb -r b884506e569c src/gtk/misc-gtk.c --- 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); }