/// <summary> /// Handle the conversation being deleted from the client. /// </summary> private void OnConversationDeleted(object sender, InboxEventArgs args) { Platform.UIThread(this, delegate { InboxConversation conversation = args.Conversation; int selectedRow = SelectedRow; bool deletingCurrent = (selectedRow != -1) && (conversation == _conversations[selectedRow]); _conversations.Remove(conversation); InitialiseList(); RefreshList(); if (deletingCurrent) { if (selectedRow == _conversations.Count) { --selectedRow; } if (selectedRow < 0) { ShowEmptyMessage(); } else { SelectedRow = selectedRow; } } }); }
/// <summary> /// This event is fired when a new conversation is added to the list of conversations. /// </summary> private void OnConversationAdded(object sender, InboxEventArgs args) { Platform.UIThread(this, delegate { InboxConversation selectedMessage = SelectedMessage; SortConversations(); RestoreSelection(selectedMessage); }); }