mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
better ctrl-v upload ux
This commit is contained in:
parent
f6e693f0f5
commit
253a414443
|
@ -28,6 +28,8 @@
|
||||||
--row-alt: #282828;
|
--row-alt: #282828;
|
||||||
|
|
||||||
--scroll: #eb0;
|
--scroll: #eb0;
|
||||||
|
--sel-fg: var(--bg-d1);
|
||||||
|
--sel-bg: var(--fg);
|
||||||
|
|
||||||
--a: #fc5;
|
--a: #fc5;
|
||||||
--a-b: #c90;
|
--a-b: #c90;
|
||||||
|
@ -330,6 +332,8 @@ html.c {
|
||||||
}
|
}
|
||||||
html.cz {
|
html.cz {
|
||||||
--bgg: var(--bg-u2);
|
--bgg: var(--bg-u2);
|
||||||
|
--sel-bg: var(--bg-u5);
|
||||||
|
--sel-fg: var(--fg);
|
||||||
--srv-3: #fff;
|
--srv-3: #fff;
|
||||||
--u2-tab-b1: var(--bg-d3);
|
--u2-tab-b1: var(--bg-d3);
|
||||||
}
|
}
|
||||||
|
@ -343,6 +347,8 @@ html.cy {
|
||||||
--bg-d3: #f77;
|
--bg-d3: #f77;
|
||||||
--bg-d2: #ff0;
|
--bg-d2: #ff0;
|
||||||
|
|
||||||
|
--sel-bg: #f77;
|
||||||
|
|
||||||
--a: #fff;
|
--a: #fff;
|
||||||
--a-hil: #fff;
|
--a-hil: #fff;
|
||||||
--a-h-bg: #000;
|
--a-h-bg: #000;
|
||||||
|
@ -588,8 +594,8 @@ html.dy {
|
||||||
line-height: 1.2em;
|
line-height: 1.2em;
|
||||||
}
|
}
|
||||||
::selection {
|
::selection {
|
||||||
color: var(--bg-d1);
|
color: var(--sel-fg);
|
||||||
background: var(--fg);
|
background: var(--sel-bg);
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
html,body,tr,th,td,#files,a {
|
html,body,tr,th,td,#files,a {
|
||||||
|
|
|
@ -337,8 +337,9 @@ var Ls = {
|
||||||
"fp_err": "move failed:\n",
|
"fp_err": "move failed:\n",
|
||||||
"fp_confirm": "move these {0} items here?",
|
"fp_confirm": "move these {0} items here?",
|
||||||
"fp_etab": 'failed to read clipboard from other browser tab',
|
"fp_etab": 'failed to read clipboard from other browser tab',
|
||||||
"fp_both": 'what do you want to paste?\n\nOK/Enter: Upload {0} files from system clipboard\nEsc/Abort: Move {1} files on server',
|
"fp_name": "uploading a file from your device. Give it a name:",
|
||||||
"fp_name": "Uploading a PNG image from clipboard.\n\nconfirm by giving it a filename:",
|
"fp_both_m": '<h6>choose what to paste</h6><code>Enter</code> = Move {0} files from «{1}»\n<code>ESC</code> = Upload {2} files from your device',
|
||||||
|
"fp_both_b": '<a href="#" id="modal-ok">Move</a><a href="#" id="modal-ng">Upload</a>',
|
||||||
|
|
||||||
"mk_noname": "type a name into the text field on the left before you do that :p",
|
"mk_noname": "type a name into the text field on the left before you do that :p",
|
||||||
|
|
||||||
|
@ -844,8 +845,9 @@ var Ls = {
|
||||||
"fp_err": "flytting feilet:\n",
|
"fp_err": "flytting feilet:\n",
|
||||||
"fp_confirm": "flytt disse {0} filene hit?",
|
"fp_confirm": "flytt disse {0} filene hit?",
|
||||||
"fp_etab": 'kunne ikke lese listen med filer ifra den andre nettleserfanen',
|
"fp_etab": 'kunne ikke lese listen med filer ifra den andre nettleserfanen',
|
||||||
"fp_both": "hva vil du lime inn?\n\nOK/Enter: Last opp {0} filer ifra enheten din\nEsc/Avbryt: Flytt {1} filer på serveren",
|
"fp_name": "Laster opp én fil fra enheten din. Velg filnavn:",
|
||||||
"fp_name": "Laster opp PNG-bilde ifra utklippstavle.\n\nbekreft ved å velge et filnavn:",
|
"fp_both_m": '<h6>hva skal limes inn her?</h6><code>Enter</code> = Flytt {0} filer fra «{1}»\n<code>ESC</code> = Last opp {2} filer fra enheten din',
|
||||||
|
"fp_both_b": '<a href="#" id="modal-ok">Flytt</a><a href="#" id="modal-ng">Last opp</a>',
|
||||||
|
|
||||||
"mk_noname": "skriv inn et navn i tekstboksen til venstre først :p",
|
"mk_noname": "skriv inn et navn i tekstboksen til venstre først :p",
|
||||||
|
|
||||||
|
@ -4092,9 +4094,10 @@ var fileman = (function () {
|
||||||
if (!r.clip.length)
|
if (!r.clip.length)
|
||||||
return r.clip_up(files);
|
return r.clip_up(files);
|
||||||
|
|
||||||
modal.confirm(
|
var src = r.clip.length == 1 ? r.clip[0] : vsplit(r.clip[0])[0],
|
||||||
L.fp_both.format(files.length, r.clip.length),
|
msg = L.fp_both_m.format(r.clip.length, src, files.length);
|
||||||
function () { r.clip_up(files); }, r.paste);
|
|
||||||
|
modal.confirm(msg, r.paste, function () { r.clip_up(files); }, null, L.fp_both_b);
|
||||||
};
|
};
|
||||||
|
|
||||||
r.clip_up = function (files) {
|
r.clip_up = function (files) {
|
||||||
|
@ -4122,13 +4125,19 @@ var fileman = (function () {
|
||||||
up2k.gotallfiles[0](good, nil, bad, up2k.gotallfiles.slice(1));
|
up2k.gotallfiles[0](good, nil, bad, up2k.gotallfiles.slice(1));
|
||||||
up2k.uc.ask_up = x;
|
up2k.uc.ask_up = x;
|
||||||
};
|
};
|
||||||
if (good.length != 1 || !/\.png$/.test(good[0][1]))
|
if (good.length != 1)
|
||||||
return doit();
|
return doit();
|
||||||
|
|
||||||
modal.prompt(L.fp_name, good[0][1].slice(0, -4), function (v) {
|
var fn = good[0][1],
|
||||||
good[0][1] = v + '.png';
|
ofs = fn.lastIndexOf('.');
|
||||||
doit(true);
|
|
||||||
}, null);
|
// stop linux-chrome from adding the fs-path into the <input>
|
||||||
|
setTimeout(function () {
|
||||||
|
modal.prompt(L.fp_name, fn, function (v) {
|
||||||
|
good[0][1] = v;
|
||||||
|
doit(true);
|
||||||
|
}, null, null, 0, ofs > 0 ? ofs : undefined);
|
||||||
|
}, 1);
|
||||||
};
|
};
|
||||||
|
|
||||||
r.d_paste = function () {
|
r.d_paste = function () {
|
||||||
|
|
|
@ -1539,6 +1539,8 @@ var modal = (function () {
|
||||||
cb_up = null,
|
cb_up = null,
|
||||||
cb_ok = null,
|
cb_ok = null,
|
||||||
cb_ng = null,
|
cb_ng = null,
|
||||||
|
sel_0 = 0,
|
||||||
|
sel_1 = 0,
|
||||||
tok, tng, prim, sec, ok_cancel;
|
tok, tng, prim, sec, ok_cancel;
|
||||||
|
|
||||||
r.load = function () {
|
r.load = function () {
|
||||||
|
@ -1572,7 +1574,7 @@ var modal = (function () {
|
||||||
(inp || a).focus();
|
(inp || a).focus();
|
||||||
if (inp)
|
if (inp)
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
inp.setSelectionRange(0, inp.value.length, "forward");
|
inp.setSelectionRange(sel_0, sel_1, "forward");
|
||||||
}, 0);
|
}, 0);
|
||||||
|
|
||||||
document.addEventListener('focus', onfocus);
|
document.addEventListener('focus', onfocus);
|
||||||
|
@ -1695,16 +1697,18 @@ var modal = (function () {
|
||||||
r.show(html);
|
r.show(html);
|
||||||
}
|
}
|
||||||
|
|
||||||
r.prompt = function (html, v, cok, cng, fun) {
|
r.prompt = function (html, v, cok, cng, fun, so0, so1) {
|
||||||
q.push(function () {
|
q.push(function () {
|
||||||
_prompt(lf2br(html), v, cok, cng, fun);
|
_prompt(lf2br(html), v, cok, cng, fun, so0, so1);
|
||||||
});
|
});
|
||||||
next();
|
next();
|
||||||
}
|
}
|
||||||
var _prompt = function (html, v, cok, cng, fun) {
|
var _prompt = function (html, v, cok, cng, fun, so0, so1) {
|
||||||
cb_ok = cok;
|
cb_ok = cok;
|
||||||
cb_ng = cng === undefined ? cok : null;
|
cb_ng = cng === undefined ? cok : null;
|
||||||
cb_up = fun;
|
cb_up = fun;
|
||||||
|
sel_0 = so0 || 0;
|
||||||
|
sel_1 = so1 === undefined ? v.length : so1;
|
||||||
html += '<input id="modali" type="text" ' + NOAC + ' /><div id="modalb">' + ok_cancel + '</div>';
|
html += '<input id="modali" type="text" ' + NOAC + ' /><div id="modalb">' + ok_cancel + '</div>';
|
||||||
r.show(html);
|
r.show(html);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue