diff options
author | Lluis Sanchez <slluis.devel@gmail.com> | 2016-07-14 16:33:58 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-14 16:33:58 +0300 |
commit | e5f0129e45fc5a96893e25f578fc25a8f446c1a5 (patch) | |
tree | f4bba27ddd6979f46c29a7a62a78376439fbbbe3 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad | |
parent | 7b1c2a6170af449f6a1b82c5ef8bc0914a8ac15a (diff) | |
parent | 92f550248c0f3b2a1275d383e61a5cf1fe71cb62 (diff) |
Merge pull request #1567 from sevoku/fix-add-file-location
[Ide] Optimize initial Add File location [Bug 8506][Bug 18568]
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.cs | 7 |
1 files changed, 6 insertions, 1 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 f98851aa14..1a84fa148e 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 @@ -153,6 +153,11 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad get; set; } + static FolderCommandHandler () + { + IdeApp.Workspace.LastWorkspaceItemClosed += (sender, e) => PreviousFolderPath = null; + } + public abstract string GetFolderPath (object dataObject); public override bool CanDropNode (object dataObject, DragOperation operation) @@ -396,7 +401,7 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad var targetRoot = ((FilePath) GetFolderPath (CurrentNode.DataItem)).CanonicalPath; AddFileDialog fdiag = new AddFileDialog (GettextCatalog.GetString ("Add files")); - fdiag.CurrentFolder = !PreviousFolderPath.IsNullOrEmpty ? PreviousFolderPath : targetRoot; + fdiag.CurrentFolder = !PreviousFolderPath.IsNullOrEmpty && !PreviousFolderPath.IsChildPathOf (project.ParentSolution.BaseDirectory) ? PreviousFolderPath : targetRoot; fdiag.SelectMultiple = true; fdiag.TransientFor = IdeApp.Workbench.RootWindow; fdiag.BuildActions = project.GetBuildActions (); |