OLECMDF QueryStatus_icmdCheckin()
{
if (!IsThereASolution())
{
return OLECMDF.OLECMDF_INVISIBLE;
}
IList<string> files = GetSelectedFilesInControlledProjects();
foreach (string file in files)
{
SourceControlStatus status = sccService.GetFileStatus(file);
if (status == SourceControlStatus.scsCheckedIn)
{
continue;
}
if (status == SourceControlStatus.scsCheckedOut)
{
return OLECMDF.OLECMDF_ENABLED;
}
// If the file is uncontrolled, enable the command only if the file is part of a controlled project
IList<VSITEMSELECTION> nodes = sccService.GetControlledProjectsContainingFile(file);
if (nodes.Count > 0)
{
return OLECMDF.OLECMDF_ENABLED;
}
}
return OLECMDF.OLECMDF_SUPPORTED;
}