예제 #1
0
 private void listContacts_DoubleClick(object sender, System.EventArgs e)
 {
     if (listContacts.SelectedItems.Count > 0)
     {
         var item = listContacts.SelectedItems[0];
         if (!Util.ChatForms.ContainsKey(item.Name))
         {
             var     roomJid = new Jid(item.Name);
             FrmChat f       = new FrmChat(roomJid, xmppClient, item.Text);
             f.MdiParent = FrmParent.Instance;
             f.Show();
         }
     }
 }
예제 #2
0
        public FrmChat(Jid jid, XmppClient con, string nickname)
        {
            _jid          = jid;
            _xmppClient   = con;
            _nickname     = nickname;
            local_history = new HistoryTransactionTableAdapter();
            connection    = new SqlCeConnection(local_history.Connection.ConnectionString);
            InitializeComponent();

            Text = "Chat with " + nickname;

            Util.ChatForms.Add(_jid.Bare.ToLower(), this);
            // Setup new Message Callback
            con.MessageFilter.Add(jid, new BareJidComparer(), OnMessage);

            GetLastRow(_xmppClient.Username, _xmppClient.XmppDomain, _jid.Bare, out LastDtDB);

            this.Load += new EventHandler(FrmChat_Load);
            Instance   = this;
            Form.CheckForIllegalCrossThreadCalls = false;
        }
예제 #3
0
        public FrmChat(Jid jid, XmppClient con, string nickname)
        {
            _jid = jid;
            _xmppClient = con;
            _nickname = nickname;
            local_history = new HistoryTransactionTableAdapter();
            connection = new SqlCeConnection(local_history.Connection.ConnectionString);
            InitializeComponent();

            Text = "Chat with " + nickname;

            Util.ChatForms.Add(_jid.Bare.ToLower(), this);
            // Setup new Message Callback
            con.MessageFilter.Add(jid, new BareJidComparer(), OnMessage);

            GetLastRow(_xmppClient.Username, _xmppClient.XmppDomain, _jid.Bare, out LastDtDB);

            this.Load += new EventHandler(FrmChat_Load);
            Instance = this;
            Form.CheckForIllegalCrossThreadCalls = false;
        }
예제 #4
0
        private void xmppClient_OnMessage(object sender, MessageEventArgs e)
        {
            DisplayEvent("OnMessage");


            // we ignore GroupChat Messages here
            if (e.Message.Type == MessageType.GroupChat)
            {
                return;
            }

            if (e.Message.Type == MessageType.Error)
            {
                //Handle errors here
                // we dont handle them in this example
                return;
            }
            if (e.Message.Body != null)
            {
                if (!Util.ChatForms.ContainsKey(e.Message.From.Bare))
                {
                    //get nickname from the roster listview
                    string nick = e.Message.From.Bare;
                    var    item = listContacts.Items[e.Message.From.Bare];
                    if (item != null)
                    {
                        nick = item.Text;
                    }

                    var f = new FrmChat(e.Message.From, xmppClient, nick);
                    f.MdiParent = FrmParent.Instance;
                    f.Show();
                    f.IncomingMessage(e.Message, e.Message.From.Resource, DateTime.Now);
                }
            }
        }
예제 #5
0
        private void xmppClient_OnMessage(object sender, MessageEventArgs e)
        {
            DisplayEvent("OnMessage");

            // we ignore GroupChat Messages here
            if (e.Message.Type == MessageType.GroupChat)
                return;

            if (e.Message.Type == MessageType.Error)
            {
                //Handle errors here
                // we dont handle them in this example
                return;
            }
            if (e.Message.Body != null)
            {
                if (!Util.ChatForms.ContainsKey(e.Message.From.Bare))
                {
                    //get nickname from the roster listview
                    string nick = e.Message.From.Bare;
                    var item = listContacts.Items[e.Message.From.Bare];
                    if (item != null)
                        nick = item.Text;

                    var f = new FrmChat(e.Message.From, xmppClient, nick);
                    f.MdiParent = FrmParent.Instance;
                    f.Show();
                    f.IncomingMessage(e.Message, e.Message.From.Resource, DateTime.Now);
                }
            }
        }
예제 #6
0
 private void listContacts_DoubleClick(object sender, System.EventArgs e)
 {
     if (listContacts.SelectedItems.Count > 0)
     {
         var item = listContacts.SelectedItems[0];
         if (!Util.ChatForms.ContainsKey(item.Name))
         {
             var roomJid = new Jid(item.Name);
             FrmChat f = new FrmChat(roomJid, xmppClient, item.Text);
             f.MdiParent = FrmParent.Instance;
             f.Show();
         }
     }
 }