Просмотр исходного кода

[filebrowser] Fix drag & dropping files in same folder

Clément Espeute 1 месяц назад
Родитель
Сommit
2acd24bcd7
1 измененных файлов с 8 добавлено и 1 удалено
  1. 8 1
      hide/view/FileBrowser.hx

+ 8 - 1
hide/view/FileBrowser.hx

@@ -399,6 +399,9 @@ class FileBrowser extends hide.ui.View<FileBrowserState> {
 				return Reorder;
 			},
 			onDrop: function(target: FileEntry, operation: hide.comp.FancyTree.DropOperation, dataTransfer: js.html.DataTransfer) : Bool {
+				if (target.kind != Dir)
+					target = target.parent;
+
 				var files : Array<String> = [];
 				for (file in dataTransfer.files) {
 					var path : String = untyped file.path; //file.path is an extension from nwjs or node
@@ -412,13 +415,17 @@ class FileBrowser extends hide.ui.View<FileBrowserState> {
 					try {
 						var unser = haxe.Json.parse(fileMoveData);
 						for (file in (unser:Array<String>)) {
-							files.push(ide.getRelPath(file));
+							var rel = ide.getRelPath(file);
+							files.push(rel);
 						}
 					} catch (e) {
 						trace("Invalid data " + e);
 					}
 				}
 
+				if (files.length == 0)
+					return false;
+
 				moveFiles(target.getRelPath(), files);
 
 				return true;