From d9b3b7b266217188d413f9cec6c4c36ba88ecc31 Mon Sep 17 00:00:00 2001 From: CrepeTF Date: Sat, 20 Mar 2021 18:42:51 +0000 Subject: [PATCH] Add option to force disable vertical seekbar (cherry picked from commit b5df33bf14d4eea8421d2e1e6b488b79e6daa9f5) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt # app/src/main/java/exh/log/Logging.kt --- .../kanade/tachiyomi/data/preference/PreferenceKeys.kt | 2 ++ .../tachiyomi/data/preference/PreferencesHelper.kt | 2 ++ .../eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt | 10 +++++++++- .../tachiyomi/ui/reader/setting/ReaderSettingsSheet.kt | 1 + .../tachiyomi/ui/setting/SettingsReaderController.kt | 6 ++++++ app/src/main/res/layout/reader_settings_sheet.xml | 10 +++++++++- app/src/main/res/values/strings.xml | 4 ---- app/src/main/res/values/strings_sy.xml | 7 +++++++ 8 files changed, 36 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt index 4da161d37..6a1f2a343 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt @@ -360,4 +360,6 @@ object PreferenceKeys { const val landscapeVerticalSeekbar = "pref_show_vert_seekbar_landscape" const val leftVerticalSeekbar = "pref_left_handed_vertical_seekbar" + + const val forceHorizontalSeekbar = "pref_force_horz_seekbar" } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt index 85a4c858d..4ee231ff3 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt @@ -467,6 +467,8 @@ class PreferencesHelper(val context: Context) { fun cropBordersContinuesVertical() = flowPrefs.getBoolean(Keys.cropBordersContinuesVertical, false) + fun forceHorizontalSeekbar() = flowPrefs.getBoolean(Keys.forceHorizontalSeekbar, false) + fun landscapeVerticalSeekbar() = flowPrefs.getBoolean(Keys.landscapeVerticalSeekbar, false) fun leftVerticalSeekbar() = flowPrefs.getBoolean(Keys.leftVerticalSeekbar, false) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index 2522c87d8..ff897c009 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -839,7 +839,15 @@ class ReaderActivity : BaseRxActivity() // --> Vertical seekbar hide on landscape - if (((resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE && preferences.landscapeVerticalSeekbar().get()) || resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT) && (viewer is WebtoonViewer || viewer is VerticalPagerViewer)) { + if ( + !preferences.forceHorizontalSeekbar().get() && + ( + ( + resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE && preferences.landscapeVerticalSeekbar().get()) || + resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT + ) + && (viewer is WebtoonViewer || viewer is VerticalPagerViewer) + ) { binding.readerNavVert.isVisible = true binding.readerNavHorz.isVisible = false } else { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderSettingsSheet.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderSettingsSheet.kt index 1bd80fa92..6ed0c795a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderSettingsSheet.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderSettingsSheet.kt @@ -68,6 +68,7 @@ class ReaderSettingsSheet(private val activity: ReaderActivity) : BaseBottomShee binding.rotationMode.bindToPreference(preferences.rotation(), 1) binding.backgroundColor.bindToIntPreference(preferences.readerTheme(), R.array.reader_themes_values) binding.showPageNumber.bindToPreference(preferences.showPageNumber()) + binding.forceHorzSeekbar.bindToPreference(preferences.forceHorizontalSeekbar()) binding.landscapeVerticalSeekbar.bindToPreference(preferences.landscapeVerticalSeekbar()) binding.leftVerticalSeekbar.bindToPreference(preferences.leftVerticalSeekbar()) binding.fullscreen.bindToPreference(preferences.fullscreen()) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt index 5b5a8fa79..1cd7f41aa 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt @@ -50,6 +50,12 @@ class SettingsReaderController : SettingsController() { summaryRes = R.string.pref_show_reading_mode_summary defaultValue = true } + switchPreference { + key = Keys.forceHorizontalSeekbar + titleRes = R.string.pref_force_horz_seekbar + summaryRes = R.string.pref_force_horz_seekbar_summary + defaultValue = false + } switchPreference { key = Keys.landscapeVerticalSeekbar titleRes = R.string.pref_show_vert_seekbar_landscape diff --git a/app/src/main/res/layout/reader_settings_sheet.xml b/app/src/main/res/layout/reader_settings_sheet.xml index 8664b3284..9eecfba9c 100644 --- a/app/src/main/res/layout/reader_settings_sheet.xml +++ b/app/src/main/res/layout/reader_settings_sheet.xml @@ -122,13 +122,21 @@ android:textColor="?android:attr/textColorSecondary" app:layout_constraintTop_toBottomOf="@id/background_color" /> + + + app:layout_constraintTop_toBottomOf="@id/force_horz_seekbar" /> Show page number Show reading mode Briefly show current mode when reader is opened - Show vertical seekbar in landscape - Enables vertical seekbar when in landscape - Left-handed vertical seekbar - Switches which side the seekbar is on 32-bit color Reduces banding, but impacts performance Crop borders diff --git a/app/src/main/res/values/strings_sy.xml b/app/src/main/res/values/strings_sy.xml index 15de0a8e7..65d1528b6 100644 --- a/app/src/main/res/values/strings_sy.xml +++ b/app/src/main/res/values/strings_sy.xml @@ -241,6 +241,13 @@ Tap scroll by page Tapping will scroll by page instead of screen size when this option is enabled + Show vertical seekbar in landscape + Enables vertical seekbar when in landscape + Left-handed vertical seekbar + Switches which side the seekbar is on + Force horizontal seekbar + Removes vertical seekbar entirely in favour of horizontal + Autoscroll