mirror of
https://github.com/schlagmichdoch/PairDrop.git
synced 2025-04-22 07:46:17 -04:00
Merge pull request #372 from schlagmichdoch/fix-share-mode
Fix share-mode and enable pasting for Firefox users
This commit is contained in:
commit
8826893a42
4 changed files with 17 additions and 17 deletions
|
@ -1082,7 +1082,7 @@ class PeersManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
async _onFilesSelected(message) {
|
async _onFilesSelected(message) {
|
||||||
let files = await mime.addMissingMimeTypesToFiles(message.files);
|
let files = mime.addMissingMimeTypesToFiles(message.files);
|
||||||
await this.peers[message.to].requestFileTransfer(files);
|
await this.peers[message.to].requestFileTransfer(files);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -179,10 +179,13 @@ class PeersUI {
|
||||||
|
|
||||||
this._onDragEnd();
|
this._onDragEnd();
|
||||||
|
|
||||||
if ($$('x-peer') || !$$('x-peer').contains(e.target)) return; // dropped on peer
|
if ($$('x-peer') && $$('x-peer').contains(e.target)) return; // dropped on peer
|
||||||
|
|
||||||
const files = e.dataTransfer.files;
|
let files = e.dataTransfer.files;
|
||||||
const text = e.dataTransfer.getData("text");
|
let text = e.dataTransfer.getData("text");
|
||||||
|
|
||||||
|
// convert FileList to Array
|
||||||
|
files = [...files];
|
||||||
|
|
||||||
if (files.length > 0) {
|
if (files.length > 0) {
|
||||||
Events.fire('activate-share-mode', {
|
Events.fire('activate-share-mode', {
|
||||||
|
@ -215,8 +218,11 @@ class PeersUI {
|
||||||
if (this.shareMode.active || Dialog.anyDialogShown()) return;
|
if (this.shareMode.active || Dialog.anyDialogShown()) return;
|
||||||
|
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
const files = e.clipboardData.files;
|
let files = e.clipboardData.files;
|
||||||
const text = e.clipboardData.getData("Text");
|
let text = e.clipboardData.getData("Text");
|
||||||
|
|
||||||
|
// convert FileList to Array
|
||||||
|
files = [...files];
|
||||||
|
|
||||||
if (files.length > 0) {
|
if (files.length > 0) {
|
||||||
Events.fire('activate-share-mode', {files: files});
|
Events.fire('activate-share-mode', {files: files});
|
||||||
|
@ -278,8 +284,6 @@ class PeersUI {
|
||||||
descriptorInstructions = Localization.getTranslation("instructions.activate-share-mode-shared-file");
|
descriptorInstructions = Localization.getTranslation("instructions.activate-share-mode-shared-file");
|
||||||
}
|
}
|
||||||
|
|
||||||
files = await mime.addMissingMimeTypesToFiles(files);
|
|
||||||
|
|
||||||
if (files[0].type.split('/')[0] === 'image') {
|
if (files[0].type.split('/')[0] === 'image') {
|
||||||
try {
|
try {
|
||||||
let imageUrl = await getThumbnailAsDataUrl(files[0], 80, null, 0.9);
|
let imageUrl = await getThumbnailAsDataUrl(files[0], 80, null, 0.9);
|
||||||
|
|
|
@ -396,20 +396,20 @@ const mime = (() => {
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
async guessMimeByFilename(filename) {
|
guessMimeByFilename(filename) {
|
||||||
const split = filename.split('.');
|
const split = filename.split('.');
|
||||||
if (split.length === 1) {
|
if (split.length === 1) {
|
||||||
// Filename does not include suffix
|
// Filename does not include suffix
|
||||||
return "";
|
return false;
|
||||||
}
|
}
|
||||||
const suffix = split[split.length - 1].toLowerCase();
|
const suffix = split[split.length - 1].toLowerCase();
|
||||||
return suffixToMimeMap[suffix] || "";
|
return suffixToMimeMap[suffix];
|
||||||
},
|
},
|
||||||
async addMissingMimeTypesToFiles(files) {
|
addMissingMimeTypesToFiles(files) {
|
||||||
// if filetype is empty guess via suffix otherwise leave unchanged
|
// if filetype is empty guess via suffix otherwise leave unchanged
|
||||||
for (let i = 0; i < files.length; i++) {
|
for (let i = 0; i < files.length; i++) {
|
||||||
if (!files[i].type) {
|
if (!files[i].type) {
|
||||||
files[i] = new File([files[i]], files[i].name, {type: await mime.guessMimeByFilename(files[i].name) || ""});
|
files[i] = new File([files[i]], files[i].name, {type: mime.guessMimeByFilename(files[i].name) || ""});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return files;
|
return files;
|
||||||
|
|
|
@ -11,10 +11,6 @@ body {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
overscroll-behavior: none;
|
overscroll-behavior: none;
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
/* Only allow selection on message and pair key */
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
transition: color 300ms;
|
transition: color 300ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue