From 5b018fbe753ac17c87721e0c88c74cb26d1394fa Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sun, 15 Sep 2019 20:32:45 +0900 Subject: [PATCH] improved last collection entry deletion --- lib/widgets/fullscreen/image_page.dart | 8 ++++++-- lib/widgets/fullscreen/overlay_bottom.dart | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/widgets/fullscreen/image_page.dart b/lib/widgets/fullscreen/image_page.dart index ba94c6e9e..efd5f4638 100644 --- a/lib/widgets/fullscreen/image_page.dart +++ b/lib/widgets/fullscreen/image_page.dart @@ -137,7 +137,7 @@ class FullscreenBodyState extends State with SingleTickerProvide @override Widget build(BuildContext context) { - final entry = entries[_currentHorizontalPage]; + final entry = _currentHorizontalPage < entries.length ? entries[_currentHorizontalPage] : null; return WillPopScope( onWillPop: () { if (_currentVerticalPage == 1) { @@ -311,7 +311,11 @@ class FullscreenBodyState extends State with SingleTickerProvide }, ); if (confirmed == null || !confirmed) return; - if (!await collection.delete(entry)) showFeedback('Failed'); + if (!await collection.delete(entry)) { + showFeedback('Failed'); + } else if (entries.isEmpty) { + Navigator.pop(context); + } } showRenameDialog(ImageEntry entry) async { diff --git a/lib/widgets/fullscreen/overlay_bottom.dart b/lib/widgets/fullscreen/overlay_bottom.dart index 60e9c3203..f2fe316ff 100644 --- a/lib/widgets/fullscreen/overlay_bottom.dart +++ b/lib/widgets/fullscreen/overlay_bottom.dart @@ -31,7 +31,11 @@ class _FullscreenBottomOverlayState extends State { ImageEntry _lastEntry; OverlayMetadata _lastDetails; - ImageEntry get entry => widget.entries[widget.index]; + ImageEntry get entry { + final entries = widget.entries; + final index = widget.index; + return index < entries.length ? entries[index] : null; + } @override void initState() {