+ Added drag & drop for text files

* Fixed spaces not being allowed in text area
This commit is contained in:
Sync1211 2022-05-25 11:32:19 +02:00
parent 1cb3c795d6
commit 0685603832
No known key found for this signature in database
GPG Key ID: B8878699435E69EC
2 changed files with 13 additions and 4 deletions

View File

@ -665,6 +665,6 @@ body.high-contrast #control-overlay { background-color: var(--shade); }
height: 50vh;
width: var(--paper-width);
overflow: hidden auto;
white-space: pre-line;
white-space: break-spaces;
resize:none;
}

View File

@ -317,7 +317,16 @@ class CanvasController {
this.canvas.addEventListener('dragover', prevent_default);
this.canvas.addEventListener('dragenter', prevent_default);
this.canvas.addEventListener('drop', (event) => {
this.insertPicture(event.dataTransfer.files);
if (event.dataTransfer?.files[0]?.type.split("/")[0] == "text") {
let file_reader = new FileReader();
file_reader.onload = () => {
this.textArea.value = file_reader.result;
Dialog.alert("#text-input", () => this.insertText(this.textArea.value));
};
file_reader.readAsText(event.dataTransfer.files[0]);
} else {
this.insertPicture(event.dataTransfer.files);
}
return prevent_default(event);
});
@ -480,7 +489,7 @@ class CanvasController {
let split_pos = max_length;
let newline_index = text.indexOf("\n");
if (newline_index > 0 && newline_index < max_length) {
return [text.slice(0, newline_index).trim(), text.slice(newline_index, text.length).trim()];
return [text.slice(0, newline_index), text.slice(newline_index, text.length)];
}
if (this.wrapBySpace.checked) {
@ -488,7 +497,7 @@ class CanvasController {
if (split_pos <= 0) { split_pos = max_length; }
}
return [text.slice(0, split_pos).trim(), text.slice(split_pos, text.length).trim()];
return [text.slice(0, split_pos), text.slice(split_pos, text.length)];
}
ctx.font = canvas_font;