Add vertical chapter navigator for paged reader with height adjustment option (#3531)
This commit is contained in:
@@ -461,8 +461,12 @@ class ReaderActivity : BaseActivity() {
|
||||
val isPagerType = ReadingMode.isPagerType(viewModel.getMangaReadingMode())
|
||||
val cropEnabled = if (isPagerType) cropBorderPaged else cropBorderWebtoon
|
||||
|
||||
val verticalNavigatorForLongStrip by readerPreferences.verticalNavigatorForLongStrip.collectAsState()
|
||||
val verticalNavigatorModes by readerPreferences.verticalNavigator.collectAsState()
|
||||
val verticalNavigator = verticalNavigatorModes.contains(
|
||||
ReadingMode.fromPreference(viewModel.getMangaReadingMode()),
|
||||
)
|
||||
val verticalNavigatorOnLeft by readerPreferences.verticalNavigatorOnLeft.collectAsState()
|
||||
val verticalNavigatorHeight by readerPreferences.verticalNavigatorHeight.collectAsState()
|
||||
|
||||
ReaderAppBars(
|
||||
visible = state.menuVisible,
|
||||
@@ -477,7 +481,7 @@ class ReaderActivity : BaseActivity() {
|
||||
onOpenInBrowser = ::openChapterInBrowser.takeIf { isHttpSource },
|
||||
onShare = ::shareChapter.takeIf { isHttpSource },
|
||||
|
||||
chapterNavigatorType = if (isPagerType || !verticalNavigatorForLongStrip) {
|
||||
chapterNavigatorType = if (!verticalNavigator) {
|
||||
if (state.viewer is R2LPagerViewer) {
|
||||
ChapterNavigatorType.HORIZONTAL_RTL
|
||||
} else {
|
||||
@@ -490,6 +494,7 @@ class ReaderActivity : BaseActivity() {
|
||||
ChapterNavigatorType.VERTICAL_RIGHT
|
||||
}
|
||||
},
|
||||
verticalNavigatorHeight = verticalNavigatorHeight / 100f,
|
||||
onNextChapter = ::loadNextChapter,
|
||||
enabledNext = state.viewerChapters?.nextChapter != null,
|
||||
onPreviousChapter = ::loadPreviousChapter,
|
||||
|
||||
@@ -6,6 +6,7 @@ import dev.icerock.moko.resources.StringResource
|
||||
import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.PreferenceStore
|
||||
import tachiyomi.core.common.preference.getEnum
|
||||
import tachiyomi.core.common.preference.getEnumSet
|
||||
import tachiyomi.i18n.MR
|
||||
|
||||
class ReaderPreferences(
|
||||
@@ -28,16 +29,21 @@ class ReaderPreferences(
|
||||
|
||||
val showPageNumber: Preference<Boolean> = preferenceStore.getBoolean("pref_show_page_number_key", true)
|
||||
|
||||
val verticalNavigatorForLongStrip: Preference<Boolean> = preferenceStore.getBoolean(
|
||||
"pref_webtoon_vertical_navigator",
|
||||
true,
|
||||
val verticalNavigator: Preference<Set<ReadingMode>> = preferenceStore.getEnumSet(
|
||||
"pref_vertical_navigator",
|
||||
emptySet(),
|
||||
)
|
||||
|
||||
val verticalNavigatorOnLeft: Preference<Boolean> = preferenceStore.getBoolean(
|
||||
"pref_webtoon_vertical_navigator_on_left",
|
||||
"pref_vertical_navigator_on_left",
|
||||
false,
|
||||
)
|
||||
|
||||
val verticalNavigatorHeight: Preference<Int> = preferenceStore.getInt(
|
||||
"pref_vertical_navigator_height",
|
||||
65,
|
||||
)
|
||||
|
||||
val showReadingMode: Preference<Boolean> = preferenceStore.getBoolean("pref_show_reading_mode", true)
|
||||
|
||||
val fullscreen: Preference<Boolean> = preferenceStore.getBoolean("fullscreen", true)
|
||||
|
||||
Reference in New Issue
Block a user