From 7917453b1958a5dcd884c051fa23ce351909b113 Mon Sep 17 00:00:00 2001 From: ZerX Date: Fri, 19 Aug 2022 13:13:29 +0200 Subject: [PATCH] Drag and drop feature for Project Explorer --- .../Panels/ProjectExplorerPanel.Designer.cs | 3 +++ CodeWalker/Project/Panels/ProjectExplorerPanel.cs | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/CodeWalker/Project/Panels/ProjectExplorerPanel.Designer.cs b/CodeWalker/Project/Panels/ProjectExplorerPanel.Designer.cs index 5bebe08..55699cc 100644 --- a/CodeWalker/Project/Panels/ProjectExplorerPanel.Designer.cs +++ b/CodeWalker/Project/Panels/ProjectExplorerPanel.Designer.cs @@ -34,6 +34,7 @@ // // ProjectTreeView // + this.ProjectTreeView.AllowDrop = true; this.ProjectTreeView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.ProjectTreeView.Dock = System.Windows.Forms.DockStyle.Fill; this.ProjectTreeView.FullRowSelect = true; @@ -47,6 +48,8 @@ this.ProjectTreeView.BeforeCollapse += new System.Windows.Forms.TreeViewCancelEventHandler(this.ProjectTreeView_BeforeCollapse); this.ProjectTreeView.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.ProjectTreeView_BeforeExpand); this.ProjectTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.ProjectTreeView_AfterSelect); + this.ProjectTreeView.DragDrop += new System.Windows.Forms.DragEventHandler(this.ProjectTreeView_DragDrop); + this.ProjectTreeView.DragEnter += new System.Windows.Forms.DragEventHandler(this.ProjectTreeView_DragEnter); this.ProjectTreeView.DoubleClick += new System.EventHandler(this.ProjectTreeView_DoubleClick); this.ProjectTreeView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ProjectTreeView_MouseDown); // diff --git a/CodeWalker/Project/Panels/ProjectExplorerPanel.cs b/CodeWalker/Project/Panels/ProjectExplorerPanel.cs index 872ce34..9d8592e 100644 --- a/CodeWalker/Project/Panels/ProjectExplorerPanel.cs +++ b/CodeWalker/Project/Panels/ProjectExplorerPanel.cs @@ -2708,6 +2708,20 @@ namespace CodeWalker.Project.Panels { inDoubleClick = (e.Clicks > 1); //disabling doubleclick expand/collapse } + + private void ProjectTreeView_DragEnter(object sender, DragEventArgs e) + { + if (e.Data.GetData(DataFormats.FileDrop) != null) //disabling drag and drop text + e.Effect = DragDropEffects.All; + } + + private void ProjectTreeView_DragDrop(object sender, DragEventArgs e) + { + string[] files = (string[]) e.Data.GetData(DataFormats.FileDrop); + ProjectForm.OpenFiles(files); + + } + } public delegate void ProjectExplorerItemSelectHandler(object item); public delegate void ProjectExplorerItemActivateHandler(object item);