private void SearchFiles() { state = State.Searching; MainBtn.Content = "Stop"; LogTextBox.Document.Blocks.Clear(); LogTextBox.Document.Blocks.Add(new Paragraph(new Run("Scanning..."))); filesToDelete.Clear(); filesSize = 0; filesCount = 0; FilesSizeLabel.Content = HumanReadableByte.GetSize(0); FilesCountLabel.Content = "0 files"; if (searchManager == null) { searchManager = new SearchFilesManager(); searchManager.OnProgressChanged += WorkerProgressChanged; this.searchManager.OnProgressDirChanged += this.WorkerDirProgressChanged; searchManager.OnFinished += SearchFilesComplete; } //// Start Seraching Thread thread = new Thread(searchManager.Work); thread.Start(context); }
/// <summary> /// File deleted /// </summary> /// <param name="file"></param> /// <param name="size"></param> private void FileDeleted(string file, long size) { LogTextBox.Document.Blocks.Add(new Paragraph(new Run(file))); deletedFiles++; deletedFilesLenght += size; FilesSizeLabel.Content = "Deleted: " + HumanReadableByte.GetSize(deletedFilesLenght); FilesCountLabel.Content = "Deleted: " + deletedFiles + " files"; }
private void WorkerDirProgressChanged(string dir) { long fileSize = DirSize(new DirectoryInfo(dir)); LogTextBox.Document.Blocks.Add(new Paragraph(new Run(dir + " - " + HumanReadableByte.GetSize(fileSize)))); filesSize += fileSize; filesCount++; FilesSizeLabel.Content = HumanReadableByte.GetSize(filesSize); FilesCountLabel.Content = Convert.ToString(filesCount) + " dirs"; }
/// <summary> /// Progress /// </summary> /// <param name="file"></param> private void WorkerProgressChanged(string file) { filesToDelete.Add(file); long fileSize = new FileInfo(file).Length; LogTextBox.Document.Blocks.Add(new Paragraph(new Run(file + " - " + HumanReadableByte.GetSize(fileSize)))); filesSize += fileSize; filesCount++; FilesSizeLabel.Content = HumanReadableByte.GetSize(filesSize); FilesCountLabel.Content = Convert.ToString(filesCount) + " files"; }
private void CleanFinished(bool successful) { if (successful) { state = State.Finished; MainBtn.Content = "Successful"; } else { state = State.Aborted; MainBtn.Content = "Search Again"; } FilesSizeLabel.Content = "Deleted: " + HumanReadableByte.GetSize(deletedFilesLenght); FilesCountLabel.Content = "Deleted: " + deletedFiles + " files"; }