diff --git a/app/lib/pages/gesture_editor.dart b/app/lib/pages/gesture_editor.dart index b89aefb..af06d58 100644 --- a/app/lib/pages/gesture_editor.dart +++ b/app/lib/pages/gesture_editor.dart @@ -164,7 +164,6 @@ class GestureEditor extends StatelessWidget { enabled: !gesturePropProvider.editMode! && !schemeTree.fullFiled, onTap: () { var schemeProvider = context.read(); - schemeProvider.gestures.sout(); context.read().setProps(gestures: [ ...?schemeProvider.gestures, H.getNextAvailableGestureProp(schemeProvider.buildSchemeTree())!, @@ -173,6 +172,17 @@ class GestureEditor extends StatelessWidget { ), DButton.delete( enabled: gesturePropProvider != GestureProp.empty() && !gesturePropProvider.editMode!, + onTap: () { + var schemeProvider = context.read(); + var index = schemeProvider.gestures?.indexWhere((e) => e.id == gesturePropProvider.id); + var newGestures = [ + ...?schemeProvider.gestures?..removeAt(index!), + ]; + context.read().setProps(gestures: newGestures); + if (newGestures.length > 0) + gesturePropProvider.copyFrom(newGestures[ + (index ?? 0) > newGestures.length - 1 ? newGestures.length - 1 : index ?? 0]); + }, ), DButton.duplicate( enabled: gesturePropProvider != GestureProp.empty() && !gesturePropProvider.editMode!, diff --git a/app/lib/utils/helper.dart b/app/lib/utils/helper.dart index d318c12..6752dcb 100644 --- a/app/lib/utils/helper.dart +++ b/app/lib/utils/helper.dart @@ -108,7 +108,6 @@ class H { } static GestureProp? getNextAvailableGestureProp(SchemeTree tree) { - tree.sout(); var gestureProp = GestureProp.empty() ..id = Uuid().v1() ..type = GestureType.built_in