Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
67 changes: 62 additions & 5 deletions composeApp/src/commonMain/composeResources/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
<resources>
<string name="theme_gold">Gold</string>
<string name="theme_jade">Jade</string>
<string name="theme_rose_gold">Rose Gold</string>
<string name="theme_arctic_blue">Arctic Blue</string>
<string name="theme_graphite">Graphite</string>
<string name="profile_choose_background">Choose Profile Background</string>
<string name="profile_background_member_note">Custom background URLs can be configured from the Nuvio web panel.</string>
<string name="profile_background_normal">Normal</string>
Expand Down Expand Up @@ -1391,6 +1386,23 @@
<string name="theme_rose">Rose</string>
<string name="theme_violet">Violet</string>
<string name="theme_white">White</string>
<string name="theme_custom">Custom</string>
<string name="custom_theme_title">Your custom gradient</string>
<string name="custom_theme_subtitle">Choose three colors for your theme. Select a color to edit it.</string>
<string name="custom_theme_edit">Edit custom theme</string>
<string name="custom_theme_solid_title">Your custom color</string>
<string name="custom_theme_solid_subtitle">Choose a color for your theme.</string>
<string name="custom_theme_mode_gradient">Gradient</string>
<string name="custom_theme_mode_solid">Single color</string>
<string name="custom_theme_color_number">Color %1$d</string>
<string name="custom_theme_hue">Hue</string>
<string name="custom_theme_saturation">Saturation</string>
<string name="custom_theme_brightness">Brightness</string>
<string name="custom_theme_hex_title">Hex color</string>
<string name="custom_theme_hex_error">Enter six characters (0–9, A–F), with or without #.</string>
<string name="custom_theme_save">Save theme</string>
<string name="custom_theme_preview">Preview</string>
<string name="custom_theme_preview_accent">Your accent</string>
<string name="player_next_episode">Next Episode</string>
<string name="player_next_episode_finding_source">Finding source…</string>
<string name="player_next_episode_playing_via_countdown">Playing via %1$s in %2$d…</string>
Expand Down Expand Up @@ -1675,6 +1687,51 @@
<string name="updates_message_downloading">Downloading update...</string>
<string name="updates_message_no_updates">No updates found.</string>
<string name="updates_message_ready">A new version is ready to install.</string>
<string name="compose_settings_page_shortcuts">Shortcuts</string>
<string name="compose_settings_root_shortcuts_description">Keyboard and mouse shortcuts.</string>
<string name="compose_settings_shortcuts_section_general">GENERAL &amp; NAVIGATION</string>
<string name="compose_settings_shortcuts_section_player">PLAYER – PLAYBACK</string>
<string name="compose_settings_shortcuts_row_back">Go back / previous screen</string>
<string name="compose_settings_shortcuts_row_options">Show options</string>
<string name="compose_settings_shortcuts_row_home">Switch to home</string>
<string name="compose_settings_shortcuts_row_search">Switch to search</string>
<string name="compose_settings_shortcuts_row_library">Switch to library</string>
<string name="compose_settings_shortcuts_row_settings">Switch to settings</string>
<string name="compose_settings_shortcuts_row_search_box">Activate search box</string>
<string name="compose_settings_shortcuts_row_play_pause">Play / Pause</string>
<string name="compose_settings_shortcuts_row_audio_track">Sequential switch audio track</string>
<string name="compose_settings_shortcuts_row_subtitle_toggle">Toggle enable / disable subtitle</string>
<string name="compose_settings_shortcuts_row_mute">Toggle mute state</string>
<string name="compose_settings_shortcuts_row_seek">Seek forward or backward</string>
<string name="compose_settings_shortcuts_row_volume">Volume up / down</string>
<string name="compose_settings_shortcuts_row_fullscreen">Toggle app fullscreen</string>
<string name="compose_settings_shortcuts_row_skip_intro">Skip intro</string>
<string name="compose_settings_shortcuts_row_audio_selector">Open audio selector window</string>
<string name="compose_settings_shortcuts_row_subtitle_selector">Open subtitle selector window</string>
<string name="compose_settings_shortcuts_row_source_list">Open source list window</string>
<string name="compose_settings_shortcuts_row_episode_list">Open episode list window</string>
<string name="compose_settings_shortcuts_row_focus_options">Move focus and options</string>
<string name="compose_settings_shortcuts_row_next_episode">Play next episode</string>
<string name="compose_settings_shortcuts_row_speed_hold">Hold to speed up playback</string>
<string name="compose_settings_shortcuts_row_speed_panel">Open playback speed panel</string>
<string name="compose_settings_shortcuts_row_speed_control">Playback speed control</string>
<string name="compose_settings_shortcuts_row_speed_reset">Reset playback speed to 1x</string>
<string name="compose_settings_shortcuts_row_subtitle_delay">Decrease / increase subtitle delay</string>
<string name="compose_settings_shortcuts_row_sub_opacity_toggle">Turn on / off sub opacity</string>
<string name="compose_settings_shortcuts_row_sub_opacity_adjust">Increase / reduce opacity of subs</string>
<string name="compose_settings_shortcuts_or">or</string>
<string name="compose_settings_shortcuts_key_esc">Esc</string>
<string name="compose_settings_shortcuts_key_space">Space</string>
<string name="compose_settings_shortcuts_key_enter">Enter</string>
<string name="compose_settings_shortcuts_key_shift">Shift</string>
<string name="compose_settings_shortcuts_key_hold_space">Hold Space</string>
<string name="compose_settings_shortcuts_mouse_left">Left</string>
<string name="compose_settings_shortcuts_mouse_hold_left">Hold Left</string>
<string name="compose_settings_shortcuts_mouse_right">Right</string>
<string name="compose_settings_shortcuts_mouse_forward">Forward</string>
<string name="compose_settings_shortcuts_mouse_backward">Backward</string>
<string name="compose_settings_shortcuts_mouse_scroll_up">Scroll Up</string>
<string name="compose_settings_shortcuts_mouse_scroll_down">Scroll Down</string>
<string name="updates_not_available">In-app updates are not available on this build.</string>
<string name="updates_no_release_notes">No release notes were provided.</string>
<string name="updates_preparing_download">Preparing download</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.AccountCircle
import androidx.compose.material.icons.rounded.Info
import androidx.compose.material.icons.rounded.Notifications
import androidx.compose.material.icons.rounded.Keyboard
import androidx.compose.material.icons.rounded.Settings
import androidx.compose.material.icons.rounded.Tune
import androidx.compose.ui.graphics.vector.ImageVector
Expand All @@ -28,6 +29,7 @@ import nuvio.composeapp.generated.resources.compose_settings_page_playback
import nuvio.composeapp.generated.resources.compose_settings_page_plugins
import nuvio.composeapp.generated.resources.compose_settings_page_poster_customization
import nuvio.composeapp.generated.resources.compose_settings_page_root
import nuvio.composeapp.generated.resources.compose_settings_page_shortcuts
import nuvio.composeapp.generated.resources.compose_settings_page_streams
import nuvio.composeapp.generated.resources.compose_settings_page_supporters_contributors
import nuvio.composeapp.generated.resources.compose_settings_page_tmdb_enrichment
Expand All @@ -43,6 +45,7 @@ internal enum class SettingsCategory(
Account(Res.string.settings_account, Icons.Rounded.AccountCircle),
General(Res.string.compose_settings_category_general, Icons.Rounded.Settings),
About(Res.string.compose_settings_category_about, Icons.Rounded.Info),
Shortcuts(Res.string.compose_settings_page_shortcuts, Icons.Rounded.Keyboard),
Advanced(Res.string.compose_settings_page_advanced, Icons.Rounded.Tune),
}

