# HG changeset patch # User gqview # Date 1161350703 0 # Node ID 9d5c75b5ec289471b7c14ced0365808c05ce1b98 # Parent ba3c39002a24185b32416a9c17cc23a006330567 Fri Oct 20 09:20:10 2006 John Ellis * collect-table.c, collect.c, dupe.c, pan-view.c, search.c, view_file_icon.c: Keypress signal handler code clean-up round 2: the remaining files. Make control and shift logic easier to follow. diff -r ba3c39002a24 -r 9d5c75b5ec28 ChangeLog --- a/ChangeLog Fri Oct 20 12:03:16 2006 +0000 +++ b/ChangeLog Fri Oct 20 13:25:03 2006 +0000 @@ -1,3 +1,9 @@ +Fri Oct 20 09:20:10 2006 John Ellis + + * collect-table.c, collect.c, dupe.c, pan-view.c, search.c, + view_file_icon.c: Keypress signal handler code clean-up round 2: the + remaining files. Make control and shift logic easier to follow. + Fri Oct 20 08:00:08 2006 John Ellis * img-view.c, layout_image.c, layout_util.c: Keypress signal handler diff -r ba3c39002a24 -r 9d5c75b5ec28 src/collect-table.c --- a/src/collect-table.c Fri Oct 20 12:03:16 2006 +0000 +++ b/src/collect-table.c Fri Oct 20 13:25:03 2006 +0000 @@ -1024,46 +1024,39 @@ static gint collection_table_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) { CollectTable *ct = data; - gint stop_signal = FALSE; gint focus_row = 0; gint focus_col = 0; CollectInfo *info; - + gint stop_signal; + + stop_signal = TRUE; switch (event->keyval) { case GDK_Left: case GDK_KP_Left: focus_col = -1; - stop_signal = TRUE; break; case GDK_Right: case GDK_KP_Right: focus_col = 1; - stop_signal = TRUE; break; case GDK_Up: case GDK_KP_Up: focus_row = -1; - stop_signal = TRUE; break; case GDK_Down: case GDK_KP_Down: focus_row = 1; - stop_signal = TRUE; break; case GDK_Page_Up: case GDK_KP_Page_Up: focus_row = -page_height(ct); - stop_signal = TRUE; break; case GDK_Page_Down: case GDK_KP_Page_Down: focus_row = page_height(ct); - stop_signal = TRUE; break; case GDK_Home: case GDK_KP_Home: focus_row = -ct->focus_row; focus_col = -ct->focus_column; - stop_signal = TRUE; break; case GDK_End: case GDK_KP_End: focus_row = ct->rows - 1 - ct->focus_row; focus_col = ct->columns - 1 - ct->focus_column; - stop_signal = TRUE; break; case GDK_space: info = collection_table_find_data(ct, ct->focus_row, ct->focus_column, NULL); @@ -1080,7 +1073,6 @@ collection_table_select(ct, info); } } - stop_signal = TRUE; break; case 'T': case 't': if (event->state & GDK_CONTROL_MASK) collection_table_toggle_filenames(ct); @@ -1095,9 +1087,9 @@ ct->popup = collection_table_popup_menu(ct, (info != NULL)); gtk_menu_popup(GTK_MENU(ct->popup), NULL, NULL, collection_table_menu_pos_cb, ct, 0, GDK_CURRENT_TIME); - stop_signal = TRUE; break; default: + stop_signal = FALSE; break; } @@ -1139,7 +1131,9 @@ if (stop_signal) { +#if 0 g_signal_stop_emission_by_name(GTK_OBJECT(widget), "key_press_event"); +#endif tip_unschedule(ct); } diff -r ba3c39002a24 -r 9d5c75b5ec28 src/collect.c --- a/src/collect.c Fri Oct 20 12:03:16 2006 +0000 +++ b/src/collect.c Fri Oct 20 13:25:03 2006 +0000 @@ -780,6 +780,7 @@ if (event->state & GDK_CONTROL_MASK) { + stop_signal = TRUE; switch (event->keyval) { case '1': @@ -821,7 +822,6 @@ { collection_table_select_all(cw->table); } - stop_signal = TRUE; break; case 'L': case 'l': list = layout_list(NULL); @@ -830,53 +830,45 @@ collection_table_add_path_list(cw->table, list); path_list_free(list); } - stop_signal = TRUE; break; case 'C': case 'c': file_util_copy(NULL, collection_table_selection_get_list(cw->table), NULL, cw->window); - stop_signal = TRUE; break; case 'M': case 'm': file_util_move(NULL, collection_table_selection_get_list(cw->table), NULL, cw->window); - stop_signal = TRUE; break; case 'R': case 'r': file_util_rename(NULL, collection_table_selection_get_list(cw->table), cw->window); - stop_signal = TRUE; break; case 'D': case 'd': file_util_delete(NULL, collection_table_selection_get_list(cw->table), cw->window); - stop_signal = TRUE; break; case 'P': case 'p': info_window_new(NULL, collection_table_selection_get_list(cw->table)); - stop_signal = TRUE; break; case 'S': case 's': collection_dialog_save_as(NULL, cw->cd); - stop_signal = TRUE; break; case 'W': case 'w': collection_window_close(cw); - stop_signal = TRUE; break; default: + stop_signal = FALSE; break; } } else { + stop_signal = TRUE; switch (event->keyval) { case GDK_Return: case GDK_KP_Enter: layout_image_set_collection(NULL, cw->cd, collection_table_get_focus_info(cw->table)); - stop_signal = TRUE; break; case 'V': case 'v': view_window_new_from_collection(cw->cd, collection_table_get_focus_info(cw->table)); - stop_signal = TRUE; break; case 'S': case 's': if (!cw->cd->path) @@ -887,36 +879,26 @@ { printf("failed saving to collection path: %s\n", cw->cd->path); } - stop_signal = TRUE; break; case 'A': case 'a': - if (!(event->state & GDK_CONTROL_MASK)) - { - collection_dialog_append(NULL, cw->cd); - stop_signal = TRUE; - } + collection_dialog_append(NULL, cw->cd); break; case 'N': case 'n': collection_set_sort_method(cw->cd, SORT_NAME); - stop_signal = TRUE; break; #ifdef HAVE_STRVERSCMP case 'I': case 'i': collection_set_sort_method(cw->cd, SORT_NUMBER); - stop_signal = TRUE; break; #endif case 'D': case 'd': collection_set_sort_method(cw->cd, SORT_TIME); - stop_signal = TRUE; break; case 'B': case 'b': collection_set_sort_method(cw->cd, SORT_SIZE); - stop_signal = TRUE; break; case 'P': case 'p': collection_set_sort_method(cw->cd, SORT_PATH); - stop_signal = TRUE; break; case GDK_Delete: case GDK_KP_Delete: list = g_list_copy(cw->table->selection); @@ -929,9 +911,9 @@ { collection_remove_by_info(cw->cd, collection_table_get_focus_info(cw->table)); } - stop_signal = TRUE; break; default: + stop_signal = FALSE; break; } } @@ -941,7 +923,6 @@ list = collection_table_selection_get_list(cw->table); start_editor_from_path_list(edit_val, list); path_list_free(list); - stop_signal = TRUE; } return stop_signal; diff -r ba3c39002a24 -r 9d5c75b5ec28 src/dupe.c --- a/src/dupe.c Fri Oct 20 12:03:16 2006 +0000 +++ b/src/dupe.c Fri Oct 20 13:25:03 2006 +0000 @@ -2831,140 +2831,135 @@ gint edit_val = -1; if (!on_second) - switch (event->keyval) { - case '1': - edit_val = 0; - break; - case '2': - edit_val = 1; - break; - case '3': - edit_val = 2; - break; - case '4': - edit_val = 3; - break; - case '5': - edit_val = 4; - break; - case '6': - edit_val = 5; - break; - case '7': - edit_val = 6; - break; - case '8': - edit_val = 7; - break; - case '9': - edit_val = 8; - break; - case '0': - edit_val = 9; - break; - case 'C': case 'c': - stop_signal = TRUE; - file_util_copy(NULL, dupe_listview_get_selection(dw, listview), NULL, dw->window); - break; - case 'M': case 'm': - file_util_move(NULL, dupe_listview_get_selection(dw, listview), NULL, dw->window); - stop_signal = TRUE; - break; - case 'R': case 'r': - file_util_rename(NULL, dupe_listview_get_selection(dw, listview), dw->window); - stop_signal = TRUE; - break; - case 'D': case 'd': - file_util_delete(NULL, dupe_listview_get_selection(dw, listview), dw->window); - stop_signal = TRUE; - break; - case 'P': case 'p': - info_window_new(NULL, dupe_listview_get_selection(dw, listview)); - stop_signal = TRUE; - break; - default: - break; + stop_signal = TRUE; + switch (event->keyval) + { + case '1': + edit_val = 0; + break; + case '2': + edit_val = 1; + break; + case '3': + edit_val = 2; + break; + case '4': + edit_val = 3; + break; + case '5': + edit_val = 4; + break; + case '6': + edit_val = 5; + break; + case '7': + edit_val = 6; + break; + case '8': + edit_val = 7; + break; + case '9': + edit_val = 8; + break; + case '0': + edit_val = 9; + break; + case 'C': case 'c': + file_util_copy(NULL, dupe_listview_get_selection(dw, listview), + NULL, dw->window); + break; + case 'M': case 'm': + file_util_move(NULL, dupe_listview_get_selection(dw, listview), + NULL, dw->window); + break; + case 'R': case 'r': + file_util_rename(NULL, dupe_listview_get_selection(dw, listview), dw->window); + break; + case 'D': case 'd': + file_util_delete(NULL, dupe_listview_get_selection(dw, listview), dw->window); + break; + case 'P': case 'p': + info_window_new(NULL, dupe_listview_get_selection(dw, listview)); + break; + default: + stop_signal = FALSE; + break; + } } - switch (event->keyval) + if (!stop_signal) { - case 'A': case 'a': - if (event->state & GDK_SHIFT_MASK) - { - gtk_tree_selection_unselect_all(selection); - } - else - { - gtk_tree_selection_select_all(selection); - } - stop_signal = TRUE; - break; - case GDK_Delete: case GDK_KP_Delete: - if (on_second) - { - dupe_second_clear(dw); - dupe_window_recompare(dw); - } - else - { - dupe_window_clear(dw); - } - stop_signal = TRUE; - break; - case 'L': case 'l': - dupe_window_append_file_list(dw, FALSE); - stop_signal = TRUE; - break; - case 'T': case 't': - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dw->button_thumbs), - !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dw->button_thumbs))); - stop_signal = TRUE; - break; - case 'W': case 'w': - dupe_window_close(dw); - stop_signal = TRUE; - break; - default: - break; + stop_signal = TRUE; + switch (event->keyval) + { + case 'A': case 'a': + if (event->state & GDK_SHIFT_MASK) + { + gtk_tree_selection_unselect_all(selection); + } + else + { + gtk_tree_selection_select_all(selection); + } + break; + case GDK_Delete: case GDK_KP_Delete: + if (on_second) + { + dupe_second_clear(dw); + dupe_window_recompare(dw); + } + else + { + dupe_window_clear(dw); + } + break; + case 'L': case 'l': + dupe_window_append_file_list(dw, FALSE); + break; + case 'T': case 't': + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dw->button_thumbs), + !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dw->button_thumbs))); + break; + case 'W': case 'w': + dupe_window_close(dw); + break; + default: + stop_signal = FALSE; + break; + } } if (edit_val >= 0) { dupe_window_edit_selected(dw, edit_val); - stop_signal = TRUE; } } else { + stop_signal = TRUE; switch (event->keyval) { case GDK_Return: case GDK_KP_Enter: dupe_menu_view(dw, di, listview, FALSE); - stop_signal = TRUE; break; case 'V': case 'v': - stop_signal = TRUE; dupe_menu_view(dw, di, listview, TRUE); break; case GDK_Delete: case GDK_KP_Delete: dupe_window_remove_selection(dw, listview); - stop_signal = TRUE; break; case 'C': case 'c': if (!on_second) { dupe_window_collection_from_selection(dw); - stop_signal = TRUE; } break; case '1': dupe_listview_select_dupes(dw, TRUE); - stop_signal = TRUE; break; case '2': dupe_listview_select_dupes(dw, FALSE); - stop_signal = TRUE; break; case GDK_Menu: case GDK_F10: @@ -2986,6 +2981,7 @@ } break; default: + stop_signal = FALSE; break; } } diff -r ba3c39002a24 -r 9d5c75b5ec28 src/pan-view.c --- a/src/pan-view.c Fri Oct 20 12:03:16 2006 +0000 +++ b/src/pan-view.c Fri Oct 20 13:25:03 2006 +0000 @@ -3413,23 +3413,20 @@ if (focused) { + stop_signal = TRUE; switch (event->keyval) { case GDK_Left: case GDK_KP_Left: x -= 1; - stop_signal = TRUE; break; case GDK_Right: case GDK_KP_Right: x += 1; - stop_signal = TRUE; break; case GDK_Up: case GDK_KP_Up: y -= 1; - stop_signal = TRUE; break; case GDK_Down: case GDK_KP_Down: y += 1; - stop_signal = TRUE; break; case GDK_Page_Up: case GDK_KP_Page_Up: pixbuf_renderer_scroll(pr, 0, 0 - pr->vis_height / 2); @@ -3443,88 +3440,30 @@ case GDK_End: case GDK_KP_End: pixbuf_renderer_scroll(pr, pr->vis_width / 2, 0); break; + default: + stop_signal = FALSE; + break; + } + + if (x != 0 || y!= 0) + { + if (event->state & GDK_SHIFT_MASK) + { + x *= 3; + y *= 3; + } + keyboard_scroll_calc(&x, &y, event); + pixbuf_renderer_scroll(pr, x, y); } } - if (focused && !(event->state & GDK_CONTROL_MASK) ) - switch (event->keyval) - { - case '+': case '=': case GDK_KP_Add: - pixbuf_renderer_zoom_adjust(pr, ZOOM_INCREMENT); - break; - case '-': case GDK_KP_Subtract: - pixbuf_renderer_zoom_adjust(pr, -ZOOM_INCREMENT); - break; - case 'Z': case 'z': case GDK_KP_Divide: case '1': - pixbuf_renderer_zoom_set(pr, 1.0); - break; - case '2': - pixbuf_renderer_zoom_set(pr, 2.0); - break; - case '3': - pixbuf_renderer_zoom_set(pr, 3.0); - break; - case '4': - pixbuf_renderer_zoom_set(pr, 4.0); - break; - case '7': - pixbuf_renderer_zoom_set(pr, -4.0); - break; - case '8': - pixbuf_renderer_zoom_set(pr, -3.0); - break; - case '9': - pixbuf_renderer_zoom_set(pr, -2.0); - break; - case 'F': case 'f': - case 'V': case 'v': - pan_fullscreen_toggle(pw, FALSE); - stop_signal = TRUE; - break; - case 'I': case 'i': -#if 0 - pan_overlay_toggle(pw); -#endif - break; - case GDK_Delete: case GDK_KP_Delete: - break; - case '/': - if (!pw->fs) - { - if (GTK_WIDGET_VISIBLE(pw->search_box)) - { - gtk_widget_grab_focus(pw->search_entry); - } - else - { - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), TRUE); - } - stop_signal = TRUE; - } - break; - case GDK_Escape: - if (pw->fs) - { - pan_fullscreen_toggle(pw, TRUE); - stop_signal = TRUE; - } - else if (GTK_WIDGET_VISIBLE(pw->search_entry)) - { - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), FALSE); - stop_signal = TRUE; - } - break; - case GDK_Menu: - case GDK_F10: - menu = pan_popup_menu(pw); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, pan_window_menu_pos_cb, pw, 0, GDK_CURRENT_TIME); - stop_signal = TRUE; - break; - } + if (stop_signal) return stop_signal; if (event->state & GDK_CONTROL_MASK) { gint n = -1; + + stop_signal = TRUE; switch (event->keyval) { case '1': @@ -3575,7 +3514,11 @@ case 'W': case 'w': pan_window_close(pw); break; + default: + stop_signal = FALSE; + break; } + if (n != -1 && path) { if (!editor_window_flag_set(n)) @@ -3583,42 +3526,121 @@ pan_fullscreen_toggle(pw, TRUE); } start_editor_from_file(n, path); - stop_signal = TRUE; } } - else if (event->state & GDK_SHIFT_MASK) + else { - x *= 3; - y *= 3; - } - else if (!focused) - { - switch (event->keyval) + if (focused) { - case GDK_Escape: - if (pw->fs) - { - pan_fullscreen_toggle(pw, TRUE); - stop_signal = TRUE; - } - else if (GTK_WIDGET_HAS_FOCUS(pw->search_entry)) - { - gtk_widget_grab_focus(GTK_WIDGET(pw->imd->widget)); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), FALSE); - stop_signal = TRUE; - } - break; - default: + stop_signal = TRUE; + switch (event->keyval) + { + case '+': case '=': case GDK_KP_Add: + pixbuf_renderer_zoom_adjust(pr, ZOOM_INCREMENT); + break; + case '-': case GDK_KP_Subtract: + pixbuf_renderer_zoom_adjust(pr, -ZOOM_INCREMENT); + break; + case 'Z': case 'z': case GDK_KP_Divide: case '1': + pixbuf_renderer_zoom_set(pr, 1.0); + break; + case '2': + pixbuf_renderer_zoom_set(pr, 2.0); + break; + case '3': + pixbuf_renderer_zoom_set(pr, 3.0); + break; + case '4': + pixbuf_renderer_zoom_set(pr, 4.0); + break; + case '7': + pixbuf_renderer_zoom_set(pr, -4.0); + break; + case '8': + pixbuf_renderer_zoom_set(pr, -3.0); + break; + case '9': + pixbuf_renderer_zoom_set(pr, -2.0); + break; + case 'F': case 'f': + case 'V': case 'v': + pan_fullscreen_toggle(pw, FALSE); + break; + case 'I': case 'i': +#if 0 + pan_overlay_toggle(pw); +#endif + break; + case GDK_Delete: case GDK_KP_Delete: + break; + case '/': + if (!pw->fs) + { + if (GTK_WIDGET_VISIBLE(pw->search_box)) + { + gtk_widget_grab_focus(pw->search_entry); + } + else + { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), TRUE); + } + } + else + { + stop_signal = FALSE; + } + break; + case GDK_Escape: + if (pw->fs) + { + pan_fullscreen_toggle(pw, TRUE); + } + else if (GTK_WIDGET_VISIBLE(pw->search_entry)) + { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), FALSE); + } + else + { + stop_signal = FALSE; + } + break; + case GDK_Menu: + case GDK_F10: + menu = pan_popup_menu(pw); + gtk_menu_popup(GTK_MENU(menu), NULL, NULL, pan_window_menu_pos_cb, pw, 0, GDK_CURRENT_TIME); + break; + default: + stop_signal = FALSE; + break; + } + } + else + { + stop_signal = TRUE; + switch (event->keyval) + { + case GDK_Escape: + if (pw->fs) + { + pan_fullscreen_toggle(pw, TRUE); + } + else if (GTK_WIDGET_HAS_FOCUS(pw->search_entry)) + { + gtk_widget_grab_focus(GTK_WIDGET(pw->imd->widget)); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), FALSE); + } + else + { + stop_signal = FALSE; + } break; + default: + stop_signal = FALSE; + break; + } } } - if (x != 0 || y!= 0) - { - keyboard_scroll_calc(&x, &y, event); - pixbuf_renderer_scroll(pr, x, y); - } - return stop_signal; } diff -r ba3c39002a24 -r 9d5c75b5ec28 src/search.c --- a/src/search.c Fri Oct 20 12:03:16 2006 +0000 +++ b/src/search.c Fri Oct 20 13:25:03 2006 +0000 @@ -1186,6 +1186,7 @@ { gint edit_val = -1; + stop_signal = TRUE; switch (event->keyval) { case '1': @@ -1219,23 +1220,18 @@ edit_val = 9; break; case 'C': case 'c': - stop_signal = TRUE; file_util_copy(NULL, search_result_selection_list(sd), NULL, widget); break; case 'M': case 'm': - stop_signal = TRUE; file_util_move(NULL, search_result_selection_list(sd), NULL, widget); break; case 'R': case 'r': - stop_signal = TRUE; file_util_rename(NULL, search_result_selection_list(sd), widget); break; case 'D': case 'd': - stop_signal = TRUE; file_util_delete(NULL, search_result_selection_list(sd), widget); break; case 'P': case 'p': - stop_signal = TRUE; info_window_new(NULL, search_result_selection_list(sd)); break; case 'A': case 'a': @@ -1247,29 +1243,27 @@ { gtk_tree_selection_select_all(selection); } - stop_signal = TRUE; break; case GDK_Delete: case GDK_KP_Delete: search_result_clear(sd); - stop_signal = TRUE; break; default: + stop_signal = FALSE; break; } if (edit_val >= 0) { search_result_edit_selected(sd, edit_val); - stop_signal = TRUE; } } else { + stop_signal = TRUE; switch (event->keyval) { case GDK_Return: case GDK_KP_Enter: if (fd) layout_image_set_path(NULL, fd->path); - stop_signal = TRUE; break; case 'V': case 'v': { @@ -1278,16 +1272,13 @@ list = search_result_selection_list(sd); view_window_new_from_list(list); path_list_free(list); - stop_signal = TRUE; } break; case GDK_Delete: case GDK_KP_Delete: search_result_remove_selection(sd); - stop_signal = TRUE; break; case 'C': case 'c': search_result_collection_from_selection(sd); - stop_signal = TRUE; break; case GDK_Menu: case GDK_F10: @@ -1298,10 +1289,10 @@ menu = search_result_menu(sd, (fd != NULL), (search_result_count(sd, NULL) > 0)); gtk_menu_popup(GTK_MENU(menu), NULL, NULL, search_result_menu_pos_cb, sd, 0, GDK_CURRENT_TIME); - stop_signal = TRUE; } break; default: + stop_signal = FALSE; break; } } @@ -1316,18 +1307,18 @@ if (event->state & GDK_CONTROL_MASK) { + stop_signal = TRUE; switch (event->keyval) { case 'T': case 't': gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(sd->button_thumbs), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sd->button_thumbs))); - stop_signal = TRUE; break; case 'W': case 'w': search_window_close(sd); - stop_signal = TRUE; break; default: + stop_signal = FALSE; break; } } diff -r ba3c39002a24 -r 9d5c75b5ec28 src/view_file_icon.c --- a/src/view_file_icon.c Fri Oct 20 12:03:16 2006 +0000 +++ b/src/view_file_icon.c Fri Oct 20 13:25:03 2006 +0000 @@ -1164,46 +1164,39 @@ static gint vficon_press_key_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) { ViewFileIcon *vfi = data; - gint stop_signal = FALSE; gint focus_row = 0; gint focus_col = 0; FileData *fd; - + gint stop_signal; + + stop_signal = TRUE; switch (event->keyval) { case GDK_Left: case GDK_KP_Left: focus_col = -1; - stop_signal = TRUE; break; case GDK_Right: case GDK_KP_Right: focus_col = 1; - stop_signal = TRUE; break; case GDK_Up: case GDK_KP_Up: focus_row = -1; - stop_signal = TRUE; break; case GDK_Down: case GDK_KP_Down: focus_row = 1; - stop_signal = TRUE; break; case GDK_Page_Up: case GDK_KP_Page_Up: focus_row = -page_height(vfi); - stop_signal = TRUE; break; case GDK_Page_Down: case GDK_KP_Page_Down: focus_row = page_height(vfi); - stop_signal = TRUE; break; case GDK_Home: case GDK_KP_Home: focus_row = -vfi->focus_row; focus_col = -vfi->focus_column; - stop_signal = TRUE; break; case GDK_End: case GDK_KP_End: focus_row = vfi->rows - 1 - vfi->focus_row; focus_col = vfi->columns - 1 - vfi->focus_column; - stop_signal = TRUE; break; case GDK_space: fd = vficon_find_data(vfi, vfi->focus_row, vfi->focus_column, NULL); @@ -1232,7 +1225,6 @@ vficon_send_layout_select(vfi, fd); } } - stop_signal = TRUE; break; case GDK_Menu: fd = vficon_find_data(vfi, vfi->focus_row, vfi->focus_column, NULL); @@ -1243,9 +1235,9 @@ vfi->popup = vficon_pop_menu(vfi, (fd != NULL)); gtk_menu_popup(GTK_MENU(vfi->popup), NULL, NULL, vfi_menu_position_cb, vfi, 0, GDK_CURRENT_TIME); - stop_signal = TRUE; break; default: + stop_signal = FALSE; break; } @@ -1289,7 +1281,9 @@ if (stop_signal) { +#if 0 g_signal_stop_emission_by_name(GTK_OBJECT(widget), "key_press_event"); +#endif tip_unschedule(vfi); }