Add advanced web search action options
This commit is contained in:
parent
3d6af207ad
commit
b1077fad12
@ -90,6 +90,7 @@ import de.mm20.launcher2.ui.R
|
|||||||
import de.mm20.launcher2.ui.component.BottomSheetDialog
|
import de.mm20.launcher2.ui.component.BottomSheetDialog
|
||||||
import de.mm20.launcher2.ui.component.ExperimentalBadge
|
import de.mm20.launcher2.ui.component.ExperimentalBadge
|
||||||
import de.mm20.launcher2.ui.component.SearchActionIcon
|
import de.mm20.launcher2.ui.component.SearchActionIcon
|
||||||
|
import de.mm20.launcher2.ui.component.preferences.ListPreference
|
||||||
import de.mm20.launcher2.ui.ktx.toPixels
|
import de.mm20.launcher2.ui.ktx.toPixels
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@ -442,14 +443,20 @@ fun CustomizeWebSearch(viewModel: EditSearchActionSheetVM) {
|
|||||||
.padding(vertical = 4.dp)
|
.padding(vertical = 4.dp)
|
||||||
.clickable {
|
.clickable {
|
||||||
|
|
||||||
CustomTabsIntent.Builder()
|
CustomTabsIntent
|
||||||
|
.Builder()
|
||||||
.setDefaultColorSchemeParams(
|
.setDefaultColorSchemeParams(
|
||||||
CustomTabColorSchemeParams.Builder()
|
CustomTabColorSchemeParams
|
||||||
.setToolbarColor(colorScheme.primaryContainer.toArgb())
|
.Builder()
|
||||||
.setSecondaryToolbarColor(colorScheme.secondaryContainer.toArgb())
|
.setToolbarColor(colorScheme.primaryContainer.toArgb())
|
||||||
.build()
|
.setSecondaryToolbarColor(colorScheme.secondaryContainer.toArgb())
|
||||||
|
.build()
|
||||||
|
)
|
||||||
|
.build()
|
||||||
|
.launchUrl(
|
||||||
|
context,
|
||||||
|
Uri.parse("https://kvaesitso.mm20.de/docs/user-guide/search/quickactions#web-search")
|
||||||
)
|
)
|
||||||
.build().launchUrl(context, Uri.parse("https://kvaesitso.mm20.de/docs/user-guide/search/quickactions#web-search"))
|
|
||||||
},
|
},
|
||||||
color = MaterialTheme.colorScheme.secondary,
|
color = MaterialTheme.colorScheme.secondary,
|
||||||
style = LocalTextStyle.current.copy(textDecoration = TextDecoration.Underline)
|
style = LocalTextStyle.current.copy(textDecoration = TextDecoration.Underline)
|
||||||
@ -475,6 +482,34 @@ fun CustomizeWebSearch(viewModel: EditSearchActionSheetVM) {
|
|||||||
}, OffsetMapping.Identity)
|
}, OffsetMapping.Identity)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var showAdvanced by remember {
|
||||||
|
mutableStateOf(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
AnimatedVisibility(!showAdvanced) {
|
||||||
|
TextButton(
|
||||||
|
modifier = Modifier.padding(top = 16.dp),
|
||||||
|
onClick = { showAdvanced = true }) {
|
||||||
|
Text(stringResource(id = R.string.websearch_dialog_advanced))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AnimatedVisibility(showAdvanced) {
|
||||||
|
ListPreference(
|
||||||
|
title = stringResource(R.string.websearch_dialog_query_encoding),
|
||||||
|
items = listOf(
|
||||||
|
stringResource(id = R.string.websearch_dialog_query_encoding_url) to WebsearchActionBuilder.QueryEncoding.UrlEncode,
|
||||||
|
stringResource(id = R.string.websearch_dialog_query_encoding_form) to WebsearchActionBuilder.QueryEncoding.FormData,
|
||||||
|
stringResource(id = R.string.websearch_dialog_query_encoding_none) to WebsearchActionBuilder.QueryEncoding.None,
|
||||||
|
),
|
||||||
|
value = (searchAction as WebsearchActionBuilder).encoding,
|
||||||
|
onValueChanged = {
|
||||||
|
viewModel.setQueryEncoding(it)
|
||||||
|
},
|
||||||
|
iconPadding = false
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -457,6 +457,16 @@ class EditSearchActionSheetVM : ViewModel(), KoinComponent {
|
|||||||
else -> action
|
else -> action
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun setQueryEncoding(encoding: WebsearchActionBuilder.QueryEncoding) {
|
||||||
|
val action = searchAction.value ?: return
|
||||||
|
searchAction.value = when(action) {
|
||||||
|
is WebsearchActionBuilder -> action.copy(
|
||||||
|
encoding = encoding
|
||||||
|
)
|
||||||
|
else -> action
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class EditSearchActionPage {
|
enum class EditSearchActionPage {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user