private void watchNewFilesToolStripMenuItem_Click(object sender, EventArgs e) { if (settings.SourcePath.Length == 0) { MessageBox.Show( "Please select a source path in settings first.", "Unable to scan", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { // Invert the value to reflect the user's intention bool enabled = !watchNewFilesToolStripMenuItem.Checked; // Update the settings, the context menu checkbox, // and the FileSystemWatcher based on the checkbox state settings.ActiveScan = enabled; fileSystemWatcher1.EnableRaisingEvents = enabled; watchNewFilesToolStripMenuItem.Checked = enabled; // This is a change saved with settings FileScannerSettings.SaveSettings(settings); } }
/// <summary> /// Deserialize settings object from storage /// </summary> /// <returns>Retrieved settings object, if found, otherwise new.</returns> public static FileScannerSettings GetSettings() { Stream str = null; try { str = File.Open(SETTINGS_FILENAME, FileMode.Open); BinaryFormatter bf = new BinaryFormatter(); FileScannerSettings fs = (FileScannerSettings)bf.Deserialize(str); return(fs); } catch { // Most likely saved file does not exist return(new FileScannerSettings()); } finally { if (str != null) { str.Close(); } } }
/// <summary> /// Serialize the settings to disk /// </summary> /// <param name="fs">Savings to serialize</param> public static void SaveSettings(FileScannerSettings fs) { Stream str = File.Open(SETTINGS_FILENAME, FileMode.Create); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(str, fs); str.Close(); }
private void closeButton_Click(object sender, EventArgs e) { // Copy choices back to settings object settings.SourcePath = this.sourceTextBox.Text; settings.RecursiveScan = this.recursiveScanCheckbox.Checked; // Copy appropriate settigns to FileSystemWatcher fileSystemWatcher1.Path = settings.SourcePath; fileSystemWatcher1.IncludeSubdirectories = settings.RecursiveScan; // Save the changes to disk for consistency FileScannerSettings.SaveSettings(settings); this.Visible = false; }
public SettingsForm() { InitializeComponent(); // Initial scanner creation settings = FileScannerSettings.GetSettings(); scanner = new FileScanner(settings); scanner.ErrorEncountered += new FileScanner.ErrorEncounteredHandler(scanner_ErrorEncountered); // Initialize app based on settings fileSystemWatcher1.Path = settings.SourcePath; fileSystemWatcher1.IncludeSubdirectories = settings.RecursiveScan; fileSystemWatcher1.EnableRaisingEvents = settings.ActiveScan; watchNewFilesToolStripMenuItem.Checked = settings.ActiveScan; }
public FileScanner(FileScannerSettings settings) { _settings = settings; }