feat: Toggle for chapter swipe action

This commit is contained in:
Ahmad Ansori Palembani 2024-08-17 20:10:16 +07:00
parent 8827e4433c
commit dd808a4240
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
4 changed files with 22 additions and 7 deletions

View file

@ -10,6 +10,9 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Chapter
import eu.kanade.tachiyomi.domain.manga.models.Manga
import eu.kanade.tachiyomi.ui.manga.MangaDetailsAdapter
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import yokai.domain.ui.UiPreferences
class ChapterItem(chapter: Chapter, val manga: Manga) :
BaseChapterItem<ChapterHolder, AbstractHeaderItem<FlexibleViewHolder>>(chapter) {
@ -25,7 +28,7 @@ class ChapterItem(chapter: Chapter, val manga: Manga) :
}
override fun isSwipeable(): Boolean {
return !isLocked
return !isLocked && Injekt.get<UiPreferences>().enableChapterSwipeAction().get()
}
override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): ChapterHolder {

View file

@ -1,10 +1,6 @@
package eu.kanade.tachiyomi.ui.setting.controllers
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.R
import yokai.i18n.MR
import yokai.util.lang.getString
import dev.icerock.moko.resources.compose.stringResource
import eu.kanade.tachiyomi.data.database.DatabaseHelper
import eu.kanade.tachiyomi.data.database.models.Category
import eu.kanade.tachiyomi.data.library.LibraryUpdateJob
@ -29,9 +25,7 @@ import eu.kanade.tachiyomi.ui.setting.onChange
import eu.kanade.tachiyomi.ui.setting.onClick
import eu.kanade.tachiyomi.ui.setting.preference
import eu.kanade.tachiyomi.ui.setting.preferenceCategory
import eu.kanade.tachiyomi.ui.setting.summaryMRes as summaryRes
import eu.kanade.tachiyomi.ui.setting.switchPreference
import eu.kanade.tachiyomi.ui.setting.titleMRes as titleRes
import eu.kanade.tachiyomi.ui.setting.triStateListPreference
import eu.kanade.tachiyomi.util.system.launchIO
import eu.kanade.tachiyomi.util.system.launchUI
@ -40,12 +34,18 @@ import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy
import yokai.domain.manga.interactor.GetLibraryManga
import yokai.domain.ui.UiPreferences
import yokai.i18n.MR
import yokai.util.lang.getString
import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys
import eu.kanade.tachiyomi.ui.setting.summaryMRes as summaryRes
import eu.kanade.tachiyomi.ui.setting.titleMRes as titleRes
class SettingsLibraryController : SettingsLegacyController() {
private val db: DatabaseHelper by injectLazy()
private val getLibraryManga: GetLibraryManga by injectLazy()
private val uiPreferences: UiPreferences by injectLazy()
override fun setupPreferenceScreen(screen: PreferenceScreen) = screen.apply {
titleRes = MR.strings.library
@ -207,5 +207,14 @@ class SettingsLibraryController : SettingsLegacyController() {
defaultValue = true
}
}
preferenceCategory {
titleRes = MR.strings.chapters
switchPreference {
bindTo(uiPreferences.enableChapterSwipeAction())
titleRes = MR.strings.enable_chapter_swipe_action
}
}
}
}

View file

@ -9,4 +9,6 @@ class UiPreferences(private val preferenceStore: PreferenceStore) {
fun outlineOnCovers() = preferenceStore.getBoolean(PreferenceKeys.outlineOnCovers, true)
fun uniformGrid() = preferenceStore.getBoolean(PreferenceKeys.uniformGrid, true)
fun enableChapterSwipeAction() = preferenceStore.getBoolean("enable_chapter_swipe_action", true)
}

View file

@ -237,6 +237,7 @@
<string name="certain_buttons_can_be_found">Certain buttons can be found in other places if disabled here</string>
<string name="search_suggestions">Search suggestions</string>
<string name="search_tips_show_periodically">Search tips will show up periodically. Long press the suggestion to search it.</string>
<string name="enable_chapter_swipe_action">Enable chapter swipe action</string>
<!-- Recents -->
<string name="recents">Recents</string>