From 35c4d13f8ff9d908fade1fdd7608e73570ec6f25 Mon Sep 17 00:00:00 2001 From: Damontecres Date: Sat, 18 Jul 2026 17:50:35 -0400 Subject: [PATCH] Various minor bug fixes (#1707) ## Description Gathering several small bug fixes: - Clear the backdrop when manually reloading the home page - Convert the "# years old" string resource to plural - Fix a spelling error in the source English strings - Ensure #1680 is respected when searching for subtitles to download - Slightly adjust padding for the header in collection details to match other headers ### Related issues Fixes string issues reported in https://github.com/damontecres/Wholphin/issues/1705#issuecomment-4982909931 ### Testing Emulator ## Screenshots N/A ## AI or LLM usage None --- .../wholphin/services/StreamChoiceService.kt | 56 ++++++++++++------- .../wholphin/ui/components/HiddenFocusBox.kt | 2 +- .../wholphin/ui/detail/PersonPage.kt | 11 ++-- .../ui/detail/collection/CollectionDetails.kt | 1 + .../damontecres/wholphin/ui/nav/NavDrawer.kt | 1 + .../wholphin/ui/playback/PlaybackViewModel.kt | 2 +- .../ui/playback/SubtitleSearchUtils.kt | 21 ++++--- app/src/main/res/values-cs/strings.xml | 4 +- app/src/main/res/values-da/strings.xml | 4 +- app/src/main/res/values-de/strings.xml | 4 +- app/src/main/res/values-es/strings.xml | 4 +- app/src/main/res/values-et/strings.xml | 4 +- app/src/main/res/values-fr/strings.xml | 4 +- app/src/main/res/values-hu/strings.xml | 4 +- app/src/main/res/values-in/strings.xml | 4 +- app/src/main/res/values-it/strings.xml | 4 +- app/src/main/res/values-iw/strings.xml | 4 +- app/src/main/res/values-lv/strings.xml | 4 +- app/src/main/res/values-nb-rNO/strings.xml | 4 +- app/src/main/res/values-nl/strings.xml | 4 +- app/src/main/res/values-nn/strings.xml | 4 +- app/src/main/res/values-pl/strings.xml | 4 +- app/src/main/res/values-pt-rBR/strings.xml | 4 +- app/src/main/res/values-pt/strings.xml | 4 +- app/src/main/res/values-ro/strings.xml | 4 +- app/src/main/res/values-ru/strings.xml | 4 +- app/src/main/res/values-sk/strings.xml | 4 +- app/src/main/res/values-sl/strings.xml | 4 +- app/src/main/res/values-sv/strings.xml | 4 +- app/src/main/res/values-th/strings.xml | 4 +- app/src/main/res/values-tr/strings.xml | 4 +- app/src/main/res/values-uk/strings.xml | 4 +- app/src/main/res/values-zh-rCN/strings.xml | 4 +- app/src/main/res/values-zh-rTW/strings.xml | 4 +- app/src/main/res/values/strings.xml | 12 ++-- 35 files changed, 147 insertions(+), 67 deletions(-) diff --git a/app/src/main/java/com/github/damontecres/wholphin/services/StreamChoiceService.kt b/app/src/main/java/com/github/damontecres/wholphin/services/StreamChoiceService.kt index 1bd2986c..09450b34 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/services/StreamChoiceService.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/services/StreamChoiceService.kt @@ -138,17 +138,7 @@ class StreamChoiceService playbackLanguageChoice?.audioLanguage?.takeIf { it.isNotNullOrBlank() } // If the user has chosen a different language for the series, prefer that val audioLanguage = - if (seriesLang != null) { - seriesLang - } else { - val pref = prefs.userPreferences?.preferredAudioLanguage - when (pref) { - UserProfileSettings.USE_USER_PROFILE -> userConfig?.audioLanguagePreference - UserProfileSettings.PREFER_ANY_LANGUAGE -> null - else -> pref - } - } - + seriesLang ?: getPreferredLanguage(MediaStreamType.AUDIO, prefs, userConfig) if (audioLanguage.isNotNullOrBlank()) { val sorted = candidates.sortedWith(compareBy { it.language }.thenByDescending { it.channels }) @@ -242,16 +232,7 @@ class StreamChoiceService val seriesLang = playbackLanguageChoice?.subtitleLanguage?.takeIf { it.isNotNullOrBlank() } val subtitleLanguage = - if (seriesLang != null) { - seriesLang - } else { - val pref = prefs.userPreferences?.preferredSubtitleLanguage - when (pref) { - UserProfileSettings.USE_USER_PROFILE -> userConfig?.subtitleLanguagePreference - UserProfileSettings.PREFER_ANY_LANGUAGE -> null - else -> pref - }?.takeIf { it.isNotNullOrBlank() } - } + seriesLang ?: getPreferredLanguage(MediaStreamType.SUBTITLE, prefs, userConfig) if (itemPlayback?.subtitleIndex == TrackIndex.ONLY_FORCED) { // Client-side manual override: User selected "Only Forced" in player menu return findForcedTrack(candidates, subtitleLanguage, audioStreamLang) @@ -398,3 +379,36 @@ private val String?.isUnknown: Boolean this.equals("zxx", true) private fun String?.equalsLangOrUnknown(lang: String): Boolean = equals(lang, ignoreCase = true) || this.isUnknown + +/** + * Based on the user's preferences, get their preferred language for audio or subtitles + * + * @param prefs the [UserPreferences] + */ +fun getPreferredLanguage( + type: MediaStreamType, + prefs: UserPreferences, + userConfig: UserConfiguration?, +): String? { + val (pref, profileLang) = + when (type) { + MediaStreamType.AUDIO -> { + prefs.userPreferences?.preferredAudioLanguage to + userConfig?.audioLanguagePreference + } + + MediaStreamType.SUBTITLE -> { + prefs.userPreferences?.preferredSubtitleLanguage to + userConfig?.subtitleLanguagePreference + } + + else -> { + throw IllegalArgumentException("Only audio or subtitle supported, not $type") + } + } + return when (pref) { + UserProfileSettings.USE_USER_PROFILE -> profileLang + UserProfileSettings.PREFER_ANY_LANGUAGE -> null + else -> pref + }?.takeIf { it.isNotNullOrBlank() } +} diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/components/HiddenFocusBox.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/components/HiddenFocusBox.kt index d74707e5..f86868bc 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/components/HiddenFocusBox.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/components/HiddenFocusBox.kt @@ -25,7 +25,7 @@ fun HiddenFocusBox( modifier = Modifier .fillMaxWidth() - .height(1.dp) + .height(0.dp) .focusRequester(focusRequester) .onFocusChanged { if (it.isFocused) onFocus.invoke() diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/detail/PersonPage.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/detail/PersonPage.kt index 218627ae..c7f9ee26 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/detail/PersonPage.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/detail/PersonPage.kt @@ -28,6 +28,7 @@ import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp @@ -503,8 +504,9 @@ fun PersonHeader( val text = if (age != null) { stringResource(R.string.born) + ": ${formatDate(it)} (${ - stringResource( - R.string.years_old, + pluralStringResource( + R.plurals.years_old, + age, age, ) })" @@ -533,8 +535,9 @@ fun PersonHeader( val text = if (age != null) { stringResource(R.string.died) + ": ${formatDate(it)} (${ - stringResource( - R.string.years_old, + pluralStringResource( + R.plurals.years_old, + age, age, ) })" diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/detail/collection/CollectionDetails.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/detail/collection/CollectionDetails.kt index f22c7f33..7366bf59 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/detail/collection/CollectionDetails.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/detail/collection/CollectionDetails.kt @@ -343,6 +343,7 @@ fun CollectionDetailsContent( modifier = Modifier .padding( + start = HeaderUtils.startPadding, top = HeaderUtils.topPadding, bottom = 8.dp, ).height(HeaderUtils.height), diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/nav/NavDrawer.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/nav/NavDrawer.kt index 0d66fd8f..67fb849d 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/nav/NavDrawer.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/nav/NavDrawer.kt @@ -432,6 +432,7 @@ fun NavDrawer( viewModel.setIndex(HOME_INDEX) if (destination is Destination.Home) { viewModel.navigationManager.reloadHome() + onClearBackdrop.invoke() } else { viewModel.navigationManager.goToHome() } diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackViewModel.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackViewModel.kt index 677200e2..fae25907 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackViewModel.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackViewModel.kt @@ -181,7 +181,7 @@ class PlaybackViewModel private val _state = MutableStateFlow(PlaybackState()) val state: StateFlow = _state - private lateinit var preferences: UserPreferences + internal lateinit var preferences: UserPreferences internal lateinit var itemId: UUID internal lateinit var currentItem: PlaylistItem internal var forceTranscoding: Boolean = false diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/SubtitleSearchUtils.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/SubtitleSearchUtils.kt index d733e176..e9e809ae 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/SubtitleSearchUtils.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/SubtitleSearchUtils.kt @@ -7,6 +7,7 @@ import com.github.damontecres.wholphin.R import com.github.damontecres.wholphin.data.model.BaseItem import com.github.damontecres.wholphin.data.model.PlaylistItem import com.github.damontecres.wholphin.data.model.TrackIndex +import com.github.damontecres.wholphin.services.getPreferredLanguage import com.github.damontecres.wholphin.ui.isNotNullOrBlank import com.github.damontecres.wholphin.ui.launchIO import com.github.damontecres.wholphin.ui.onMain @@ -42,15 +43,17 @@ sealed interface SubtitleSearchStatus { /** * Trigger a search for subtitles in the given language for the currently playing media */ -fun PlaybackViewModel.searchForSubtitles( - language: String = - serverRepository - .currentUserDto - ?.configuration - ?.subtitleLanguagePreference - ?.takeIf { it.isNotNullOrBlank() } - ?: Locale.current.language, -) { +fun PlaybackViewModel.searchForSubtitles(language: String? = null) { + val language = + language ?: getPreferredLanguage( + MediaStreamType.SUBTITLE, + preferences, + serverRepository + .currentUserDto + ?.configuration, + )?.takeIf { it.isNotNullOrBlank() } + ?: Locale.current.language + subtitleSearchState.update { it.copy( status = SubtitleSearchStatus.Searching, diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index a683ad9b..bd688e39 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -161,7 +161,9 @@ Video Videa Sledujte živě - %1$d let starý + + %1$d let starý + Přehraj s překódováním Informace o médiu Zobrazit hodiny diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 6f6cbd17..53ad50cc 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -164,7 +164,9 @@ Video Videoer Se direkte - %1$d år gammel + + %1$d år gammel + Afspil med transkodning Medieinformation Vis ur diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1e51b8c5..bb7265dd 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -58,7 +58,9 @@ Aktualisierungen Version Live ansehen - %1$d Jahre alt + + %1$d Jahre alt + Extras Szene diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index b2a170e8..9b5616ca 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -73,7 +73,9 @@ Versión Vídeo Vídeos - %1$d años + + %1$d años + Reproducir con transcodificación Mostrar reloj Crear nueva lista de reproducción diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index 4e8ff8a9..cfbf2725 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -231,7 +231,9 @@ Video Videod Vaata otse-eetris - %1$d aasta(t) vana + + %1$d aasta(t) vana + Esita koos teisendamisega Näita kella Eetris olnud osade järjestus diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 3b0a9df4..421c1b0e 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -178,7 +178,9 @@ Guide Interface Échelle de la vidéo - %1$d ans + + %1$d ans + Mettre la police en italique Classification parentale Bonus diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 356175c2..fedecb72 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -136,7 +136,9 @@ Videó Videók Nézze élőben - %1$d éves + + %1$d éves + Lejátszás átalakítással Aktuális idő mutatása Sorrend epizód vetítése alapján diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 5ac10a6c..2bdc1d68 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -137,7 +137,9 @@ Video Video Tonton langsung - %1$d tahun + + %1$d tahun + Putar dengan transcoding Tampilkan Jam Urutan Episode Tayang diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 503a6142..baeb5346 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -183,7 +183,9 @@ Scala Video Video I video - %1$d anni + + %1$d anni + Riproduci con transcodifica Immediato Mostra prossimo episodio diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 1b4462d0..2a541e9c 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -215,7 +215,9 @@ קנה מידה של הוידאו וידאו צפה בשידור חי - בגיל %1$d + + בגיל %1$d + נגן עם המרת קידוד פרטי המדיה הצג שעון diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index e9cc76c9..c2c66df5 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -164,7 +164,9 @@ Video Video Skatīties tiešraidi - %1$d gadus vecs + + %1$d gadus vecs + Atskaņot ar transkodēšanu Informācija par failu Rādīt Pulksteni diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 48c5b438..59793adf 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -135,7 +135,9 @@ Video Videoer Se direkte - %1$d år gammel + + %1$d år gammel + Spill av med transkoding Mediainformasjon Vis klokke diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 44518453..28539092 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -138,7 +138,9 @@ Video Video\'s Live kijken - %1$d jaar oud + + %1$d jaar oud + Afspelen met transcodering Klok tonen Volgorde van uitgezonden afleveringen diff --git a/app/src/main/res/values-nn/strings.xml b/app/src/main/res/values-nn/strings.xml index 7f6658f4..5917854a 100644 --- a/app/src/main/res/values-nn/strings.xml +++ b/app/src/main/res/values-nn/strings.xml @@ -138,7 +138,9 @@ Video Videoar Sjå direkte - %1$d år gammal + + %1$d år gammal + Spel av med transkoding Mediainformasjon Vis klokke diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 3221c150..30bee7af 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -263,7 +263,9 @@ Obsada Brak Nieznany - %1$d lat temu + + %1$d lat temu + Powodzenie Ocena rodzicielska Dodatki diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 2f2047af..c446b6f9 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -166,7 +166,9 @@ Vídeo Vídeos Assista ao vivo - %1$d anos de idade + + %1$d anos de idade + Reproduzir com transcodificação Informação de Mídia Mostrar Relógio diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 1ada5a3d..4c06ad97 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -137,7 +137,9 @@ Vídeo Vídeos Ver em directo - %1$d anos + + %1$d anos + Reproduzir com transcodificação Mostrar Relógio Ordem de Emissão diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 64017e76..dd2e07e2 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -217,7 +217,9 @@ Actualizări Versiune Arată ceasul - %1$d ani vechime + + %1$d ani vechime + Ghid Pauză cu un click diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 847d1514..b9d4ea6e 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -111,7 +111,9 @@ Масштаб видео Видео Видео - %1$d возраст + + %1$d возраст + Воспроизвести с перекодированием Показывать часы Создать новый плейлист diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index abecae1d..1fa31795 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -167,7 +167,9 @@ Video Videá Sledovať naživo - %1$d rokov + + %1$d rokov + Prehrávať s prekódovaním Informácie o médiu Zobraziť hodiny diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 99719417..e844ce79 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -164,7 +164,9 @@ Video Videji Glej v živo - %1$d let staro + + %1$d let staro + Igrajte s transkodiranjem Informacije o mediji Prikaži uro diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index faaa40fd..01c09b61 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -89,7 +89,9 @@ Video Videor Titta live - %1$d år gammal + + %1$d år gammal + Spela med transkodning Visa klocka Sändningsordning diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 22bc4601..c544add8 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -165,7 +165,9 @@ วิดีโอ วิดีโอ ชมสด - %1$d ปี + + %1$d ปี + เล่นโดยใช้การแปลงรหัส ข้อมูลสื่อ แสดงนาฬิกา diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index c7a300b2..1ef29efc 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -169,7 +169,9 @@ Video Videolar Canlı izle - %1$d yaşında + + %1$d yaşında + Kod dönüştürerek oynat Medya Bilgisi Saati göster diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index b3d7a7a0..ccbb47a4 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -177,7 +177,9 @@ Відео Відоси Дивитись онлайн - %1$d років + + %1$d років + Відтворити з перекодуванням Інформація Показати годиник diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index bcee8122..3c1a4bd8 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -137,7 +137,9 @@ 视频 视频 观看直播 - %1$d 岁 + + %1$d 岁 + 转码播放 显示时钟 剧集播出顺序 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 0f378ae5..2dbaa495 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -203,7 +203,9 @@ 錄影排程 電視劇 介面 - %1$d 歲 + + %1$d 歲 + 轉碼播放 按下方向鍵中央以暫停/播放 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 89888b8c..eb3d89af 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -166,8 +166,12 @@ Video Scale Video Videos - Watch live - %1$d years old + Watch liveg + + %1$d years old + %1$d year old + %1$d years old + Play with transcoding Media Information Show Clock @@ -398,7 +402,7 @@ Incorrect PIN must be 4 keys or longer Will remove PIN - [0-9] + [0–9] Image disk cache size (MB) View options Columns @@ -499,7 +503,7 @@ Image subtitle opacity Brightness - Constrast + Contrast Saturation Hue Red