diff options
Diffstat (limited to 'mail/folder-browser.c')
-rw-r--r-- | mail/folder-browser.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 5a051be15e..f4ec07f9ff 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -322,16 +322,19 @@ etable_key (ETable *table, int row, int col, GdkEvent *ev, FolderBrowser *fb) if (ev->key.keyval == GDK_space || ev->key.keyval == GDK_BackSpace) { GtkAdjustment *vadj; + gfloat page_size; vadj = e_scroll_frame_get_vadjustment (fb->mail_display->scroll); + page_size = vadj->page_size - vadj->step_increment; + if (ev->key.keyval == GDK_BackSpace) { - if (vadj->value > vadj->lower + vadj->page_size) - vadj->value -= vadj->page_size; + if (vadj->value > vadj->lower + page_size) + vadj->value -= page_size; else vadj->value = vadj->lower; } else { - if (vadj->value < vadj->upper - 2 * vadj->page_size) - vadj->value += vadj->page_size; + if (vadj->value < vadj->upper - vadj->page_size - page_size) + vadj->value += page_size; else vadj->value = vadj->upper - vadj->page_size; } |