This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
This is an issue for the review of new drag and drop implementation which allows files to be dragged from outside to the IDE and also allows files to be dragged from the IDE to other applications.
Created attachment 30706 [details] source code diffs
The overhaul of file related drag and drop implementation adds to following features: * drag a file from an external application and drop it to Projects view or Files view to copy the file to a selected project folder (the same applies to copy/paste operations) * drag a file from an external application and drop it to editor area to open the file in a new editor tab * drag a file from Projects view or Files view and drop it to an external application (e.g. file manager) to move or to copy the file to a new folder (same applies to copy/cut/paste operations) Full UI specification is available here: http://core.netbeans.org/proposals/dnd-ui-spec.html The following modules are affected: * openide/explorer, openide/loaders - for dropping of files into Projects/Files view. There's no new Java interface introduced, only the DataFolder.FolderNode now supports standard DataFlavors for file drag and drop (javaFileList and URI file list) and drag and drop support in explorer module now passes appropriate drag events to Nodes under the cursor * openide/loaders - for the dragging of files from the IDE. The DataObject now adds standard file drag and drop DataFlavors when it constructs its Transferable for dragging. * openide/windows, utilities, openide/text, core/windows - for the opening of dragged files in a new editor tab. Module openide/windows adds a new Java interface org.openide.windows.ExternalDropHandler. The implementation of this interface is available in the global Lookup (default implementation is in utilities module) and is used by the window system to handle dragged files.
Missing @since tag in ExternalDropHandler core/windows shall depend on openide/windows > 6.7, other modules as well.
if there are no more comments i'll add the @since tag and i'll integrate it to trunk tomorrow.
the changes were merged to trunk Checking in utilities/test/cfg-unit.xml; /cvs/utilities/test/cfg-unit.xml,v <-- cfg-unit.xml new revision: 1.2; previous revision: 1.1 done Checking in utilities/test/build-unit.xml; /cvs/utilities/test/build-unit.xml,v <-- build-unit.xml new revision: 1.2; previous revision: 1.1 done Checking in utilities/test/build.xml; /cvs/utilities/test/build.xml,v <-- build.xml new revision: 1.2; previous revision: 1.1 done Checking in openide/explorer/src/org/openide/explorer/view/ListView.java; /cvs/openide/explorer/src/org/openide/explorer/view/ListView.java,v <-- ListView.java new revision: 1.9; previous revision: 1.8 done Checking in openide/explorer/src/org/openide/explorer/view/TreeViewDropSupport.java; /cvs/openide/explorer/src/org/openide/explorer/view/TreeViewDropSupport.java,v <-- TreeViewDropSupport.java new revision: 1.5; previous revision: 1.4 done Checking in openide/explorer/src/org/openide/explorer/view/ListViewDropSupport.java; /cvs/openide/explorer/src/org/openide/explorer/view/ListViewDropSupport.java,v <-- ListViewDropSupport.java new revision: 1.5; previous revision: 1.4 done Checking in openide/explorer/src/org/openide/explorer/view/TreeView.java; /cvs/openide/explorer/src/org/openide/explorer/view/TreeView.java,v <-- TreeView.java new revision: 1.11; previous revision: 1.10 done Checking in openide/explorer/src/org/openide/explorer/view/ExplorerDnDManager.java; /cvs/openide/explorer/src/org/openide/explorer/view/ExplorerDnDManager.java,v <-- ExplorerDnDManager.java new revision: 1.2; previous revision: 1.1 done Checking in utilities/src/META-INF/services/org.openide.windows.ExternalDropHandler; /cvs/utilities/src/META-INF/services/org.openide.windows.ExternalDropHandler,v <-- org.openide.windows.ExternalDropHandler new revision: 1.2; previous revision: 1.1 done Checking in openide/loaders/api/apichanges.xml; /cvs/openide/loaders/api/apichanges.xml,v <-- apichanges.xml new revision: 1.20; previous revision: 1.19 done Checking in openide/text/apichanges.xml; /cvs/openide/text/apichanges.xml,v <-- apichanges.xml new revision: 1.12; previous revision: 1.11 done Checking in openide/text/manifest.mf; /cvs/openide/text/manifest.mf,v <-- manifest.mf new revision: 1.13; previous revision: 1.12 done Checking in openide/loaders/nbproject/project.xml; /cvs/openide/loaders/nbproject/project.xml,v <-- project.xml new revision: 1.14; previous revision: 1.13 done Checking in openide/loaders/nbproject/project.properties; /cvs/openide/loaders/nbproject/project.properties,v <-- project.properties new revision: 1.11; previous revision: 1.10 done Checking in core/windows/src/org/netbeans/core/windows/view/EditorView.java; /cvs/core/windows/src/org/netbeans/core/windows/view/EditorView.java,v <-- EditorView.java new revision: 1.20; previous revision: 1.19 done Checking in utilities/src/org/netbeans/modules/openfile/DefaultExternalDropHandler.java; /cvs/utilities/src/org/netbeans/modules/openfile/DefaultExternalDropHandler.java,v <-- DefaultExternalDropHandler.java new revision: 1.2; previous revision: 1.1 done Checking in utilities/src/org/netbeans/modules/openfile/OpenFile.java; /cvs/utilities/src/org/netbeans/modules/openfile/OpenFile.java,v <-- OpenFile.java new revision: 1.62; previous revision: 1.61 done Checking in openide/windows/src/org/openide/windows/ExternalDropHandler.java; /cvs/openide/windows/src/org/openide/windows/ExternalDropHandler.java,v <-- ExternalDropHandler.java new revision: 1.2; previous revision: 1.1 done Checking in openide/text/src/org/openide/text/QuietEditorPane.java; /cvs/openide/text/src/org/openide/text/QuietEditorPane.java,v <-- QuietEditorPane.java new revision: 1.6; previous revision: 1.5 done Checking in core/windows/nbproject/project.xml; /cvs/core/windows/nbproject/project.xml,v <-- project.xml new revision: 1.13; previous revision: 1.12 done Checking in openide/loaders/src/org/openide/loaders/DataNode.java; /cvs/openide/loaders/src/org/openide/loaders/DataNode.java,v <-- DataNode.java new revision: 1.25; previous revision: 1.24 done Checking in openide/loaders/src/org/openide/loaders/DataFolder.java; /cvs/openide/loaders/src/org/openide/loaders/DataFolder.java,v <-- DataFolder.java new revision: 1.47; previous revision: 1.46 done Checking in openide/loaders/manifest.mf; /cvs/openide/loaders/manifest.mf,v <-- manifest.mf new revision: 1.28; previous revision: 1.27 done Checking in openide/explorer/manifest.mf; /cvs/openide/explorer/manifest.mf,v <-- manifest.mf new revision: 1.9; previous revision: 1.8 done Checking in openide/explorer/apichanges.xml; /cvs/openide/explorer/apichanges.xml,v <-- apichanges.xml new revision: 1.7; previous revision: 1.6 done Checking in openide/windows/manifest.mf; /cvs/openide/windows/manifest.mf,v <-- manifest.mf new revision: 1.8; previous revision: 1.7 done Checking in openide/windows/apichanges.xml; /cvs/openide/windows/apichanges.xml,v <-- apichanges.xml new revision: 1.4; previous revision: 1.3 done Checking in utilities/test/unit/src/org/netbeans/modules/openfile/DefaultExternalDropHandlerTest.java; /cvs/utilities/test/unit/src/org/netbeans/modules/openfile/DefaultExternalDropHandlerTest.java,v <-- DefaultExternalDropHandlerTest.java new revision: 1.2; previous revision: 1.1 done Checking in openide/text/nbproject/project.xml; /cvs/openide/text/nbproject/project.xml,v <-- project.xml new revision: 1.8; previous revision: 1.7 done Checking in openide/loaders/test/unit/src/org/openide/loaders/DataFolderPasteTypesTest.java; /cvs/openide/loaders/test/unit/src/org/openide/loaders/DataFolderPasteTypesTest.java,v <-- DataFolderPasteTypesTest.java new revision: 1.2; previous revision: 1.1 done Checking in openide/loaders/test/unit/src/org/openide/loaders/DragAndDropDataNodeTest.java; /cvs/openide/loaders/test/unit/src/org/openide/loaders/DragAndDropDataNodeTest.java,v <-- DragAndDropDataNodeTest.java new revision: 1.2; previous revision: 1.1 done Checking in utilities/nbproject/project.xml; /cvs/utilities/nbproject/project.xml,v <-- project.xml new revision: 1.16; previous revision: 1.15 done Checking in utilities/nbproject/project.properties; /cvs/utilities/nbproject/project.properties,v <-- project.properties new revision: 1.15; previous revision: 1.14 done