From 2b96fa46ba1b8265cebb7a6ad3990a2467fc8e6e Mon Sep 17 00:00:00 2001 From: arkon Date: Sun, 26 Feb 2023 10:23:07 -0500 Subject: [PATCH] Add menu shortcut to source settings in BrowseSourceScreen Adapted from TachiyomiSY. Co-authored-by: jobobby04 (cherry picked from commit 2368c50ebb7405a1b3978a6f2eb97b61e395b1af) # Conflicts: # app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt --- .../browse/components/BrowseSourceToolbar.kt | 23 ++++++++----------- .../source/browse/BrowseSourceScreen.kt | 4 +--- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt index 7ca9cfe30..d7091af70 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt @@ -36,15 +36,16 @@ fun BrowseSourceToolbar( navigateUp: () -> Unit, onWebViewClick: () -> Unit, onHelpClick: () -> Unit, - onSearch: (String) -> Unit, - // SY --> onSettingsClick: () -> Unit, - // SY <-- + onSearch: (String) -> Unit, scrollBehavior: TopAppBarScrollBehavior? = null, ) { // Avoid capturing unstable source in actions lambda val title = source?.name val isLocalSource = source is LocalSource + val isConfigurableSource = source?.anyIs() == true + + var selectingDisplayMode by remember { mutableStateOf(false) } SearchToolbar( navigateUp = navigateUp, @@ -54,9 +55,6 @@ fun BrowseSourceToolbar( onSearch = onSearch, onClickCloseSearch = navigateUp, actions = { - var selectingDisplayMode by remember { mutableStateOf(false) } - // SY --> - val isConfigurableSource = source?.anyIs() == true AppBarActions( actions = listOfNotNull( AppBar.Action( @@ -91,17 +89,14 @@ fun BrowseSourceToolbar( ) } }, - if (isConfigurableSource) { - AppBar.OverflowAction( - title = stringResource(R.string.action_settings), - onClick = onSettingsClick, - ) - } else { - null - }, // SY <-- + AppBar.OverflowAction( + title = stringResource(R.string.action_settings), + onClick = onSettingsClick, + ).takeIf { isConfigurableSource }, ), ) + DropdownMenu( expanded = selectingDisplayMode, onDismissRequest = { selectingDisplayMode = false }, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt index c0bc17e43..a3879ad02 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt @@ -149,10 +149,8 @@ data class BrowseSourceScreen( navigateUp = navigateUp, onWebViewClick = onWebViewClick, onHelpClick = onHelpClick, - onSearch = { screenModel.search(it) }, - // SY --> onSettingsClick = { navigator.push(SourcePreferencesScreen(sourceId)) }, - // SY <-- + onSearch = { screenModel.search(it) }, ) Row(