mirror of
https://github.com/jarun/nnn.git
synced 2024-11-24 11:51:27 +00:00
Handle nav cases separately
This commit is contained in:
parent
cfb524ea5e
commit
1430993858
59
src/nnn.c
59
src/nnn.c
|
@ -2962,42 +2962,33 @@ nochange:
|
|||
printmsg("unsupported file");
|
||||
goto nochange;
|
||||
}
|
||||
case SEL_NEXT: // fallthrough
|
||||
case SEL_PREV: // fallthrough
|
||||
case SEL_PGDN: // fallthrough
|
||||
case SEL_PGUP: // fallthrough
|
||||
case SEL_HOME: // fallthrough
|
||||
case SEL_END:
|
||||
switch (sel) {
|
||||
case SEL_NEXT:
|
||||
if (cur < ndents - 1)
|
||||
++cur;
|
||||
else if (ndents)
|
||||
/* Roll over, set cursor to first entry */
|
||||
cur = 0;
|
||||
break;
|
||||
case SEL_PREV:
|
||||
if (cur > 0)
|
||||
--cur;
|
||||
else if (ndents)
|
||||
/* Roll over, set cursor to last entry */
|
||||
cur = ndents - 1;
|
||||
break;
|
||||
case SEL_PGDN:
|
||||
if (cur < ndents - 1)
|
||||
cur += MIN((LINES - 4) / 2, ndents - 1 - cur);
|
||||
break;
|
||||
case SEL_PGUP:
|
||||
if (cur > 0)
|
||||
cur -= MIN((LINES - 4) / 2, cur);
|
||||
break;
|
||||
case SEL_HOME:
|
||||
case SEL_NEXT:
|
||||
if (cur < ndents - 1)
|
||||
++cur;
|
||||
else if (ndents)
|
||||
/* Roll over, set cursor to first entry */
|
||||
cur = 0;
|
||||
break;
|
||||
default: /* case SEL_END */
|
||||
break;
|
||||
case SEL_PREV:
|
||||
if (cur > 0)
|
||||
--cur;
|
||||
else if (ndents)
|
||||
/* Roll over, set cursor to last entry */
|
||||
cur = ndents - 1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SEL_PGDN:
|
||||
if (cur < ndents - 1)
|
||||
cur += MIN((LINES - 4) / 2, ndents - 1 - cur);
|
||||
break;
|
||||
case SEL_PGUP:
|
||||
if (cur > 0)
|
||||
cur -= MIN((LINES - 4) / 2, cur);
|
||||
break;
|
||||
case SEL_HOME:
|
||||
cur = 0;
|
||||
break;
|
||||
case SEL_END:
|
||||
cur = ndents - 1;
|
||||
break;
|
||||
case SEL_CDHOME: // fallthrough
|
||||
case SEL_CDBEGIN: // fallthrough
|
||||
|
|
Loading…
Reference in a new issue