Bladeren bron

Combine navigation case

master
Arun Prakash Jana 5 jaren geleden
bovenliggende
commit
a8234f26e8
Geen bekende sleutel gevonden voor deze handtekening in de database GPG sleutel-ID: A75979F35C080412
1 gewijzigde bestanden met toevoegingen van 50 en 34 verwijderingen
  1. +50
    -34
      src/nnn.c

+ 50
- 34
src/nnn.c Bestand weergeven

@@ -2797,45 +2797,61 @@ nochange:
printmsg("unsupported file");
goto nochange;
}
case SEL_NEXT:
if (cur < ndents - 1)
++cur;
else if (ndents)
/* Roll over, set cursor to first entry */
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:
cur = 0;
break;
case SEL_PREV:
if (cur > 0)
--cur;
else if (ndents)
/* Roll over, set cursor to last entry */
break;
default: /* case SEL_END */
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:
dir = xgetenv("HOME", path); // fallthrough
case SEL_CDBEGIN:
if (sel == SEL_CDBEGIN)
dir = ipath; // fallthrough
case SEL_CDLAST:
if (sel == SEL_CDLAST)
dir = lastdir; // fallthrough
case SEL_CDHOME: // fallthrough
case SEL_CDBEGIN: // fallthrough
case SEL_CDLAST: // fallthrough
case SEL_VISIT:
if (sel == SEL_VISIT)
switch (sel) {
case SEL_CDHOME:
dir = xgetenv("HOME", path);
break;
case SEL_CDBEGIN:
dir = ipath;
break;
case SEL_CDLAST:
dir = lastdir;
break;
default: /* case SEL_VISIT */
dir = mark;
break;
}

if (dir[0] == '\0') {
printmsg("not set");


Laden…
Annuleren
Opslaan