public static void SendChatState(Chatstate state, Buddy buddy) { Message msg = new Message(buddy.Jid); msg.Chatstate = state; ThreadPool.QueueUserWorkItem(delegate { XmppClient.Send(msg); }); }
private void MessageTextBoxTextChanged(object sender, EventArgs e) { Chatstate state = messageTextBox.TextLength == 0 ? Chatstate.inactive : Chatstate.composing; var currentTab = GetCurrentTab(); PimMessageHandler.SendChatState(state, currentTab.Buddy, currentTab.Resource, currentTab.CurrentThread); }
public static void SendChatState(Chatstate state, Buddy buddy, string resource, string thread) { Message msg = new Message(buddy.Jid); msg.Thread = thread; msg.From = MyJid; msg.Chatstate = state; XmppClientSingleton.Send(msg); }
protected virtual void SendChatState(Room room, Chatstate state) { if (room.Chatstate != state) { room.Chatstate = state; var msg = new Message(new Jid(room.Roomname), _xmpp.MyJID) { Type = MessageType.groupchat, Chatstate = state }; _xmpp.Send(msg); } }
public void sendChatstate(agsXMPP.protocol.extensions.chatstates.Chatstate state) { if (chatstate == state) { return; } chatstate = state; var msg = new agsXMPP.protocol.client.Message(new Jid(RoomName), Program.Jabber.conn.MyJID); msg.Type = MessageType.groupchat; msg.Chatstate = state; Program.Jabber.conn.Send(msg); }
public void ChangeChatState(Chatstate chatstate) { if (App.CheckAccessSafe()) { if (chatstate == Chatstate.composing) { _timerNoTyping.Start(); _timerNoTyping2.Stop(); } if (_chatstate == chatstate) { return; } switch (chatstate) { case Chatstate.paused: { _timerNoTyping.Stop(); _timerNoTyping2.Start(); break; } case Chatstate.inactive: case Chatstate.gone: { _timerNoTyping.Stop(); _timerNoTyping2.Stop(); break; } } if (StateChanged != null) { StateChanged(chatstate); } _chatstate = chatstate; } else { App.InvokeSafe(App._dispatcherPriority, new SendChatStateCallback(ChangeChatState), chatstate); } }
private void DistributeMessage(Message message, Chatstate chatstate) { lock (_items._syncObject) { Contact contact = FindContact(message.From); if (contact == null) { RosterItem rosterItem = new RosterItem(message.From); contact = AddRosterItem(rosterItem); } List<ContactChat> contactChats = GetContactChats(contact); foreach (ContactChat chat in contactChats) { if (message.Body != null) { chat.Messages.Add(message); } chat.ChatState = chatstate; } if (message.Body != null) { RecentItems.Instance.Add(contact); Events.Instance.OnEvent(this, new EventChatMessage(contact, message, (contactChats.Count > 0))); } } }