Soru/moor

This commit is contained in:
Sorunome 2020-05-13 13:58:59 +00:00 committed by Christian Pauly
commit f594c7005d
55 changed files with 1034 additions and 1133 deletions

View file

@ -71,11 +71,11 @@ class ChatListItem extends StatelessWidget {
if (room.membership == Membership.join) {
if (Matrix.of(context).shareContent != null) {
if (Matrix.of(context).shareContent["msgtype"] ==
"chat.fluffy.shared_file") {
if (Matrix.of(context).shareContent['msgtype'] ==
'chat.fluffy.shared_file') {
await SimpleDialogs(context).tryRequestWithErrorToast(
room.sendFileEvent(
Matrix.of(context).shareContent["file"],
Matrix.of(context).shareContent['file'],
),
);
} else {
@ -98,11 +98,11 @@ class ChatListItem extends StatelessWidget {
final success = await SimpleDialogs(context)
.tryRequestWithLoadingDialog(room.forget());
if (success != false) {
if (this.onForget != null) this.onForget();
if (onForget != null) onForget();
}
return success;
}
final bool confirmed = await SimpleDialogs(context).askConfirmation();
final confirmed = await SimpleDialogs(context).askConfirmation();
if (!confirmed) {
return false;
}
@ -217,7 +217,7 @@ class ChatListItem extends StatelessWidget {
),
),
)
: Text(" "),
: Text(' '),
],
),
onTap: () => clickAction(context),

View file

@ -37,23 +37,23 @@ class Message extends StatelessWidget {
return StateMessage(event);
}
Client client = Matrix.of(context).client;
final bool ownMessage = event.senderId == client.userID;
Alignment alignment = ownMessage ? Alignment.topRight : Alignment.topLeft;
Color color = Theme.of(context).secondaryHeaderColor;
final bool sameSender = nextEvent != null &&
var client = Matrix.of(context).client;
final ownMessage = event.senderId == client.userID;
var alignment = ownMessage ? Alignment.topRight : Alignment.topLeft;
var color = Theme.of(context).secondaryHeaderColor;
final sameSender = nextEvent != null &&
[EventTypes.Message, EventTypes.Sticker].contains(nextEvent.type)
? nextEvent.sender.id == event.sender.id
: false;
BubbleNip nip = sameSender
var nip = sameSender
? BubbleNip.no
: ownMessage ? BubbleNip.rightBottom : BubbleNip.leftBottom;
Color textColor = ownMessage
var textColor = ownMessage
? Colors.white
: Theme.of(context).brightness == Brightness.dark
? Colors.white
: Colors.black;
MainAxisAlignment rowMainAxisAlignment =
var rowMainAxisAlignment =
ownMessage ? MainAxisAlignment.end : MainAxisAlignment.start;
if (event.showThumbnail) {
@ -65,7 +65,7 @@ class Message extends StatelessWidget {
: Theme.of(context).primaryColor;
}
List<Widget> rowChildren = [
var rowChildren = <Widget>[
Expanded(
child: Bubble(
elevation: 0,
@ -84,14 +84,14 @@ class Message extends StatelessWidget {
FutureBuilder<Event>(
future: event.getReplyEvent(timeline),
builder: (BuildContext context, snapshot) {
final Event replyEvent = snapshot.hasData
final replyEvent = snapshot.hasData
? snapshot.data
: Event(
eventId: event.content['m.relates_to']
['m.in_reply_to']['event_id'],
content: {"msgtype": "m.text", "body": "..."},
content: {'msgtype': 'm.text', 'body': '...'},
senderId: event.senderId,
typeKey: "m.room.message",
typeKey: 'm.room.message',
room: event.room,
roomId: event.roomId,
status: 1,
@ -110,7 +110,7 @@ class Message extends StatelessWidget {
),
if (event.type == EventTypes.Encrypted &&
event.messageType == MessageTypes.BadEncrypted &&
event.content["body"] == DecryptError.UNKNOWN_SESSION)
event.content['body'] == DecryptError.UNKNOWN_SESSION)
RaisedButton(
color: color.withAlpha(100),
child: Text(
@ -146,7 +146,7 @@ class Message extends StatelessWidget {
),
),
];
final Widget avatarOrSizedBox = sameSender
final avatarOrSizedBox = sameSender
? SizedBox(width: Avatar.defaultSize)
: Avatar(
event.sender.avatarUrl,
@ -193,8 +193,8 @@ class _MetaRow extends StatelessWidget {
@override
Widget build(BuildContext context) {
final String displayname = event.sender.calcDisplayname();
final bool showDisplayname =
final displayname = event.sender.calcDisplayname();
final showDisplayname =
!ownMessage && event.senderId != event.room.directChatMatrixID;
return Row(
mainAxisSize: MainAxisSize.min,

View file

@ -13,44 +13,44 @@ class ParticipantListItem extends StatelessWidget {
const ParticipantListItem(this.user);
participantAction(BuildContext context, String action) async {
void participantAction(BuildContext context, String action) async {
switch (action) {
case "ban":
case 'ban':
if (await SimpleDialogs(context).askConfirmation()) {
await SimpleDialogs(context).tryRequestWithLoadingDialog(user.ban());
}
break;
case "unban":
case 'unban':
if (await SimpleDialogs(context).askConfirmation()) {
await SimpleDialogs(context)
.tryRequestWithLoadingDialog(user.unban());
}
break;
case "kick":
case 'kick':
if (await SimpleDialogs(context).askConfirmation()) {
await SimpleDialogs(context).tryRequestWithLoadingDialog(user.kick());
}
break;
case "admin":
case 'admin':
if (await SimpleDialogs(context).askConfirmation()) {
await SimpleDialogs(context)
.tryRequestWithLoadingDialog(user.setPower(100));
}
break;
case "moderator":
case 'moderator':
if (await SimpleDialogs(context).askConfirmation()) {
await SimpleDialogs(context)
.tryRequestWithLoadingDialog(user.setPower(50));
}
break;
case "user":
case 'user':
if (await SimpleDialogs(context).askConfirmation()) {
await SimpleDialogs(context)
.tryRequestWithLoadingDialog(user.setPower(0));
}
break;
case "message":
final String roomId = await user.startDirectChat();
case 'message':
final roomId = await user.startDirectChat();
await Navigator.of(context).pushAndRemoveUntil(
AppRoute.defaultRoute(
context,
@ -63,21 +63,21 @@ class ParticipantListItem extends StatelessWidget {
@override
Widget build(BuildContext context) {
Map<Membership, String> membershipBatch = {
Membership.join: "",
var membershipBatch = <Membership, String>{
Membership.join: '',
Membership.ban: L10n.of(context).banned,
Membership.invite: L10n.of(context).invited,
Membership.leave: L10n.of(context).leftTheChat,
};
final String permissionBatch = user.powerLevel == 100
final permissionBatch = user.powerLevel == 100
? L10n.of(context).admin
: user.powerLevel >= 50 ? L10n.of(context).moderator : "";
List<PopupMenuEntry<String>> items = <PopupMenuEntry<String>>[];
: user.powerLevel >= 50 ? L10n.of(context).moderator : '';
var items = <PopupMenuEntry<String>>[];
if (user.id != Matrix.of(context).client.userID) {
items.add(
PopupMenuItem(
child: Text(L10n.of(context).sendAMessage), value: "message"),
child: Text(L10n.of(context).sendAMessage), value: 'message'),
);
}
if (user.canChangePowerLevel &&
@ -85,7 +85,7 @@ class ParticipantListItem extends StatelessWidget {
user.powerLevel != 100) {
items.add(
PopupMenuItem(
child: Text(L10n.of(context).makeAnAdmin), value: "admin"),
child: Text(L10n.of(context).makeAnAdmin), value: 'admin'),
);
}
if (user.canChangePowerLevel &&
@ -93,29 +93,29 @@ class ParticipantListItem extends StatelessWidget {
user.powerLevel != 50) {
items.add(
PopupMenuItem(
child: Text(L10n.of(context).makeAModerator), value: "moderator"),
child: Text(L10n.of(context).makeAModerator), value: 'moderator'),
);
}
if (user.canChangePowerLevel && user.powerLevel != 0) {
items.add(
PopupMenuItem(
child: Text(L10n.of(context).revokeAllPermissions), value: "user"),
child: Text(L10n.of(context).revokeAllPermissions), value: 'user'),
);
}
if (user.canKick) {
items.add(
PopupMenuItem(
child: Text(L10n.of(context).kickFromChat), value: "kick"),
child: Text(L10n.of(context).kickFromChat), value: 'kick'),
);
}
if (user.canBan && user.membership != Membership.ban) {
items.add(
PopupMenuItem(child: Text(L10n.of(context).banFromChat), value: "ban"),
PopupMenuItem(child: Text(L10n.of(context).banFromChat), value: 'ban'),
);
} else if (user.canBan && user.membership == Membership.ban) {
items.add(
PopupMenuItem(
child: Text(L10n.of(context).removeExile), value: "unban"),
child: Text(L10n.of(context).removeExile), value: 'unban'),
);
}
return PopupMenuButton(

View file

@ -13,7 +13,7 @@ class PresenceListItem extends StatelessWidget {
const PresenceListItem(this.presence);
static Map<String, Profile> _presences = {};
static final Map<String, Profile> _presences = {};
Future<Profile> _requestProfile(BuildContext context) async {
_presences[presence.sender] ??=
@ -28,7 +28,7 @@ class PresenceListItem extends StatelessWidget {
builder: (context, snapshot) {
if (!snapshot.hasData) return Container();
Uri avatarUrl;
String displayname = presence.sender.localpart;
var displayname = presence.sender.localpart;
if (snapshot.hasData) {
avatarUrl = snapshot.data.avatarUrl;
displayname = snapshot.data.displayname;
@ -64,7 +64,7 @@ class PresenceListItem extends StatelessWidget {
FlatButton(
child: Text(L10n.of(context).sendAMessage),
onPressed: () async {
final String roomId = await User(
final roomId = await User(
presence.sender,
room: Room(id: '', client: Matrix.of(context).client),
).startDirectChat();

View file

@ -27,7 +27,7 @@ class PublicRoomListItem extends StatelessWidget {
@override
Widget build(BuildContext context) {
final bool hasTopic =
final hasTopic =
publicRoomEntry.topic != null && publicRoomEntry.topic.isNotEmpty;
return ListTile(
leading: Avatar(
@ -36,13 +36,13 @@ class PublicRoomListItem extends StatelessWidget {
: Uri.parse(publicRoomEntry.avatarUrl),
publicRoomEntry.name),
title: Text(hasTopic
? "${publicRoomEntry.name} (${publicRoomEntry.numJoinedMembers})"
? '${publicRoomEntry.name} (${publicRoomEntry.numJoinedMembers})'
: publicRoomEntry.name),
subtitle: Text(
hasTopic
? publicRoomEntry.topic
: L10n.of(context).countParticipants(
publicRoomEntry.numJoinedMembers?.toString() ?? "0"),
publicRoomEntry.numJoinedMembers?.toString() ?? '0'),
maxLines: 1,
),
onTap: () => joinAction(context),