@@ -34,12 +34,12 @@ import { fillInContextMenuActions } from 'vs/platform/actions/browser/menuItemAc
3434import { IMenuService , MenuId , IMenu } from 'vs/platform/actions/common/actions' ;
3535import { DirtyEditorContext , OpenEditorsGroupContext } from 'vs/workbench/parts/files/electron-browser/fileCommands' ;
3636import { ResourceContextKey } from 'vs/workbench/common/resources' ;
37- import { ResourcesDropHandler , fillResourceDataTransfers } from 'vs/workbench/browser/dnd' ;
37+ import { ResourcesDropHandler , fillResourceDataTransfers , CodeDataTransfers } from 'vs/workbench/browser/dnd' ;
3838import { ViewletPanel , IViewletPanelOptions } from 'vs/workbench/browser/parts/views/panelViewlet' ;
3939import { IViewletViewOptions } from 'vs/workbench/browser/parts/views/viewsViewlet' ;
40- import { IDragAndDropData } from 'vs/base/browser/dnd' ;
40+ import { IDragAndDropData , DataTransfers } from 'vs/base/browser/dnd' ;
4141import { memoize } from 'vs/base/common/decorators' ;
42- import { ElementsDragAndDropData } from 'vs/base/browser/ui/list/listView' ;
42+ import { ElementsDragAndDropData , DesktopDragAndDropData } from 'vs/base/browser/ui/list/listView' ;
4343import { URI } from 'vs/base/common/uri' ;
4444
4545const $ = dom . $ ;
@@ -645,6 +645,18 @@ class OpenEditorsDragAndDrop implements IListDragAndDrop<OpenEditor | IEditorGro
645645 }
646646
647647 onDragOver ( data : IDragAndDropData , targetElement : OpenEditor | IEditorGroup , targetIndex : number , originalEvent : DragEvent ) : boolean | IListDragOverReaction {
648+ if ( data instanceof DesktopDragAndDropData ) {
649+ const types = originalEvent . dataTransfer . types ;
650+ const typesArray : string [ ] = [ ] ;
651+ for ( let i = 0 ; i < types . length ; i ++ ) {
652+ typesArray . push ( types [ i ] . toLowerCase ( ) ) ; // somehow the types are lowercase
653+ }
654+
655+ if ( typesArray . indexOf ( DataTransfers . FILES . toLowerCase ( ) ) === - 1 && typesArray . indexOf ( CodeDataTransfers . FILES . toLowerCase ( ) ) === - 1 ) {
656+ return false ;
657+ }
658+ }
659+
648660 return true ;
649661 }
650662
0 commit comments