mirror of
https://github.com/9001/copyparty.git
synced 2025-08-18 17:32:20 -06:00
fix clipboard sharing on recent firefox versions
This commit is contained in:
parent
e111edd5e4
commit
a2af61cf6f
|
@ -1808,7 +1808,7 @@ var fileman = (function () {
|
||||||
|
|
||||||
r.render = function () {
|
r.render = function () {
|
||||||
if (r.clip === null)
|
if (r.clip === null)
|
||||||
r.clip = jread('fman_clip', []);
|
r.clip = jread('fman_clip', []).slice(1);
|
||||||
|
|
||||||
var nsel = msel.getsel().length;
|
var nsel = msel.getsel().length;
|
||||||
clmod(bren, 'en', nsel);
|
clmod(bren, 'en', nsel);
|
||||||
|
@ -2169,7 +2169,7 @@ var fileman = (function () {
|
||||||
vps = [];
|
vps = [];
|
||||||
|
|
||||||
if (!sel.length)
|
if (!sel.length)
|
||||||
return toast.err(3, 'select at least 1 item to cut');
|
toast.err(3, 'select at least 1 item to cut');
|
||||||
|
|
||||||
var els = [];
|
var els = [];
|
||||||
for (var a = 0; a < sel.length; a++) {
|
for (var a = 0; a < sel.length; a++) {
|
||||||
|
@ -2186,12 +2186,14 @@ var fileman = (function () {
|
||||||
}, 1);
|
}, 1);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
vps = JSON.stringify(vps);
|
var stamp = Date.now();
|
||||||
|
vps = JSON.stringify([stamp].concat(vps));
|
||||||
if (vps.length > 1024 * 1024)
|
if (vps.length > 1024 * 1024)
|
||||||
throw 'a';
|
throw 'a';
|
||||||
|
|
||||||
swrite('fman_clip', vps);
|
swrite('fman_clip', vps);
|
||||||
r.tx(1);
|
r.tx(stamp);
|
||||||
|
if (sel.length)
|
||||||
toast.inf(1.5, 'cut ' + sel.length + ' items');
|
toast.inf(1.5, 'cut ' + sel.length + ' items');
|
||||||
}
|
}
|
||||||
catch (ex) {
|
catch (ex) {
|
||||||
|
@ -2266,15 +2268,28 @@ var fileman = (function () {
|
||||||
|
|
||||||
modal.confirm('paste these ' + req.length + ' items here?<ul>' + uricom_adec(req, true).join('') + '</ul>', function () {
|
modal.confirm('paste these ' + req.length + ' items here?<ul>' + uricom_adec(req, true).join('') + '</ul>', function () {
|
||||||
paster();
|
paster();
|
||||||
jwrite('fman_clip', []);
|
jwrite('fman_clip', [Date.now()]);
|
||||||
}, null);
|
}, null);
|
||||||
};
|
};
|
||||||
|
|
||||||
function onmsg(msg) {
|
function onmsg(msg) {
|
||||||
r.clip = null;
|
r.clip = null;
|
||||||
|
var n = parseInt('' + msg), tries = 0;
|
||||||
|
var fun = function () {
|
||||||
|
if (n == msg && n > 1 && r.clip === null) {
|
||||||
|
var fc = jread('fman_clip', []);
|
||||||
|
if (!fc || !fc.length || fc[0] != n) {
|
||||||
|
if (++tries > 10)
|
||||||
|
return modal.alert('failed to read clipboard from other browser tab');
|
||||||
|
|
||||||
|
return setTimeout(fun, 100);
|
||||||
|
}
|
||||||
|
}
|
||||||
r.render();
|
r.render();
|
||||||
if (msg == get_evpath())
|
if (msg == get_evpath())
|
||||||
treectl.goto(msg);
|
treectl.goto(msg);
|
||||||
|
};
|
||||||
|
fun();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (r.bus)
|
if (r.bus)
|
||||||
|
|
Loading…
Reference in a new issue