public void newMessage(MetroTalkMessage m) { if (!this.isApplicationActive || m.From.Bare != userSelected.jid.Bare) { UserJabber u = cm.users[m.From.Bare]; string s = u.FullName + " : " + m.Body; this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(delegate() { MetroTalkPopup p = new MetroTalkPopup(s); p.Show(); })); } new SoundPlayer("./Sounds/button-9.wav").Play(); RefreshConversation(); }
public void Send(Jid to, string b) { Jid from = UserJid; MetroTalkMessage m = new MetroTalkMessage(); // Send a message agsXMPP.protocol.client.Message msg = new agsXMPP.protocol.client.Message(); msg.Type = agsXMPP.protocol.client.MessageType.chat; msg.To = to; msg.Body = b; m.To = to; m.Body = b; m.From = from; m.Date = DateTime.Now; if (cm.conversations.ContainsKey(from.Bare)) { IList<MetroTalkMessage> msgs = cm.conversations[from.Bare]; msgs.Add(m); cm.conversations[from.Bare] = msgs; } else { IList<MetroTalkMessage> msgs = new List<MetroTalkMessage>(); msgs.Add(m); cm.conversations.Add(from.Bare, msgs); } cW.RefreshConversation(); xmppCon.Send(msg); }
void OnMessage(object sender, agsXMPP.protocol.client.Message msg) { // ignore empty messages (events) if (msg.Body == null) return; MetroTalkMessage m = new MetroTalkMessage(); m.Date = DateTime.Now; m.To = msg.To; m.From = msg.From; m.Body = msg.Body; if (cm.conversations.ContainsKey(msg.To.Bare)) { IList<MetroTalkMessage> msgs = cm.conversations[msg.To.Bare]; msgs.Add(m); cm.conversations[msg.To.Bare] = msgs; } else { IList<MetroTalkMessage> msgs = new List<MetroTalkMessage>(); msgs.Add(m); cm.conversations.Add(msg.To.Bare, msgs); } cW.newMessage(m); }