diff --git a/CHANGELOG.md b/CHANGELOG.md index deef376ba..d81dad19a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co - Added option to enable incognito per extension ([@sdaqo](https://github.com/sdaqo), [@AntsyLich](https://github.com/AntsyLich)) ([#157](https://github.com/mihonapp/mihon/pull/157)) ### Changed +- Apply "Downloaded only" filter to all entries regardless of favourite status ([@NGB-Was-Taken](https://github.com/NGB-Was-Taken)) ([#1603](https://github.com/mihonapp/mihon/pull/1603)) - Ignore hidden files/folders for Local Source chapter list ([@BrutuZ](https://github.com/BrutuZ)) ([#1763](https://github.com/mihonapp/mihon/pull/1763)) ### Fixed diff --git a/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt b/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt index ebd2ad3e9..19fad606a 100644 --- a/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt +++ b/app/src/main/java/eu/kanade/domain/manga/model/Manga.kt @@ -22,7 +22,7 @@ val Manga.readerOrientation: Long val Manga.downloadedFilter: TriState get() { - if (forceDownloaded()) return TriState.ENABLED_IS + if (Injekt.get().downloadedOnly().get()) return TriState.ENABLED_IS return when (downloadedFilterRaw) { Manga.CHAPTER_SHOW_DOWNLOADED -> TriState.ENABLED_IS Manga.CHAPTER_SHOW_NOT_DOWNLOADED -> TriState.ENABLED_NOT @@ -34,9 +34,6 @@ fun Manga.chaptersFiltered(): Boolean { downloadedFilter != TriState.DISABLED || bookmarkedFilter != TriState.DISABLED } -fun Manga.forceDownloaded(): Boolean { - return favorite && Injekt.get().downloadedOnly().get() -} fun Manga.toSManga(): SManga = SManga.create().also { it.url = url diff --git a/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt b/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt index 5f98dbb86..9af282179 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt @@ -21,13 +21,14 @@ import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp +import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.manga.model.downloadedFilter -import eu.kanade.domain.manga.model.forceDownloaded import eu.kanade.presentation.components.TabbedDialog import eu.kanade.presentation.components.TabbedDialogPaddings import kotlinx.collections.immutable.persistentListOf @@ -40,6 +41,8 @@ import tachiyomi.presentation.core.components.SortItem import tachiyomi.presentation.core.components.TriStateItem import tachiyomi.presentation.core.i18n.stringResource import tachiyomi.presentation.core.theme.active +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get @Composable fun ChapterSettingsDialog( @@ -63,6 +66,8 @@ fun ChapterSettingsDialog( ) } + val downloadedOnly = remember { Injekt.get().downloadedOnly().get() } + TabbedDialog( onDismissRequest = onDismissRequest, tabTitles = persistentListOf( @@ -97,7 +102,7 @@ fun ChapterSettingsDialog( FilterPage( downloadFilter = manga?.downloadedFilter ?: TriState.DISABLED, onDownloadFilterChanged = onDownloadFilterChanged - .takeUnless { manga?.forceDownloaded() == true }, + .takeUnless { downloadedOnly }, unreadFilter = manga?.unreadFilter ?: TriState.DISABLED, onUnreadFilterChanged = onUnreadFilterChanged, bookmarkedFilter = manga?.bookmarkedFilter ?: TriState.DISABLED,