mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-07-08 01:30:28 +08:00
Add settings to adjust thumbnail display
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../api/client.dart';
|
||||
import '../api/file.dart';
|
||||
import '../api/gallery.dart';
|
||||
import '../globals.dart';
|
||||
@@ -27,6 +28,18 @@ class ThumbnailGridView extends StatelessWidget {
|
||||
displayAd ? gdata.pages : gdata.pages.where((e) => !e.isAd).toList();
|
||||
final baseSize = gridDelegate.maxCrossAxisExtent.toInt();
|
||||
final max = (baseSize * MediaQuery.of(context).devicePixelRatio).toInt();
|
||||
final tgen = prefs.getInt("thumbnailMethod") ?? 0;
|
||||
final gen = tgen >= 0 && tgen < ThumbnailGenMethod.values.length
|
||||
? ThumbnailGenMethod.values[tgen]
|
||||
: ThumbnailGenMethod.unknown;
|
||||
final talign = prefs.getInt("thumbnailAlign") ?? 1;
|
||||
final align = talign >= 0 && talign < ThumbnailAlign.values.length
|
||||
? ThumbnailAlign.values[talign]
|
||||
: ThumbnailAlign.center;
|
||||
final isDefault = gen == ThumbnailGenMethod.unknown;
|
||||
final alignUseless = isDefault || gen == ThumbnailGenMethod.fill;
|
||||
final methodKey =
|
||||
alignUseless ? "${align.index}" : "${align.index}-${align.index}";
|
||||
return SliverGrid.builder(
|
||||
gridDelegate: gridDelegate,
|
||||
itemCount: npages.length,
|
||||
@@ -34,7 +47,8 @@ class ThumbnailGridView extends StatelessWidget {
|
||||
final page = npages[index]!;
|
||||
final fileId =
|
||||
files != null ? files!.files[page.token]!.firstOrNull?.id : null;
|
||||
final key = Key("thumbnail$gid-${page.index}-$fileId-$max");
|
||||
final key =
|
||||
Key("thumbnail$gid-${page.index}-$fileId-$max-$methodKey");
|
||||
return Container(
|
||||
padding: const EdgeInsets.all(4),
|
||||
child: Thumbnail(
|
||||
@@ -58,6 +72,10 @@ class ThumbnailGridView extends StatelessWidget {
|
||||
}
|
||||
},
|
||||
max: max,
|
||||
width: isDefault ? null : max,
|
||||
height: isDefault ? null : max,
|
||||
method: isDefault ? null : gen,
|
||||
align: alignUseless ? null : align,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user