feat: Make font size configurable

This commit is contained in:
Christian Pauly
2021-02-07 08:59:58 +01:00
parent 0c1864c828
commit ea1bb89025
8 changed files with 65 additions and 14 deletions

View File

@ -51,15 +51,13 @@ class ContentBanner extends StatelessWidget {
bottom: 0,
child: Opacity(
opacity: opacity,
child: !loading
? mxContent != null
? CachedNetworkImage(
imageUrl: src,
height: 300,
fit: BoxFit.cover,
)
: Icon(defaultIcon, size: 300)
: Icon(defaultIcon, size: 300),
child: (!loading && mxContent != null)
? CachedNetworkImage(
imageUrl: src,
height: 300,
fit: BoxFit.cover,
)
: Icon(defaultIcon, size: 200),
),
),
if (onEdit != null)

View File

@ -7,6 +7,7 @@ import 'package:fluffychat/utils/event_extension.dart';
import 'package:fluffychat/utils/string_color.dart';
import 'package:flutter/material.dart';
import '../../app_config.dart';
import '../avatar.dart';
import '../matrix.dart';
import '../message_reactions.dart';
@ -244,7 +245,7 @@ class _MetaRow extends StatelessWidget {
Text(
displayname,
style: TextStyle(
fontSize: 11,
fontSize: 11 * AppConfig.fontSizeFactor,
fontWeight: FontWeight.bold,
color: displayname.color.withAlpha(200),
),

View File

@ -3,6 +3,8 @@ import 'package:fluffychat/utils/matrix_locals.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import '../../app_config.dart';
class StateMessage extends StatelessWidget {
final Event event;
const StateMessage(this.event);
@ -26,6 +28,8 @@ class StateMessage extends StatelessWidget {
event.getLocalizedBody(MatrixLocals(L10n.of(context))),
textAlign: TextAlign.center,
style: TextStyle(
fontSize: Theme.of(context).textTheme.bodyText1.fontSize *
AppConfig.fontSizeFactor,
color: Theme.of(context).textTheme.bodyText2.color,
decoration: event.redacted ? TextDecoration.lineThrough : null,
),

View File

@ -380,6 +380,8 @@ class MatrixState extends State<Matrix> {
wallpaper = file;
}
});
store.getItem(SettingKeys.fontSizeFactor).then((value) => AppConfig
.fontSizeFactor = double.tryParse(value) ?? AppConfig.fontSizeFactor);
store
.getItemBool(SettingKeys.renderHtml, AppConfig.renderHtml)
.then((value) => AppConfig.renderHtml = value);

View File

@ -73,6 +73,8 @@ class MessageContent extends StatelessWidget {
@override
Widget build(BuildContext context) {
final fontSize =
DefaultTextStyle.of(context).style.fontSize * AppConfig.fontSizeFactor;
switch (event.type) {
case EventTypes.Message:
case EventTypes.Encrypted:
@ -105,7 +107,6 @@ class MessageContent extends StatelessWidget {
final bigEmotes = event.onlyEmotes &&
event.numberEmotes > 0 &&
event.numberEmotes <= 10;
final fontSize = DefaultTextStyle.of(context).style.fontSize;
return HtmlMessage(
html: html,
defaultTextStyle: TextStyle(
@ -163,7 +164,6 @@ class MessageContent extends StatelessWidget {
onPressed: () => launch(event.body),
);
}
final fontSize = DefaultTextStyle.of(context).style.fontSize;
if (event.redacted) {
return Row(
mainAxisSize: MainAxisSize.min,