Exemplo n.º 1
0
        private void ConversationList_RenameConversation(object sender, System.EventArgs e)
        {
            ConversationListItem item = (ConversationListItem)sender;

            _parent.Darkened = true;

            Rename       renameWindow       = new Rename();
            EventHandler readyButtonClicked = null;


            renameWindow.CancelButtonClicked += (s, ev) =>
            {
                _parent.mainCanvas.Children.Remove(renameWindow);
                _parent.Darkened = false;
                renameWindow.ReadyButtonClicked -= readyButtonClicked;
            };

            readyButtonClicked = (s, ev) =>
            {
                renameWindow.LoadingOn = true;

                _parent.Client.RenameConversation(item.Conversation.Id, item.Conversation.Name, renameWindow.NewName);

                renameWindow.LoadingOn = false;

                _parent.mainCanvas.Children.Remove(renameWindow);
                _parent.Darkened = false;
                renameWindow.ReadyButtonClicked -= readyButtonClicked;
            };
            renameWindow.ReadyButtonClicked += readyButtonClicked;

            _parent.mainCanvas.Children.Add(renameWindow);
        }
Exemplo n.º 2
0
 protected override void OnMouseLeave(EventArgs e)
 {
     base.OnMouseLeave(e);
     needShowScroll = false;
     this.mouseItem = null;
     this.Invalidate();
 }
        private void VerifyConversationDescription(IConversation conversation, string descriptionExpected)
        {
            ConversationListItem listItem = new ConversationListItem(conversation);
            string descriptionActual      = listItem.GetDescription(conversation);

            Assert.AreEqual(descriptionExpected, descriptionActual);
        }
Exemplo n.º 4
0
        private void _parent_NewConversationArrived(object sender, NewConversationArrivedEventArgs e)
        {
            ConversationListItem conversationItem = new ConversationListItem(e.Conversation);

            ConversationList.AddConversation(conversationItem);
            ConversationList.SelectedConversationItem = conversationItem;
        }
Exemplo n.º 5
0
        private void ConversationItem_DragLeave(object sender, DragEventArgs e)
        {
            _dragIndicator.IsOpen    = false;
            _dragIndicator.StaysOpen = false;

            ConversationListItem listItem = (ConversationListItem)sender;

            listItem.SetBackgroundColor(new SolidColorBrush(ColorScheme.MenuLight));
        }
Exemplo n.º 6
0
        private void ConversationItem_DragOver(object sender, DragEventArgs e)
        {
            ConversationListItem listItem = (ConversationListItem)sender;

            listItem.SetBackgroundColor(new SolidColorBrush(ColorScheme.MenuDarker));

            _dragIndicator.IsOpen           = true;
            _dragIndicator.Text             = listItem.Conversation.Name;
            _dragIndicator.Placement        = PlacementMode.Absolute;
            _dragIndicator.VerticalOffset   = e.GetPosition(this).Y - 5;
            _dragIndicator.HorizontalOffset = e.GetPosition(this).X;
        }
Exemplo n.º 7
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            int index = (e.Y + this.ChatListScroll.Value) / ItemHeight;

            if (index < Items.Count)
            {
                mouseItem = Items[index];
                if (needShowScroll)
                {
                    this.Invalidate();
                }
            }
            base.OnMouseMove(e);
        }
Exemplo n.º 8
0
        private void ConversationList_RemoveConversation(object sender, System.EventArgs e)
        {
            ConversationListItem conversationItem = (ConversationListItem)sender;

            ConversationModel conversation = conversationItem.Conversation;

            if (conversation.Messages.Count > 0)
            {
                _parent.Darkened = true;
                CustomMessageBox messageBox =
                    new CustomMessageBox(
                        "Nie można usunąć konwersacji, ponieważ zawiera onainit wiadomości.",
                        MessageBoxButton.OK);

                messageBox.OKButtonClicked += (s2, ea2) =>
                {
                    _parent.mainCanvas.Children.Remove(messageBox);
                    _parent.Darkened = false;
                };

                _parent.mainCanvas.Children.Add(messageBox);
            }
            else
            {
                _parent.Darkened = true;
                CustomMessageBox messageBox =
                    new CustomMessageBox("Czy na pewno chcesz usunąć tą konwersację?",
                                         MessageBoxButton.YesNo);

                messageBox.YesButtonClicked += (s, ea) =>
                {
                    _parent.Client.RemoveConversation(conversation.Id);

                    _parent.Darkened = false;
                    _parent.mainCanvas.Children.Remove(messageBox);
                };

                messageBox.NoButtonClicked += (s, ea) =>
                {
                    _parent.Darkened = false;
                    _parent.mainCanvas.Children.Remove(messageBox);
                };

                _parent.mainCanvas.Children.Add(messageBox);
            }
        }
Exemplo n.º 9
0
        private void LoadConversations()
        {
            ConversationList conversationList = (ConversationList)LogicalTreeHelper.FindLogicalNode(this, "ConversationList");

            if (conversationList == null)
            {
                return;
            }

            conversationList.Clear();
            foreach (ConversationModel conversation in _conversations)
            {
                ConversationListItem conversationItem = new ConversationListItem(conversation);
                conversationItem.Drop      += ConversationItem_Drop;
                conversationItem.DragOver  += ConversationItem_DragOver;
                conversationItem.DragLeave += ConversationItem_DragLeave;

                conversationList.AddConversation(conversationItem);
            }
        }
Exemplo n.º 10
0
        private void ConversationItem_Drop(object sender, DragEventArgs e)
        {
            try
            {
                ConversationListItem item = (ConversationListItem)sender;

                if (e.Data.GetDataPresent(typeof(DisplayedMessage)))
                {
                    string           conversationId = item.Conversation.Id;
                    DisplayedMessage message        = (DisplayedMessage)e.Data.GetData(typeof(DisplayedMessage));
                    PersonModel      messageSender  =
                        _parent.Persons.Find(
                            obj => obj.EmailAddresses.Any(obj2 => obj2.Address == message.Message.From.Address));

                    if (conversationId != null)
                    {
                        if (messageSender != null)
                        {
                            AddToProcess(conversationId, message.Message);

                            //EmailAddressModel authorEmailAddress =
                            //    messageSender.EmailAddresses.Single(obj => obj.Address == message.Message.From.Address);

                            //ConversationMessageModel receivedMessage = new ConversationMessageModel(messageSender,
                            //    message.Message.InternalDate);
                            //ConversationEmailMessageModel emailMessage =
                            //    new ConversationEmailMessageModel(receivedMessage, authorEmailAddress, message.Subject,
                            //        message.Message.Body.Html == "" ? message.Message.Body.Text : message.Message.Body.Html)
                            //    { ConversationId = conversationId };

                            //if (_processingWorker.IsBusy)
                            //{
                            //    _unprocessedMessages.Add(emailMessage);
                            //}
                            //else
                            //{
                            //    _processingWorker.RunWorkerAsync(emailMessage);
                            //}

                            EmailModel email = (EmailModel)EmailTreeList.SelectedNode.ChildObject;
                            email.UnhandledMessages.Remove(message.Message);
                            ObservableCollection <DisplayedMessage> messages = (ObservableCollection <DisplayedMessage>)MessagesGrid.ItemsSource;

                            messages.Remove(message);

                            MessagesGrid.ItemsSource = messages;
                            MessagesGrid.Items.Refresh();

                            _client.HandleMessage(email.Id, message.Message.UId.ToString());
                        }
                        else
                        {
                        }
                    }
                    else
                    {
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }