//Clear deleted or deleted incoming folders private void m_ClearDeletedFiles() { ArrayList toRemove = null; string IncomingFolder = String.Join(":", CKernel.Preferences.GetStringArray("SharedFolders")) + ":"; lock (m_FileList.SyncRoot) { foreach (CElement Element in m_FileList) { string m_CompleteName = Element.File.CompleteName; if ((Element.File.Completed) && (!File.Exists(m_CompleteName) || (IncomingFolder.IndexOf(Path.GetDirectoryName(m_CompleteName) + ":") == -1))) { if (toRemove == null) { toRemove = new ArrayList(); } toRemove.Add(Element); } } } if (toRemove != null) { foreach (CElement Element in toRemove) { //Debug.WriteLine("File deleted from FilesList: "+ Element.File.CompleteName); m_FileList.Remove(Element); CKernel.RemovedSharedFile(Element); } } }