From d2c1ff6adf5543e5a593949704d41f2358252593 Mon Sep 17 00:00:00 2001 From: Danny Wu <41532792+User826@users.noreply.github.com> Date: Fri, 20 Jun 2025 05:00:10 -0400 Subject: [PATCH] Add option to hide missing chapter count (#2108) Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com> --- CHANGELOG.md | 1 + .../more/settings/screen/SettingsLibraryScreen.kt | 4 ++++ .../java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt | 6 ++++++ .../tachiyomi/domain/library/service/LibraryPreferences.kt | 1 + i18n/src/commonMain/moko-resources/base/strings.xml | 2 ++ 5 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d935fcb57..a56d41655 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co - Surface image loading error in Reader ([@AwkwardPeak7](https://github.com/AwkwardPeak7)) ([#1981](https://github.com/mihonapp/mihon/pull/1981)) - Include source headers when opening failed images from reader ([@AwkwardPeak7](https://github.com/AwkwardPeak7)) ([#2004](https://github.com/mihonapp/mihon/pull/2004)) - Added autofill support to tracker login dialog ([@AntsyLich](https://github.com/AntsyLich)) ([#2069](https://github.com/mihonapp/mihon/pull/2069)) +- Added option to hide missing chapter count ([@User826](https://github.com/User826), [@AntsyLich](https://github.com/AntsyLich)) ([#2108](https://github.com/mihonapp/mihon/pull/2108)) ### Changed - Display all similarly named duplicates in duplicate manga dialogue ([@NarwhalHorns](https://github.com/NarwhalHorns), [@AntsyLich](https://github.com/AntsyLich)) ([#1861](https://github.com/mihonapp/mihon/pull/1861)) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt index 5c1dbf270..016cfa126 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt @@ -256,6 +256,10 @@ object SettingsLibraryScreen : SearchableSettings { ), title = stringResource(MR.strings.pref_mark_duplicate_read_chapter_read), ), + Preference.PreferenceItem.SwitchPreference( + preference = libraryPreferences.hideMissingChapters(), + title = stringResource(MR.strings.pref_hide_missing_chapter_indicators), + ), ), ) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt index 33e7f051e..fa7da81b4 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt @@ -230,6 +230,7 @@ class MangaScreenModel( excludedScanlators = getExcludedScanlators.await(mangaId), isRefreshingData = needRefreshInfo || needRefreshChapter, dialog = null, + hideMissingChapters = libraryPreferences.hideMissingChapters().get(), ) } @@ -1126,6 +1127,7 @@ class MangaScreenModel( val isRefreshingData: Boolean = false, val dialog: Dialog? = null, val hasPromptedToAddBefore: Boolean = false, + val hideMissingChapters: Boolean = false, ) : State { val processedChapters by lazy { chapters.applyFilters(manga).toList() @@ -1136,6 +1138,10 @@ class MangaScreenModel( } val chapterListItems by lazy { + if (hideMissingChapters) { + return@lazy processedChapters + } + processedChapters.insertSeparators { before, after -> val (lowerChapter, higherChapter) = if (manga.sortDescending()) { after to before 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 7ddecc512..18b2aa260 100644 --- a/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt +++ b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt @@ -175,6 +175,7 @@ class LibraryPreferences( fun autoClearChapterCache() = preferenceStore.getBoolean("auto_clear_chapter_cache", false) + fun hideMissingChapters() = preferenceStore.getBoolean("pref_hide_missing_chapter_indicators", false) // endregion // region Swipe Actions diff --git a/i18n/src/commonMain/moko-resources/base/strings.xml b/i18n/src/commonMain/moko-resources/base/strings.xml index 93877a1fc..07b0ea831 100644 --- a/i18n/src/commonMain/moko-resources/base/strings.xml +++ b/i18n/src/commonMain/moko-resources/base/strings.xml @@ -317,6 +317,8 @@ After reading a chapter After fetching new chapter + Hide missing chapter indicators + Multi Updates pending