From d62a8a138c41824ccc22e77e4ffb831e3629e0e7 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Wed, 19 Mar 2025 02:21:45 +0600 Subject: [PATCH] Add back option to hide unread chapter badge in library (#1871) (cherry picked from commit ac432e2e941f4689caad246bab6aa7d303c83bfa) # Conflicts: # CHANGELOG.md # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt --- .../library/LibrarySettingsDialog.kt | 4 +++ .../ui/library/LibraryScreenModel.kt | 27 ++++++++++--------- .../library/service/LibraryPreferences.kt | 2 ++ .../moko-resources/base/strings.xml | 1 + 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt b/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt index a33570785..62d710aa7 100644 --- a/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt @@ -328,6 +328,10 @@ private fun ColumnScope.DisplayPage( label = stringResource(MR.strings.action_display_download_badge), pref = screenModel.libraryPreferences.downloadBadge(), ) + CheckboxItem( + label = stringResource(MR.strings.action_display_unread_badge), + pref = screenModel.libraryPreferences.unreadBadge(), + ) CheckboxItem( label = stringResource(MR.strings.action_display_local_badge), pref = screenModel.libraryPreferences.localBadge(), diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt index 5573f96e4..c6a3e19c3 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt @@ -497,6 +497,7 @@ class LibraryScreenModel( private fun getLibraryItemPreferencesFlow(): Flow { return combine( libraryPreferences.downloadBadge().changes(), + libraryPreferences.unreadBadge().changes(), libraryPreferences.localBadge().changes(), libraryPreferences.languageBadge().changes(), libraryPreferences.autoUpdateMangaRestrictions().changes(), @@ -514,18 +515,19 @@ class LibraryScreenModel( ) { ItemPreferences( downloadBadge = it[0] as Boolean, - localBadge = it[1] as Boolean, - languageBadge = it[2] as Boolean, - skipOutsideReleasePeriod = LibraryPreferences.MANGA_OUTSIDE_RELEASE_PERIOD in (it[3] as Set<*>), - globalFilterDownloaded = it[4] as Boolean, - filterDownloaded = it[5] as TriState, - filterUnread = it[6] as TriState, - filterStarted = it[7] as TriState, - filterBookmarked = it[8] as TriState, - filterCompleted = it[9] as TriState, - filterIntervalCustom = it[10] as TriState, + unreadBadge = it[1] as Boolean, + localBadge = it[2] as Boolean, + languageBadge = it[3] as Boolean, + skipOutsideReleasePeriod = LibraryPreferences.MANGA_OUTSIDE_RELEASE_PERIOD in (it[4] as Set<*>), + globalFilterDownloaded = it[5] as Boolean, + filterDownloaded = it[6] as TriState, + filterUnread = it[7] as TriState, + filterStarted = it[8] as TriState, + filterBookmarked = it[9] as TriState, + filterCompleted = it[10] as TriState, + filterIntervalCustom = it[11] as TriState, // SY --> - filterLewd = it[11] as TriState, + filterLewd = it[12] as TriState, // SY <-- ) } @@ -558,7 +560,7 @@ class LibraryScreenModel( } else { 0 }, - unreadCount = libraryManga.unreadCount, + unreadCount = if (prefs.unreadBadge) libraryManga.unreadCount else 0, isLocal = if (prefs.localBadge) libraryManga.manga.isLocal() else false, sourceLanguage = if (prefs.languageBadge) { sourceManager.getOrStub(libraryManga.manga.source).lang @@ -1363,6 +1365,7 @@ class LibraryScreenModel( @Immutable private data class ItemPreferences( val downloadBadge: Boolean, + val unreadBadge: Boolean, val localBadge: Boolean, val languageBadge: Boolean, val skipOutsideReleasePeriod: Boolean, diff --git a/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt index 414de30c2..5ade2d065 100644 --- a/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt +++ b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt @@ -107,6 +107,8 @@ class LibraryPreferences( fun downloadBadge() = preferenceStore.getBoolean("display_download_badge", false) + fun unreadBadge() = preferenceStore.getBoolean("display_unread_badge", true) + fun localBadge() = preferenceStore.getBoolean("display_local_badge", true) fun languageBadge() = preferenceStore.getBoolean("display_language_badge", false) diff --git a/i18n/src/commonMain/moko-resources/base/strings.xml b/i18n/src/commonMain/moko-resources/base/strings.xml index dd3ea08ce..72aeb8827 100755 --- a/i18n/src/commonMain/moko-resources/base/strings.xml +++ b/i18n/src/commonMain/moko-resources/base/strings.xml @@ -122,6 +122,7 @@ List Cover-only grid Downloaded chapters + Unread chapters Local source Language Show category tabs