private void CheckRepositories()
{
lock (this.repo_lock)
{
List<Config.SyncConfig.Folder> toBeDeleted = new List<Config.SyncConfig.Folder>();
// If folder has been deleted, remove it from configuration too.
foreach (Config.SyncConfig.Folder f in ConfigManager.CurrentConfig.Folders)
{
string folder_name = f.DisplayName;
string folder_path = f.LocalPath;
if (!Directory.Exists(folder_path))
{
RemoveRepository(f);
toBeDeleted.Add(f);
Logger.Info("ControllerBase | Removed folder '" + folder_name + "' from config");
}
else
{
AddRepository(f.GetRepoInfo());
}
}
foreach (Config.SyncConfig.Folder f in toBeDeleted)
{
ConfigManager.CurrentConfig.Folders.Remove(f);
}
if (toBeDeleted.Count > 0)
ConfigManager.CurrentConfig.Save();
}
// Update GUI.
FolderListChanged();
}