Expand Down Expand Up @@ -162,6 +165,11 @@ internal enum class SettingsPage(
category = SettingsCategory.Account,
parentPage = Root,
),
Shortcuts(
titleRes = Res.string.compose_settings_page_shortcuts,
category = SettingsCategory.Shortcuts,
parentPage = Root,
),
}

internal val SettingsPage.opensInlineOnTablet: Boolean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import androidx.compose.material.icons.rounded.CloudDownload
import androidx.compose.material.icons.rounded.Extension
import androidx.compose.material.icons.rounded.Favorite
import androidx.compose.material.icons.rounded.Info
import androidx.compose.material.icons.rounded.Keyboard
import androidx.compose.material.icons.rounded.Link
import androidx.compose.material.icons.rounded.Notifications
import androidx.compose.material.icons.rounded.Palette
Expand Down Expand Up @@ -39,8 +40,10 @@ import nuvio.composeapp.generated.resources.compose_settings_page_licenses_attri
import nuvio.composeapp.generated.resources.compose_settings_page_notifications
import nuvio.composeapp.generated.resources.compose_settings_page_playback
import nuvio.composeapp.generated.resources.compose_settings_page_privacy_policy
import nuvio.composeapp.generated.resources.compose_settings_page_shortcuts
import nuvio.composeapp.generated.resources.compose_settings_page_supporters_contributors
import nuvio.composeapp.generated.resources.compose_settings_root_account_description
import nuvio.composeapp.generated.resources.compose_settings_root_shortcuts_description
import nuvio.composeapp.generated.resources.compose_settings_root_appearance_description
import nuvio.composeapp.generated.resources.compose_settings_root_check_updates_description
import nuvio.composeapp.generated.resources.compose_settings_root_check_updates_title
Expand Down Expand Up @@ -74,6 +77,7 @@ internal fun LazyListScope.settingsRootContent(
onPlaybackClick: () -> Unit,
onAppearanceClick: () -> Unit,
onAdvancedClick: () -> Unit,
onShortcutsClick: () -> Unit,
onNotificationsClick: () -> Unit,
onContentDiscoveryClick: () -> Unit,
onIntegrationsClick: () -> Unit,
Expand All @@ -91,6 +95,7 @@ internal fun LazyListScope.settingsRootContent(
showGeneralSection: Boolean = true,
showAboutSection: Boolean = true,
showAdvancedSection: Boolean = true,
showShortcutsSection: Boolean = true,
showSupportersContributorsPage: Boolean = true,
) {
if (showAccountSection) {
Expand Down Expand Up @@ -266,6 +271,24 @@ internal fun LazyListScope.settingsRootContent(
}
}
}
if (showShortcutsSection) {
item {
SettingsSection(
title = stringResource(Res.string.compose_settings_page_shortcuts),
isTablet = isTablet,
) {
SettingsGroup(isTablet = isTablet) {
SettingsNavigationRow(
title = stringResource(Res.string.compose_settings_page_shortcuts),
description = stringResource(Res.string.compose_settings_root_shortcuts_description),
icon = Icons.Rounded.Keyboard,
isTablet = isTablet,
onClick = onShortcutsClick,
)
}
}
}
}
item {
androidx.compose.foundation.layout.Column(
modifier = Modifier
Expand Down
Loading
Loading