private void LoadOrDisplayProfile(ClientProfile cp) { if (cp != null) { if (m_activeClients.ContainsKey(cp)) { m_activeClients[cp].ProfileDocument.Show(); } else { try { JinxBotClient client = new JinxBotClient(cp); client.Client.Connected += client_Connected; client.Client.Disconnected += client_Disconnected; m_activeClients.Add(cp, client); client.ProfileDocument.Show(this.dock); ThumbnailPreviewManager.AddThumbnail(client.ProfileDocument); } catch (BattleNetSettingsErrorsException ex) { ProfileLoadErrorDialog dlg = new ProfileLoadErrorDialog(ex); dlg.ShowDialog(); } } } }
private void closeToolStripMenuItem_Click(object sender, EventArgs e) { ProfileDocument pd = this.dock.ActiveDocument as ProfileDocument; if (pd != null) { ClientProfile profile = pd.Client.Settings as ClientProfile; JinxBotClient client = m_activeClients[profile]; client.Client.Disconnected -= client_Disconnected; client.Client.Connected -= client_Connected; client.Close(); pd.Close(); m_activeClients.Remove(profile); } }