From 0fea22120d49a888e34fe24483a36e7c3d8502a9 Mon Sep 17 00:00:00 2001 From: hiro Date: Thu, 2 Feb 2006 02:28:55 +0000 Subject: fixed key event handling of the quick search entry. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@959 ee746299-78ed-0310-b773-934348b2243d --- ChangeLog | 5 +++++ ChangeLog.ja | 5 +++++ src/mainwindow.c | 41 +++++++++-------------------------------- 3 files changed, 19 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3035674a..8b924c22 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-02-02 + + * src/mainwindow.c: main_window_key_pressed(): fixed key event + handling of the quick search entry. + 2006-02-01 * src/inc.c diff --git a/ChangeLog.ja b/ChangeLog.ja index c5e58d08..899077df 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,3 +1,8 @@ +2006-02-02 + + * src/mainwindow.c: main_window_key_pressed(): クイックサーチエントリ + のキーイベント処理を修正。 + 2006-02-01 * src/inc.c diff --git a/src/mainwindow.c b/src/mainwindow.c index f5dd192f..fd9694a8 100644 --- a/src/mainwindow.c +++ b/src/mainwindow.c @@ -2689,39 +2689,16 @@ static gboolean main_window_key_pressed(GtkWidget *widget, GdkEventKey *event, if (!mainwin) return FALSE; - if (GTK_WIDGET_HAS_FOCUS(mainwin->summaryview->search_entry)) { - /* g_print("keyval: %d, state: %d\n", - event->keyval, event->state); */ - if ((event->state & (GDK_MOD1_MASK|GDK_CONTROL_MASK)) != 0) - return FALSE; - - if (gtk_accel_group_query(mainwin->menu_factory->accel_group, - event->keyval, - event->state & ~GDK_LOCK_MASK, - NULL) != NULL) { - gunichar ch; - - ch = gdk_keyval_to_unicode(event->keyval); - if (ch != 0) { - gchar str[7]; - gint len; - gint pos; - GtkEditable *editable; - - editable = GTK_EDITABLE - (mainwin->summaryview->search_entry); - len = g_unichar_to_utf8(ch, str); - gtk_editable_delete_selection(editable); - pos = gtk_editable_get_position(editable); - gtk_editable_insert_text - (editable, str, len, &pos); - gtk_editable_set_position(editable, pos); - return TRUE; - } - } - } + if (!GTK_WIDGET_HAS_FOCUS(mainwin->summaryview->search_entry)) + return FALSE; - return FALSE; + /* g_print("keyval: %d, state: %d\n", event->keyval, event->state); */ + if ((event->state & (GDK_MOD1_MASK|GDK_CONTROL_MASK)) != 0) + return FALSE; + + gtk_window_propagate_key_event(GTK_WINDOW(widget), event); + + return TRUE; } static gint main_window_close_cb(GtkWidget *widget, GdkEventAny *event, -- cgit v1.2.3