From b6340bd349dd78ff30f4a942a77fa4800ba6c579 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Wed, 17 Dec 2014 14:58:39 -0500 Subject: Fixed Page Down behavior. More TODOs. --- wintable/new/select.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'wintable/new/select.h') diff --git a/wintable/new/select.h b/wintable/new/select.h index 11d7ce9..b0210fe 100644 --- a/wintable/new/select.h +++ b/wintable/new/select.h @@ -154,6 +154,8 @@ when nothing is selected: - end selects the last item regardless of scroll for left and right we will simulate up and down, respectively (so right selects row 0 column 0); remember that you can't have either row or column be -1 but not both + +TODO what happens if page up and page down are pressed with an item selected and the scroll in a different position? */ HANDLER(keyDownSelectHandler) @@ -226,7 +228,10 @@ HANDLER(keyDownSelectHandler) break; case VK_NEXT: if (row == -1) { - row = t->vpagesize; + row = t->vscrollpos + t->vpagesize - 1; + // TODO ensusre this is the case with the real list view + if (row >= t->count) + row = t->count - 1; column = 0; } else { row = t->vscrollpos + t->vpagesize - 1; @@ -243,5 +248,3 @@ HANDLER(keyDownSelectHandler) *lResult = 0; return TRUE; } - -// TODO check keyboard selections with nothing selected -- cgit v1.2.3