[DO NOT USE] EhScreen implementation part 1
This commit is contained in:
1 parent
55b4edac4d
commit
cc02b69020
2 files changed
+124
-20
No files matched your search
@@ -51,29 +51,26 @@ object Settings : DataStorePreferences(null) {
|
||||
var downloadPath by stringOrNullPref("image_path", null)
|
||||
var downloadQuery by stringOrNullPref("image_query", null)
|
||||
var downloadFragment by stringOrNullPref("image_fragment", null)
|
||||
|
||||
var favCat by stringArrayPref("fav_cat", 10, "Favorites")
|
||||
var favCount by intArrayPref("fav_count", 10)
|
||||
var archivePasswds by stringSetOrNullPref("archive_passwds")
|
||||
|
||||
var downloadDelay by intFromStrPref("download_delay", 0)
|
||||
var gallerySite by intFromStrPref(KEY_GALLERY_SITE, 0)
|
||||
var multiThreadDownload by intFromStrPref("download_thread", 3)
|
||||
var preloadImage by intFromStrPref("preload_image", 5)
|
||||
val theme by intFromStrPref(KEY_THEME, -1)
|
||||
val listMode by intFromStrPref(KEY_LIST_MODE, 0)
|
||||
val detailSize by intFromStrPref(KEY_DETAIL_SIZE, 0)
|
||||
val thumbResolution by intFromStrPref(KEY_THUMB_RESOLUTION, 0)
|
||||
var theme by intFromStrPref(KEY_THEME, -1)
|
||||
var listMode by intFromStrPref(KEY_LIST_MODE, 0)
|
||||
var detailSize by intFromStrPref(KEY_DETAIL_SIZE, 0)
|
||||
var thumbResolution by intFromStrPref(KEY_THUMB_RESOLUTION, 0)
|
||||
var readCacheSize by intFromStrPref(KEY_READ_CACHE_SIZE, 640)
|
||||
var launchPage by intFromStrPref("launch_page", 0)
|
||||
|
||||
val showComments by boolPref("show_gallery_comments", true)
|
||||
val requestNews by boolPref(KEY_REQUEST_NEWS, false)
|
||||
val hideHvEvents by boolPref(KEY_HIDE_HV_EVENTS, false)
|
||||
val showJpnTitle by boolPref(KEY_SHOW_JPN_TITLE, false)
|
||||
val showGalleryPages by boolPref("show_gallery_pages", false)
|
||||
var showComments by boolPref("show_gallery_comments", true)
|
||||
var requestNews by boolPref(KEY_REQUEST_NEWS, false)
|
||||
var hideHvEvents by boolPref(KEY_HIDE_HV_EVENTS, false)
|
||||
var showJpnTitle by boolPref(KEY_SHOW_JPN_TITLE, false)
|
||||
var showGalleryPages by boolPref("show_gallery_pages", false)
|
||||
var showTagTranslations by boolPref(KEY_SHOW_TAG_TRANSLATIONS, false)
|
||||
val meteredNetworkWarning by boolPref("cellular_network_warning", false)
|
||||
var meteredNetworkWarning by boolPref("cellular_network_warning", false)
|
||||
var appLinkVerifyTip by boolPref("app_link_verify_tip", false)
|
||||
var enabledSecurity by boolPref("enable_secure", false)
|
||||
var mediaScan by boolPref(KEY_MEDIA_SCAN, false).observed { updateWhenKeepMediaStatusChanges() }
|
||||
@@ -86,29 +83,26 @@ object Settings : DataStorePreferences(null) {
|
||||
var removeImageFiles by boolPref("include_pic", true)
|
||||
var needSignIn by boolPref("need_sign_in", true)
|
||||
var selectSite by boolPref("select_site", true)
|
||||
val blackDarkTheme by boolPref(KEY_BLACK_DARK_THEME, false)
|
||||
var blackDarkTheme by boolPref(KEY_BLACK_DARK_THEME, false)
|
||||
var preloadThumbAggressively by boolPref("preload_thumb_aggressively", false)
|
||||
var dF by boolPref(KEY_DOMAIN_FRONTING, false)
|
||||
var downloadOriginImage by boolPref("download_origin_image", false)
|
||||
var bypassVpn by boolPref(KEY_BYPASS_VPN, true)
|
||||
|
||||
val thumbSizeDp by intPref(KEY_THUMB_SIZE, 120)
|
||||
var thumbSizeDp by intPref(KEY_THUMB_SIZE, 120)
|
||||
var favLocalCount by intPref("fav_local", 0)
|
||||
var favCloudCount by intPref("fav_cloud", 0)
|
||||
var recentFavCat by intPref("recent_fav_cat", FavListUrlBuilder.FAV_CAT_ALL)
|
||||
var defaultFavSlot by intPref("default_favorite_2", INVALID_DEFAULT_FAV_SLOT) // -1 for local, 0 - 9 for cloud favorite, other for no default fav slot
|
||||
var securityDelay by intPref("require_unlock_delay", 0)
|
||||
var clipboardTextHashCode by intPref("clipboard_text_hash_code", 0)
|
||||
val listThumbSize by intPref(KEY_LIST_THUMB_SIZE, 40)
|
||||
var listThumbSize by intPref(KEY_LIST_THUMB_SIZE, 40)
|
||||
var requestNewsTimerHour by intPref("request_news_timer_hour", -1)
|
||||
var requestNewsTimerMinute by intPref("request_news_timer_minute", -1)
|
||||
var dataMapNextId by intPref("data_map_next_id", 0)
|
||||
|
||||
var recentDownloadLabel by stringOrNullPref("recent_download_label", null)
|
||||
var defaultDownloadLabel by stringOrNullPref("default_download_label", null)
|
||||
var displayName by stringOrNullPref("display_name", null)
|
||||
var avatar by stringOrNullPref("avatar", null)
|
||||
|
||||
var dohUrl by stringPref("doh_url", "")
|
||||
var language by stringPref("app_language", "system").observed { updateWhenLocaleChanges() }
|
||||
var lastDawnDay by longPref("last_dawn_day", 0)
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
package com.hippo.ehviewer.ui.settings
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.ArrowBack
|
||||
import androidx.compose.material3.Icon
|
||||
@@ -15,6 +19,8 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import com.hippo.ehviewer.R
|
||||
import com.hippo.ehviewer.Settings
|
||||
import com.hippo.ehviewer.ui.compose.observed
|
||||
import com.hippo.ehviewer.ui.login.LocalNavController
|
||||
|
||||
@Composable
|
||||
@@ -34,7 +40,111 @@ fun EhScreen() {
|
||||
)
|
||||
},
|
||||
) {
|
||||
Column(modifier = Modifier.padding(it).nestedScroll(scrollBehavior.nestedScrollConnection)) {
|
||||
Column(modifier = Modifier.padding(top = it.calculateTopPadding()).nestedScroll(scrollBehavior.nestedScrollConnection).verticalScroll(rememberScrollState())) {
|
||||
Preference(
|
||||
title = stringResource(id = R.string.account_name),
|
||||
summary = stringResource(id = R.string.settings_eh_identity_cookies_tourist),
|
||||
)
|
||||
Preference(
|
||||
title = stringResource(id = R.string.image_limits),
|
||||
)
|
||||
SimpleMenuPreferenceInt(
|
||||
title = stringResource(id = R.string.settings_eh_gallery_site),
|
||||
entry = R.array.gallery_site_entries,
|
||||
entryValueRes = R.array.gallery_site_entry_values,
|
||||
value = Settings::gallerySite.observed,
|
||||
)
|
||||
Preference(
|
||||
title = stringResource(id = R.string.settings_u_config),
|
||||
summary = stringResource(id = R.string.settings_u_config_summary),
|
||||
)
|
||||
Preference(
|
||||
title = stringResource(id = R.string.settings_my_tags),
|
||||
summary = stringResource(id = R.string.settings_my_tags_summary),
|
||||
)
|
||||
SimpleMenuPreferenceInt(
|
||||
title = stringResource(id = rikka.core.R.string.dark_theme),
|
||||
entry = R.array.night_mode_entries,
|
||||
entryValueRes = R.array.night_mode_values,
|
||||
value = Settings::theme.observed,
|
||||
)
|
||||
SwitchPreference(
|
||||
title = stringResource(id = R.string.black_dark_theme),
|
||||
summary = null,
|
||||
value = Settings::blackDarkTheme,
|
||||
)
|
||||
SimpleMenuPreferenceInt(
|
||||
title = stringResource(id = R.string.settings_eh_launch_page),
|
||||
entry = R.array.launch_page_entries,
|
||||
entryValueRes = R.array.launch_page_entry_values,
|
||||
value = Settings::launchPage.observed,
|
||||
)
|
||||
SimpleMenuPreferenceInt(
|
||||
title = stringResource(id = R.string.settings_eh_list_mode),
|
||||
entry = R.array.list_mode_entries,
|
||||
entryValueRes = R.array.list_mode_entry_values,
|
||||
value = Settings::listMode.observed,
|
||||
)
|
||||
IntSliderPreference(
|
||||
maxValue = 60,
|
||||
minValue = 20,
|
||||
title = stringResource(id = R.string.list_tile_thumb_size),
|
||||
value = Settings::listThumbSize,
|
||||
)
|
||||
SimpleMenuPreferenceInt(
|
||||
title = stringResource(id = R.string.settings_eh_thumb_resolution),
|
||||
entry = R.array.thumb_resolution_entries,
|
||||
entryValueRes = R.array.thumb_resolution_entry_values,
|
||||
value = Settings::thumbResolution.observed,
|
||||
)
|
||||
SwitchPreference(
|
||||
title = stringResource(id = R.string.settings_eh_show_jpn_title),
|
||||
summary = stringResource(id = R.string.settings_eh_show_jpn_title_summary),
|
||||
value = Settings::showJpnTitle,
|
||||
)
|
||||
SwitchPreference(
|
||||
title = stringResource(id = R.string.settings_eh_show_gallery_pages),
|
||||
summary = stringResource(id = R.string.settings_eh_show_gallery_pages_summary),
|
||||
value = Settings::showGalleryPages,
|
||||
)
|
||||
SwitchPreference(
|
||||
title = stringResource(id = R.string.settings_eh_show_gallery_comments),
|
||||
summary = stringResource(id = R.string.settings_eh_show_gallery_comments_summary),
|
||||
value = Settings::showComments,
|
||||
)
|
||||
SwitchPreference(
|
||||
title = stringResource(id = R.string.settings_eh_show_tag_translations),
|
||||
summary = stringResource(id = R.string.settings_eh_show_tag_translations_summary),
|
||||
value = Settings::showTagTranslations,
|
||||
)
|
||||
UrlPreference(
|
||||
title = stringResource(id = R.string.settings_eh_tag_translations_source),
|
||||
url = stringResource(id = R.string.settings_eh_tag_translations_source_url),
|
||||
)
|
||||
Preference(
|
||||
title = stringResource(id = R.string.settings_eh_filter),
|
||||
summary = stringResource(id = R.string.settings_eh_filter_summary),
|
||||
)
|
||||
SwitchPreference(
|
||||
title = stringResource(id = R.string.settings_eh_metered_network_warning),
|
||||
summary = null,
|
||||
value = Settings::meteredNetworkWarning,
|
||||
)
|
||||
SwitchPreference(
|
||||
title = stringResource(id = R.string.settings_eh_request_news),
|
||||
summary = null,
|
||||
value = Settings::requestNews,
|
||||
)
|
||||
Preference(
|
||||
title = stringResource(id = R.string.settings_eh_request_news_timepicker),
|
||||
summary = null,
|
||||
)
|
||||
SwitchPreference(
|
||||
title = stringResource(id = R.string.settings_eh_hide_hv_events),
|
||||
summary = null,
|
||||
value = Settings::requestNews,
|
||||
)
|
||||
Spacer(modifier = Modifier.size(it.calculateBottomPadding()))
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user