mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +00:00 
			
		
		
		
	Delete conversation => leave conversation
This commit is contained in:
		@@ -13,17 +13,17 @@ import 'package:flutter/material.dart';
 | 
			
		||||
/// @author Pierre HUBERT
 | 
			
		||||
 | 
			
		||||
typedef OpenConversationCallback = void Function(Conversation);
 | 
			
		||||
typedef RequestDeleteConversationCallback = void Function(Conversation);
 | 
			
		||||
typedef RequestLeaveConversationCallback = void Function(Conversation);
 | 
			
		||||
typedef RequestUpdateConversationCallback = void Function(Conversation);
 | 
			
		||||
 | 
			
		||||
enum _PopupMenuChoices { UPDATE, DELETE }
 | 
			
		||||
enum _PopupMenuChoices { UPDATE, LEAVE }
 | 
			
		||||
 | 
			
		||||
class ConversationTile extends StatelessWidget {
 | 
			
		||||
  final Conversation conversation;
 | 
			
		||||
  final UsersList usersList;
 | 
			
		||||
  final OpenConversationCallback onOpen;
 | 
			
		||||
  final RequestUpdateConversationCallback onRequestUpdate;
 | 
			
		||||
  final RequestDeleteConversationCallback onRequestDelete;
 | 
			
		||||
  final RequestLeaveConversationCallback onRequestLeave;
 | 
			
		||||
 | 
			
		||||
  const ConversationTile({
 | 
			
		||||
    Key key,
 | 
			
		||||
@@ -31,12 +31,12 @@ class ConversationTile extends StatelessWidget {
 | 
			
		||||
    @required this.usersList,
 | 
			
		||||
    @required this.onOpen,
 | 
			
		||||
    @required this.onRequestUpdate,
 | 
			
		||||
    @required this.onRequestDelete,
 | 
			
		||||
    @required this.onRequestLeave,
 | 
			
		||||
  })  : assert(conversation != null),
 | 
			
		||||
        assert(usersList != null),
 | 
			
		||||
        assert(onOpen != null),
 | 
			
		||||
        assert(onRequestUpdate != null),
 | 
			
		||||
        assert(onRequestDelete != null),
 | 
			
		||||
        assert(onRequestLeave != null),
 | 
			
		||||
        super(key: key);
 | 
			
		||||
 | 
			
		||||
  _buildSubInformation(IconData icon, String content) {
 | 
			
		||||
@@ -110,8 +110,8 @@ class ConversationTile extends StatelessWidget {
 | 
			
		||||
                  value: _PopupMenuChoices.UPDATE,
 | 
			
		||||
                ),
 | 
			
		||||
                PopupMenuItem(
 | 
			
		||||
                  child: Text(tr("Delete")),
 | 
			
		||||
                  value: _PopupMenuChoices.DELETE,
 | 
			
		||||
                  child: Text(tr("Leave")),
 | 
			
		||||
                  value: _PopupMenuChoices.LEAVE,
 | 
			
		||||
                )
 | 
			
		||||
              ]).then(_conversationMenuCallback);
 | 
			
		||||
        },
 | 
			
		||||
@@ -140,8 +140,8 @@ class ConversationTile extends StatelessWidget {
 | 
			
		||||
        onRequestUpdate(conversation);
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
      case _PopupMenuChoices.DELETE:
 | 
			
		||||
        onRequestDelete(conversation);
 | 
			
		||||
      case _PopupMenuChoices.LEAVE:
 | 
			
		||||
        onRequestLeave(conversation);
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user