private void UpdateFolder()
{
if (listViewFolders.SelectedIndices.Count == 0)
return;
int selectedIndex = listViewFolders.SelectedIndices[0];
ScmRepository folder = folders[selectedIndex];
if (Config.ChangeLogBeforeUpdate && (folder.reviewedRevision < folder.GetRepositoryHeadRevision()))
{
MessageBox.Show ("You need to see ChangeLog first!", "SCM Notifier", MessageBoxButtons.OK, MessageBoxIcon.Stop);
return;
}
btnUpdate.Enabled = updateToolStripMenuItem.Enabled = checkNowToolStripMenuItem.Enabled = false;
folder.Status = ScmRepositoryStatus.Unknown;
listViewFolders.Items[selectedIndex].ImageKey = folder.IconName;
newNonUpdatedFolders.Clear ();
statusStrip.Items[0].Text = "Updating '" + folder.Path + "'...";
UpdateTray (true);
Refresh (); // Show "Unknown" folder status during updating
updateNotInProgress.Reset ();
BeginUpdateFolderStatuses ();
folder.Update(false);
forcedFolders.Enqueue (folder);
updateNotInProgress.Set ();
}