Horizon – Diff between revs 23 and 28

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 23 Rev 28
Line 79... Line 79...
79   79  
Line 80... Line 80...
80 private RegisterService _horizonDiscoveryService; 80 private RegisterService _horizonDiscoveryService;
Line -... Line 81...
-   81  
-   82 private WatsonTcpServer _horizonNetworkShare;
81   83  
Line 82... Line 84...
82 private WatsonTcpServer _horizonNetworkShare; 84 private NotifyFilters _fileSystemWatchersNotifyFilters = NotifyFilters.LastWrite | NotifyFilters.Attributes;
Line 83... Line 85...
83   85  
Line 159... Line 161...
159 } 161 }
Line 160... Line 162...
160   162  
Line 161... Line 163...
161 #endregion 163 #endregion
-   164  
-   165 #region Event Handlers
-   166 private void attributesToolStripMenuItem_CheckStateChanged(object sender, EventArgs e)
-   167 {
-   168 var toolStripMenuItem = (ToolStripMenuItem)sender;
-   169  
-   170 var text = toolStripMenuItem.Text;
-   171 var state = toolStripMenuItem.CheckState;
-   172  
-   173 foreach (var flag in Enum.GetNames(typeof(NotifyFilters)))
-   174 {
-   175 if (string.Equals(flag, text, StringComparison.OrdinalIgnoreCase))
-   176 {
-   177 if (Enum.TryParse<NotifyFilters>(flag, true, out var setting))
-   178 {
-   179 switch (state)
-   180 {
-   181 case CheckState.Checked:
-   182 _fileSystemWatchersNotifyFilters = _fileSystemWatchersNotifyFilters | setting;
-   183 break;
-   184 case CheckState.Unchecked:
-   185 _fileSystemWatchersNotifyFilters = _fileSystemWatchersNotifyFilters & ~setting;
-   186 break;
-   187 }
-   188
-   189 }
-   190 }
-   191 }
-   192  
-   193 Configuration.NotifyFilters = _fileSystemWatchersNotifyFilters;
-   194  
-   195 ChangedConfigurationContinuation.Schedule(TimeSpan.FromSeconds(1),
Line 162... Line 196...
162   196 async () => { await SaveConfiguration(); }, _cancellationToken);
163 #region Event Handlers 197 }
164   198  
Line 428... Line 462...
428 enableToolStripMenuItem.Checked = Configuration.Enabled; 462 enableToolStripMenuItem.Checked = Configuration.Enabled;
429 showBalloonTooltipsToolStripMenuItem.Checked = Configuration.Enabled; 463 showBalloonTooltipsToolStripMenuItem.Checked = Configuration.Enabled;
430 windowToolStripMenuItem.Checked = Configuration.CaptureMode == CaptureMode.Window; 464 windowToolStripMenuItem.Checked = Configuration.CaptureMode == CaptureMode.Window;
431 screenToolStripMenuItem.Checked = Configuration.CaptureMode == CaptureMode.Screen; 465 screenToolStripMenuItem.Checked = Configuration.CaptureMode == CaptureMode.Screen;
432 networkSharingToolStripMenuItem.Checked = Configuration.NetworkSharing; 466 networkSharingToolStripMenuItem.Checked = Configuration.NetworkSharing;
-   467 foreach (var item in attributesToolStripMenuItem.DropDownItems.OfType<ToolStripMenuItem>())
-   468 {
-   469 var text = item.Text;
-   470  
-   471 if (Enum.TryParse<NotifyFilters>(text, out var notifyFilter))
-   472 {
-   473 item.Checked = Configuration.NotifyFilters.HasFlag(notifyFilter);
-   474 }
-   475 }
Line 433... Line 476...
433   476  
434 // Load all tracked folders. 477 // Load all tracked folders.
Line 435... Line 478...
435 var folders = await LoadFolders(); 478 var folders = await LoadFolders();
Line 534... Line 577...
534 // Ignore directories. 577 // Ignore directories.
535 if (Directory.Exists(e.FullPath)) 578 if (Directory.Exists(e.FullPath))
536 { 579 {
537 return; 580 return;
538 } 581 }
539   -  
540 await _changedFilesLock.WaitAsync(_cancellationToken); 582 #pragma warning disable CS4014
541 try 583 Task.Run(async () =>
-   584 #pragma warning restore CS4014
542 { 585 {
-   586 await _changedFilesLock.WaitAsync(_cancellationToken);
-   587 try
-   588 {
543 var delay = global::TrackedFolders.Constants.Delay; 589 var delay = global::TrackedFolders.Constants.Delay;
544 var color = Color.Empty; 590 var color = Color.Empty;
-   591  
-   592 if (TrackedFolders.TryGet(e.FullPath, out var folder))
-   593 {
-   594 delay = folder.Delay;
-   595 color = folder.Color;
-   596 }
-   597  
-   598 if (_changedFiles.Contains(e.FullPath))
-   599 {
-   600 _changedFilesContinuation.Schedule(delay,
-   601 async () => await TakeSnapshots(color, _cancellationToken), _cancellationToken);
-   602 return;
-   603 }
-   604  
-   605 _changedFiles.Add(e.FullPath);
Line 545... Line 606...
545   606  
-   607 _changedFilesContinuation.Schedule(delay,
-   608 async () => await TakeSnapshots(color, _cancellationToken), _cancellationToken);
-   609 }
546 if (TrackedFolders.TryGet(e.FullPath, out var folder)) 610 catch (Exception exception)
547 { -  
548 delay = folder.Delay; 611 {
549 color = folder.Color; 612 Log.Error(exception, "Could not process changed files.");
550 } -  
551   613 }
552 if (_changedFiles.Contains(e.FullPath)) 614 finally
553 { -  
554 _changedFilesContinuation.Schedule(delay, async () => await TakeSnapshots(color, _cancellationToken), _cancellationToken); 615 {
555 return; 616 _changedFilesLock.Release();
556 } -  
557   -  
558 _changedFiles.Add(e.FullPath); -  
559   -  
560 _changedFilesContinuation.Schedule(delay, async () => await TakeSnapshots(color, _cancellationToken), _cancellationToken); -  
561 } 617 }
562 catch (Exception exception) -  
563 { -  
564 Log.Error(exception, "Could not process changed files."); -  
565 } -  
566 finally -  
567 { -  
568 _changedFilesLock.Release(); -  
569 } 618 }, CancellationToken.None);
Line 570... Line 619...
570 } 619 }
571   620  
572 private void AboutToolStripMenuItem_Click(object sender, EventArgs e) 621 private void AboutToolStripMenuItem_Click(object sender, EventArgs e)
Line 828... Line 877...
828 private void AddWatcher(string folder, bool recursive) 877 private void AddWatcher(string folder, bool recursive)
829 { 878 {
830 var fileSystemWatcher = new FileSystemWatcher 879 var fileSystemWatcher = new FileSystemWatcher
831 { 880 {
832 IncludeSubdirectories = recursive, 881 IncludeSubdirectories = recursive,
833 NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.Attributes, 882 NotifyFilter = _fileSystemWatchersNotifyFilters,
834 Path = folder, 883 Path = folder,
835 EnableRaisingEvents = true 884 EnableRaisingEvents = true
836 }; 885 };
Line 837... Line 886...
837   886