diff --git a/lib/pages/reader/gesture.dart b/lib/pages/reader/gesture.dart index a97e17e..05f90d6 100644 --- a/lib/pages/reader/gesture.dart +++ b/lib/pages/reader/gesture.dart @@ -103,6 +103,9 @@ class _ReaderGestureDetectorState extends State<_ReaderGestureDetector> { } void onMouseWheel(bool forward) { + if (HardwareKeyboard.instance.isControlPressed) { + return; + } if (context.reader.mode.key.startsWith('gallery')) { if (forward) { if (!context.reader.toNextPage()) { diff --git a/lib/pages/reader/images.dart b/lib/pages/reader/images.dart index 4d12a64..f3eb839 100644 --- a/lib/pages/reader/images.dart +++ b/lib/pages/reader/images.dart @@ -170,14 +170,23 @@ class _GalleryModeState extends State<_GalleryMode> photoViewControllers[index] = PhotoViewController(); - return PhotoViewGalleryPageOptions.customChild( - child: PhotoView.customChild( - key: ValueKey('photo_view_$index'), + if(reader.imagesPerPage == 1) { + return PhotoViewGalleryPageOptions( + filterQuality: FilterQuality.medium, controller: photoViewControllers[index], - minScale: PhotoViewComputedScale.contained * 1.0, - maxScale: PhotoViewComputedScale.covered * 10.0, - child: buildPageImages(pageImages), - ), + imageProvider: _createImageProviderFromKey(pageImages[0], context), + fit: BoxFit.contain, + errorBuilder: (_, error, s, retry) { + return NetworkError(message: error.toString(), retry: retry); + }, + ); + } + + return PhotoViewGalleryPageOptions.customChild( + controller: photoViewControllers[index], + minScale: PhotoViewComputedScale.contained * 1.0, + maxScale: PhotoViewComputedScale.covered * 10.0, + child: buildPageImages(pageImages), ); } },