public MainWindow() { //// Windows Forms //// InitializeComponent(); gl_wn_watchFilter = new wn_Filters(); gl_wn_dbFilter = new wn_Filters(); //// Backend //// // Database initDB(); gl_db_buffer = new Queue <string>(); // File Watcher gl_watcher = new FileSystemWatcher(); gl_watcher.SynchronizingObject = this; // Don't use alternate system threads gl_watcher.Path = "C:\\"; gl_watcher.IncludeSubdirectories = true; gl_watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; // Add event handlers. gl_watcher.Changed += new FileSystemEventHandler(OnWatcherEvent); gl_watcher.Created += new FileSystemEventHandler(OnWatcherEvent); gl_watcher.Deleted += new FileSystemEventHandler(OnWatcherEvent); gl_watcher.Renamed += new RenamedEventHandler(OnWatcherEvent); gl_watcher.EnableRaisingEvents = false; // Start disabled }
// Handle new button. Stop watcher and reset text fields private void new_MenuItem_Click(object sender, EventArgs e) { // Easiest to remake window. And no collateral. gl_wn_watchFilter = new wn_Filters(); gl_wn_dbFilter = new wn_Filters(); // Empty strings rTxBx_log.Text = ""; gl_watcherFilter = new string[1]; gl_watcherFilter[0] = ""; gl_dbFilter = new string[1]; gl_dbFilter[0] = ""; gl_db_buffer = new Queue <string>(); // Stop watcher, reset path gl_watcher.EnableRaisingEvents = false; //gl_watcher.Path = "C:\\"; // Reset toolbar icon btn_run.Text = "Run"; btn_run.ForeColor = Color.Green; btn_run.Image = SysFileWatch.Properties.Resources.start; MessageBox.Show("File Watcher reset. Database unchanged.", "New", MessageBoxButtons.OK); }