Fix toolbar not closing in all situations

This commit is contained in:
Kelrap 2024-07-31 12:34:18 -04:00
parent 5aeea56cc1
commit d962980801
3 changed files with 16 additions and 4 deletions

View file

@ -885,6 +885,9 @@ class ChatController extends State<ChatPageWithRoom>
}
void copyEventsAction() {
// #Pangea
MatrixState.pAnyState.closeOverlay();
// Pangea#
Clipboard.setData(ClipboardData(text: _getSelectedEventString()));
setState(() {
showEmojiPicker = false;

View file

@ -47,6 +47,11 @@ class ToolbarDisplayController {
this.previousEvent,
});
void closeToolbar() {
controller.clearSelectedEvents();
MatrixState.pAnyState.closeOverlay();
}
void setToolbar() {
toolbar ??= MessageToolbar(
textSelection: MessageTextSelection(),
@ -90,13 +95,16 @@ class ToolbarDisplayController {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisSize: MainAxisSize.max,
children: [
OverlayHeader(controller: controller),
OverlayHeader(
controller: controller,
closeToolbar: closeToolbar,
),
const SizedBox(
height: 7,
),
Container(
constraints: BoxConstraints(
maxHeight: MediaQuery.sizeOf(context).height * .72,
maxHeight: MediaQuery.sizeOf(context).height * .7,
),
child: Column(
mainAxisSize: MainAxisSize.min,

View file

@ -1,6 +1,5 @@
import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/pages/chat/chat_app_bar_title.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
@ -9,9 +8,11 @@ enum _EventContextAction { info, report }
class OverlayHeader extends StatelessWidget {
ChatController controller;
Function closeToolbar;
OverlayHeader({
required this.controller,
required this.closeToolbar,
super.key,
});
@ -26,7 +27,7 @@ class OverlayHeader extends StatelessWidget {
),
leading: IconButton(
icon: const Icon(Icons.close),
onPressed: MatrixState.pAnyState.closeOverlay,
onPressed: () => closeToolbar(),
tooltip: L10n.of(context)!.close,
color: Theme.of(context).colorScheme.primary,
),