Bring back adaptive reader control preference
This commit is contained in:
@@ -111,6 +111,9 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) {
|
||||
val isReaderZoomButtonsEnabled: Boolean
|
||||
get() = prefs.getBoolean(KEY_READER_ZOOM_BUTTONS, false)
|
||||
|
||||
val isReaderControlAlwaysLTR: Boolean
|
||||
get() = prefs.getBoolean(KEY_READER_CONTROL_LTR, false)
|
||||
|
||||
val isReaderFullscreenEnabled: Boolean
|
||||
get() = prefs.getBoolean(KEY_READER_FULLSCREEN, true)
|
||||
|
||||
@@ -488,6 +491,7 @@ class AppSettings @Inject constructor(@ApplicationContext context: Context) {
|
||||
const val KEY_LOCAL_STORAGE = "local_storage"
|
||||
const val KEY_READER_DOUBLE_PAGES = "reader_double_pages"
|
||||
const val KEY_READER_ZOOM_BUTTONS = "reader_zoom_buttons"
|
||||
const val KEY_READER_CONTROL_LTR = "reader_taps_ltr"
|
||||
const val KEY_READER_FULLSCREEN = "reader_fullscreen"
|
||||
const val KEY_READER_VOLUME_BUTTONS = "reader_volume_buttons"
|
||||
const val KEY_TRACKER_ENABLED = "tracker_enabled"
|
||||
|
||||
@@ -114,7 +114,7 @@ class ReaderControlDelegate(
|
||||
}
|
||||
|
||||
private fun isReaderTapsReversed(): Boolean {
|
||||
return listener.readerMode == ReaderMode.REVERSED
|
||||
return settings.isReaderControlAlwaysLTR && listener.readerMode == ReaderMode.REVERSED
|
||||
}
|
||||
|
||||
interface OnInteractionListener {
|
||||
|
||||
@@ -108,7 +108,7 @@ abstract class BasePagerReaderFragment : BaseReaderFragment<FragmentReaderPagerB
|
||||
val axisValue = event.getAxisValue(MotionEvent.AXIS_VSCROLL)
|
||||
val withCtrl = event.metaState and KeyEvent.META_CTRL_MASK != 0
|
||||
if (!withCtrl) {
|
||||
switchPageBy(-axisValue.sign.toInt())
|
||||
onWheelScroll(axisValue)
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -172,6 +172,10 @@ abstract class BasePagerReaderFragment : BaseReaderFragment<FragmentReaderPagerB
|
||||
)
|
||||
}
|
||||
|
||||
protected open fun onWheelScroll(axisValue: Float) {
|
||||
switchPageBy(-axisValue.sign.toInt())
|
||||
}
|
||||
|
||||
protected open fun onCreateAdvancedTransformer(): PageTransformer = PageAnimTransformer()
|
||||
|
||||
protected open fun onInitPager(pager: ViewPager2) {
|
||||
|
||||
@@ -2,13 +2,18 @@ package org.koitharu.kotatsu.reader.ui.pager.reversed
|
||||
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import org.koitharu.kotatsu.core.prefs.AppSettings
|
||||
import org.koitharu.kotatsu.reader.ui.ReaderState
|
||||
import org.koitharu.kotatsu.reader.ui.pager.BasePagerReaderFragment
|
||||
import org.koitharu.kotatsu.reader.ui.pager.ReaderPage
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
class ReversedReaderFragment : BasePagerReaderFragment() {
|
||||
|
||||
@Inject
|
||||
lateinit var settings: AppSettings
|
||||
|
||||
override fun onCreateAdvancedTransformer(): ViewPager2.PageTransformer = ReversedPageAnimTransformer()
|
||||
|
||||
override fun onCreateAdapter() = ReversedPagesAdapter(
|
||||
@@ -19,6 +24,11 @@ class ReversedReaderFragment : BasePagerReaderFragment() {
|
||||
exceptionResolver = exceptionResolver,
|
||||
)
|
||||
|
||||
override fun onWheelScroll(axisValue: Float) {
|
||||
val value = if (settings.isReaderControlAlwaysLTR) -axisValue else axisValue
|
||||
super.onWheelScroll(value)
|
||||
}
|
||||
|
||||
override fun switchPageBy(delta: Int) {
|
||||
super.switchPageBy(-delta)
|
||||
}
|
||||
|
||||
@@ -331,7 +331,7 @@
|
||||
<string name="manga_error_description_pattern">Error details:<br><tt>%1$s</tt><br><br>1. Try to <a href="%2$s">open manga in a web browser</a> to ensure it is available on its source<br>2. Make sure you are using the <a href="kotatsu://about">latest version of Kotatsu</a><br>3. If it is available, send an error report to the developers.</string>
|
||||
<string name="history_shortcuts">Show recent manga shortcuts</string>
|
||||
<string name="history_shortcuts_summary">Make recent manga available by long pressing on application icon</string>
|
||||
<string name="reader_control_ltr_summary">Tap on the right edge or pressing the right key always switches to the next page</string>
|
||||
<string name="reader_control_ltr_summary">Navigating next always takes you to the next page when using mouse and keyboard.</string>
|
||||
<string name="reader_control_ltr">Ergonomic reader control</string>
|
||||
<string name="color_correction">Color correction</string>
|
||||
<string name="brightness">Brightness</string>
|
||||
|
||||
@@ -51,6 +51,12 @@
|
||||
android:title="@string/reader_actions"
|
||||
app:allowDividerAbove="true" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:key="reader_taps_ltr"
|
||||
android:summary="@string/reader_control_ltr_summary"
|
||||
android:title="@string/reader_control_ltr" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:key="reader_volume_buttons"
|
||||
|
||||
Reference in New Issue
Block a user