Tracks editor: Make tracks reorderable

This commit is contained in:
Elias Projahn 2020-04-06 11:55:19 +02:00
parent 20d685a3eb
commit 090c4501b1

View file

@ -37,7 +37,8 @@ class _TracksEditorState extends State<TracksEditor> {
),
],
),
body: ListView(
body: ReorderableListView(
header: Column(
children: <Widget>[
recordingId != null
? RecordingTile(
@ -72,19 +73,29 @@ class _TracksEditorState extends State<TracksEditor> {
},
),
),
for (final track in tracks)
ListTile(
title: Text(track.path),
],
),
children: tracks
.map((t) => ListTile(
key: Key(t.hashCode.toString()),
title: Text(t.path),
trailing: IconButton(
icon: const Icon(Icons.delete),
onPressed: () {
setState(() {
tracks.remove(track);
tracks.remove(t);
});
},
),
),
],
))
.toList(),
onReorder: (i1, i2) {
setState(() {
final track = tracks.removeAt(i1);
final newIndex = i2 > i1 ? i2 - 1 : i2;
tracks.insert(newIndex, track);
});
},
),
);
}