This commit is contained in:
otsmr 2025-02-10 22:00:46 +01:00
parent 4bedbc7933
commit 645eb452c6
2 changed files with 11 additions and 5 deletions

View file

@ -42,7 +42,7 @@ class _TextViewState extends State<TextLayer> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (isDeleted) return Container(); if (widget.layerData.isDeleted) return Container();
if (widget.layerData.isEditing) { if (widget.layerData.isEditing) {
return Positioned( return Positioned(
@ -58,6 +58,7 @@ class _TextViewState extends State<TextLayer> {
autofocus: true, autofocus: true,
onEditingComplete: () { onEditingComplete: () {
setState(() { setState(() {
widget.layerData.isDeleted = textController.text == "";
widget.layerData.isEditing = false; widget.layerData.isEditing = false;
widget.layerData.text = textController.text; widget.layerData.text = textController.text;
}); });
@ -65,9 +66,12 @@ class _TextViewState extends State<TextLayer> {
onTapOutside: (a) { onTapOutside: (a) {
widget.layerData.text = textController.text; widget.layerData.text = textController.text;
Future.delayed(Duration(milliseconds: 100), () { Future.delayed(Duration(milliseconds: 100), () {
if (context.mounted) {
setState(() { setState(() {
widget.layerData.isDeleted = textController.text == "";
widget.layerData.isEditing = false; widget.layerData.isEditing = false;
}); });
}
}); });
}, },
decoration: InputDecoration( decoration: InputDecoration(
@ -98,7 +102,7 @@ class _TextViewState extends State<TextLayer> {
}); });
}, },
onScaleEnd: (d) { onScaleEnd: (d) {
if (deleteLayer) isDeleted = true; if (deleteLayer) widget.layerData.isDeleted = true;
elementIsScaled = false; elementIsScaled = false;
setState(() {}); setState(() {});
}, },

View file

@ -56,6 +56,8 @@ class _ShareImageEditorView extends State<ShareImageEditorView> {
FontAwesomeIcons.font, FontAwesomeIcons.font,
tooltipText: context.lang.addTextItem, tooltipText: context.lang.addTextItem,
onPressed: () async { onPressed: () async {
layers = layers.where((x) => !x.isDeleted).toList();
if (layers.any((x) => x.isEditing)) return;
undoLayers.clear(); undoLayers.clear();
removedLayers.clear(); removedLayers.clear();
layers.add(TextLayerData()); layers.add(TextLayerData());