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. 18
      src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
  2. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs

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

@ -367,12 +367,14 @@
</Path> </Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/ReferenceFolderNode"> <Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/ReferenceFolderNode">
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "AddReference" <MenuItem id = "AddReference"
label = "${res:ProjectComponent.ContextMenu.AddReference}" label = "${res:ProjectComponent.ContextMenu.AddReference}"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddReferenceToProject"/> class = "ICSharpCode.SharpDevelop.Project.Commands.AddReferenceToProject"/>
<MenuItem id = "AddWebReference" <MenuItem id = "AddWebReference"
label = "${res:ProjectComponent.ContextMenu.AddWebReference}" label = "${res:ProjectComponent.ContextMenu.AddWebReference}"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddWebReferenceToProject"/> class = "ICSharpCode.SharpDevelop.Project.Commands.AddWebReferenceToProject"/>
</Condition>
</Path> </Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/FileNode"> <Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/FileNode">
@ -402,6 +404,7 @@
<Not> <Not>
<Condition name = "Ownerstate" ownerstate = "Missing"/> <Condition name = "Ownerstate" ownerstate = "Missing"/>
</Not> </Not>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "OpenSeparator" type = "Separator" /> <MenuItem id = "OpenSeparator" type = "Separator" />
<Condition name = "Ownerstate" ownerstate = "InProject"> <Condition name = "Ownerstate" ownerstate = "InProject">
@ -420,6 +423,7 @@
</MenuItem> </MenuItem>
<MenuItem id = "AddSeparator" type = "Separator" /> <MenuItem id = "AddSeparator" type = "Separator" />
</Condition> </Condition>
</Condition>
<ComplexCondition> <ComplexCondition>
<Or> <Or>
@ -432,9 +436,11 @@
<Condition name = "Ownerstate" ownerstate = "InProject"/> <Condition name = "Ownerstate" ownerstate = "InProject"/>
<Condition name = "Ownerstate" ownerstate = "BehindFile"/> <Condition name = "Ownerstate" ownerstate = "BehindFile"/>
</Or> </Or>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "ExcludeFile" <MenuItem id = "ExcludeFile"
label = "${res:ProjectComponent.ContextMenu.ExcludeFileFromProject}" label = "${res:ProjectComponent.ContextMenu.ExcludeFileFromProject}"
class = "ICSharpCode.SharpDevelop.Project.Commands.ExcludeFileFromProject"/> class = "ICSharpCode.SharpDevelop.Project.Commands.ExcludeFileFromProject"/>
</Condition>
<MenuItem id = "ExecuteCustomTool" <MenuItem id = "ExecuteCustomTool"
label = "${res:ProjectComponent.ContextMenu.ExecuteCustomTool}" label = "${res:ProjectComponent.ContextMenu.ExecuteCustomTool}"
class = "ICSharpCode.SharpDevelop.Project.ExecuteCustomToolCommand"/> class = "ICSharpCode.SharpDevelop.Project.ExecuteCustomToolCommand"/>
@ -458,18 +464,21 @@
</Path> </Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/CutCopyRemoveRename"> <Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/CutCopyRemoveRename">
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Cut" <MenuItem id = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}" label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item" type = "Item"
icon = "Icons.16x16.CutIcon" icon = "Icons.16x16.CutIcon"
loadclasslazy = "false" loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/> class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
</Condition>
<MenuItem id = "Copy" <MenuItem id = "Copy"
label = "${res:XML.MainMenu.EditMenu.Copy}" label = "${res:XML.MainMenu.EditMenu.Copy}"
type = "Item" type = "Item"
icon = "Icons.16x16.CopyIcon" icon = "Icons.16x16.CopyIcon"
loadclasslazy = "false" loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CopyProjectBrowserNode"/> class = "ICSharpCode.SharpDevelop.Project.Commands.CopyProjectBrowserNode"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Remove" <MenuItem id = "Remove"
label = "${res:Global.RemoveButtonText}" label = "${res:Global.RemoveButtonText}"
type = "Item" type = "Item"
@ -480,9 +489,11 @@
label = "${res:ProjectComponent.ContextMenu.Rename}" label = "${res:ProjectComponent.ContextMenu.Rename}"
shortcut = "F2" shortcut = "F2"
class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/> class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/>
</Condition>
</Path> </Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/CutPasteRemoveRename"> <Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/CutPasteRemoveRename">
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Cut" <MenuItem id = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}" label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item" type = "Item"
@ -505,21 +516,25 @@
label = "${res:ProjectComponent.ContextMenu.Rename}" label = "${res:ProjectComponent.ContextMenu.Rename}"
shortcut = "F2" shortcut = "F2"
class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/> class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/>
</Condition>
</Path> </Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/CutCopyPasteDeleteRename"> <Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/CutCopyPasteDeleteRename">
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Cut" <MenuItem id = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}" label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item" type = "Item"
icon = "Icons.16x16.CutIcon" icon = "Icons.16x16.CutIcon"
loadclasslazy = "false" loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/> class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
</Condition>
<MenuItem id = "Copy" <MenuItem id = "Copy"
label = "${res:XML.MainMenu.EditMenu.Copy}" label = "${res:XML.MainMenu.EditMenu.Copy}"
type = "Item" type = "Item"
icon = "Icons.16x16.CopyIcon" icon = "Icons.16x16.CopyIcon"
loadclasslazy = "false" loadclasslazy = "false"
class = "ICSharpCode.SharpDevelop.Project.Commands.CopyProjectBrowserNode"/> class = "ICSharpCode.SharpDevelop.Project.Commands.CopyProjectBrowserNode"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Paste" <MenuItem id = "Paste"
label = "${res:XML.MainMenu.EditMenu.Paste}" label = "${res:XML.MainMenu.EditMenu.Paste}"
type = "Item" type = "Item"
@ -536,6 +551,7 @@
label = "${res:ProjectComponent.ContextMenu.Rename}" label = "${res:ProjectComponent.ContextMenu.Rename}"
shortcut = "F2" shortcut = "F2"
class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/> class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/>
</Condition>
</Path> </Path>
<Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/FolderNode"> <Path name = "/SharpDevelop/Pads/ProjectBrowser/ContextMenu/FolderNode">
@ -668,10 +684,12 @@
icon = "Icons.16x16.BrowserRefresh" icon = "Icons.16x16.BrowserRefresh"
label = "${res:AddIns.HtmlHelp2.Refresh}" label = "${res:AddIns.HtmlHelp2.Refresh}"
class = "ICSharpCode.SharpDevelop.Project.Commands.RefreshReference"/> class = "ICSharpCode.SharpDevelop.Project.Commands.RefreshReference"/>
<Condition name="WriteableProject" action="Disable">
<MenuItem id = "Remove" <MenuItem id = "Remove"
label = "${res:Global.RemoveButtonText}" label = "${res:Global.RemoveButtonText}"
icon = "Icons.16x16.DeleteIcon" icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/> class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
</Condition>
<MenuItem id = "RemoveSeparator" type = "Separator" /> <MenuItem id = "RemoveSeparator" type = "Separator" />
<MenuItem id = "Properties" <MenuItem id = "Properties"
icon = "Icons.16x16.PropertiesIcon" icon = "Icons.16x16.PropertiesIcon"

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

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

Loading…
Cancel
Save