From bf29a324e41718b51a7d8e4b6a4e3e152050f192 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Tue, 27 Aug 2024 15:00:56 -0400 Subject: [PATCH] removed unnecessary pangea comments --- lib/pages/chat/chat_event_list.dart | 4 +- lib/pages/chat/chat_view.dart | 226 +++++++++--------- lib/pages/chat/events/message.dart | 6 +- .../chat/message_selection_overlay.dart | 1 + 4 files changed, 115 insertions(+), 122 deletions(-) diff --git a/lib/pages/chat/chat_event_list.dart b/lib/pages/chat/chat_event_list.dart index 3510a4989..f243485e5 100644 --- a/lib/pages/chat/chat_event_list.dart +++ b/lib/pages/chat/chat_event_list.dart @@ -165,9 +165,7 @@ class ChatEventList extends StatelessWidget { ), highlightMarker: controller.scrollToEventIdMarker == event.eventId, - // #Pangea - // onSelect: controller.onSelectMessage, - // Pangea# + onSelect: controller.onSelectMessage, scrollToEventId: (String eventId) => controller.scrollToEventId(eventId), longPressSelect: controller.selectedEvents.isNotEmpty, diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index 27b68d4dc..061a3b3d5 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -34,94 +34,96 @@ class ChatView extends StatelessWidget { const ChatView(this.controller, {super.key}); List _appBarActions(BuildContext context) { - // #Pangea - // if (controller.selectMode) { - // return [ - // if (controller.canEditSelectedEvents) - // IconButton( - // icon: const Icon(Icons.edit_outlined), - // tooltip: L10n.of(context)!.edit, - // onPressed: controller.editSelectedEventAction, - // ), - // // #Pangea - // if (controller.selectedEvents.length == 1 && - // controller.selectedEvents.single.messageType == MessageTypes.Text) - // // Pangea# - // IconButton( - // icon: const Icon(Icons.copy_outlined), - // tooltip: L10n.of(context)!.copy, - // onPressed: controller.copyEventsAction, - // ), - // if (controller.canSaveSelectedEvent) - // // Use builder context to correctly position the share dialog on iPad - // Builder( - // builder: (context) => IconButton( - // icon: Icon(Icons.adaptive.share), - // tooltip: L10n.of(context)!.share, - // onPressed: () => controller.saveSelectedEvent(context), - // ), - // ), - // if (controller.canPinSelectedEvents) - // IconButton( - // icon: const Icon(Icons.push_pin_outlined), - // onPressed: controller.pinEvent, - // tooltip: L10n.of(context)!.pinMessage, - // ), - // if (controller.canRedactSelectedEvents) - // IconButton( - // icon: const Icon(Icons.delete_outlined), - // tooltip: L10n.of(context)!.redactMessage, - // onPressed: controller.redactEventsAction, - // ), - // if (controller.selectedEvents.length == 1) - // PopupMenuButton<_EventContextAction>( - // onSelected: (action) { - // switch (action) { - // case _EventContextAction.info: - // controller.showEventInfo(); - // controller.clearSelectedEvents(); - // break; - // case _EventContextAction.report: - // controller.reportEventAction(); - // break; - // } - // }, - // itemBuilder: (context) => [ - // PopupMenuItem( - // value: _EventContextAction.info, - // child: Row( - // mainAxisSize: MainAxisSize.min, - // children: [ - // const Icon(Icons.info_outlined), - // const SizedBox(width: 12), - // Text(L10n.of(context)!.messageInfo), - // ], - // ), - // ), - // if (controller.selectedEvents.single.status.isSent) - // PopupMenuItem( - // value: _EventContextAction.report, - // child: Row( - // mainAxisSize: MainAxisSize.min, - // children: [ - // const Icon( - // Icons.shield_outlined, - // color: Colors.red, - // ), - // const SizedBox(width: 12), - // Text(L10n.of(context)!.reportMessage), - // ], - // ), - // ), - // ], - // ), - // ]; - return [ - ChatSettingsPopupMenu( - controller.room, - (!controller.room.isDirectChat && !controller.room.isArchived), - ), - ]; + if (controller.selectMode) { + return [ + if (controller.canEditSelectedEvents) + IconButton( + icon: const Icon(Icons.edit_outlined), + tooltip: L10n.of(context)!.edit, + onPressed: controller.editSelectedEventAction, + ), + // #Pangea + if (controller.selectedEvents.length == 1 && + controller.selectedEvents.single.messageType == MessageTypes.Text) + // Pangea# + IconButton( + icon: const Icon(Icons.copy_outlined), + tooltip: L10n.of(context)!.copy, + onPressed: controller.copyEventsAction, + ), + if (controller.canSaveSelectedEvent) + // Use builder context to correctly position the share dialog on iPad + Builder( + builder: (context) => IconButton( + icon: Icon(Icons.adaptive.share), + tooltip: L10n.of(context)!.share, + onPressed: () => controller.saveSelectedEvent(context), + ), + ), + if (controller.canPinSelectedEvents) + IconButton( + icon: const Icon(Icons.push_pin_outlined), + onPressed: controller.pinEvent, + tooltip: L10n.of(context)!.pinMessage, + ), + if (controller.canRedactSelectedEvents) + IconButton( + icon: const Icon(Icons.delete_outlined), + tooltip: L10n.of(context)!.redactMessage, + onPressed: controller.redactEventsAction, + ), + if (controller.selectedEvents.length == 1) + PopupMenuButton<_EventContextAction>( + onSelected: (action) { + switch (action) { + case _EventContextAction.info: + controller.showEventInfo(); + controller.clearSelectedEvents(); + break; + case _EventContextAction.report: + controller.reportEventAction(); + break; + } + }, + itemBuilder: (context) => [ + PopupMenuItem( + value: _EventContextAction.info, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon(Icons.info_outlined), + const SizedBox(width: 12), + Text(L10n.of(context)!.messageInfo), + ], + ), + ), + if (controller.selectedEvents.single.status.isSent) + PopupMenuItem( + value: _EventContextAction.report, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon( + Icons.shield_outlined, + color: Colors.red, + ), + const SizedBox(width: 12), + Text(L10n.of(context)!.reportMessage), + ], + ), + ), + ], + ), + ]; + // #Pangea + } else { + return [ + ChatSettingsPopupMenu( + controller.room, + (!controller.room.isDirectChat && !controller.room.isArchived), + ), + ]; + } // else if (!controller.room.isArchived) { // return [ // if (Matrix.of(context).voipPlugin != null && @@ -188,34 +190,28 @@ class ChatView extends StatelessWidget { } return Scaffold( appBar: AppBar( - actionsIconTheme: const IconThemeData( - // #Pangea - // color: controller.selectedEvents.isEmpty - // ? null - // : Theme.of(context).colorScheme.primary, - // Pangea# - ), - leading: - // #Pangea - // controller.selectMode - // ? IconButton( - // icon: const Icon(Icons.close), - // onPressed: controller.clearSelectedEvents, - // tooltip: L10n.of(context)!.close, - // color: Theme.of(context).colorScheme.primary, - // ) - // : - // Pangea# - UnreadRoomsBadge( - filter: (r) => - r.id != controller.roomId - // #Pangea - && - !r.isAnalyticsRoom, - // Pangea# - badgePosition: BadgePosition.topEnd(end: 8, top: 4), - child: const Center(child: BackButton()), + actionsIconTheme: IconThemeData( + color: controller.selectedEvents.isEmpty + ? null + : Theme.of(context).colorScheme.primary, ), + leading: controller.selectMode + ? IconButton( + icon: const Icon(Icons.close), + onPressed: controller.clearSelectedEvents, + tooltip: L10n.of(context)!.close, + color: Theme.of(context).colorScheme.primary, + ) + : UnreadRoomsBadge( + filter: (r) => + r.id != controller.roomId + // #Pangea + && + !r.isAnalyticsRoom, + // Pangea# + badgePosition: BadgePosition.topEnd(end: 8, top: 4), + child: const Center(child: BackButton()), + ), titleSpacing: 0, title: ChatAppBarTitle(controller), actions: _appBarActions(context), diff --git a/lib/pages/chat/events/message.dart b/lib/pages/chat/events/message.dart index a4c7aa283..f05555df5 100644 --- a/lib/pages/chat/events/message.dart +++ b/lib/pages/chat/events/message.dart @@ -36,8 +36,8 @@ class Message extends StatelessWidget { final bool highlightMarker; final bool animateIn; final void Function()? resetAnimateIn; + final void Function(Event) onSelect; // #Pangea - // final void Function(Event) onSelect; final bool immersionMode; final ChatController controller; final bool isOverlay; @@ -50,9 +50,7 @@ class Message extends StatelessWidget { this.previousEvent, this.displayReadMarker = false, this.longPressSelect = false, - // #Pangea - // required this.onSelect, - // Pangea# + required this.onSelect, required this.onInfoTab, required this.onAvatarTab, required this.scrollToEventId, diff --git a/lib/pangea/widgets/chat/message_selection_overlay.dart b/lib/pangea/widgets/chat/message_selection_overlay.dart index 6ef6cb39b..a62b8e930 100644 --- a/lib/pangea/widgets/chat/message_selection_overlay.dart +++ b/lib/pangea/widgets/chat/message_selection_overlay.dart @@ -177,6 +177,7 @@ class MessageSelectionOverlayState extends State { onInfoTab: (_) => {}, onAvatarTab: (_) => {}, scrollToEventId: (_) => {}, + onSelect: (_) => {}, immersionMode: widget.controller.choreographer.immersionMode, controller: widget.controller, timeline: widget.controller.timeline!,