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-02-23 20:25:42 +0300
committerLluis Sanchez <lluis@novell.com>2009-02-23 20:25:42 +0300
commit706e998792c22ec395ffa88791301d2a672f9252 (patch)
tree0af983b594e529bcb3221cdda11b70718aabbc07 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad
parent0d0a03273e44377b9a15b868a6eb661f9ce2d04e (diff)
* Makefile.am:
* MonoDevelop.Ide.csproj: Added new files. * MonoDevelop.Ide.Gui/Ide.cs: When registering for the Initialized event, fire it if the IDE has already been initialized. * MonoDevelop.Ide.Gui.Pads/TreeViewPad.cs: * MonoDevelop.Ide.Gui.Pads/SolutionPad.cs: * MonoDevelop.Ide.Codons/SolutionPadCodon.cs: * MonoDevelop.Ide.Gui.Components/ExtensibleTreeView.cs: * MonoDevelop.Ide.Gui.Components/NodeCommandHandler.cs: * MonoDevelop.Ide.Codons/PadContextMenuExtensionNode.cs: Allow setting the default context menu to be used when none is specified for a node type. * MonoDevelop.Ide.addin.xml: * MonoDevelop.Ide.Codons/ProjectActiveCondition.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFile.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolder.cs: * MonoDevelop.Ide.Gui.Pads.ClassPad/SolutionNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectSolutionPad.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/WorkspaceNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/UnknownEntryNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceNodeBuilder.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/FileOperationsBuilderExtension.cs: * MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs: Merged all project pad context menus in a single extension point. svn path=/trunk/monodevelop/; revision=127763
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/FileOperationsBuilderExtension.cs104
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FolderNodeBuilder.cs37
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs17
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolder.cs6
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs4
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectNodeBuilder.cs13
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs9
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceNodeBuilder.cs4
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectSolutionPad.cs11
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs23
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionNodeBuilder.cs23
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFile.cs6
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs17
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/UnknownEntryNodeBuilder.cs4
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/WorkspaceNodeBuilder.cs23
15 files changed, 125 insertions, 176 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FileOperationsBuilderExtension.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FileOperationsBuilderExtension.cs
new file mode 100644
index 0000000000..70f7ae31ea
--- /dev/null
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/FileOperationsBuilderExtension.cs
@@ -0,0 +1,104 @@
+//
+// FileOperationsBuilderExtension.cs
+//
+// Author:
+// Lluis Sanchez Gual <lluis@novell.com>
+//
+// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Collections.Generic;
+using MonoDevelop.Projects;
+using MonoDevelop.Components.Commands;
+using MonoDevelop.Ide.Commands;
+using MonoDevelop.Ide.Gui.Components;
+using MonoDevelop.Ide.Gui.Search;
+using MonoDevelop.Core;
+
+namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
+{
+ class FileOperationsBuilderExtension: NodeBuilderExtension
+ {
+ public override bool CanBuildNode (Type dataType)
+ {
+ return typeof(IFileItem).IsAssignableFrom (dataType) ||
+ typeof(IFolderItem).IsAssignableFrom (dataType);
+ }
+
+ public override Type CommandHandlerType {
+ get { return typeof(FileOperationsCommandHandler); }
+ }
+ }
+
+ class FileOperationsCommandHandler: NodeCommandHandler
+ {
+ string GetDir (object ob)
+ {
+ if (ob is IFolderItem)
+ return ((IFolderItem)ob).BaseDirectory;
+ else if (ob is IFileItem) {
+ string path = ((IFileItem)ob).FileName;
+ if (!string.IsNullOrEmpty (path))
+ return System.IO.Path.GetDirectoryName (path);
+ }
+ return string.Empty;
+ }
+
+ [CommandHandler (FileCommands.OpenContainingFolder)]
+ [AllowMultiSelection]
+ public void OnOpenFolder ()
+ {
+ HashSet<string> paths = new HashSet<string> ();
+ foreach (ITreeNavigator node in CurrentNodes) {
+ string path = GetDir (node.DataItem);
+ if (!string.IsNullOrEmpty (path) && paths.Add (path))
+ System.Diagnostics.Process.Start ("file://" + path);
+ }
+ }
+
+ [CommandHandler (SearchCommands.FindInFiles)]
+ public void OnFindInFiles ()
+ {
+ string path = GetDir (CurrentNode.DataItem);
+ SearchReplaceInFilesManager.ShowFindDialog (path);
+ }
+
+ public static string TerminalCommand {
+ get {
+ return PropertyService.Get ("MonoDevelop.Shell", "gnome-terminal");
+ }
+ }
+
+ [CommandHandler (FileCommands.OpenInTerminal)]
+ [AllowMultiSelection]
+ public void OnOpenInTerminal ()
+ {
+ HashSet<string> paths = new HashSet<string> ();
+ foreach (ITreeNavigator node in CurrentNodes) {
+ string path = GetDir (node.DataItem);
+ string terminal = TerminalCommand;
+ if (paths.Add (path))
+ Runtime.ProcessService.StartProcess (terminal, "", path, null);
+ }
+ }
+
+ }
+}
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 eef83c16b0..ec7ff20aa0 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
@@ -359,42 +359,5 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
CurrentNode.Expanded = true;
Tree.AddNodeInsertCallback (new ProjectFolder (directoryName, project), new TreeNodeCallback (OnFileInserted));
}
-
- [CommandHandler (SearchCommands.FindInFiles)]
- public void OnFindInFiles ()
- {
- SearchReplaceInFilesManager.ShowFindDialog (GetFolderPath (CurrentNode.DataItem));
- }
-
- public static string TerminalCommand {
- get {
- return PropertyService.Get ("MonoDevelop.Shell", "gnome-terminal");
- }
- }
-
- [CommandHandler (FileCommands.OpenInTerminal)]
- [AllowMultiSelection]
- public void OnOpenInTerminal ()
- {
- Set<string> paths = new Set<string> ();
- foreach (ITreeNavigator node in CurrentNodes) {
- string path = GetFolderPath (node.DataItem);
- string terminal = TerminalCommand;
- if (paths.Add (path))
- Runtime.ProcessService.StartProcess (terminal, "", path, null);
- }
- }
-
- [CommandHandler (FileCommands.OpenFolder)]
- [AllowMultiSelection]
- public void OnOpenFolder ()
- {
- Set<string> paths = new Set<string> ();
- foreach (ITreeNavigator node in CurrentNodes) {
- string path = GetFolderPath (node.DataItem);
- if (paths.Add (path))
- System.Diagnostics.Process.Start ("file://" + path);
- }
- }
}
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs
index 2aea84b8d1..15bda14f0c 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFileNodeBuilder.cs
@@ -59,10 +59,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
return Path.GetFileName (((ProjectFile)dataObject).Name);
}
- public override string ContextMenuAddinPath {
- get { return "/MonoDevelop/Ide/ContextMenu/ProjectPad/ProjectFile"; }
- }
-
public override void GetNodeAttributes (ITreeNavigator treeNavigator, object dataObject, ref NodeAttributes attributes)
{
ProjectFile file = (ProjectFile) dataObject;
@@ -185,19 +181,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
{
}
- [CommandHandler (FileCommands.OpenContainingFolder)]
- [AllowMultiSelection]
- public void OnOpenFolder ()
- {
- Set<string> paths = new Set<string> ();
- foreach (ITreeNavigator node in CurrentNodes) {
- ProjectFile file = (ProjectFile) node.DataItem;
- string path = System.IO.Path.GetDirectoryName (file.FilePath);
- if (paths.Add (path))
- System.Diagnostics.Process.Start ("file://" + path);
- }
- }
-
public override bool CanDeleteItem ()
{
return ((ProjectFile) CurrentNode.DataItem).DependsOnFile == null;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolder.cs
index ff3acb3341..3ee167306f 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolder.cs
@@ -36,7 +36,7 @@ using MonoDevelop.Core.Gui;
namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
{
- public class ProjectFolder: IDisposable
+ public class ProjectFolder: IDisposable, IFolderItem
{
string absolutePath;
Project project;
@@ -67,6 +67,10 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
}
}
+ string IFolderItem.BaseDirectory {
+ get { return Path; }
+ }
+
public string Path {
get { return absolutePath; }
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs
index 290afd2af9..d9a5db2350 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectFolderNodeBuilder.cs
@@ -68,10 +68,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
return ((ProjectFolder)dataObject).Path;
}
- public override string ContextMenuAddinPath {
- get { return "/MonoDevelop/Ide/ContextMenu/ProjectPad/Folder"; }
- }
-
protected override void Initialize ()
{
base.Initialize ();
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectNodeBuilder.cs
index d0f411df53..a65b0f6bb2 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectNodeBuilder.cs
@@ -102,10 +102,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
return ((Project)dataObject).BaseDirectory;
}
- public override string ContextMenuAddinPath {
- get { return "/MonoDevelop/Ide/ContextMenu/ProjectPad/Project"; }
- }
-
public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf closedIcon)
{
base.BuildNode (treeBuilder, dataObject, ref label, ref icon, ref closedIcon);
@@ -347,15 +343,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
IdeApp.ProjectOperations.Save (sol);
}
}
- [CommandHandler (FileCommands.OpenContainingFolder)]
- [AllowMultiSelection]
- public void OpenContainingFolder ()
- {
- foreach (ITreeNavigator nav in CurrentNodes) {
- Project prj = nav.DataItem as Project;
- System.Diagnostics.Process.Start ("file://" + prj.BaseDirectory);
- }
- }
[CommandHandler (ProjectCommands.AddReference)]
public void AddReferenceToProject ()
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs
index 4e725a3a6f..c9ffc917c8 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceFolderNodeBuilder.cs
@@ -57,10 +57,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
return "References";
}
- public override string ContextMenuAddinPath {
- get { return "/MonoDevelop/Ide/ContextMenu/ProjectPad/ReferenceFolder"; }
- }
-
protected override void Initialize ()
{
addedHandler = (ProjectReferenceEventHandler) DispatchService.GuiDispatch (new ProjectReferenceEventHandler (OnAddReference));
@@ -121,11 +117,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
public class ProjectReferenceFolderNodeCommandHandler: NodeCommandHandler
{
- public override DragOperation CanDragNode ()
- {
- return DragOperation.Copy | DragOperation.Move;
- }
-
public override bool CanDropNode (object dataObject, DragOperation operation)
{
return dataObject is ProjectReference || dataObject is Project;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceNodeBuilder.cs
index ac92386ae1..7bdb3329a5 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceNodeBuilder.cs
@@ -56,10 +56,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
return ((ProjectReference)dataObject).Reference;
}
- public override string ContextMenuAddinPath {
- get { return "/MonoDevelop/Ide/ContextMenu/ProjectPad/Reference"; }
- }
-
public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf closedIcon)
{
ProjectReference pref = (ProjectReference) dataObject;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectSolutionPad.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectSolutionPad.cs
index 6586fa09a9..5c5b3c3968 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectSolutionPad.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectSolutionPad.cs
@@ -28,6 +28,7 @@
using System;
using System.Resources;
+using System.Collections.Generic;
using MonoDevelop.Projects;
using MonoDevelop.Core;
@@ -44,6 +45,16 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
IdeApp.Workbench.ActiveDocumentChanged += new EventHandler (OnWindowChanged);
}
+ public override void Initialize (MonoDevelop.Ide.Gui.Components.NodeBuilder[] builders, MonoDevelop.Ide.Gui.Components.TreePadOption[] options, string contextMenuPath)
+ {
+ base.Initialize (builders, options, contextMenuPath);
+ var aliases = new Dictionary<string,string> ();
+ aliases.Add ("SystemFile", "MonoDevelop.Ide.Gui.Pads.ProjectPad.SystemFile");
+ aliases.Add ("ProjectFolder", "MonoDevelop.Ide.Gui.Pads.ProjectPad.ProjectFolder");
+ TreeView.ContextMenuTypeNameAliases = aliases;
+ }
+
+
protected override void OnSelectionChanged (object sender, EventArgs args)
{
base.OnSelectionChanged (sender, args);
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs
index ad09ec0022..6d2e1816b9 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionFolderNodeBuilder.cs
@@ -68,10 +68,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
attributes |= NodeAttributes.AllowRename;
}
- public override string ContextMenuAddinPath {
- get { return "/MonoDevelop/Ide/ContextMenu/ProjectPad/SolutionFolder"; }
- }
-
public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf closedIcon)
{
SolutionFolder combine = dataObject as SolutionFolder;
@@ -241,25 +237,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
}
}
- [CommandHandler (FileCommands.OpenContainingFolder)]
- [AllowMultiSelection]
- public void OpenContainingFolder ()
- {
- Set<string> paths = new Set<string> ();
- foreach (ITreeNavigator node in CurrentNodes) {
- SolutionFolder folder = (SolutionFolder) node.DataItem;
- if (paths.Add (folder.BaseDirectory))
- System.Diagnostics.Process.Start ("file://" + folder.BaseDirectory);
- }
- }
-
- [CommandHandler (SearchCommands.FindInFiles)]
- public void OnFindInFiles ()
- {
- SolutionFolder folder = (SolutionFolder) CurrentNode.DataItem;
- SearchReplaceInFilesManager.ShowFindDialog (folder.BaseDirectory);
- }
-
void OnEntryInserted (ITreeNavigator nav)
{
nav.Selected = true;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionNodeBuilder.cs
index 573d185050..5969db83c5 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SolutionNodeBuilder.cs
@@ -85,10 +85,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
attributes |= NodeAttributes.AllowRename;
}
- public override string ContextMenuAddinPath {
- get { return "/MonoDevelop/Ide/ContextMenu/ProjectPad/Solution"; }
- }
-
public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf closedIcon)
{
Solution solution = dataObject as Solution;
@@ -313,25 +309,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
Tree.StartLabelEdit ();
}
- [CommandHandler (FileCommands.OpenContainingFolder)]
- [AllowMultiSelection]
- public void OnOpenFolder ()
- {
- Set<string> paths = new Set<string> ();
- foreach (ITreeNavigator node in CurrentNodes) {
- Solution solution = (Solution) node.DataItem;
- if (paths.Add (solution.BaseDirectory))
- System.Diagnostics.Process.Start ("file://" + solution.BaseDirectory);
- }
- }
-
- [CommandHandler (SearchCommands.FindInFiles)]
- public void OnFindInFiles ()
- {
- Solution solution = (Solution) CurrentNode.DataItem;
- SearchReplaceInFilesManager.ShowFindDialog (solution.BaseDirectory);
- }
-
[CommandHandler (FileCommands.CloseWorkspaceItem)]
[AllowMultiSelection]
public void OnCloseItem ()
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFile.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFile.cs
index 886be93c95..a6c3c2c91e 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFile.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFile.cs
@@ -33,7 +33,7 @@ using MonoDevelop.Projects;
namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
{
- public class SystemFile
+ public class SystemFile: IFileItem
{
string absolutePath;
Project project;
@@ -54,6 +54,10 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
get { return absolutePath; }
}
+ string IFileItem.FileName {
+ get { return Path; }
+ }
+
public string Name {
get { return System.IO.Path.GetFileName (absolutePath); }
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs
index ef8a33489a..bd456a36a5 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/SystemFileNodeBuilder.cs
@@ -56,10 +56,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
return Path.GetFileName (((SystemFile)dataObject).Name);
}
- public override string ContextMenuAddinPath {
- get { return "/MonoDevelop/Ide/ContextMenu/ProjectPad/SystemFile"; }
- }
-
public override void GetNodeAttributes (ITreeNavigator treeNavigator, object dataObject, ref NodeAttributes attributes)
{
attributes |= NodeAttributes.AllowRename;
@@ -187,18 +183,5 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
prev = fv;
}
}
-
- [CommandHandler (FileCommands.OpenContainingFolder)]
- [AllowMultiSelection]
- public void OnOpenFolder ()
- {
- Set<string> folders = new Set<string> ();
- foreach (ITreeNavigator node in CurrentNodes) {
- SystemFile file = node.DataItem as SystemFile;
- string path = System.IO.Path.GetDirectoryName (file.Path);
- if (folders.Add (path))
- System.Diagnostics.Process.Start ("file://" + path);
- }
- }
}
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/UnknownEntryNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/UnknownEntryNodeBuilder.cs
index 7642b75b8e..1b333d1774 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/UnknownEntryNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/UnknownEntryNodeBuilder.cs
@@ -44,10 +44,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
get { return typeof(UnknownSolutionItem); }
}
- public override string ContextMenuAddinPath {
- get { return "/MonoDevelop/Ide/ContextMenu/ProjectPad/UnknownEntry"; }
- }
-
public override Type CommandHandlerType {
get { return typeof(UnknownEntryCommandHandler); }
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/WorkspaceNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/WorkspaceNodeBuilder.cs
index 72c626d69f..7b9e7bf57f 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/WorkspaceNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/WorkspaceNodeBuilder.cs
@@ -75,10 +75,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
attributes |= NodeAttributes.AllowRename;
}
- public override string ContextMenuAddinPath {
- get { return "/MonoDevelop/Ide/ContextMenu/ProjectPad/Workspace"; }
- }
-
public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf closedIcon)
{
Workspace workspace = dataObject as Workspace;
@@ -296,25 +292,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
nav.Expanded = true;
}
- [CommandHandler (FileCommands.OpenContainingFolder)]
- [AllowMultiSelection]
- public void OnOpenFolder ()
- {
- Set<string> paths = new Set<string> ();
- foreach (ITreeNavigator node in CurrentNodes) {
- Workspace ws = (Workspace) node.DataItem;
- if (paths.Add (ws.BaseDirectory))
- System.Diagnostics.Process.Start ("file://" + ws.BaseDirectory);
- }
- }
-
- [CommandHandler (SearchCommands.FindInFiles)]
- public void OnFindInFiles ()
- {
- Workspace ws = (Workspace) CurrentNode.DataItem;
- SearchReplaceInFilesManager.ShowFindDialog (ws.BaseDirectory);
- }
-
[CommandHandler (FileCommands.CloseWorkspaceItem)]
[AllowMultiSelection]
public void OnCloseItem ()