37 lines
1.7 KiB
Kotlin
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 }
|
|
}
|
|
}
|
|
}
|