Group downloads by artist if no labels are defined

This commit is contained in:
FooIbar committed 2024-05-19 23:02:29 +08:00
1 parent 8e8729c25f
commit fb940d3982
3 files changed
+9 -3

No files matched your search

@@ -46,6 +46,7 @@ import com.hippo.ehviewer.coil.MergeInterceptor
import com.hippo.ehviewer.dailycheck.checkDawn
import com.hippo.ehviewer.dao.SearchDatabase
import com.hippo.ehviewer.download.DownloadManager
import com.hippo.ehviewer.download.DownloadsFilterMode
import com.hippo.ehviewer.ktbuilder.diskCache
import com.hippo.ehviewer.ktbuilder.imageLoader
import com.hippo.ehviewer.ktor.CronetEngine
@@ -107,7 +108,12 @@ class EhApplication : Application(), SingletonImageLoader.Factory {
launch { EhTagDatabase }
launch { EhDB }
dataStateFlow.value
launch { DownloadManager.readMetadataFromLocal() }
launch {
if (DownloadManager.labelList.isNotEmpty() && Settings.downloadFilterMode.key !in Settings.prefs) {
Settings.downloadFilterMode.value = DownloadsFilterMode.CUSTOM.flag
}
DownloadManager.readMetadataFromLocal()
}
launch {
FileUtils.cleanupDirectory(AppConfig.externalCrashDir)
FileUtils.cleanupDirectory(AppConfig.externalParseErrorDir)
@@ -111,6 +111,7 @@ object Settings : DataStorePreferences(null) {
val listThumbSize = intPref("list_tile_size", 40)
val languageFilter = intPref("language_filter", -1)
val downloadSortMode = intPref("download_sort_mode", SortMode.Default.flag)
val downloadFilterMode = intPref("download_filter_mode", DownloadsFilterMode.Default.flag)
val meteredNetworkWarning = boolPref("cellular_network_warning", false)
val blackDarkTheme = boolPref("black_dark_theme", false)
val gridView = boolPref("grid_view", false)
@@ -120,7 +121,6 @@ object Settings : DataStorePreferences(null) {
val animateItems = boolPref("animate_items", true)
val displayName = stringOrNullPref("display_name", null)
val recentDownloadLabel = stringOrNullPref("recent_download_label", null)
val downloadFilterMode = intPref("download_filter_mode", DownloadsFilterMode.Default.flag)
var downloadScheme by stringOrNullPref("image_scheme", null)
var downloadAuthority by stringOrNullPref("image_authority", null)
@@ -20,7 +20,7 @@ enum class DownloadsFilterMode(
;
companion object {
val Default = CUSTOM
val Default = ARTIST
fun from(flag: Int) = DownloadsFilterMode.entries[flag]
}
}