public GeneralSettings() { BuildProgressSettings = new BuildProgressSettings(); EnableStatusBarOutput = true; IndicatorsPanelVisible = true; ShowWarningSignForBuilds = true; }
public GeneralSettings() { BuildProgressSettings = new BuildProgressSettings(); EnableStatusBarOutput = true; IndicatorsPanelVisible = true; ParticipateInTelemetry = true; }
private void ResetTaskBarInfoOnBuildDone() { BuildProgressSettings buildProgressSettings = _settings.GeneralSettings.BuildProgressSettings; if (!buildProgressSettings.TaskBarProgressEnabled) { return; } switch (buildProgressSettings.ResetTaskBarProgressAfterBuildDone) { case ResetTaskBarItemInfoCondition.Never: break; case ResetTaskBarItemInfoCondition.Immediately: ResetTaskBarInfo(); break; case ResetTaskBarItemInfoCondition.AfterDelay: { int delay = buildProgressSettings.ResetTaskBarProgressDelay; if (delay > 0) { _resetTaskBarInfoCts = new CancellationTokenSource(); var resetTask = new Task(() => Thread.Sleep(delay), _resetTaskBarInfoCts.Token); resetTask.ContinueWith((tsk, cancelToken) => { if (!((CancellationToken)cancelToken).IsCancellationRequested) { ResetTaskBarInfo(); } }, _resetTaskBarInfoCts.Token, TaskScheduler.FromCurrentSynchronizationContext()); resetTask.Start(); } else { ResetTaskBarInfo(); } } break; case ResetTaskBarItemInfoCondition.ByMouseClick: Window window = Application.Current.MainWindow; window.PreviewMouseDown += OnMainWindowTouched; window.LocationChanged += OnMainWindowTouched; window.SizeChanged += OnMainWindowTouched; break; default: throw new ArgumentOutOfRangeException(); } }