Commit 425a266a authored by Chris Allegretta's avatar Chris Allegretta
Browse files

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
No related merge requests found
Showing with 10 additions and 8 deletions
+10 -8
...@@ -1205,6 +1205,7 @@ char *do_browser(char *inpath) ...@@ -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) ...@@ -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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment