aboutsummaryrefslogtreecommitdiffstats
path: root/mail/folder-browser.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2000-07-11 04:04:32 +0800
committerDan Winship <danw@src.gnome.org>2000-07-11 04:04:32 +0800
commite17db743f3fef10ec8039b3f38254a9dce3f6c44 (patch)
tree29ebf0fb4b74bed5784f72024701e69fa4c6c271 /mail/folder-browser.c
parent8844e57744dfdda537911efc6b9a4d80e7eb4407 (diff)
downloadgsoc2013-evolution-e17db743f3fef10ec8039b3f38254a9dce3f6c44.tar
gsoc2013-evolution-e17db743f3fef10ec8039b3f38254a9dce3f6c44.tar.gz
gsoc2013-evolution-e17db743f3fef10ec8039b3f38254a9dce3f6c44.tar.bz2
gsoc2013-evolution-e17db743f3fef10ec8039b3f38254a9dce3f6c44.tar.lz
gsoc2013-evolution-e17db743f3fef10ec8039b3f38254a9dce3f6c44.tar.xz
gsoc2013-evolution-e17db743f3fef10ec8039b3f38254a9dce3f6c44.tar.zst
gsoc2013-evolution-e17db743f3fef10ec8039b3f38254a9dce3f6c44.zip
Update message_list_select_next to do either next or previous.
* message-list.c (message_list_select): Update message_list_select_next to do either next or previous. * folder-browser.c (etable_key): Make 'n' and 'p' do next and previous unread message. * mail-ops.c (select_first_unread): Update. (real_fetch_mail): clean up a bit. svn path=/trunk/; revision=4046
Diffstat (limited to 'mail/folder-browser.c')
-rw-r--r--mail/folder-browser.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/mail/folder-browser.c b/mail/folder-browser.c
index 201a7d9252..5fa536118e 100644
--- a/mail/folder-browser.c
+++ b/mail/folder-browser.c
@@ -8,6 +8,7 @@
* (C) 2000 Helix Code, Inc.
*/
#include <config.h>
+#include <ctype.h>
#include <gnome.h>
#include "e-util/e-util.h"
#include "e-util/e-sexp.h"
@@ -319,7 +320,7 @@ folder_browser_clear_search (FolderBrowser *fb)
static int
etable_key (ETable *table, int row, int col, GdkEvent *ev, FolderBrowser *fb)
{
- if (ev->key.state != 0)
+ if ((ev->key.state & !(GDK_SHIFT_MASK | GDK_LOCK_MASK)) != 0)
return FALSE;
if (ev->key.keyval == GDK_space || ev->key.keyval == GDK_BackSpace) {
@@ -346,9 +347,17 @@ etable_key (ETable *table, int row, int col, GdkEvent *ev, FolderBrowser *fb)
} else if (ev->key.keyval == GDK_Delete ||
ev->key.keyval == GDK_KP_Delete) {
delete_msg (NULL, fb);
- message_list_select_next (fb->message_list, row,
- 0, CAMEL_MESSAGE_DELETED);
+ message_list_select (fb->message_list, row,
+ MESSAGE_LIST_SELECT_NEXT,
+ 0, CAMEL_MESSAGE_DELETED);
return TRUE;
+ } else if (ev->key.keyval == 'n' || ev->key.keyval == 'N' ||
+ ev->key.keyval == 'p' || ev->key.keyval == 'P') {
+ message_list_select (fb->message_list, row,
+ tolower (ev->key.keyval) == 'p' ?
+ MESSAGE_LIST_SELECT_PREVIOUS :
+ MESSAGE_LIST_SELECT_NEXT,
+ 0, CAMEL_MESSAGE_SEEN);
}
return FALSE;