Some better page up/down fixes, added keypad_on() call for now

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@435 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This commit is contained in:
Chris Allegretta 2001-01-03 15:09:27 +00:00
parent f4b9601c1b
commit 425a266a92
1 changed files with 10 additions and 8 deletions

18
files.c
View File

@ -1205,6 +1205,7 @@ char *do_browser(char *inpath)
titlebar(path);
bottombars(browser_list, BROWSER_LIST_LEN);
keypad_on(TRUE);
curs_set(0);
wmove(edit, 0, 0);
i = 0;
@ -1240,28 +1241,29 @@ char *do_browser(char *inpath)
case NANO_PREVPAGE_KEY:
case KEY_PPAGE:
if ((selected / width) % editwinrows == 0) {
if (selected - editwinrows >= 0)
selected -= editwinrows;
if (selected - (editwinrows * width) >= 0)
selected -= editwinrows * width;
else
selected = 0;
}
else if (selected - (editwinrows +
(selected / width) % editwinrows) >= 0)
selected -= editwinrows + (selected / width) % editwinrows;
(selected / width) % editwinrows) * width >= 0)
selected -= (editwinrows + (selected / width) %
editwinrows) * width;
else
selected = 0;
break;
case NANO_NEXTPAGE_KEY:
case KEY_NPAGE:
if ((selected / width) % editwinrows == 0) {
if (selected + editwinrows <= numents - 1)
selected += editwinrows;
if (selected + (editwinrows * width) <= numents - 1)
selected += editwinrows * width;
else
selected = numents - 1;
}
else if (selected + (editwinrows -
(selected / width) % editwinrows) <= numents - 1)
selected += editwinrows - (selected / width) % editwinrows;
(selected / width) % editwinrows) * width <= numents - 1)
selected += (editwinrows - (selected / width) % editwinrows) * width;
else
selected = numents - 1;
break;