コード例 #1
0
        private void Tox_OnGroupMessage(object sender, ToxEventArgs.GroupMessageEventArgs e)
        {
            MainWindow.Instance.UInvoke(() =>
            {
                var group = FindGroup(e.GroupNumber);
                if (group == null)
                {
                    Debugging.Write("We don't know about this friend!");
                    return;
                }

                //pretty slow, potentially
                var peer = group.FindPeer(ProfileManager.Instance.Tox.GetGroupPeerPublicKey(group.ChatNumber, e.PeerNumber));
                if (peer == null || peer.Ignored)
                {
                    return;
                }

                var msg        = new MessageViewModel(e.PeerNumber);
                msg.FriendName = ProfileManager.Instance.Tox.GetGroupMemberName(e.GroupNumber, e.PeerNumber);
                msg.Message    = e.Message;
                msg.Time       = DateTime.Now.ToShortTimeString();

                (group.ConversationView as GroupConversationViewModel).AddMessage(msg);

                //if this is the first unread message, set HasUnreadMessages to true to make sure the status indicator gets updated
                if (!group.HasUnreadMessages && !group.IsSelected)
                {
                    group.HasUnreadMessages = true;
                }
            });
        }
コード例 #2
0
ファイル: NotificationManager.cs プロジェクト: redshiba/Toxy
        private void Tox_OnGroupMessage(object sender, ToxEventArgs.GroupMessageEventArgs e)
        {
            if (!Config.Instance.EnableFlashOnGroupMessage)
            {
                return;
            }

            var window = MainWindow.Instance;

            MainWindow.Instance.UInvoke(() =>
            {
                if (!window.IsActive || window.WindowState == System.Windows.WindowState.Minimized)
                {
                    window.Flash();
                }
            });
        }
コード例 #3
0
ファイル: ProfileManager.cs プロジェクト: tf2017/toxofone
 private void OnToxGroupMessage(object sender, ToxEventArgs.GroupMessageEventArgs e)
 {
     Logger.Log(LogLevel.Warning, "ToxGroupMessage not supported, ignored");
 }