mirror of
https://github.com/venera-app/venera.git
synced 2025-09-27 15:57:25 +00:00
Fix multi-image mode
This commit is contained in:
@@ -232,7 +232,7 @@ class _GalleryModeState extends State<_GalleryMode>
|
|||||||
ImageProvider imageProvider =
|
ImageProvider imageProvider =
|
||||||
_createImageProviderFromKey(imageKey, context);
|
_createImageProviderFromKey(imageKey, context);
|
||||||
return Expanded(
|
return Expanded(
|
||||||
child: Image(
|
child: ComicImage(
|
||||||
image: imageProvider,
|
image: imageProvider,
|
||||||
fit: BoxFit.contain,
|
fit: BoxFit.contain,
|
||||||
),
|
),
|
||||||
|
@@ -114,6 +114,7 @@ class _ReaderState extends State<Reader> with _ReaderLocation, _ReaderWindow {
|
|||||||
late ReaderMode mode;
|
late ReaderMode mode;
|
||||||
|
|
||||||
int get imagesPerPage {
|
int get imagesPerPage {
|
||||||
|
if (mode.isContinuous) return 1;
|
||||||
if (isPortrait) {
|
if (isPortrait) {
|
||||||
return appdata.settings['readerScreenPicNumberForPortrait'] ?? 1;
|
return appdata.settings['readerScreenPicNumberForPortrait'] ?? 1;
|
||||||
} else {
|
} else {
|
||||||
@@ -126,12 +127,6 @@ class _ReaderState extends State<Reader> with _ReaderLocation, _ReaderWindow {
|
|||||||
bool get isPortrait =>
|
bool get isPortrait =>
|
||||||
MediaQuery.of(context).orientation == Orientation.portrait;
|
MediaQuery.of(context).orientation == Orientation.portrait;
|
||||||
|
|
||||||
@override
|
|
||||||
void didChangeDependencies() {
|
|
||||||
super.didChangeDependencies();
|
|
||||||
_checkImagesPerPageChange();
|
|
||||||
}
|
|
||||||
|
|
||||||
void _checkImagesPerPageChange() {
|
void _checkImagesPerPageChange() {
|
||||||
int currentImagesPerPage = imagesPerPage;
|
int currentImagesPerPage = imagesPerPage;
|
||||||
if (_lastImagesPerPage != currentImagesPerPage) {
|
if (_lastImagesPerPage != currentImagesPerPage) {
|
||||||
@@ -173,13 +168,10 @@ class _ReaderState extends State<Reader> with _ReaderLocation, _ReaderWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (widget.initialPage != null) {
|
if (widget.initialPage != null) {
|
||||||
page = (widget.initialPage! / imagesPerPage).ceil();
|
page = widget.initialPage!;
|
||||||
}
|
}
|
||||||
mode = ReaderMode.fromKey(appdata.settings['readerMode']);
|
mode = ReaderMode.fromKey(appdata.settings['readerMode']);
|
||||||
history = widget.history;
|
history = widget.history;
|
||||||
_lastImagesPerPage = isPortrait
|
|
||||||
? appdata.settings['readerScreenPicNumberForPortrait'] ?? 1
|
|
||||||
: appdata.settings['readerScreenPicNumberForLandscape'] ?? 1;
|
|
||||||
Future.microtask(() {
|
Future.microtask(() {
|
||||||
updateHistory();
|
updateHistory();
|
||||||
});
|
});
|
||||||
@@ -194,6 +186,15 @@ class _ReaderState extends State<Reader> with _ReaderLocation, _ReaderWindow {
|
|||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void didChangeDependencies() {
|
||||||
|
super.didChangeDependencies();
|
||||||
|
_lastImagesPerPage = imagesPerPage;
|
||||||
|
if (imagesPerPage != 1) {
|
||||||
|
page = (widget.initialPage! / imagesPerPage).ceil();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void setImageCacheSize() async {
|
void setImageCacheSize() async {
|
||||||
var availableRAM = await MemoryInfo.getFreePhysicalMemorySize();
|
var availableRAM = await MemoryInfo.getFreePhysicalMemorySize();
|
||||||
if (availableRAM == null) return;
|
if (availableRAM == null) return;
|
||||||
|
Reference in New Issue
Block a user