From 47ada746fdac952c282f7b0816b0bb0b962e6589 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 21 Feb 2009 16:48:42 +0000 Subject: [PATCH] Fixed subversion state condition for directory/solution nodes. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3817 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../SubversionAddIn/Project/ICSharpCode.Svn.addin | 2 +- .../Project/Src/SubversionStateCondition.cs | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/AddIns/Misc/SubversionAddIn/Project/ICSharpCode.Svn.addin b/src/AddIns/Misc/SubversionAddIn/Project/ICSharpCode.Svn.addin index 1edff7eb28..16e8fd2742 100644 --- a/src/AddIns/Misc/SubversionAddIn/Project/ICSharpCode.Svn.addin +++ b/src/AddIns/Misc/SubversionAddIn/Project/ICSharpCode.Svn.addin @@ -1,5 +1,5 @@ diff --git a/src/AddIns/Misc/SubversionAddIn/Project/Src/SubversionStateCondition.cs b/src/AddIns/Misc/SubversionAddIn/Project/Src/SubversionStateCondition.cs index 59f5419ac8..dac00ca9d9 100644 --- a/src/AddIns/Misc/SubversionAddIn/Project/Src/SubversionStateCondition.cs +++ b/src/AddIns/Misc/SubversionAddIn/Project/Src/SubversionStateCondition.cs @@ -47,7 +47,7 @@ namespace ICSharpCode.Svn if (condition.Properties["item"] == "Folder") { return false; } - return Test(condition, node.FileName); + return Test(condition, node.FileName, false); } DirectoryNode dir = ProjectBrowserPad.Instance.SelectedNode as DirectoryNode; if (dir != null) { @@ -58,7 +58,7 @@ namespace ICSharpCode.Svn // Directories are not checked recursively yet. return true; } - return Test(condition, dir.Directory); + return Test(condition, dir.Directory, true); } SolutionNode sol = ProjectBrowserPad.Instance.SelectedNode as SolutionNode; if (sol != null) { @@ -69,19 +69,21 @@ namespace ICSharpCode.Svn // Directories are not checked recursively yet. return true; } - return Test(condition, sol.Solution.Directory); + return Test(condition, sol.Solution.Directory, true); } return false; } - bool Test(Condition condition, string fileName) + bool Test(Condition condition, string fileName, bool isDirectory) { string[] allowedStatus = condition.Properties["state"].Split(';'); if (allowedStatus.Length == 0 || (allowedStatus.Length == 1 && allowedStatus[0].Length == 0)) { return true; } string status; - if (RegisterEventsCommand.CanBeVersionControlledFile(fileName)) { + if (isDirectory ? RegisterEventsCommand.CanBeVersionControlledDirectory(fileName) + : RegisterEventsCommand.CanBeVersionControlledFile(fileName)) + { status = OverlayIconManager.GetStatus(fileName).ToString(); } else { status = "Unversioned";