Horizon – Diff between revs 23 and 28

Subversion Repositories:
Rev:
Show entire fileRegard 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 }
-   582 #pragma warning disable CS4014
-   583 Task.Run(async () =>
-   584 #pragma warning restore CS4014
539   585 {
540 await _changedFilesLock.WaitAsync(_cancellationToken); 586 await _changedFilesLock.WaitAsync(_cancellationToken);
541 try 587 try
542 { 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;
Line 549... Line 595...
549 color = folder.Color; 595 color = folder.Color;
550 } 596 }
Line 551... Line 597...
551   597  
552 if (_changedFiles.Contains(e.FullPath)) 598 if (_changedFiles.Contains(e.FullPath))
-   599 {
553 { 600 _changedFilesContinuation.Schedule(delay,
554 _changedFilesContinuation.Schedule(delay, async () => await TakeSnapshots(color, _cancellationToken), _cancellationToken); 601 async () => await TakeSnapshots(color, _cancellationToken), _cancellationToken);
555 return; 602 return;
Line 556... Line 603...
556 } 603 }
Line -... Line 604...
-   604  
557   605 _changedFiles.Add(e.FullPath);
558 _changedFiles.Add(e.FullPath); 606  
559   607 _changedFilesContinuation.Schedule(delay,
560 _changedFilesContinuation.Schedule(delay, async () => await TakeSnapshots(color, _cancellationToken), _cancellationToken); 608 async () => await TakeSnapshots(color, _cancellationToken), _cancellationToken);
561 } 609 }
562 catch (Exception exception) 610 catch (Exception exception)
563 { 611 {
564 Log.Error(exception, "Could not process changed files."); 612 Log.Error(exception, "Could not process changed files.");
565 } 613 }
566 finally 614 finally
-   615 {
567 { 616 _changedFilesLock.Release();
Line 568... Line 617...
568 _changedFilesLock.Release(); 617 }
569 } 618 }, CancellationToken.None);
570 } 619 }
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