From bc49b0f0eb2dc32cf9b063bd9d72999c2ccd331c Mon Sep 17 00:00:00 2001 From: ashilkn Date: Fri, 10 Nov 2023 12:37:13 +0530 Subject: [PATCH 1/2] feat: swipe up for info on photos --- lib/ui/viewer/file/detail_page.dart | 1 - lib/ui/viewer/file/zoomable_image.dart | 12 ++++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/ui/viewer/file/detail_page.dart b/lib/ui/viewer/file/detail_page.dart index ff0ba93c0..33f09ea9f 100644 --- a/lib/ui/viewer/file/detail_page.dart +++ b/lib/ui/viewer/file/detail_page.dart @@ -164,7 +164,6 @@ class _DetailPageState extends State { } Widget _buildPageView(BuildContext context) { - final bottomPadding = MediaQuery.of(context).padding.bottom; return PageView.builder( itemBuilder: (context, index) { final file = _files![index]; diff --git a/lib/ui/viewer/file/zoomable_image.dart b/lib/ui/viewer/file/zoomable_image.dart index 6ac386f93..876db5836 100644 --- a/lib/ui/viewer/file/zoomable_image.dart +++ b/lib/ui/viewer/file/zoomable_image.dart @@ -16,6 +16,7 @@ import "package:photos/models/file/extensions/file_props.dart"; import 'package:photos/models/file/file.dart'; import "package:photos/models/metadata/file_magic.dart"; import "package:photos/services/file_magic_service.dart"; +import "package:photos/ui/actions/file/file_actions.dart"; import 'package:photos/ui/common/loading_widget.dart'; import 'package:photos/utils/file_util.dart'; import 'package:photos/utils/image_util.dart'; @@ -111,8 +112,15 @@ class _ZoomableImageState extends State final GestureDragUpdateCallback? verticalDragCallback = _isZooming ? null : (d) => { - if (!_isZooming && d.delta.dy > dragSensitivity) - {Navigator.of(context).pop()}, + if (!_isZooming) + if (d.delta.dy > dragSensitivity) + { + {Navigator.of(context).pop()}, + } + else if (d.delta.dy < (dragSensitivity * -1)) + { + showDetailsSheet(context, widget.photo), + }, }; return GestureDetector( onVerticalDragUpdate: verticalDragCallback, From 9b1c3c9bd5bedd5c44415747c5ca738a4d6f81c7 Mon Sep 17 00:00:00 2001 From: ashilkn Date: Fri, 10 Nov 2023 12:42:12 +0530 Subject: [PATCH 2/2] feat: swipe up for info on videos --- lib/ui/viewer/file/video_widget.dart | 10 +++++++++- lib/ui/viewer/file/video_widget_new.dart | 10 +++++++++- lib/ui/viewer/file/zoomable_image.dart | 18 ++++++++++-------- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/lib/ui/viewer/file/video_widget.dart b/lib/ui/viewer/file/video_widget.dart index 5ee7b5820..590f0dcb5 100644 --- a/lib/ui/viewer/file/video_widget.dart +++ b/lib/ui/viewer/file/video_widget.dart @@ -11,6 +11,7 @@ import "package:photos/models/file/extensions/file_props.dart"; import 'package:photos/models/file/file.dart'; import "package:photos/services/feature_flag_service.dart"; import 'package:photos/services/files_service.dart'; +import "package:photos/ui/actions/file/file_actions.dart"; import 'package:photos/ui/viewer/file/thumbnail_widget.dart'; import 'package:photos/ui/viewer/file/video_controls.dart'; import "package:photos/utils/dialog_util.dart"; @@ -184,7 +185,14 @@ class _VideoWidgetState extends State { final contentWithDetector = GestureDetector( child: content, onVerticalDragUpdate: (d) => { - if (d.delta.dy > dragSensitivity) {Navigator.of(context).pop()}, + if (d.delta.dy > dragSensitivity) + { + Navigator.of(context).pop(), + } + else if (d.delta.dy < (dragSensitivity * -1)) + { + showDetailsSheet(context, widget.file), + }, }, ); return VisibilityDetector( diff --git a/lib/ui/viewer/file/video_widget_new.dart b/lib/ui/viewer/file/video_widget_new.dart index 35ef62f5f..a0261498c 100644 --- a/lib/ui/viewer/file/video_widget_new.dart +++ b/lib/ui/viewer/file/video_widget_new.dart @@ -12,6 +12,7 @@ import "package:photos/models/file/file.dart"; import "package:photos/services/files_service.dart"; import "package:photos/theme/colors.dart"; import "package:photos/theme/ente_theme.dart"; +import "package:photos/ui/actions/file/file_actions.dart"; import "package:photos/ui/viewer/file/thumbnail_widget.dart"; import "package:photos/utils/dialog_util.dart"; import "package:photos/utils/file_util.dart"; @@ -133,7 +134,14 @@ class _VideoWidgetNewState extends State fullscreen: const MaterialVideoControlsThemeData(), child: GestureDetector( onVerticalDragUpdate: (d) => { - if (d.delta.dy > dragSensitivity) {Navigator.of(context).pop()}, + if (d.delta.dy > dragSensitivity) + { + Navigator.of(context).pop(), + } + else if (d.delta.dy < (dragSensitivity * -1)) + { + showDetailsSheet(context, widget.file), + }, }, child: Center( child: controller != null diff --git a/lib/ui/viewer/file/zoomable_image.dart b/lib/ui/viewer/file/zoomable_image.dart index 876db5836..3bf00a95e 100644 --- a/lib/ui/viewer/file/zoomable_image.dart +++ b/lib/ui/viewer/file/zoomable_image.dart @@ -113,14 +113,16 @@ class _ZoomableImageState extends State ? null : (d) => { if (!_isZooming) - if (d.delta.dy > dragSensitivity) - { - {Navigator.of(context).pop()}, - } - else if (d.delta.dy < (dragSensitivity * -1)) - { - showDetailsSheet(context, widget.photo), - }, + { + if (d.delta.dy > dragSensitivity) + { + {Navigator.of(context).pop()}, + } + else if (d.delta.dy < (dragSensitivity * -1)) + { + showDetailsSheet(context, widget.photo), + }, + }, }; return GestureDetector( onVerticalDragUpdate: verticalDragCallback,