Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@novell.com>2009-06-26 16:44:00 +0400
committerLluis Sanchez <lluis@novell.com>2009-06-26 16:44:00 +0400
commit02183f781050008d8dfee6ff3dff472f52aeb937 (patch)
tree8f70887ffdb14aa8a5e9b8942e06e7ceb4775729 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad
parent32552dcd6920979cc64bc0fb64a955017bcafb28 (diff)
* MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs: Allow
dropping files from nautilus/explorer to the project pad. svn path=/trunk/monodevelop/; revision=136953
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs31
1 files changed, 28 insertions, 3 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs
index dd36b55f02..0ea5cec9a6 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs
@@ -140,9 +140,15 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
if (dataObject is ProjectFile) {
ProjectFile file = (ProjectFile) dataObject;
return Path.GetDirectoryName (file.Name) != targetPath && file.DependsOnFile == null;
- } if (dataObject is ProjectFolder) {
+ }
+ else if (dataObject is ProjectFolder) {
return ((ProjectFolder)dataObject).Path != targetPath;
}
+ else if (dataObject is Gtk.SelectionData) {
+ SelectionData data = (SelectionData) dataObject;
+ if (data.Type == "text/uri-list")
+ return true;
+ }
return false;
}
@@ -172,14 +178,33 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
}
else if (dataObject is ProjectFile) {
ProjectFile file = (ProjectFile) dataObject;
- source = file.Name;
+ source = file.FilePath;
sourceProject = file.Project;
groupedChildren = file.DependentChildren;
what = null;
ask = false;
- } else {
+ }
+ else if (dataObject is Gtk.SelectionData) {
+ SelectionData data = (SelectionData) dataObject;
+ if (data.Type != "text/uri-list")
+ return;
+ source = System.Text.Encoding.UTF8.GetString (data.Data);
+ string[] files = source.Split (new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
+ for (int n=0; n<files.Length; n++) {
+ Uri uri = new Uri (files[n]);
+ if (uri.Scheme != "file")
+ return;
+ if (Directory.Exists (uri.LocalPath))
+ return;
+ files[n] = uri.LocalPath;
+ }
+
+ IdeApp.ProjectOperations.AddFilesToProject (targetProject, files, targetPath);
+ projectsToSave.Add (targetProject);
return;
}
+ else
+ return;
if (ask) {
string q;