Browse Source

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
shortcuts
Daniel Grunwald 17 years ago
parent
commit
47ada746fd
  1. 2
      src/AddIns/Misc/SubversionAddIn/Project/ICSharpCode.Svn.addin
  2. 12
      src/AddIns/Misc/SubversionAddIn/Project/Src/SubversionStateCondition.cs

2
src/AddIns/Misc/SubversionAddIn/Project/ICSharpCode.Svn.addin

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
<AddIn name = "Subversion AddIn"
author = "Mike Krueger"
author = "Daniel Grunwald"
copyright = "prj:///doc/copyright.txt"
description = "Adds support for Subversion to the project browser"
addInManagerHidden = "preinstalled">

12
src/AddIns/Misc/SubversionAddIn/Project/Src/SubversionStateCondition.cs

@ -47,7 +47,7 @@ namespace ICSharpCode.Svn @@ -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 @@ -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 @@ -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";

Loading…
Cancel
Save