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-d3aeb78583b8master
parent
f4b9601c1b
commit
425a266a92
18
files.c
18
files.c
|
@ -1205,6 +1205,7 @@ char *do_browser(char *inpath)
|
||||||
|
|
||||||
titlebar(path);
|
titlebar(path);
|
||||||
bottombars(browser_list, BROWSER_LIST_LEN);
|
bottombars(browser_list, BROWSER_LIST_LEN);
|
||||||
|
keypad_on(TRUE);
|
||||||
curs_set(0);
|
curs_set(0);
|
||||||
wmove(edit, 0, 0);
|
wmove(edit, 0, 0);
|
||||||
i = 0;
|
i = 0;
|
||||||
|
@ -1240,28 +1241,29 @@ char *do_browser(char *inpath)
|
||||||
case NANO_PREVPAGE_KEY:
|
case NANO_PREVPAGE_KEY:
|
||||||
case KEY_PPAGE:
|
case KEY_PPAGE:
|
||||||
if ((selected / width) % editwinrows == 0) {
|
if ((selected / width) % editwinrows == 0) {
|
||||||
if (selected - editwinrows >= 0)
|
if (selected - (editwinrows * width) >= 0)
|
||||||
selected -= editwinrows;
|
selected -= editwinrows * width;
|
||||||
else
|
else
|
||||||
selected = 0;
|
selected = 0;
|
||||||
}
|
}
|
||||||
else if (selected - (editwinrows +
|
else if (selected - (editwinrows +
|
||||||
(selected / width) % editwinrows) >= 0)
|
(selected / width) % editwinrows) * width >= 0)
|
||||||
selected -= editwinrows + (selected / width) % editwinrows;
|
selected -= (editwinrows + (selected / width) %
|
||||||
|
editwinrows) * width;
|
||||||
else
|
else
|
||||||
selected = 0;
|
selected = 0;
|
||||||
break;
|
break;
|
||||||
case NANO_NEXTPAGE_KEY:
|
case NANO_NEXTPAGE_KEY:
|
||||||
case KEY_NPAGE:
|
case KEY_NPAGE:
|
||||||
if ((selected / width) % editwinrows == 0) {
|
if ((selected / width) % editwinrows == 0) {
|
||||||
if (selected + editwinrows <= numents - 1)
|
if (selected + (editwinrows * width) <= numents - 1)
|
||||||
selected += editwinrows;
|
selected += editwinrows * width;
|
||||||
else
|
else
|
||||||
selected = numents - 1;
|
selected = numents - 1;
|
||||||
}
|
}
|
||||||
else if (selected + (editwinrows -
|
else if (selected + (editwinrows -
|
||||||
(selected / width) % editwinrows) <= numents - 1)
|
(selected / width) % editwinrows) * width <= numents - 1)
|
||||||
selected += editwinrows - (selected / width) % editwinrows;
|
selected += (editwinrows - (selected / width) % editwinrows) * width;
|
||||||
else
|
else
|
||||||
selected = numents - 1;
|
selected = numents - 1;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue