Detect file dragging

This commit is contained in:
DanyaPostfactum 2013-02-06 12:56:19 +10:00
commit bb9f98e435
2 changed files with 12 additions and 1 deletions

View file

@ -397,7 +397,9 @@ bindCheckbox("highlight_token", function(checked) {
/************** dragover ***************************/
event.addListener(container, "dragover", function(e) {
return event.preventDefault(e);
var types = e.dataTransfer.types;
if (types && Array.prototype.indexOf.call(types, 'Files') !== -1)
return event.preventDefault(e);
});
event.addListener(container, "drop", function(e) {

View file

@ -43,6 +43,9 @@ var DragdropHandler = function(mouseHandler) {
event.addListener(mouseTarget, "dragenter", function(e) {
if (editor.getReadOnly())
return;
var types = e.dataTransfer.types;
if (types && Array.prototype.indexOf.call(types, 'Files') !== -1)
return;
counter++;
if (!dragSelectionMarker) {
range = editor.getSelectionRange();
@ -59,6 +62,9 @@ var DragdropHandler = function(mouseHandler) {
event.addListener(mouseTarget, "dragover", function(e) {
if (editor.getReadOnly())
return;
var types = e.dataTransfer.types;
if (types && Array.prototype.indexOf.call(types, 'Files') !== -1)
return;
x = e.clientX;
y = e.clientY;
return event.preventDefault(e);
@ -73,6 +79,9 @@ var DragdropHandler = function(mouseHandler) {
event.addListener(mouseTarget, "dragleave", function(e) {
if (editor.getReadOnly())
return;
var types = e.dataTransfer.types;
if (types && Array.prototype.indexOf.call(types, 'Files') !== -1)
return;
counter--;
if (counter > 0)
return;