示例#1
0
        void tox_OnFriendMessageReceived(object sender, ToxEventArgs.FriendMessageEventArgs e)
        {
            //get the name associated with the friendnumber
            string name = tox.GetFriendName(e.FriendNumber);

            Package receivedPackage = JsonConvert.DeserializeObject <Package>(e.Message);

            if (receivedPackage.currentCount == 0)
            {
                if (receivedPackage.totalCount == 1)
                {
                    newReqReceived(receivedPackage, e.FriendNumber);
                    return;
                }
                mPackageCache.Add(receivedPackage.uuid, receivedPackage);
            }
            else if (receivedPackage.currentCount != receivedPackage.totalCount - 1)
            {
                mPackageCache[receivedPackage.uuid].content += receivedPackage.content;
            }
            else if (receivedPackage.currentCount == receivedPackage.totalCount - 1)
            {
                newReqReceived(receivedPackage, e.FriendNumber);
            }
        }
示例#2
0
        private void Tox_OnFriendMessageReceived(object sender, ToxEventArgs.FriendMessageEventArgs e)
        {
            MainWindow.Instance.UInvoke(() =>
            {
                var friend = FindFriend(e.FriendNumber);
                if (friend == null)
                {
                    Debugging.Write("We don't know about this friend!");
                    return;
                }

                var msg        = new MessageViewModel(e.FriendNumber);
                msg.FriendName = ProfileManager.Instance.Tox.GetFriendName(e.FriendNumber);
                msg.Message    = e.Message;
                msg.Time       = DateTime.Now.ToShortTimeString();

                (friend.ConversationView as ConversationViewModel).AddMessage(msg);

                //if this is the first unread message, set HasUnreadMessages to true to make sure the status indicator gets updated
                if (!friend.HasUnreadMessages && !friend.IsSelected)
                {
                    friend.HasUnreadMessages = true;
                }
            });
        }
示例#3
0
        private void ReceiveMessage(ToxEventArgs.FriendMessageEventArgs e)
        {
            // Here we make a very benign assumption that message_id stay being uint32_t in toxcore.
            var receivedMessage = new ReceivedMessageViewModel(e.Message, DateTime.Now, e.MessageType, _friendViewModel);

            StoreMessage(receivedMessage);
        }
示例#4
0
        private void tox_OnFriendMessage(object sender, ToxEventArgs.FriendMessageEventArgs e)
        {
            //get the name associated with the friendnumber
            string name = tox.GetName(e.FriendNumber);

            //print the message to the console
            Console.WriteLine("<{0}> {1}", name, e.Message);
        }
示例#5
0
        private void FriendMessageReceivedHandler(object sender, ToxEventArgs.FriendMessageEventArgs e)
        {
            if (e.FriendNumber != _friendViewModel.FriendNumber)
            {
                return;
            }

            ReceiveMessage(e);
        }
示例#6
0
        private void Tox_OnFriendMessageReceived(object sender, ToxEventArgs.FriendMessageEventArgs e)
        {
            if (!Config.Instance.EnableFlashOnFriendMessage || Config.Instance.NotificationBlacklist.Contains(ProfileManager.Instance.Tox.GetFriendPublicKey(e.FriendNumber).ToString()))
            {
                return;
            }

            var window = MainWindow.Instance;

            window.UInvoke(() =>
            {
                if (!window.IsActive || window.WindowState == System.Windows.WindowState.Minimized)
                {
                    window.Flash();
                }
            });
        }
示例#7
0
 private void FriendMessageReceivedHandler(object sender, ToxEventArgs.FriendMessageEventArgs e)
 {
     FriendMessageReceived?.Invoke(this, e);
 }
示例#8
0
 private void OnToxFriendMessageReceived(object sender, ToxEventArgs.FriendMessageEventArgs e)
 {
     MainForm.Instance.NotifyToxFriendMessageReceived(e);
 }