Index: mail/folder-browser.c =================================================================== RCS file: /cvs/gnome/evolution/mail/folder-browser.c,v retrieving revision 1.113 diff -u -r1.113 folder-browser.c --- mail/folder-browser.c 2001/01/09 03:31:30 1.113 +++ mail/folder-browser.c 2001/01/10 20:30:22 @@ -811,7 +811,7 @@ static int etable_key (ETable *table, int row, int col, GdkEvent *ev, FolderBrowser *fb) { - if ((ev->key.state & !(GDK_SHIFT_MASK | GDK_LOCK_MASK)) != 0) + if ((ev->key.state & !(GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_CONTROL_MASK)) != 0) return FALSE; switch (ev->key.keyval) { @@ -821,6 +821,9 @@ GtkAdjustment *vadj; gfloat page_size; + if ( ev->key.state & GDK_CONTROL_MASK ) + return FALSE; + vadj = e_scroll_frame_get_vadjustment (fb->mail_display->scroll); page_size = vadj->page_size - vadj->step_increment; @@ -842,6 +845,9 @@ case GDK_Delete: case GDK_KP_Delete: + if ( ev->key.state & GDK_CONTROL_MASK ) + return FALSE; + delete_msg (NULL, fb); message_list_select (fb->message_list, row, MESSAGE_LIST_SELECT_NEXT, @@ -850,24 +856,30 @@ case GDK_Home: case GDK_KP_Home: + if ( ev->key.state & GDK_CONTROL_MASK ) + return FALSE; + message_list_select(fb->message_list, 0, MESSAGE_LIST_SELECT_NEXT, 0, 0); return TRUE; case GDK_End: case GDK_KP_End: + if ( ev->key.state & GDK_CONTROL_MASK ) + return FALSE; + message_list_select(fb->message_list, -1, MESSAGE_LIST_SELECT_PREVIOUS, 0, 0); return TRUE; case 'n': case 'N': - message_list_select (fb->message_list, row, - MESSAGE_LIST_SELECT_NEXT, - 0, CAMEL_MESSAGE_SEEN); - return TRUE; + message_list_select (fb->message_list, (ev->key.state & GDK_CONTROL_MASK)?0:row, + MESSAGE_LIST_SELECT_NEXT, + 0, CAMEL_MESSAGE_SEEN); + return TRUE; case 'p': case 'P': - message_list_select (fb->message_list, row, + message_list_select (fb->message_list, (ev->key.state & GDK_CONTROL_MASK)?-1:row, MESSAGE_LIST_SELECT_PREVIOUS, 0, CAMEL_MESSAGE_SEEN); return TRUE;