feat: scale `leading` widgets based on paragraph font size

pull/1226/head
Adil Hanney 2 years ago
parent 876aef2639
commit d3c71ac8f4
  1. 28
      lib/src/widgets/text_block.dart

@ -170,45 +170,47 @@ class EditableTextBlock extends StatelessWidget {
Widget? _buildLeading(BuildContext context, Line line, int index,
Map<int, int> indentLevelCounts, int count) {
final defaultStyles = QuillStyles.getStyles(context, false);
final defaultStyles = QuillStyles.getStyles(context, false)!;
final fontSize = defaultStyles.paragraph?.style.fontSize ?? 16;
final attrs = line.style.attributes;
if (attrs[Attribute.list.key] == Attribute.ol) {
return QuillNumberPoint(
index: index,
indentLevelCounts: indentLevelCounts,
count: count,
style: defaultStyles!.leading!.style,
style: defaultStyles.leading!.style,
attrs: attrs,
width: 32,
padding: 8,
width: fontSize * 2,
padding: fontSize / 2,
);
}
if (attrs[Attribute.list.key] == Attribute.ul) {
return QuillBulletPoint(
style:
defaultStyles!.leading!.style.copyWith(fontWeight: FontWeight.bold),
width: 32,
defaultStyles.leading!.style.copyWith(fontWeight: FontWeight.bold),
width: fontSize * 2,
);
}
if (attrs[Attribute.list.key] == Attribute.checked) {
return CheckboxPoint(
size: 14,
size: fontSize,
value: true,
enabled: !readOnly,
onChanged: (checked) => onCheckboxTap(line.documentOffset, checked),
uiBuilder: defaultStyles?.lists?.checkboxUIBuilder,
uiBuilder: defaultStyles.lists?.checkboxUIBuilder,
);
}
if (attrs[Attribute.list.key] == Attribute.unchecked) {
return CheckboxPoint(
size: 14,
size: fontSize,
value: false,
enabled: !readOnly,
onChanged: (checked) => onCheckboxTap(line.documentOffset, checked),
uiBuilder: defaultStyles?.lists?.checkboxUIBuilder,
uiBuilder: defaultStyles.lists?.checkboxUIBuilder,
);
}
@ -217,11 +219,11 @@ class EditableTextBlock extends StatelessWidget {
index: index,
indentLevelCounts: indentLevelCounts,
count: count,
style: defaultStyles!.code!.style
style: defaultStyles.code!.style
.copyWith(color: defaultStyles.code!.style.color!.withOpacity(0.4)),
width: 32,
width: fontSize * 2,
attrs: attrs,
padding: 16,
padding: fontSize,
withDot: false,
);
}

Loading…
Cancel
Save