Пример #1
0
        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);
            }
        }
Пример #2
0
        /// <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();
                }
            }
        }
Пример #3
0
        /// <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();
        }
Пример #4
0
        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;
        }
Пример #5
0
        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;
        }
Пример #6
0
 public FileScanner(FileScannerSettings settings)
 {
     _settings = settings;
 }