SourcePreferences.kt 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. package eu.kanade.domain.source.service
  2. import eu.kanade.domain.source.interactor.SetMigrateSorting
  3. import eu.kanade.tachiyomi.util.system.LocaleHelper
  4. import tachiyomi.core.preference.PreferenceStore
  5. import tachiyomi.core.preference.getEnum
  6. import tachiyomi.domain.library.model.LibraryDisplayMode
  7. class SourcePreferences(
  8. private val preferenceStore: PreferenceStore,
  9. ) {
  10. fun sourceDisplayMode() = preferenceStore.getObject("pref_display_mode_catalogue", LibraryDisplayMode.default, LibraryDisplayMode.Serializer::serialize, LibraryDisplayMode.Serializer::deserialize)
  11. fun enabledLanguages() = preferenceStore.getStringSet("source_languages", LocaleHelper.getDefaultEnabledLanguages())
  12. fun disabledSources() = preferenceStore.getStringSet("hidden_catalogues", emptySet())
  13. fun pinnedSources() = preferenceStore.getStringSet("pinned_catalogues", emptySet())
  14. fun lastUsedSource() = preferenceStore.getLong("last_catalogue_source", -1)
  15. fun showNsfwSource() = preferenceStore.getBoolean("show_nsfw_source", true)
  16. fun migrationSortingMode() = preferenceStore.getEnum("pref_migration_sorting", SetMigrateSorting.Mode.ALPHABETICAL)
  17. fun migrationSortingDirection() = preferenceStore.getEnum("pref_migration_direction", SetMigrateSorting.Direction.ASCENDING)
  18. fun extensionUpdatesCount() = preferenceStore.getInt("ext_updates_count", 0)
  19. fun trustedSignatures() = preferenceStore.getStringSet("trusted_signatures", emptySet())
  20. fun searchPinnedSourcesOnly() = preferenceStore.getBoolean("search_pinned_sources_only", false)
  21. }