fixed picking new album
This commit is contained in:
parent
8ecd306821
commit
0dc22744d3
1 changed files with 15 additions and 15 deletions
|
@ -33,20 +33,20 @@ Future<String?> pickAlbum({
|
||||||
final filter = await Navigator.push(
|
final filter = await Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute<AlbumFilter>(
|
MaterialPageRoute<AlbumFilter>(
|
||||||
settings: const RouteSettings(name: AlbumPickPage.routeName),
|
settings: const RouteSettings(name: _AlbumPickPage.routeName),
|
||||||
builder: (context) => AlbumPickPage(source: source, moveType: moveType),
|
builder: (context) => _AlbumPickPage(source: source, moveType: moveType),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
return filter?.album;
|
return filter?.album;
|
||||||
}
|
}
|
||||||
|
|
||||||
class AlbumPickPage extends StatefulWidget {
|
class _AlbumPickPage extends StatefulWidget {
|
||||||
static const routeName = '/album_pick';
|
static const routeName = '/album_pick';
|
||||||
|
|
||||||
final CollectionSource source;
|
final CollectionSource source;
|
||||||
final MoveType? moveType;
|
final MoveType? moveType;
|
||||||
|
|
||||||
const AlbumPickPage({
|
const _AlbumPickPage({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.source,
|
required this.source,
|
||||||
required this.moveType,
|
required this.moveType,
|
||||||
|
@ -56,7 +56,7 @@ class AlbumPickPage extends StatefulWidget {
|
||||||
_AlbumPickPageState createState() => _AlbumPickPageState();
|
_AlbumPickPageState createState() => _AlbumPickPageState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _AlbumPickPageState extends State<AlbumPickPage> {
|
class _AlbumPickPageState extends State<_AlbumPickPage> {
|
||||||
final _queryNotifier = ValueNotifier('');
|
final _queryNotifier = ValueNotifier('');
|
||||||
|
|
||||||
CollectionSource get source => widget.source;
|
CollectionSource get source => widget.source;
|
||||||
|
@ -75,13 +75,13 @@ class _AlbumPickPageState extends State<AlbumPickPage> {
|
||||||
return SelectionProvider<FilterGridItem<AlbumFilter>>(
|
return SelectionProvider<FilterGridItem<AlbumFilter>>(
|
||||||
child: FilterGridPage<AlbumFilter>(
|
child: FilterGridPage<AlbumFilter>(
|
||||||
settingsRouteKey: AlbumListPage.routeName,
|
settingsRouteKey: AlbumListPage.routeName,
|
||||||
appBar: AlbumPickAppBar(
|
appBar: _AlbumPickAppBar(
|
||||||
source: source,
|
source: source,
|
||||||
moveType: widget.moveType,
|
moveType: widget.moveType,
|
||||||
actionDelegate: AlbumChipSetActionDelegate(gridItems),
|
actionDelegate: AlbumChipSetActionDelegate(gridItems),
|
||||||
queryNotifier: _queryNotifier,
|
queryNotifier: _queryNotifier,
|
||||||
),
|
),
|
||||||
appBarHeight: AlbumPickAppBar.preferredHeight,
|
appBarHeight: _AlbumPickAppBar.preferredHeight,
|
||||||
sections: AlbumListPage.groupToSections(context, source, gridItems),
|
sections: AlbumListPage.groupToSections(context, source, gridItems),
|
||||||
newFilters: source.getNewAlbumFilters(context),
|
newFilters: source.getNewAlbumFilters(context),
|
||||||
sortFactor: settings.albumSortFactor,
|
sortFactor: settings.albumSortFactor,
|
||||||
|
@ -108,15 +108,15 @@ class _AlbumPickPageState extends State<AlbumPickPage> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AlbumPickAppBar extends StatelessWidget {
|
class _AlbumPickAppBar extends StatelessWidget {
|
||||||
final CollectionSource source;
|
final CollectionSource source;
|
||||||
final MoveType? moveType;
|
final MoveType? moveType;
|
||||||
final AlbumChipSetActionDelegate actionDelegate;
|
final AlbumChipSetActionDelegate actionDelegate;
|
||||||
final ValueNotifier<String> queryNotifier;
|
final ValueNotifier<String> queryNotifier;
|
||||||
|
|
||||||
static const preferredHeight = kToolbarHeight + AlbumQueryBar.preferredHeight;
|
static const preferredHeight = kToolbarHeight + _AlbumQueryBar.preferredHeight;
|
||||||
|
|
||||||
const AlbumPickAppBar({
|
const _AlbumPickAppBar({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.source,
|
required this.source,
|
||||||
required this.moveType,
|
required this.moveType,
|
||||||
|
@ -145,7 +145,7 @@ class AlbumPickAppBar extends StatelessWidget {
|
||||||
title: Text(title()),
|
title: Text(title()),
|
||||||
source: source,
|
source: source,
|
||||||
),
|
),
|
||||||
bottom: AlbumQueryBar(
|
bottom: _AlbumQueryBar(
|
||||||
queryNotifier: queryNotifier,
|
queryNotifier: queryNotifier,
|
||||||
),
|
),
|
||||||
actions: [
|
actions: [
|
||||||
|
@ -160,7 +160,7 @@ class AlbumPickAppBar extends StatelessWidget {
|
||||||
// wait for the dialog to hide as applying the change may block the UI
|
// wait for the dialog to hide as applying the change may block the UI
|
||||||
await Future.delayed(Durations.dialogTransitionAnimation * timeDilation);
|
await Future.delayed(Durations.dialogTransitionAnimation * timeDilation);
|
||||||
if (newAlbum != null && newAlbum.isNotEmpty) {
|
if (newAlbum != null && newAlbum.isNotEmpty) {
|
||||||
Navigator.pop<String>(context, newAlbum);
|
Navigator.pop<AlbumFilter>(context, AlbumFilter(newAlbum, source.getAlbumDisplayName(context, newAlbum)));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tooltip: context.l10n.createAlbumTooltip,
|
tooltip: context.l10n.createAlbumTooltip,
|
||||||
|
@ -192,12 +192,12 @@ class AlbumPickAppBar extends StatelessWidget {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class AlbumQueryBar extends StatelessWidget implements PreferredSizeWidget {
|
class _AlbumQueryBar extends StatelessWidget implements PreferredSizeWidget {
|
||||||
final ValueNotifier<String> queryNotifier;
|
final ValueNotifier<String> queryNotifier;
|
||||||
|
|
||||||
static const preferredHeight = kToolbarHeight;
|
static const preferredHeight = kToolbarHeight;
|
||||||
|
|
||||||
const AlbumQueryBar({
|
const _AlbumQueryBar({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.queryNotifier,
|
required this.queryNotifier,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
@ -208,7 +208,7 @@ class AlbumQueryBar extends StatelessWidget implements PreferredSizeWidget {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Container(
|
return Container(
|
||||||
height: AlbumQueryBar.preferredHeight,
|
height: _AlbumQueryBar.preferredHeight,
|
||||||
alignment: Alignment.topCenter,
|
alignment: Alignment.topCenter,
|
||||||
child: QueryBar(
|
child: QueryBar(
|
||||||
queryNotifier: queryNotifier,
|
queryNotifier: queryNotifier,
|
||||||
|
|
Loading…
Reference in a new issue