From 0d2adcb2390a6deb546b45723bc47f76fa2ba63a Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Thu, 15 Feb 2018 16:21:40 +0100 Subject: [PATCH] add confirmation when deleting/leaving a chat room --- Classes/ChatConversationInfoView.m | 10 +++++++++- Classes/ChatsListTableView.m | 16 ++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/Classes/ChatConversationInfoView.m b/Classes/ChatConversationInfoView.m index 40a3799cf..8e3dde7f0 100644 --- a/Classes/ChatConversationInfoView.m +++ b/Classes/ChatConversationInfoView.m @@ -243,7 +243,15 @@ static UICompositeViewDescription *compositeDescription = nil; } - (IBAction)onQuitClick:(id)sender { - linphone_chat_room_leave(_room); + NSString *msg = + [NSString stringWithFormat:NSLocalizedString(@"Do you want to leave this conversation?", nil)]; + [UIConfirmationDialog ShowWithMessage:msg + cancelMessage:nil + confirmMessage:nil + onCancelClick:^() {} + onConfirmationClick:^() { + linphone_chat_room_leave(_room); + }]; } - (IBAction)onAddClick:(id)sender { diff --git a/Classes/ChatsListTableView.m b/Classes/ChatsListTableView.m index b3fe7cc5c..31f04cc53 100644 --- a/Classes/ChatsListTableView.m +++ b/Classes/ChatsListTableView.m @@ -225,9 +225,17 @@ void deletion_chat_room_state_changed(LinphoneChatRoom *cr, LinphoneChatRoomStat commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { - LinphoneChatRoom *chatRoom = (LinphoneChatRoom *)bctbx_list_nth_data(data, (int)[indexPath row]); - _chatRooms = bctbx_list_new((void *)chatRoom); - [self deleteChatRooms]; + NSString *msg = + [NSString stringWithFormat:NSLocalizedString(@"Do you want to delete this conversation?", nil)]; + [UIConfirmationDialog ShowWithMessage:msg + cancelMessage:nil + confirmMessage:nil + onCancelClick:^() {} + onConfirmationClick:^() { + LinphoneChatRoom *chatRoom = (LinphoneChatRoom *)bctbx_list_nth_data(data, (int)[indexPath row]); + _chatRooms = bctbx_list_new((void *)chatRoom); + [self deleteChatRooms]; + }]; } } @@ -240,7 +248,7 @@ void deletion_chat_room_state_changed(LinphoneChatRoom *cr, LinphoneChatRoomStat NSArray *copy = [[NSArray alloc] initWithArray:self.selectedItems]; for (NSIndexPath *indexPath in copy) { LinphoneChatRoom *chatRoom = (LinphoneChatRoom *)bctbx_list_nth_data(data, (int)[indexPath row]); - _chatRooms = _chatRooms ? bctbx_list_append(_chatRooms, chatRoom) : bctbx_list_new(chatRoom); + _chatRooms = bctbx_list_append(_chatRooms, chatRoom); } [self deleteChatRooms]; [self.selectedItems removeAllObjects];