コード例 #1
0
ファイル: MainWindow.xaml.cs プロジェクト: kstaruch/Toxy
        private void AddFriendToView(int friendNumber)
        {
            string friendStatus;
            if (tox.GetFriendConnectionStatus(friendNumber) != 0)
            {
                friendStatus = tox.GetStatusMessage(friendNumber);
            }
            else
            {
                DateTime lastOnline = tox.GetLastOnline(friendNumber);
                if (lastOnline == emptyLastOnline)
                {
                    lastOnline = DateTime.Now;
                }
                friendStatus = string.Format("Last seen: {0} {1}", lastOnline.ToShortDateString(), lastOnline.ToLongTimeString());
            }

            string friendName = tox.GetName(friendNumber);
            if (string.IsNullOrEmpty(friendName))
            {
                friendName = tox.GetClientID(friendNumber);
            }

            var friendMV = new FriendControlModelView(this.ViewModel);
            friendMV.ChatNumber = friendNumber;
            friendMV.Name = friendName;
            friendMV.StatusMessage = friendStatus;
            friendMV.ToxStatus = ToxUserStatus.INVALID;
            friendMV.SelectedAction = FriendSelectedAction;
            friendMV.DenyCallAction = FriendDenyCallAction;
            friendMV.AcceptCallAction = FriendAcceptCallAction;
            friendMV.CopyIDAction = FriendCopyIdAction;
            friendMV.DeleteAction = FriendDeleteAction;
            friendMV.GroupInviteAction = GroupInviteAction;
            friendMV.HangupAction = FriendHangupAction;

            this.ViewModel.ChatCollection.Add(friendMV);
        }
コード例 #2
0
ファイル: MainWindow.xaml.cs プロジェクト: WELL-E/Toxy-WPF
        private void AddFriendRequestToView(string id, string message)
        {
            var friendMV = new FriendControlModelView(ViewModel);
            friendMV.IsRequest = true;
            friendMV.Name = id;
            friendMV.ToxStatus = ToxStatus.Invalid;
            friendMV.RequestMessageData = new MessageData() { Message = message, Username = "******", Timestamp = DateTime.Now };
            friendMV.RequestFlowDocument = FlowDocumentExtensions.CreateNewDocument();
            friendMV.SelectedAction = FriendRequestSelectedAction;
            friendMV.AcceptAction = FriendRequestAcceptAction;
            friendMV.DeclineAction = FriendRequestDeclineAction;

            ViewModel.ChatRequestCollection.Add(friendMV);

            if (ListViewTabControl.SelectedIndex != 1)
            {
                RequestsTabItem.Header = "Requests*";
            }
        }
コード例 #3
0
ファイル: MainWindow.xaml.cs プロジェクト: kstaruch/Toxy
        private void AddFriendRequestToView(string id, string message)
        {
            var friendMV = new FriendControlModelView(this.ViewModel);
            friendMV.IsRequest = true;
            friendMV.Name = id;
            friendMV.ToxStatus = ToxUserStatus.INVALID;
            friendMV.RequestMessageData = new MessageData() { Message = message, Username = "******" };
            friendMV.RequestFlowDocument = GetNewFlowDocument();
            friendMV.SelectedAction = FriendRequestSelectedAction;
            friendMV.AcceptAction = FriendRequestAcceptAction;
            friendMV.DeclineAction = FriendRequestDeclineAction;

            this.ViewModel.ChatRequestCollection.Add(friendMV);

            if (ListViewTabControl.SelectedIndex != 1)
            {
                RequestsTabItem.Header = "Requests*";
            }
        }
コード例 #4
0
ファイル: MainWindow.xaml.cs プロジェクト: WELL-E/Toxy-WPF
        private void AddFriendToView(int friendNumber, bool sentRequest)
        {
            var friendStatus = "";
            var lastSeenInfo = (string) FindResource("Local_LastSeen");

            if (tox.IsFriendOnline(friendNumber))
            {
                friendStatus = getFriendStatusMessage(friendNumber);
            }
            else
            {
                var lastOnline = TimeZoneInfo.ConvertTime(tox.GetFriendLastOnline(friendNumber), TimeZoneInfo.Utc, TimeZoneInfo.Local);

                if (lastOnline.Year == 1970)
                {
                    if (sentRequest)
                        friendStatus = "Friend request sent";
                }
                else
                    friendStatus = string.Format("{0}: {1} {2}", lastSeenInfo, lastOnline.ToShortDateString(), lastOnline.ToLongTimeString());
            }
           

            var friendName = getFriendName(friendNumber);
            if (string.IsNullOrEmpty(friendName))
            {
                friendName = tox.GetFriendPublicKey(friendNumber).GetString();
            }

            var friendMv = new FriendControlModelView(ViewModel)
            {
                ChatNumber = friendNumber,
                Name = friendName,
                StatusMessage = friendStatus,
                ToxStatus = ToxStatus.Invalid,
                SelectedAction = FriendSelectedAction,
                DenyCallAction = FriendDenyCallAction,
                AcceptCallAction = FriendAcceptCallAction,
                CopyIDAction = FriendCopyIdAction,
                DeleteAction = FriendDeleteAction,
                GroupInviteAction = GroupInviteAction,
                HangupAction = FriendHangupAction
            };

            ViewModel.ChatCollection.Add(friendMv);
            RearrangeChatList();
        }