route transition duration renaming
This commit is contained in:
parent
748f8b9270
commit
cc3b4f661b
19 changed files with 26 additions and 25 deletions
|
@ -5,10 +5,11 @@ class ADurations {
|
|||
static const transitionMarginMillis = 20;
|
||||
|
||||
// page transition duration also available via `ModalRoute.of(context)!.transitionDuration * timeDilation`
|
||||
static const pageTransitionAnimation = Duration(milliseconds: 300 + transitionMarginMillis); // ref `transitionDuration` used in `MaterialRouteTransitionMixin`
|
||||
static const dialogTransitionAnimation = Duration(milliseconds: 150 + transitionMarginMillis); // ref `transitionDuration` used in `DialogRoute`
|
||||
static const drawerTransitionAnimation = Duration(milliseconds: 246 + transitionMarginMillis); // ref `_kBaseSettleDuration` used in `DrawerControllerState`
|
||||
static const toggleableTransitionAnimation = Duration(milliseconds: 200 + transitionMarginMillis); // ref `_kToggleDuration` used in `ToggleableStateMixin`
|
||||
static const pageTransitionExact = Duration(milliseconds: 300); // ref `transitionDuration` used in `MaterialRouteTransitionMixin`
|
||||
static const pageTransitionLoose = Duration(milliseconds: 300 + transitionMarginMillis); // ref `transitionDuration` used in `MaterialRouteTransitionMixin`
|
||||
static const dialogTransitionLoose = Duration(milliseconds: 150 + transitionMarginMillis); // ref `transitionDuration` used in `DialogRoute`
|
||||
static const drawerTransitionLoose = Duration(milliseconds: 246 + transitionMarginMillis); // ref `_kBaseSettleDuration` used in `DrawerControllerState`
|
||||
static const toggleableTransitionLoose = Duration(milliseconds: 200 + transitionMarginMillis); // ref `_kToggleDuration` used in `ToggleableStateMixin`
|
||||
|
||||
// common animations
|
||||
static const sweeperOpacityAnimation = Duration(milliseconds: 150);
|
||||
|
|
|
@ -691,7 +691,7 @@ class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerPr
|
|||
routeSettings: const RouteSettings(name: TileViewDialog.routeName),
|
||||
);
|
||||
// wait for the dialog to hide as applying the change may block the UI
|
||||
await Future.delayed(ADurations.dialogTransitionAnimation * timeDilation);
|
||||
await Future.delayed(ADurations.dialogTransitionLoose * timeDilation);
|
||||
if (value != null && initialValue != value) {
|
||||
settings.collectionSortFactor = value.$1!;
|
||||
settings.collectionSectionFactor = value.$2!;
|
||||
|
|
|
@ -510,7 +510,7 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware
|
|||
if (confirmed == null || !confirmed) return null;
|
||||
|
||||
// wait for the dialog to hide as applying the change may block the UI
|
||||
await Future.delayed(ADurations.dialogTransitionAnimation * timeDilation);
|
||||
await Future.delayed(ADurations.dialogTransitionLoose * timeDilation);
|
||||
return supported;
|
||||
}
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ mixin FeedbackMixin {
|
|||
final margin = (marginComputer ?? snackBarMarginDefault).call(context);
|
||||
return AnimatedPadding(
|
||||
padding: margin,
|
||||
duration: ADurations.pageTransitionAnimation,
|
||||
duration: ADurations.pageTransitionLoose,
|
||||
child: child,
|
||||
);
|
||||
},
|
||||
|
|
|
@ -76,7 +76,7 @@ class _SearchPageState extends State<SearchPage> {
|
|||
return;
|
||||
}
|
||||
widget.animation.removeStatusListener(_onAnimationStatusChanged);
|
||||
Future.delayed(ADurations.pageTransitionAnimation * timeDilation).then((_) {
|
||||
Future.delayed(ADurations.pageTransitionLoose * timeDilation).then((_) {
|
||||
if (!mounted) return;
|
||||
_searchFieldFocusNode.requestFocus();
|
||||
});
|
||||
|
|
|
@ -248,7 +248,7 @@ class _AlbumPickPageState extends State<_AlbumPickPage> {
|
|||
if (directory == null) return;
|
||||
|
||||
// wait for the dialog to hide as applying the change may block the UI
|
||||
await Future.delayed(ADurations.dialogTransitionAnimation * timeDilation);
|
||||
await Future.delayed(ADurations.dialogTransitionLoose * timeDilation);
|
||||
|
||||
_pickAlbum(directory);
|
||||
}
|
||||
|
@ -270,7 +270,7 @@ class _AlbumPickPageState extends State<_AlbumPickPage> {
|
|||
if (details == null) return;
|
||||
|
||||
// wait for the dialog to hide as applying the change may block the UI
|
||||
await Future.delayed(ADurations.dialogTransitionAnimation * timeDilation);
|
||||
await Future.delayed(ADurations.dialogTransitionLoose * timeDilation);
|
||||
|
||||
await vaults.create(details);
|
||||
_pickAlbum(details.path);
|
||||
|
|
|
@ -77,7 +77,7 @@ class _ContentState extends State<_Content> with SingleTickerProviderStateMixin
|
|||
|
||||
if (ExtraEntryMapStyle.isHeavy(settings.mapStyle)) {
|
||||
_isPageAnimatingNotifier = ValueNotifier(true);
|
||||
Future.delayed(ADurations.pageTransitionAnimation * timeDilation).then((_) {
|
||||
Future.delayed(ADurations.pageTransitionLoose * timeDilation).then((_) {
|
||||
if (!mounted) return;
|
||||
_isPageAnimatingNotifier.value = false;
|
||||
});
|
||||
|
|
|
@ -14,7 +14,7 @@ Future<void> showSelectionDialog<T>({
|
|||
routeSettings: const RouteSettings(name: AvesSingleSelectionDialog.routeName),
|
||||
);
|
||||
// wait for the dialog to hide as applying the change may block the UI
|
||||
await Future.delayed(ADurations.dialogTransitionAnimation * timeDilation);
|
||||
await Future.delayed(ADurations.dialogTransitionLoose * timeDilation);
|
||||
if (value != null) {
|
||||
onSelection(value);
|
||||
}
|
||||
|
|
|
@ -187,7 +187,7 @@ class AlbumChipSetActionDelegate extends ChipSetActionDelegate<AlbumFilter> with
|
|||
routeSettings: const RouteSettings(name: TileViewDialog.routeName),
|
||||
);
|
||||
// wait for the dialog to hide as applying the change may block the UI
|
||||
await Future.delayed(ADurations.dialogTransitionAnimation * timeDilation);
|
||||
await Future.delayed(ADurations.dialogTransitionLoose * timeDilation);
|
||||
if (value != null && initialValue != value) {
|
||||
sortFactor = value.$1!;
|
||||
settings.albumGroupFactor = value.$2!;
|
||||
|
|
|
@ -250,7 +250,7 @@ abstract class ChipSetActionDelegate<T extends CollectionFilter> with FeedbackMi
|
|||
routeSettings: const RouteSettings(name: TileViewDialog.routeName),
|
||||
);
|
||||
// wait for the dialog to hide as applying the change may block the UI
|
||||
await Future.delayed(ADurations.dialogTransitionAnimation * timeDilation);
|
||||
await Future.delayed(ADurations.dialogTransitionLoose * timeDilation);
|
||||
if (value != null && initialValue != value) {
|
||||
sortFactor = value.$1!;
|
||||
tileLayout = value.$3!;
|
||||
|
|
|
@ -118,7 +118,7 @@ class _ContentState extends State<_Content> with SingleTickerProviderStateMixin
|
|||
|
||||
if (ExtraEntryMapStyle.isHeavy(settings.mapStyle)) {
|
||||
_isPageAnimatingNotifier.value = true;
|
||||
Future.delayed(ADurations.pageTransitionAnimation * timeDilation).then((_) {
|
||||
Future.delayed(ADurations.pageTransitionLoose * timeDilation).then((_) {
|
||||
if (!mounted) return;
|
||||
_isPageAnimatingNotifier.value = false;
|
||||
});
|
||||
|
@ -142,7 +142,7 @@ class _ContentState extends State<_Content> with SingleTickerProviderStateMixin
|
|||
_subscriptions.add(openingCollection.source.eventBus.on<CatalogMetadataChangedEvent>().listen((e) => _updateRegionCollection()));
|
||||
|
||||
_selectedIndexNotifier.addListener(_onThumbnailIndexChanged);
|
||||
Future.delayed(ADurations.pageTransitionAnimation * timeDilation + const Duration(seconds: 1), () {
|
||||
Future.delayed(ADurations.pageTransitionLoose * timeDilation + const Duration(seconds: 1), () {
|
||||
final regionEntries = regionCollection?.sortedEntries ?? [];
|
||||
final initialEntry = widget.initialEntry ?? regionEntries.firstOrNull;
|
||||
if (initialEntry != null) {
|
||||
|
|
|
@ -115,7 +115,7 @@ class _AppDrawerState extends State<AppDrawer> {
|
|||
|
||||
Future<void> goTo(String routeName, WidgetBuilder pageBuilder) async {
|
||||
Navigator.maybeOf(context)?.pop();
|
||||
await Future.delayed(ADurations.drawerTransitionAnimation);
|
||||
await Future.delayed(ADurations.drawerTransitionLoose);
|
||||
await Navigator.maybeOf(context)?.push(MaterialPageRoute(
|
||||
settings: RouteSettings(name: routeName),
|
||||
builder: pageBuilder,
|
||||
|
|
|
@ -68,7 +68,7 @@ class SettingsSwitchListTile extends StatelessWidget {
|
|||
Expanded(child: titleWidget),
|
||||
AnimatedOpacity(
|
||||
opacity: current ? 1 : disabledOpacity,
|
||||
duration: ADurations.toggleableTransitionAnimation,
|
||||
duration: ADurations.toggleableTransitionLoose,
|
||||
child: trailing,
|
||||
),
|
||||
],
|
||||
|
|
|
@ -32,7 +32,7 @@ class LocaleTile extends StatelessWidget {
|
|||
),
|
||||
);
|
||||
// wait for the dialog to hide as applying the change may block the UI
|
||||
await Future.delayed(ADurations.pageTransitionAnimation * timeDilation);
|
||||
await Future.delayed(ADurations.pageTransitionLoose * timeDilation);
|
||||
if (value != null) {
|
||||
settings.locale = value == systemLocaleOption ? null : value;
|
||||
}
|
||||
|
|
|
@ -182,7 +182,7 @@ class _FilePickerPageState extends State<FilePickerPage> {
|
|||
title: Text(v.getDescription(context)),
|
||||
onTap: () async {
|
||||
Navigator.maybeOf(context)?.pop();
|
||||
await Future.delayed(ADurations.drawerTransitionAnimation);
|
||||
await Future.delayed(ADurations.drawerTransitionLoose);
|
||||
_goTo(v.path);
|
||||
setState(() {});
|
||||
},
|
||||
|
|
|
@ -185,7 +185,7 @@ class _HiddenPaths extends StatelessWidget {
|
|||
),
|
||||
);
|
||||
// wait for the dialog to hide as applying the change may block the UI
|
||||
await Future.delayed(ADurations.pageTransitionAnimation * timeDilation);
|
||||
await Future.delayed(ADurations.pageTransitionLoose * timeDilation);
|
||||
if (path != null && path.isNotEmpty) {
|
||||
settings.changeFilterVisibility({PathFilter(path)}, false);
|
||||
}
|
||||
|
|
|
@ -68,7 +68,7 @@ class _StatsPageState extends State<StatsPage> with FeedbackMixin, VaultAwareMix
|
|||
super.initState();
|
||||
|
||||
_isPageAnimatingNotifier = ValueNotifier(true);
|
||||
Future.delayed(ADurations.pageTransitionAnimation * timeDilation).then((_) {
|
||||
Future.delayed(ADurations.pageTransitionLoose * timeDilation).then((_) {
|
||||
if (!mounted) return;
|
||||
_isPageAnimatingNotifier.value = false;
|
||||
});
|
||||
|
|
|
@ -475,7 +475,7 @@ class EntryActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAwareMix
|
|||
if (newName == null || newName.isEmpty || newName == targetEntry.filenameWithoutExtension) return;
|
||||
|
||||
// wait for the dialog to hide as applying the change may block the UI
|
||||
await Future.delayed(ADurations.dialogTransitionAnimation * timeDilation);
|
||||
await Future.delayed(ADurations.dialogTransitionLoose * timeDilation);
|
||||
await rename(
|
||||
context,
|
||||
entriesToNewName: {targetEntry: '$newName${targetEntry.extension}'},
|
||||
|
|
|
@ -123,7 +123,7 @@ class _InfoPageState extends State<InfoPage> {
|
|||
ShowImageNotification().dispatch(context);
|
||||
_scrollController.animateTo(
|
||||
0,
|
||||
duration: ADurations.pageTransitionAnimation,
|
||||
duration: ADurations.pageTransitionLoose,
|
||||
curve: Curves.easeInOut,
|
||||
);
|
||||
}
|
||||
|
@ -276,7 +276,7 @@ class _InfoPageContentState extends State<_InfoPageContent> {
|
|||
}
|
||||
|
||||
void _onActionDelegateEvent(ActionEvent<EntryAction> event) {
|
||||
Future.delayed(ADurations.dialogTransitionAnimation).then((_) {
|
||||
Future.delayed(ADurations.dialogTransitionLoose).then((_) {
|
||||
if (event is ActionStartedEvent) {
|
||||
_isEditingMetadataNotifier.value = event.action;
|
||||
} else if (event is ActionEndedEvent) {
|
||||
|
|
Loading…
Reference in a new issue