From bae85ae80ba1fe2682c0c089f5a2eb33d5208cb3 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Sat, 3 Sep 2022 15:45:09 +0200 Subject: [PATCH] #315 viewer: use 1/8 for screen edge width ratio in landscape --- lib/widgets/viewer/visual/entry_page_view.dart | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/widgets/viewer/visual/entry_page_view.dart b/lib/widgets/viewer/visual/entry_page_view.dart index 537ade116..1a1d99143 100644 --- a/lib/widgets/viewer/visual/entry_page_view.dart +++ b/lib/widgets/viewer/visual/entry_page_view.dart @@ -226,10 +226,10 @@ class _EntryPageViewState extends State { ? (alignment) { final x = alignment.x; if (seekGesture) { - if (x < .25) { + if (x < sideRatio) { _applyAction(EntryAction.videoReplay10); return true; - } else if (x > .75) { + } else if (x > 1 - sideRatio) { _applyAction(EntryAction.videoSkip10); return true; } @@ -394,10 +394,10 @@ class _EntryPageViewState extends State { void _onTap({Alignment? alignment}) { if (settings.viewerGestureSideTapNext && alignment != null) { final x = alignment.x; - if (x < .25) { + if (x < sideRatio) { JumpToPreviousEntryNotification().dispatch(context); return; - } else if (x > .75) { + } else if (x > 1 - sideRatio) { JumpToNextEntryNotification().dispatch(context); return; } @@ -419,6 +419,15 @@ class _EntryPageViewState extends State { ); } + double get sideRatio { + switch (context.read().orientation) { + case Orientation.portrait: + return 1 / 4; + case Orientation.landscape: + return 1 / 8; + } + } + static ScaleState _vectorScaleStateCycle(ScaleState actual) { switch (actual) { case ScaleState.initial: