mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 17:12:13 -06:00
add hotkey '?' for hotkeys listing
This commit is contained in:
parent
aae14de796
commit
fc5bfe81a0
|
@ -354,6 +354,7 @@ the main tabs in the ui
|
||||||
## hotkeys
|
## hotkeys
|
||||||
|
|
||||||
the browser has the following hotkeys (always qwerty)
|
the browser has the following hotkeys (always qwerty)
|
||||||
|
* `?` show hotkeys help
|
||||||
* `B` toggle breadcrumbs / [navpane](#navpane)
|
* `B` toggle breadcrumbs / [navpane](#navpane)
|
||||||
* `I/K` prev/next folder
|
* `I/K` prev/next folder
|
||||||
* `M` parent folder (or unexpand current)
|
* `M` parent folder (or unexpand current)
|
||||||
|
@ -361,6 +362,7 @@ the browser has the following hotkeys (always qwerty)
|
||||||
* `G` toggle list / [grid view](#thumbnails) -- same as `田` bottom-right
|
* `G` toggle list / [grid view](#thumbnails) -- same as `田` bottom-right
|
||||||
* `T` toggle thumbnails / icons
|
* `T` toggle thumbnails / icons
|
||||||
* `ESC` close various things
|
* `ESC` close various things
|
||||||
|
* `ctrl-K` delete selected files/folders
|
||||||
* `ctrl-X` cut selected files/folders
|
* `ctrl-X` cut selected files/folders
|
||||||
* `ctrl-V` paste
|
* `ctrl-V` paste
|
||||||
* `F2` [rename](#batch-rename) selected file/folder
|
* `F2` [rename](#batch-rename) selected file/folder
|
||||||
|
|
|
@ -246,7 +246,13 @@ window.baguetteBox = (function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
function keyDownHandler(e) {
|
function keyDownHandler(e) {
|
||||||
if (anymod(e, true) || modal.busy)
|
if (modal.busy)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (e.key == '?')
|
||||||
|
return halp();
|
||||||
|
|
||||||
|
if (anymod(e, true))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var k = e.code + '', v = vid(), pos = -1;
|
var k = e.code + '', v = vid(), pos = -1;
|
||||||
|
|
|
@ -1805,6 +1805,28 @@ a.btn,
|
||||||
-ms-user-select: none;
|
-ms-user-select: none;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
}
|
}
|
||||||
|
#hkhelp {
|
||||||
|
background: var(--bg);
|
||||||
|
}
|
||||||
|
#hkhelp table {
|
||||||
|
margin: 2em 2em 0 2em;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
#hkhelp th {
|
||||||
|
border-bottom: 1px solid var(--bg-u5);
|
||||||
|
background: var(--bg-u1);
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
#hkhelp tr+tr th {
|
||||||
|
border-top: 1.5em solid var(--bg);
|
||||||
|
}
|
||||||
|
#hkhelp td {
|
||||||
|
padding: .2em .3em;
|
||||||
|
}
|
||||||
|
#hkhelp td:first-child {
|
||||||
|
font-family: 'scp', monospace, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,64 @@ var Ls = {
|
||||||
"hz": "sample rate"
|
"hz": "sample rate"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"hks": [
|
||||||
|
[
|
||||||
|
"misc",
|
||||||
|
["ESC", "close various things"],
|
||||||
|
|
||||||
|
"file-manager",
|
||||||
|
["G", "toggle list / grid view"],
|
||||||
|
["T", "toggle thumbnails / icons"],
|
||||||
|
["🡅 A/D", "thumbnail size"],
|
||||||
|
["ctrl-K", "delete selected"],
|
||||||
|
["ctrl-X", "cut selected"],
|
||||||
|
["ctrl-V", "paste into folder"],
|
||||||
|
["F2", "rename selected"],
|
||||||
|
|
||||||
|
"file-list-sel",
|
||||||
|
["space", "toggle file selection"],
|
||||||
|
["🡑/🡓", "move selection cursor"],
|
||||||
|
["ctrl 🡑/🡓", "move cursor and viewport"],
|
||||||
|
["🡅 🡑/🡓", "select prev/next file"],
|
||||||
|
["ctrl-A", "select all files / folders"],
|
||||||
|
], [
|
||||||
|
"navigation",
|
||||||
|
["B", "toggle breadcrumbs / navpane"],
|
||||||
|
["I/K", "prev/next folder"],
|
||||||
|
["M", "parent folder (or unexpand current)"],
|
||||||
|
["V", "toggle folders / textfiles in navpane"],
|
||||||
|
["A/D", "navpane size"],
|
||||||
|
], [
|
||||||
|
"audio-player",
|
||||||
|
["J/L", "prev/next song"],
|
||||||
|
["U/O", "skip 10sec back/fwd"],
|
||||||
|
["0..9", "jump to 0%..90%"],
|
||||||
|
["P", "play/pause (also initiates)"],
|
||||||
|
["Y", "download song"],
|
||||||
|
], [
|
||||||
|
"image-viewer",
|
||||||
|
["J/L, ←/→", "prev/next pic"],
|
||||||
|
["Home/End", "first/last pic"],
|
||||||
|
["F", "fullscreen"],
|
||||||
|
["R", "rotate clockwise"],
|
||||||
|
["🡅 R", "rotate ccw"],
|
||||||
|
["Y", "download pic"],
|
||||||
|
], [
|
||||||
|
"video-player",
|
||||||
|
["U/O", "skip 10sec back/fwd"],
|
||||||
|
["P/K/Space", "play/pause"],
|
||||||
|
["C", "continue playing next"],
|
||||||
|
["V", "loop"],
|
||||||
|
["M", "mute"],
|
||||||
|
["[ and ]", "set loop interval"],
|
||||||
|
], [
|
||||||
|
"textfile-viewer",
|
||||||
|
["I/K", "prev/next file"],
|
||||||
|
["M", "close textfile"],
|
||||||
|
["S", "select file (for cut/rename)"],
|
||||||
|
]
|
||||||
|
],
|
||||||
|
|
||||||
"m_ok": "OK",
|
"m_ok": "OK",
|
||||||
"m_ng": "Cancel",
|
"m_ng": "Cancel",
|
||||||
|
|
||||||
|
@ -399,6 +457,64 @@ var Ls = {
|
||||||
"hz": "lyd-oppløsning"
|
"hz": "lyd-oppløsning"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"hks": [
|
||||||
|
[
|
||||||
|
"ymse",
|
||||||
|
["ESC", "lukk saker og ting"],
|
||||||
|
|
||||||
|
"filbehandler",
|
||||||
|
["G", "listevisning eller ikoner"],
|
||||||
|
["T", "miniatyrbilder på/av"],
|
||||||
|
["🡅 A/D", "ikonstørrelse"],
|
||||||
|
["ctrl-K", "slett valgte"],
|
||||||
|
["ctrl-X", "klipp ut"],
|
||||||
|
["ctrl-V", "lim inn"],
|
||||||
|
["F2", "endre navn på valgte"],
|
||||||
|
|
||||||
|
"filmarkering",
|
||||||
|
["space", "marker fil"],
|
||||||
|
["🡑/🡓", "flytt markør"],
|
||||||
|
["ctrl 🡑/🡓", "flytt markør og scroll"],
|
||||||
|
["🡅 🡑/🡓", "velg forr./neste fil"],
|
||||||
|
["ctrl-A", "velg alle filer / mapper"],
|
||||||
|
], [
|
||||||
|
"navigering",
|
||||||
|
["B", "mappehierarki eller filsti"],
|
||||||
|
["I/K", "forr./neste mappe"],
|
||||||
|
["M", "ett nivå opp (eller lukk)"],
|
||||||
|
["V", "vis mapper eller tekstfiler"],
|
||||||
|
["A/D", "panelstørrelse"],
|
||||||
|
], [
|
||||||
|
"musikkspiller",
|
||||||
|
["J/L", "forr./neste sang"],
|
||||||
|
["U/O", "hopp 10sek bak/frem"],
|
||||||
|
["0..9", "hopp til 0%..90%"],
|
||||||
|
["P", "pause, eller start / fortsett"],
|
||||||
|
["Y", "last ned sang"],
|
||||||
|
], [
|
||||||
|
"bildeviser",
|
||||||
|
["J/L, ←/→", "forr./neste bilde"],
|
||||||
|
["Home/End", "første/siste bilde"],
|
||||||
|
["F", "fullskjermvisning"],
|
||||||
|
["R", "rotere mot høyre"],
|
||||||
|
["🡅 R", "rotere mot venstre"],
|
||||||
|
["Y", "last ned bilde"],
|
||||||
|
], [
|
||||||
|
"videospiller",
|
||||||
|
["U/O", "hopp 10sek bak/frem"],
|
||||||
|
["P/K/Space", "pause / fortsett"],
|
||||||
|
["C", "fortsett til neste fil"],
|
||||||
|
["V", "gjenta avspilling"],
|
||||||
|
["M", "lyd av/på"],
|
||||||
|
["[ og ]", "gjentaksintervall"],
|
||||||
|
], [
|
||||||
|
"dokumentviser",
|
||||||
|
["I/K", "forr./neste fil"],
|
||||||
|
["M", "lukk tekstdokument"],
|
||||||
|
["S", "velg fil (for F2/ctrl-x/...)"]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
|
||||||
"m_ok": "OK",
|
"m_ok": "OK",
|
||||||
"m_ng": "Avbryt",
|
"m_ng": "Avbryt",
|
||||||
|
|
||||||
|
@ -4105,6 +4221,31 @@ function tree_up() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function hkhelp() {
|
||||||
|
var html = [];
|
||||||
|
for (var ic = 0; ic < L.hks.length; ic++) {
|
||||||
|
var c = L.hks[ic];
|
||||||
|
html.push('<table>');
|
||||||
|
for (var a = 0; a < c.length; a++)
|
||||||
|
try {
|
||||||
|
if (c[a].length != 2)
|
||||||
|
html.push('<tr><th colspan="2">' + esc(c[a]) + '</th></tr>');
|
||||||
|
else
|
||||||
|
html.push('<tr><td>{0}</td><td>{1}</td></tr>'.format(c[a][0], c[a][1]));
|
||||||
|
}
|
||||||
|
catch (ex) {
|
||||||
|
html.push(">>> " + c[a]);
|
||||||
|
}
|
||||||
|
|
||||||
|
html.push('</table>');
|
||||||
|
}
|
||||||
|
qsr('#hkhelp');
|
||||||
|
var o = mknod('div', 'hkhelp');
|
||||||
|
o.innerHTML = html.join('\n');
|
||||||
|
document.body.appendChild(o);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
document.onkeydown = function (e) {
|
document.onkeydown = function (e) {
|
||||||
if (e.altKey || e.isComposing)
|
if (e.altKey || e.isComposing)
|
||||||
return;
|
return;
|
||||||
|
@ -4116,9 +4257,15 @@ document.onkeydown = function (e) {
|
||||||
ae = document.activeElement,
|
ae = document.activeElement,
|
||||||
aet = ae && ae != document.body ? ae.nodeName.toLowerCase() : '';
|
aet = ae && ae != document.body ? ae.nodeName.toLowerCase() : '';
|
||||||
|
|
||||||
|
if (e.key == '?')
|
||||||
|
return hkhelp();
|
||||||
|
|
||||||
if (k == 'Escape') {
|
if (k == 'Escape') {
|
||||||
ae && ae.blur();
|
ae && ae.blur();
|
||||||
|
|
||||||
|
if (ebi('hkhelp'))
|
||||||
|
return qsr('#hkhelp');
|
||||||
|
|
||||||
if (ebi('rn_cancel'))
|
if (ebi('rn_cancel'))
|
||||||
return ebi('rn_cancel').click();
|
return ebi('rn_cancel').click();
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,12 @@ html, body {
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
}
|
}
|
||||||
|
html.y #helpbox a {
|
||||||
|
color: #079;
|
||||||
|
}
|
||||||
|
html.z #helpbox a {
|
||||||
|
color: #fc5;
|
||||||
|
}
|
||||||
#repl {
|
#repl {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
|
|
@ -202,6 +202,7 @@ html.y #tth {
|
||||||
border: .4em solid var(--fg);
|
border: .4em solid var(--fg);
|
||||||
box-shadow: 0 2em 4em 1em var(--bg-max);
|
box-shadow: 0 2em 4em 1em var(--bg-max);
|
||||||
}
|
}
|
||||||
|
#hkhelp,
|
||||||
#modal {
|
#modal {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
|
Loading…
Reference in a new issue