mirror of
https://github.com/johrpan/musicus_mobile.git
synced 2025-10-26 18:57:25 +01:00
Add initial selection to instrument selector
Also use this from the work editor.
This commit is contained in:
parent
4855cafdf3
commit
40acc2b555
2 changed files with 19 additions and 2 deletions
|
|
@ -119,7 +119,9 @@ class _WorkEditorState extends State<WorkEditor> {
|
|||
final List<Instrument> selection = await Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => InstrumentsSelector(),
|
||||
builder: (context) => InstrumentsSelector(
|
||||
selection: instruments,
|
||||
),
|
||||
fullscreenDialog: true,
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,12 @@ import '../database.dart';
|
|||
import '../editors/instrument.dart';
|
||||
|
||||
class InstrumentsSelector extends StatefulWidget {
|
||||
final List<Instrument> selection;
|
||||
|
||||
InstrumentsSelector({
|
||||
this.selection,
|
||||
});
|
||||
|
||||
@override
|
||||
_InstrumentsSelectorState createState() => _InstrumentsSelectorState();
|
||||
}
|
||||
|
|
@ -12,6 +18,15 @@ class InstrumentsSelector extends StatefulWidget {
|
|||
class _InstrumentsSelectorState extends State<InstrumentsSelector> {
|
||||
Set<Instrument> selection = {};
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
||||
if (widget.selection != null) {
|
||||
selection = widget.selection.toSet();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final backend = Backend.of(context);
|
||||
|
|
@ -65,7 +80,7 @@ class _InstrumentsSelectorState extends State<InstrumentsSelector> {
|
|||
builder: (context) => InstrumentEditor(),
|
||||
fullscreenDialog: true,
|
||||
));
|
||||
|
||||
|
||||
if (instrument != null) {
|
||||
setState(() {
|
||||
selection.add(instrument);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue