mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-07-08 01:30:28 +08:00
Add support to cache thumbnail images to disk
This commit is contained in:
@@ -25,6 +25,7 @@ class _SettingsPage extends State<SettingsPage> with ThemeModeWidget {
|
||||
bool _oriShowTranslatedTag = false;
|
||||
bool _oriUseTitleJpn = false;
|
||||
bool _oriDlUseAvgSpeed = false;
|
||||
bool _oriEnableImageCache = false;
|
||||
bool _displayAd = false;
|
||||
Lang _lang = Lang.system;
|
||||
bool _preventScreenCapture = false;
|
||||
@@ -32,6 +33,7 @@ class _SettingsPage extends State<SettingsPage> with ThemeModeWidget {
|
||||
bool _showTranslatedTag = false;
|
||||
bool _useTitleJpn = false;
|
||||
bool _dlUseAvgSpeed = false;
|
||||
bool _enableImageCache = false;
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
@@ -92,6 +94,14 @@ class _SettingsPage extends State<SettingsPage> with ThemeModeWidget {
|
||||
_oriDlUseAvgSpeed = false;
|
||||
_dlUseAvgSpeed = false;
|
||||
}
|
||||
try {
|
||||
_oriEnableImageCache = prefs.getBool("enableImageCache") ?? true;
|
||||
_enableImageCache = _oriEnableImageCache;
|
||||
} catch (e) {
|
||||
_log.warning("Failed to get enableImageCache:", e);
|
||||
_oriEnableImageCache = true;
|
||||
_enableImageCache = true;
|
||||
}
|
||||
}
|
||||
|
||||
void fallback(BuildContext context) {
|
||||
@@ -110,6 +120,7 @@ class _SettingsPage extends State<SettingsPage> with ThemeModeWidget {
|
||||
_showTranslatedTag = _oriLang.toLocale().languageCode == "zh";
|
||||
_preventScreenCapture = false;
|
||||
_dlUseAvgSpeed = false;
|
||||
_enableImageCache = true;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -178,6 +189,14 @@ class _SettingsPage extends State<SettingsPage> with ThemeModeWidget {
|
||||
_oriDlUseAvgSpeed = _dlUseAvgSpeed;
|
||||
}
|
||||
}
|
||||
if (_enableImageCache != _oriEnableImageCache) {
|
||||
if (!await prefs.setBool("enableImageCache", _enableImageCache)) {
|
||||
re = false;
|
||||
_log.warning("Failed to save enableImageCache.");
|
||||
} else {
|
||||
_oriEnableImageCache = _enableImageCache;
|
||||
}
|
||||
}
|
||||
return re;
|
||||
}
|
||||
|
||||
@@ -331,6 +350,21 @@ class _SettingsPage extends State<SettingsPage> with ThemeModeWidget {
|
||||
.dlUseAvgSpeed),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
padding: const EdgeInsets.symmetric(vertical: 8),
|
||||
child: CheckboxMenuButton(
|
||||
value: _enableImageCache,
|
||||
onChanged: (bool? value) {
|
||||
if (value != null) {
|
||||
setState(() {
|
||||
_enableImageCache = value;
|
||||
});
|
||||
}
|
||||
},
|
||||
child: Text(AppLocalizations.of(context)!
|
||||
.enableImageCache),
|
||||
),
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
|
||||
Reference in New Issue
Block a user