Merge branch 'main' into 218-improve-interactive-translator

pull/1183/head
Matt 1 year ago committed by GitHub
commit fcf4123556
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -344,9 +344,6 @@ class MessageContent extends StatelessWidget {
MatrixLocals(L10n.of(context)!), MatrixLocals(L10n.of(context)!),
hideReply: true, hideReply: true,
); );
toolbarController?.toolbar?.textSelection.setMessageText(
messageText,
);
return SelectableLinkify( return SelectableLinkify(
onSelectionChanged: (selection, cause) { onSelectionChanged: (selection, cause) {
if (cause == SelectionChangedCause.longPress && if (cause == SelectionChangedCause.longPress &&
@ -363,8 +360,7 @@ class MessageContent extends StatelessWidget {
.onTextSelection(selection); .onTextSelection(selection);
}, },
onTap: () => toolbarController?.showToolbar(context), onTap: () => toolbarController?.showToolbar(context),
text: toolbarController?.toolbar?.textSelection.messageText ?? text: messageText,
messageText,
contextMenuBuilder: (context, state) => contextMenuBuilder: (context, state) =>
(toolbarController?.highlighted ?? false) (toolbarController?.highlighted ?? false)
? const SizedBox.shrink() ? const SizedBox.shrink()

@ -58,7 +58,7 @@ class NewGroupView extends StatelessWidget {
Expanded( Expanded(
child: TextField( child: TextField(
// #Pangea // #Pangea
maxLength: 32, maxLength: 64,
// Pangea# // Pangea#
controller: controller.nameController, controller: controller.nameController,
autocorrect: false, autocorrect: false,

@ -96,7 +96,7 @@ class NewSpaceView extends StatelessWidget {
Expanded( Expanded(
child: TextField( child: TextField(
// #Pangea // #Pangea
maxLength: 32, maxLength: 64,
// Pangea# // Pangea#
controller: controller.nameController, controller: controller.nameController,
autocorrect: false, autocorrect: false,

@ -124,6 +124,8 @@ extension PangeaRoom on Room {
Text nameAndRoomTypeIcon([TextStyle? textStyle]) => Text.rich( Text nameAndRoomTypeIcon([TextStyle? textStyle]) => Text.rich(
style: textStyle, style: textStyle,
maxLines: 1,
overflow: TextOverflow.ellipsis,
TextSpan( TextSpan(
children: [ children: [
WidgetSpan( WidgetSpan(

@ -1,11 +1,9 @@
import 'package:fluffychat/pages/chat_details/chat_details.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/src/widgets/visibility.dart' as visible; import 'package:flutter/src/widgets/visibility.dart' as visible;
import 'package:matrix/matrix.dart'; import 'package:matrix/matrix.dart';
import 'package:fluffychat/pages/chat_details/chat_details.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
class ClassNameHeader extends StatelessWidget { class ClassNameHeader extends StatelessWidget {
final Room room; final Room room;
final ChatDetailsController controller; final ChatDetailsController controller;
@ -24,14 +22,14 @@ class ClassNameHeader extends StatelessWidget {
style: TextButton.styleFrom( style: TextButton.styleFrom(
padding: const EdgeInsets.symmetric(horizontal: 25), padding: const EdgeInsets.symmetric(horizontal: 25),
), ),
label: visible.Visibility( icon: visible.Visibility(
visible: controller.showEditNameIcon, visible: controller.showEditNameIcon,
child: Icon( child: Icon(
Icons.edit, Icons.edit,
color: Theme.of(context).colorScheme.onBackground, color: Theme.of(context).colorScheme.onBackground,
), ),
), ),
icon: room.nameAndRoomTypeIcon( label: room.nameAndRoomTypeIcon(
TextStyle( TextStyle(
fontSize: 20, fontSize: 20,
color: Theme.of(context).textTheme.bodyLarge!.color, color: Theme.of(context).textTheme.bodyLarge!.color,

@ -27,7 +27,7 @@ void setClassDisplayname(BuildContext context, String? roomId) async {
: L10n.of(context)!.changeTheNameOfTheChat, : L10n.of(context)!.changeTheNameOfTheChat,
), ),
content: TextField( content: TextField(
maxLength: 32, maxLength: 64,
controller: textFieldController, controller: textFieldController,
), ),
actions: [ actions: [

@ -188,10 +188,13 @@ class MessageToolbarState extends State<MessageToolbar> {
return; return;
} }
setState(() { if (mounted) {
currentMode = newMode; setState(() {
updatingMode = true; currentMode = newMode;
}); updatingMode = true;
});
}
if (!subscribed) { if (!subscribed) {
toolbarContent = MessageUnsubscribedCard( toolbarContent = MessageUnsubscribedCard(
languageTool: newMode.title(context), languageTool: newMode.title(context),
@ -221,9 +224,11 @@ class MessageToolbarState extends State<MessageToolbar> {
break; break;
} }
} }
setState(() { if (mounted) {
updatingMode = false; setState(() {
}); updatingMode = false;
});
}
} }
void showTranslation() { void showTranslation() {
@ -289,7 +294,7 @@ class MessageToolbarState extends State<MessageToolbar> {
final bool autoplay = MatrixState.pangeaController.pStoreService.read( final bool autoplay = MatrixState.pangeaController.pStoreService.read(
PLocalKey.autoPlayMessages, PLocalKey.autoPlayMessages,
) ?? ) ??
true; false;
if (widget.pangeaMessageEvent.isAudioMessage) { if (widget.pangeaMessageEvent.isAudioMessage) {
updateMode(MessageMode.speechToText); updateMode(MessageMode.speechToText);

@ -113,7 +113,9 @@ class MessageTranslationCardState extends State<MessageTranslationCard> {
l2Code = MatrixState.pangeaController.languageController.activeL2Code( l2Code = MatrixState.pangeaController.languageController.activeL2Code(
roomID: widget.messageEvent.room.id, roomID: widget.messageEvent.room.id,
); );
setState(() {}); if (mounted) {
setState(() {});
}
loadTranslation(() async { loadTranslation(() async {
if (widget.selection.selectedText != null) { if (widget.selection.selectedText != null) {

@ -61,9 +61,11 @@ class PangeaRichTextState extends State<PangeaRichText> {
widget.toolbarController?.toolbar?.textSelection.setMessageText( widget.toolbarController?.toolbar?.textSelection.setMessageText(
newTextSpan, newTextSpan,
); );
setState(() { if (mounted) {
textSpan = newTextSpan; setState(() {
}); textSpan = newTextSpan;
});
}
} }
void setTextSpan() { void setTextSpan() {

Loading…
Cancel
Save