summaryrefslogtreecommitdiff
path: root/apps/tree.c
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-07-02 18:03:00 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-07-02 18:03:00 +0000
commitdad6d76ef2de65097de94aa97dc0069b7ec59b3e (patch)
treee9c63b43f24c2b74e6bec85fc0b0320bef9828e5 /apps/tree.c
parent71ef31a2a9280b4cb70403ddf31409a371a55423 (diff)
downloadrockbox-dad6d76ef2de65097de94aa97dc0069b7ec59b3e.tar.gz
rockbox-dad6d76ef2de65097de94aa97dc0069b7ec59b3e.zip
Wrapping patch by Bill, Matthew and Lee
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1311 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/tree.c')
-rw-r--r--apps/tree.c28
1 files changed, 27 insertions, 1 deletions
diff --git a/apps/tree.c b/apps/tree.c
index a6308b4391..cef63a0b96 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -358,7 +358,6 @@ bool dirbrowse(char *root)
358 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, false); 358 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, false);
359 dircursor--; 359 dircursor--;
360 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); 360 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true);
361 lcd_update();
362 } 361 }
363 else { 362 else {
364 if (start) { 363 if (start) {
@@ -366,7 +365,21 @@ bool dirbrowse(char *root)
366 numentries = showdir(currdir, start); 365 numentries = showdir(currdir, start);
367 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); 366 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true);
368 } 367 }
368 else {
369 if (numentries < TREE_MAX_ON_SCREEN) {
370 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, false);
371 dircursor = numentries - 1;
372 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true);
373 }
374 else {
375 start = numentries - TREE_MAX_ON_SCREEN;
376 dircursor = TREE_MAX_ON_SCREEN - 1;
377 numentries = showdir(currdir, start);
378 put_cursorxy(0, CURSOR_Y + LINE_Y + TREE_MAX_ON_SCREEN - 1, true);
379 }
380 }
369 } 381 }
382 lcd_update();
370 break; 383 break;
371 384
372 case TREE_NEXT: 385 case TREE_NEXT:
@@ -382,6 +395,19 @@ bool dirbrowse(char *root)
382 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true); 395 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true);
383 } 396 }
384 } 397 }
398 else {
399 if(numentries < TREE_MAX_ON_SCREEN) {
400 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, false);
401 start = dircursor = 0;
402 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true);
403 }
404 else {
405 start = dircursor = 0;
406 numentries = showdir(currdir, start);
407 put_cursorxy(0, CURSOR_Y + LINE_Y+dircursor, true);
408 }
409 }
410 lcd_update();
385 break; 411 break;
386 412
387 case TREE_MENU: { 413 case TREE_MENU: {