private void ToggleLabels(bool visible) { if (visible) { } else { _count = 0; TotalFileSizeNumberLabel.Text = ""; amountOfFilesFoundNumberLabel.Text = ""; AmountOfFilesTextLabel.Enabled = false; TotalFileSize.Enabled = false; TotalFileSizeNumberLabel.Hide(); amountOfFilesFoundNumberLabel.Hide(); DeleteFilesButton.Enabled = false; FileList.Clear(); loadingCircle1.Visible = false; _accessDeniedException = false; } }
private void ScanFilesInParallel() { clearFilesButton.Enabled = false; loadingCircle1.Visible = true; DeleteFilesButton.Enabled = false; FileList.Clear(); EnableBoxes(true); BeginScanButton.Enabled = false; ScanningLabel.Visible = true; Task.Run(() => { var result = new List <string>(); FileParser fileParser = new FileParser(); try { if (_jpgFilesChecked) { result.AddRange(fileParser.ParseFiles(_osuDirectory, "*.jpg")); } if (_pngFilesChecked) { result.AddRange(fileParser.ParseFiles(_osuDirectory, "*.png")); } if (_wavFilesChecked) { result.AddRange(fileParser.ParseFiles(_osuDirectory, "*.wav")); } if (_aviFilesChecked) { result.AddRange(fileParser.ParseFiles(_osuDirectory, "*.avi")); } } catch (Exception) { MessageBox.Show("Access denied. Try running as administrator."); return(null); } return(result); }) .ContinueWith((task) => { if (task.Result == null) { EnableBoxes(true); loadingCircle1.Visible = false; ScanningLabel.Visible = false; BeginScanButton.Enabled = true; } else { FileList.AddRange(task.Result); BeginScanButton.Enabled = true; loadingCircle1.Visible = false; ScanningLabel.Visible = false; // Error checking - 0 files, etc if (FileList.Count == 0 && _osuDirectory != null && _accessDeniedException == false) { MessageBox.Show("No files have been found. Did you choose the correct directory for Osu?"); EnableBoxes(true); } else if (_osuDirectory != null && _accessDeniedException == false) { _count = FileList.Count; amountOfFilesFoundNumberLabel.Text = _count.ToString(); AmountOfFilesTextLabel.Enabled = true; // Get total size of all files and show next to total amount of files TotalFileSize.Enabled = true; double totalSize = 0; foreach (var value in FileList) { var fileInfo = new FileInfo(value); totalSize += fileInfo.Length; } var totalSizeHumanized = totalSize.Bytes(); TotalFileSizeNumberLabel.Text = totalSizeHumanized.Humanize("#.##"); clearFilesButton.Enabled = true; DeleteFilesButton.Enabled = true; EnableBoxes(true); DeleteFilesButton.Enabled = true; amountOfFilesFoundNumberLabel.Show(); TotalFileSizeNumberLabel.Show(); BeginScanButton.Enabled = true; } } }, TaskScheduler.FromCurrentSynchronizationContext()); }