Add menu shortcut to source settings in BrowseSourceScreen

Adapted from TachiyomiSY.

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(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
This commit is contained in:
arkon 2023-02-26 10:23:07 -05:00 committed by Jobobby04
parent f8dc4f25d1
commit 2b96fa46ba
2 changed files with 10 additions and 17 deletions

View File

@ -36,15 +36,16 @@ fun BrowseSourceToolbar(
navigateUp: () -> Unit, navigateUp: () -> Unit,
onWebViewClick: () -> Unit, onWebViewClick: () -> Unit,
onHelpClick: () -> Unit, onHelpClick: () -> Unit,
onSearch: (String) -> Unit,
// SY -->
onSettingsClick: () -> Unit, onSettingsClick: () -> Unit,
// SY <-- onSearch: (String) -> Unit,
scrollBehavior: TopAppBarScrollBehavior? = null, scrollBehavior: TopAppBarScrollBehavior? = null,
) { ) {
// Avoid capturing unstable source in actions lambda // Avoid capturing unstable source in actions lambda
val title = source?.name val title = source?.name
val isLocalSource = source is LocalSource val isLocalSource = source is LocalSource
val isConfigurableSource = source?.anyIs<ConfigurableSource>() == true
var selectingDisplayMode by remember { mutableStateOf(false) }
SearchToolbar( SearchToolbar(
navigateUp = navigateUp, navigateUp = navigateUp,
@ -54,9 +55,6 @@ fun BrowseSourceToolbar(
onSearch = onSearch, onSearch = onSearch,
onClickCloseSearch = navigateUp, onClickCloseSearch = navigateUp,
actions = { actions = {
var selectingDisplayMode by remember { mutableStateOf(false) }
// SY -->
val isConfigurableSource = source?.anyIs<ConfigurableSource>() == true
AppBarActions( AppBarActions(
actions = listOfNotNull( actions = listOfNotNull(
AppBar.Action( AppBar.Action(
@ -91,17 +89,14 @@ fun BrowseSourceToolbar(
) )
} }
}, },
if (isConfigurableSource) {
AppBar.OverflowAction(
title = stringResource(R.string.action_settings),
onClick = onSettingsClick,
)
} else {
null
},
// SY <-- // SY <--
AppBar.OverflowAction(
title = stringResource(R.string.action_settings),
onClick = onSettingsClick,
).takeIf { isConfigurableSource },
), ),
) )
DropdownMenu( DropdownMenu(
expanded = selectingDisplayMode, expanded = selectingDisplayMode,
onDismissRequest = { selectingDisplayMode = false }, onDismissRequest = { selectingDisplayMode = false },

View File

@ -149,10 +149,8 @@ data class BrowseSourceScreen(
navigateUp = navigateUp, navigateUp = navigateUp,
onWebViewClick = onWebViewClick, onWebViewClick = onWebViewClick,
onHelpClick = onHelpClick, onHelpClick = onHelpClick,
onSearch = { screenModel.search(it) },
// SY -->
onSettingsClick = { navigator.push(SourcePreferencesScreen(sourceId)) }, onSettingsClick = { navigator.push(SourcePreferencesScreen(sourceId)) },
// SY <-- onSearch = { screenModel.search(it) },
) )
Row( Row(