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); }
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); }
private void _parent_NewConversationArrived(object sender, NewConversationArrivedEventArgs e) { ConversationListItem conversationItem = new ConversationListItem(e.Conversation); ConversationList.AddConversation(conversationItem); ConversationList.SelectedConversationItem = conversationItem; }
private void ConversationItem_DragLeave(object sender, DragEventArgs e) { _dragIndicator.IsOpen = false; _dragIndicator.StaysOpen = false; ConversationListItem listItem = (ConversationListItem)sender; listItem.SetBackgroundColor(new SolidColorBrush(ColorScheme.MenuLight)); }
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; }
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); }
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); } }
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); } }
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) { } }