private void UpdateContextMenuItem()
{
checkNowToolStripMenuItem.Enabled =
commitToolStripMenuItem.Enabled =
updateToolStripMenuItem.Enabled =
openToolStripMenuItem.Enabled =
changeLogToolStripMenuItem.Enabled =
logToolStripMenuItem.Enabled =
fetchToolStripMenuItem.Enabled =
propertiesToolStripMenuItem.Enabled = false;
if (listViewFolders.SelectedIndices.Count == 0) return;
int selectedIndex = listViewFolders.SelectedIndices[0];
if (folders[selectedIndex] is GitRepository)
{
fetchToolStripMenuItem.Visible = true;
}
else
{
fetchToolStripMenuItem.Visible = false;
}
switch (folders[selectedIndex].Status)
{
case ScmRepositoryStatus.NeedUpdate:
checkNowToolStripMenuItem.Enabled =
updateToolStripMenuItem.Enabled =
openToolStripMenuItem.Enabled =
changeLogToolStripMenuItem.Enabled =
logToolStripMenuItem.Enabled =
fetchToolStripMenuItem.Enabled =
propertiesToolStripMenuItem.Enabled = true;
break;
case ScmRepositoryStatus.NeedUpdate_Modified:
checkNowToolStripMenuItem.Enabled =
commitToolStripMenuItem.Enabled =
updateToolStripMenuItem.Enabled =
openToolStripMenuItem.Enabled =
changeLogToolStripMenuItem.Enabled =
logToolStripMenuItem.Enabled =
fetchToolStripMenuItem.Enabled =
propertiesToolStripMenuItem.Enabled = true;
break;
case ScmRepositoryStatus.UpToDate_Modified:
checkNowToolStripMenuItem.Enabled =
commitToolStripMenuItem.Enabled =
openToolStripMenuItem.Enabled =
logToolStripMenuItem.Enabled =
fetchToolStripMenuItem.Enabled =
propertiesToolStripMenuItem.Enabled = true;
break;
case ScmRepositoryStatus.UpToDate:
checkNowToolStripMenuItem.Enabled =
openToolStripMenuItem.Enabled =
logToolStripMenuItem.Enabled =
fetchToolStripMenuItem.Enabled =
propertiesToolStripMenuItem.Enabled = true;
break;
case ScmRepositoryStatus.Unknown:
checkNowToolStripMenuItem.Enabled =
openToolStripMenuItem.Enabled =
propertiesToolStripMenuItem.Enabled = true;
break;
case ScmRepositoryStatus.Error:
checkNowToolStripMenuItem.Enabled =
openToolStripMenuItem.Enabled =
propertiesToolStripMenuItem.Enabled = true;
break;
}
}