Dantotsu/app/src/main/java/ani/dantotsu/settings/CurrentNovelReaderSettings.kt
2024-02-06 02:16:10 -06:00

37 lines
1.7 KiB
Kotlin

package ani.dantotsu.settings
import ani.dantotsu.settings.saving.PrefManager
import ani.dantotsu.settings.saving.PrefName
import java.io.Serializable
data class CurrentNovelReaderSettings(
var currentThemeName: String = PrefManager.getVal(PrefName.CurrentThemeName),
var layout: Layouts = Layouts[PrefManager.getVal(PrefName.LayoutNovel)]
?: Layouts.PAGED,
var dualPageMode: CurrentReaderSettings.DualPageModes = CurrentReaderSettings.DualPageModes[PrefManager.getVal(
PrefName.DualPageModeNovel
)]
?: CurrentReaderSettings.DualPageModes.Automatic,
var lineHeight: Float = PrefManager.getVal(PrefName.LineHeight),
var margin: Float = PrefManager.getVal(PrefName.Margin),
var justify: Boolean = PrefManager.getVal(PrefName.Justify),
var hyphenation: Boolean = PrefManager.getVal(PrefName.Hyphenation),
var useDarkTheme: Boolean = PrefManager.getVal(PrefName.UseDarkThemeNovel),
var useOledTheme: Boolean = PrefManager.getVal(PrefName.UseOledThemeNovel),
var invert: Boolean = PrefManager.getVal(PrefName.Invert),
var maxInlineSize: Int = PrefManager.getVal(PrefName.MaxInlineSize),
var maxBlockSize: Int = PrefManager.getVal(PrefName.MaxBlockSize),
var horizontalScrollBar: Boolean = PrefManager.getVal(PrefName.HorizontalScrollBarNovel),
var keepScreenOn: Boolean = PrefManager.getVal(PrefName.KeepScreenOnNovel),
var volumeButtons: Boolean = PrefManager.getVal(PrefName.VolumeButtonsNovel)
) : Serializable {
enum class Layouts(val string: String) {
PAGED("Paged"),
SCROLLED("Scrolled");
companion object {
operator fun get(value: Int) = values().firstOrNull { it.ordinal == value }
}
}
}