Browse Source

disable ReferenceNode, ReferenceFolder and other node actions in Project Browser if project is readonly

4.1
Siegfried Pammer 15 years ago
parent
commit
37516c1a01
  1. 198
      src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
  2. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs

198
src/Main/Base/Project/ICSharpCode.SharpDevelop.addin

@ -367,12 +367,14 @@ @@ -367,12 +367,14 @@
</Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/ReferenceFolderNode">
<MenuItem id = "AddReference"
label = "${res:ProjectComponent.ContextMenu.AddReference}"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddReferenceToProject"/>
<MenuItem id = "AddWebReference"
label = "${res:ProjectComponent.ContextMenu.AddWebReference}"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddWebReferenceToProject"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "AddReference"
label = "${res:ProjectComponent.ContextMenu.AddReference}"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddReferenceToProject"/>
<MenuItem id = "AddWebReference"
label = "${res:ProjectComponent.ContextMenu.AddWebReference}"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddWebReferenceToProject"/>
</Condition>
</Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/FileNode">
@ -402,23 +404,25 @@ @@ -402,23 +404,25 @@
<Not>
<Condition name = "Ownerstate" ownerstate = "Missing"/>
</Not>
<MenuItem id = "OpenSeparator" type = "Separator" />
<Condition name = "Ownerstate" ownerstate = "InProject">
<MenuItem id = "Add" label = "${res:ProjectComponent.ContextMenu.AddMenu}" type="Menu">
<Include path="/SharpDevelop/Pads/ProjectBrowser/ContextMenu/FolderNode/Add"/>
<MenuItem id = "AddDependentSeparator"
type = "Separator" />
<MenuItem id = "NewDependentItem"
label = "${res:ProjectComponent.ContextMenu.NewDependentItem}"
icon = "ProjectBrowser.CodeBehind"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddNewDependentItemsToProject"/>
<MenuItem id = "ExistingItemAsDependent"
label = "${res:ProjectComponent.ContextMenu.ExistingItemAsDependent}"
icon = "ProjectBrowser.CodeBehind"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddExistingItemsToProjectAsDependent"/>
</MenuItem>
<MenuItem id = "AddSeparator" type = "Separator" />
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "OpenSeparator" type = "Separator" />
<Condition name = "Ownerstate" ownerstate = "InProject">
<MenuItem id = "Add" label = "${res:ProjectComponent.ContextMenu.AddMenu}" type="Menu">
<Include path="/SharpDevelop/Pads/ProjectBrowser/ContextMenu/FolderNode/Add"/>
<MenuItem id = "AddDependentSeparator"
type = "Separator" />
<MenuItem id = "NewDependentItem"
label = "${res:ProjectComponent.ContextMenu.NewDependentItem}"
icon = "ProjectBrowser.CodeBehind"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddNewDependentItemsToProject"/>
<MenuItem id = "ExistingItemAsDependent"
label = "${res:ProjectComponent.ContextMenu.ExistingItemAsDependent}"
icon = "ProjectBrowser.CodeBehind"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddExistingItemsToProjectAsDependent"/>
</MenuItem>
<MenuItem id = "AddSeparator" type = "Separator" />
</Condition>
</Condition>
<ComplexCondition>
@ -432,9 +436,11 @@ @@ -432,9 +436,11 @@
<Condition name = "Ownerstate" ownerstate = "InProject"/>
<Condition name = "Ownerstate" ownerstate = "BehindFile"/>
</Or>
<MenuItem id = "ExcludeFile"
label = "${res:ProjectComponent.ContextMenu.ExcludeFileFromProject}"
class = "ICSharpCode.SharpDevelop.Project.Commands.ExcludeFileFromProject"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "ExcludeFile"
label = "${res:ProjectComponent.ContextMenu.ExcludeFileFromProject}"
class = "ICSharpCode.SharpDevelop.Project.Commands.ExcludeFileFromProject"/>
</Condition>
<MenuItem id = "ExecuteCustomTool"
label = "${res:ProjectComponent.ContextMenu.ExecuteCustomTool}"
class = "ICSharpCode.SharpDevelop.Project.ExecuteCustomToolCommand"/>
@ -458,84 +464,94 @@ @@ -458,84 +464,94 @@
</Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/CutCopyRemoveRename">
<MenuItem id = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
</Condition>
<MenuItem id = "Copy"
label = "${res:XML.MainMenu.EditMenu.Copy}"
type = "Item"
icon = "Icons.16x16.CopyIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CopyProjectBrowserNode"/>
<MenuItem id = "Remove"
label = "${res:Global.RemoveButtonText}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
<MenuItem id = "Rename"
label = "${res:ProjectComponent.ContextMenu.Rename}"
shortcut = "F2"
class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Remove"
label = "${res:Global.RemoveButtonText}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
<MenuItem id = "Rename"
label = "${res:ProjectComponent.ContextMenu.Rename}"
shortcut = "F2"
class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/>
</Condition>
</Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/CutPasteRemoveRename">
<MenuItem id = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
<MenuItem id = "Paste"
label = "${res:XML.MainMenu.EditMenu.Paste}"
type = "Item"
icon = "Icons.16x16.PasteIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
<MenuItem id = "Remove"
label = "${res:Global.RemoveButtonText}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
<MenuItem id = "Rename"
label = "${res:ProjectComponent.ContextMenu.Rename}"
shortcut = "F2"
class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
<MenuItem id = "Paste"
label = "${res:XML.MainMenu.EditMenu.Paste}"
type = "Item"
icon = "Icons.16x16.PasteIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
<MenuItem id = "Remove"
label = "${res:Global.RemoveButtonText}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
<MenuItem id = "Rename"
label = "${res:ProjectComponent.ContextMenu.Rename}"
shortcut = "F2"
class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/>
</Condition>
</Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/CutCopyPasteDeleteRename">
<MenuItem id = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
</Condition>
<MenuItem id = "Copy"
label = "${res:XML.MainMenu.EditMenu.Copy}"
type = "Item"
icon = "Icons.16x16.CopyIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CopyProjectBrowserNode"/>
<MenuItem id = "Paste"
label = "${res:XML.MainMenu.EditMenu.Paste}"
type = "Item"
icon = "Icons.16x16.PasteIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
<MenuItem id = "Delete"
label = "${res:XML.MainMenu.EditMenu.Delete}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
<MenuItem id = "Rename"
label = "${res:ProjectComponent.ContextMenu.Rename}"
shortcut = "F2"
class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Paste"
label = "${res:XML.MainMenu.EditMenu.Paste}"
type = "Item"
icon = "Icons.16x16.PasteIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
<MenuItem id = "Delete"
label = "${res:XML.MainMenu.EditMenu.Delete}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
<MenuItem id = "Rename"
label = "${res:ProjectComponent.ContextMenu.Rename}"
shortcut = "F2"
class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/>
</Condition>
</Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/FolderNode">
@ -668,10 +684,12 @@ @@ -668,10 +684,12 @@
icon = "Icons.16x16.BrowserRefresh"
label = "${res:AddIns.HtmlHelp2.Refresh}"
class = "ICSharpCode.SharpDevelop.Project.Commands.RefreshReference"/>
<MenuItem id = "Remove"
label = "${res:Global.RemoveButtonText}"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Remove"
label = "${res:Global.RemoveButtonText}"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
</Condition>
<MenuItem id = "RemoveSeparator" type = "Separator" />
<MenuItem id = "Properties"
icon = "Icons.16x16.PropertiesIcon"

2
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs

@ -31,7 +31,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -31,7 +31,7 @@ namespace ICSharpCode.SharpDevelop.Project
#region Cut & Paste
public override bool EnableDelete {
get {
return true;
return !Project.ReadOnly;
}
}

Loading…
Cancel
Save