make global search pinned/all sticky

This commit is contained in:
Cuong-Tran 2024-10-18 23:43:07 +07:00
parent 3decc8b86f
commit 6bb8535af4
No known key found for this signature in database
GPG key ID: 733AA7624B9315C2
2 changed files with 14 additions and 1 deletions

View file

@ -1,6 +1,7 @@
package eu.kanade.domain.source.service package eu.kanade.domain.source.service
import eu.kanade.domain.source.interactor.SetMigrateSorting import eu.kanade.domain.source.interactor.SetMigrateSorting
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.SourceFilter
import eu.kanade.tachiyomi.util.system.LocaleHelper import eu.kanade.tachiyomi.util.system.LocaleHelper
import tachiyomi.core.common.preference.Preference import tachiyomi.core.common.preference.Preference
import tachiyomi.core.common.preference.PreferenceStore import tachiyomi.core.common.preference.PreferenceStore
@ -56,6 +57,11 @@ class SourcePreferences(
) )
// KMK --> // KMK -->
fun globalSearchPinnedState() = preferenceStore.getEnum(
Preference.appStateKey("global_search_pinned_toggle_state"),
SourceFilter.PinnedOnly,
)
fun disabledRepos() = preferenceStore.getStringSet("disabled_repos", emptySet()) fun disabledRepos() = preferenceStore.getStringSet("disabled_repos", emptySet())
// KMK <-- // KMK <--

View file

@ -70,6 +70,13 @@ abstract class SearchScreenModel(
mutableState.update { it.copy(onlyShowHasResults = state) } mutableState.update { it.copy(onlyShowHasResults = state) }
} }
} }
// KMK -->
screenModelScope.launch {
preferences.globalSearchPinnedState().changes().collectLatest { state ->
mutableState.update { it.copy(sourceFilter = state) }
}
}
// KMK <--
} }
@Composable @Composable
@ -117,7 +124,7 @@ abstract class SearchScreenModel(
} }
fun setSourceFilter(filter: SourceFilter) { fun setSourceFilter(filter: SourceFilter) {
mutableState.update { it.copy(sourceFilter = filter) } preferences.globalSearchPinnedState().set(filter)
search() search()
} }