private void GablarskiDisconnected (object sender, DisconnectedEventArgs e) { if (this.shuttingDown) return; if (e.Reason == DisconnectionReason.Unknown) this.reconnecting = true; bool finishedWithPlayback = true; if (e.Reason == DisconnectionReason.Unknown || (e.Reason == DisconnectionReason.Requested && !this.reconnecting)) { KeyValuePair<ITextToSpeech, AudioSource> tts = this.speechSources.FirstOrDefault (kvp => kvp.Key.GetType().GetSimpleName() == Settings.TextToSpeech); if (!tts.Equals(default(KeyValuePair<ITextToSpeech, AudioSource>)) && this.audioPlayback != null) { finishedWithPlayback = false; this.audioPlayback.SourceFinished += (o, args) => { if (args.Source == tts.Value) DisablePlayback(); }; this.audioPlayback.QueuePlayback (tts.Value, tts.Key.GetSpeech ("Disconnected")); } } ResetState(); DisableInput(); if (finishedWithPlayback) DisablePlayback(); DisableVoiceCapture(); if (this.IsDisposed || this.Disposing || this.shuttingDown) return; this.Invoke ((Action)delegate { if (this.IsDisposed || this.Disposing) return; if (TaskbarManager.IsPlatformSupported) { TaskbarManager.Instance.SetOverlayIcon (this.Handle, Resources.DisconnectImage.ToIcon (), "Disconnected"); } this.users.Nodes.Clear(); if (!this.reconnecting) { this.btnConnect.Image = Resources.DisconnectImage; this.btnConnect.Text = "Connect"; this.btnConnect.ToolTipText = "Connect (Disconnected)"; } else { this.btnConnect.Image = Resources.LoadingImage; this.btnConnect.Text = "Disconnect"; this.btnConnect.ToolTipText = "Disconnect (Reconnecting)"; } this.btnComment.Enabled = false; this.btnMute.Enabled = false; this.btnMuteMic.Enabled = false; this.btnAFK.Enabled = false; this.btnRegister.Visible = false; }); }
private void GablarskiDisconnected(object sender, DisconnectedEventArgs e) { if (this.shuttingDown) { return; } if (e.Reason == DisconnectionReason.Unknown) { this.reconnecting = true; } bool finishedWithPlayback = true; if (e.Reason == DisconnectionReason.Unknown || (e.Reason == DisconnectionReason.Requested && !this.reconnecting)) { KeyValuePair <ITextToSpeech, AudioSource> tts = this.speechSources.FirstOrDefault(kvp => kvp.Key.GetType().GetSimpleName() == Settings.TextToSpeech); if (!tts.Equals(default(KeyValuePair <ITextToSpeech, AudioSource>)) && this.audioPlayback != null) { finishedWithPlayback = false; this.audioPlayback.SourceFinished += (o, args) => { if (args.Source == tts.Value) { DisablePlayback(); } }; this.audioPlayback.QueuePlayback(tts.Value, tts.Key.GetSpeech("Disconnected")); } } ResetState(); DisableInput(); if (finishedWithPlayback) { DisablePlayback(); } DisableVoiceCapture(); if (this.IsDisposed || this.Disposing || this.shuttingDown) { return; } this.Invoke((Action) delegate { if (this.IsDisposed || this.Disposing) { return; } if (TaskbarManager.IsPlatformSupported) { TaskbarManager.Instance.SetOverlayIcon(this.Handle, Resources.DisconnectImage.ToIcon(), "Disconnected"); } this.users.Nodes.Clear(); if (!this.reconnecting) { this.btnConnect.Image = Resources.DisconnectImage; this.btnConnect.Text = "Connect"; this.btnConnect.ToolTipText = "Connect (Disconnected)"; } else { this.btnConnect.Image = Resources.LoadingImage; this.btnConnect.Text = "Disconnect"; this.btnConnect.ToolTipText = "Disconnect (Reconnecting)"; } this.btnComment.Enabled = false; this.btnMute.Enabled = false; this.btnMuteMic.Enabled = false; this.btnAFK.Enabled = false; this.btnRegister.Visible = false; }); }