Пример #1
0
        public static void SendChatState(Chatstate state, Buddy buddy)
        {
            Message msg = new Message(buddy.Jid);

            msg.Chatstate = state;
            ThreadPool.QueueUserWorkItem(delegate { XmppClient.Send(msg); });
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
     }
 }
Пример #5
0
        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);
            }
        }
Пример #7
0
 public static void SendChatState(Chatstate state, Buddy buddy)
 {
     Message msg = new Message(buddy.Jid);
     msg.Chatstate = state;
     ThreadPool.QueueUserWorkItem(delegate { XmppClient.Send(msg); });
 }
Пример #8
0
        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)));
                }
            }
        }
Пример #9
0
 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);
 }