From 62f4ab037aad918d5b6c92b423e54f29b5c1ecf8 Mon Sep 17 00:00:00 2001 From: Bert Date: Fri, 18 Feb 2011 15:21:13 +0100 Subject: Fixed moving of selection while loading thumbnails --- thumbs.c | 6 +++--- thumbs.h | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/thumbs.c b/thumbs.c index 3f187fc..ae12614 100644 --- a/thumbs.c +++ b/thumbs.c @@ -32,7 +32,7 @@ void tns_init(tns_t *tns, int cnt) { if (!tns) return; - tns->cnt = tns->first = tns->sel = 0; + tns->cnt = tns->first = tns->sel = tns->vis = 0; tns->thumbs = (thumb_t*) s_malloc(cnt * sizeof(thumb_t)); } @@ -115,8 +115,8 @@ void tns_render(tns_t *tns, win_t *win) { x += thumb_dim; } } + tns->vis = i - tns->first; - printf("%d, %d\n", tns->sel, tns->cnt); tns_highlight(tns, win, -1); } @@ -166,7 +166,7 @@ void tns_move_selection(tns_t *tns, win_t *win, movedir_t dir) { } break; case MOVE_DOWN: - if (sel / tns->cols < tns->rows - 1 && sel + tns->cols < tns->cnt) { + if (sel / tns->cols < tns->rows - 1 && sel + tns->cols < tns->vis) { tns->sel += tns->cols; tns_highlight(tns, win, sel); } diff --git a/thumbs.h b/thumbs.h index 157173d..9c3c7d0 100644 --- a/thumbs.h +++ b/thumbs.h @@ -45,10 +45,9 @@ typedef struct tns_s { int rows; int first; int sel; + int vis; } tns_t; -extern const int thumb_dim; - void tns_init(tns_t*, int); void tns_free(tns_t*, win_t*); -- cgit v1.2.3-70-g09d2