Example #1
0
        /// <summary>
        /// Opens a chat window.
        /// </summary>
        /// <param name="user">The user.</param>
        public void OpenChatWindow(Collaborator user)
        {
            if (!Chats.ContainsKey(user.Name))
            {
                var pane = CahootsPackage.Instance.FindToolWindow(
                            typeof(ChatWindowToolWindow),
                            this.WindowIndex++,
                            true);

                pane.Caption = "Chat — " + user.Name;
                Chats.Add(user.Name, pane);
                var frame = (IVsWindowFrame)pane.Frame;
                this.WindowFrames.Add(frame);
                var win = pane.As<ChatWindowToolWindow>().Content
                                                as ChatWindowControl;
                var vm = this.GetViewModel("chat", user, this.UserName)
                                                as ChatViewModel;
                win.ViewModel = vm;
                frame.Show();
            }
            else
            {
                Chats[user.Name].Frame.As<IVsWindowFrame>().Show();
            }
        }
Example #2
0
        /// <summary>
        /// Updates the collaborator.
        /// </summary>
        /// <param name="collaborator">The collaborator.</param>
        private void UpdateCollaborator(Collaborator collaborator)
        {
            var user = this.ViewModel.Users.FirstOrDefault(u => u.Name == collaborator.Name);

            if (user != null)
            {
                user.Status = collaborator.Status;
                user.ForceRefresh("Status");
            }
            else
            {
                this.ViewModel.Users.Add(collaborator);
            }
        }