mirror of
https://github.com/mihonapp/mihon.git
synced 2025-07-01 21:47:50 +02:00
Make page transitions setting apply to webtoon viewer as well
This commit is contained in:
@ -92,6 +92,7 @@ class ReaderSettingsSheet(private val activity: ReaderActivity) : BottomSheetDia
|
||||
long_tap.bindToPreference(preferences.readWithLongTap())
|
||||
always_show_chapter_transition.bindToPreference(preferences.alwaysShowChapterTransition())
|
||||
crop_borders.bindToPreference(preferences.cropBorders())
|
||||
page_transitions.bindToPreference(preferences.pageTransitions())
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
true_color.visible()
|
||||
@ -108,7 +109,6 @@ class ReaderSettingsSheet(private val activity: ReaderActivity) : BottomSheetDia
|
||||
|
||||
scale_type.bindToPreference(preferences.imageScaleType(), 1)
|
||||
zoom_start.bindToPreference(preferences.zoomStart(), 1)
|
||||
page_transitions.bindToPreference(preferences.pageTransitions())
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -20,8 +20,9 @@ abstract class ViewerConfig(preferences: PreferencesHelper) {
|
||||
var imagePropertyChangedListener: (() -> Unit)? = null
|
||||
|
||||
var tappingEnabled = true
|
||||
var longTapEnabled = true
|
||||
var tappingInverted = TappingInvertMode.NONE
|
||||
var longTapEnabled = true
|
||||
var usePageTransitions = false
|
||||
var doubleTapAnimDuration = 500
|
||||
var volumeKeysEnabled = false
|
||||
var volumeKeysInverted = false
|
||||
@ -39,6 +40,9 @@ abstract class ViewerConfig(preferences: PreferencesHelper) {
|
||||
preferences.readWithLongTap()
|
||||
.register({ longTapEnabled = it })
|
||||
|
||||
preferences.pageTransitions()
|
||||
.register({ usePageTransitions = it })
|
||||
|
||||
preferences.doubleTapAnimSpeed()
|
||||
.register({ doubleTapAnimDuration = it })
|
||||
|
||||
|
@ -11,9 +11,6 @@ import uy.kohesive.injekt.api.get
|
||||
class PagerConfig(private val viewer: PagerViewer, preferences: PreferencesHelper = Injekt.get()) :
|
||||
ViewerConfig(preferences) {
|
||||
|
||||
var usePageTransitions = false
|
||||
private set
|
||||
|
||||
var imageScaleType = 1
|
||||
private set
|
||||
|
||||
@ -21,9 +18,6 @@ class PagerConfig(private val viewer: PagerViewer, preferences: PreferencesHelpe
|
||||
private set
|
||||
|
||||
init {
|
||||
preferences.pageTransitions()
|
||||
.register({ usePageTransitions = it })
|
||||
|
||||
preferences.imageScaleType()
|
||||
.register({ imageScaleType = it }, { imagePropertyChangedListener?.invoke() })
|
||||
|
||||
|
@ -236,14 +236,22 @@ class WebtoonViewer(val activity: ReaderActivity, val isContinuous: Boolean = tr
|
||||
* Scrolls up by [scrollDistance].
|
||||
*/
|
||||
private fun scrollUp() {
|
||||
recycler.smoothScrollBy(0, -scrollDistance)
|
||||
if (config.usePageTransitions) {
|
||||
recycler.smoothScrollBy(0, -scrollDistance)
|
||||
} else {
|
||||
recycler.scrollBy(0, -scrollDistance)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scrolls down by [scrollDistance].
|
||||
*/
|
||||
private fun scrollDown() {
|
||||
recycler.smoothScrollBy(0, scrollDistance)
|
||||
if (config.usePageTransitions) {
|
||||
recycler.smoothScrollBy(0, scrollDistance)
|
||||
} else {
|
||||
recycler.scrollBy(0, scrollDistance)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -106,6 +106,11 @@ class SettingsReaderController : SettingsController() {
|
||||
titleRes = R.string.pref_crop_borders
|
||||
defaultValue = false
|
||||
}
|
||||
switchPreference {
|
||||
key = Keys.enableTransitions
|
||||
titleRes = R.string.pref_page_transitions
|
||||
defaultValue = true
|
||||
}
|
||||
}
|
||||
|
||||
preferenceCategory {
|
||||
@ -154,11 +159,6 @@ class SettingsReaderController : SettingsController() {
|
||||
defaultValue = "1"
|
||||
summary = "%s"
|
||||
}
|
||||
switchPreference {
|
||||
key = Keys.enableTransitions
|
||||
titleRes = R.string.pref_page_transitions
|
||||
defaultValue = true
|
||||
}
|
||||
}
|
||||
|
||||
preferenceCategory {
|
||||
|
Reference in New Issue
Block a user