diff --git a/lib/model/entry/extensions/multipage.dart b/lib/model/entry/extensions/multipage.dart index 319237d63..e613583a6 100644 --- a/lib/model/entry/extensions/multipage.dart +++ b/lib/model/entry/extensions/multipage.dart @@ -7,12 +7,14 @@ import 'package:aves/services/common/services.dart'; import 'package:collection/collection.dart'; extension ExtraAvesEntryMultipage on AvesEntry { - bool get isMultiPage => (catalogMetadata?.isMultiPage ?? false) || isBurst; + bool get isMultiPage => isBurst || ((catalogMetadata?.isMultiPage ?? false) && (isMotionPhoto || !isHdr)); bool get isBurst => burstEntries?.isNotEmpty == true; bool get isMotionPhoto => catalogMetadata?.isMotionPhoto ?? false; + bool get isHdr => catalogMetadata?.hasHdrGainMap ?? false; + String? getBurstKey(List patterns) { final key = BurstPatterns.getKeyForName(filenameWithoutExtension, patterns); return key != null ? '$directory/$key' : null; diff --git a/lib/model/entry/extensions/props.dart b/lib/model/entry/extensions/props.dart index cae217b57..16e71676a 100644 --- a/lib/model/entry/extensions/props.dart +++ b/lib/model/entry/extensions/props.dart @@ -74,8 +74,6 @@ extension ExtraAvesEntryProps on AvesEntry { bool get is360 => catalogMetadata?.is360 ?? false; - bool get isHdr => (catalogMetadata?.hasHdrGainMap ?? false); - // trash bool get isExpiredTrash { diff --git a/lib/widgets/common/grid/theme.dart b/lib/widgets/common/grid/theme.dart index e691afaa5..dc63e793c 100644 --- a/lib/widgets/common/grid/theme.dart +++ b/lib/widgets/common/grid/theme.dart @@ -97,11 +97,9 @@ class GridThemeData { if (entry.isRaw && showRaw) const RawIcon(), if (entry.is360) const PanoramaIcon(), ], - if (entry.isMultiPage) ...[ - if (entry.isHdr) const HdrIcon(), - if (entry.isMotionPhoto && showMotionPhoto) const MotionPhotoIcon(), - if (!entry.isHdr && !entry.isMotionPhoto) MultiPageIcon(entry: entry), - ], + if (entry.isHdr) const HdrIcon(), + if (entry.isMotionPhoto && showMotionPhoto) const MotionPhotoIcon(), + if (entry.isMultiPage && !entry.isMotionPhoto) MultiPageIcon(entry: entry), if (entry.isGeotiff) const GeoTiffIcon(), if (entry.trashed && showTrash) TrashIcon(trashDaysLeft: entry.trashDaysLeft), ];