private void Observer_Stopped(Observer stoppedObserver) { if (ScreenSaverPreventer.IsRunning && Observers.All(observer => !observer.IsObserving)) { ScreenSaverPreventer.Stop(); } }
private void Observer_Started(Observer observer) { if (!ScreenSaverPreventer.IsRunning) { ScreenSaverPreventer.Start(); } }
protected override void OnFormClosing(FormClosingEventArgs e) { base.OnFormClosing(e); foreach (Observer observer in Observers) { observer.Dispose(); } ScreenSaverPreventer.Dispose(); SpeechSynthesizer.SpeakAsyncCancelAll(); SpeechSynthesizer.Dispose(); TesseractEngine.Dispose(); }
public MainWindow() { InitializeComponent(); Observers = new List <Observer>(); TesseractEngine = new TesseractEngine("./tessdata", "eng"); SpeechSynthesizer = new SpeechSynthesizer(); if (string.IsNullOrEmpty(Settings.Default.TTSVoice)) { Settings.Default.TTSVoice = SpeechSynthesizer.GetInstalledVoices().ToList().First().VoiceInfo.Name; Settings.Default.Save(); } SpeechSynthesizer.SelectVoice(Settings.Default.TTSVoice); SpeechSynthesizer.Rate = Settings.Default.TTSRate; SpeechSynthesizer.Volume = Settings.Default.TTSVolume; ScreenSaverPreventer = new ScreenSaverPreventer(); RecentFiles = new FileListCache("recent", 8, false); Icon = Resources.Icon; Text = Application.ProductName; RefreshView(); }