From d4eb403e1df26294fa9f59f60c778778a91f1b74 Mon Sep 17 00:00:00 2001 From: Stypox Date: Fri, 31 Jan 2025 13:18:30 +0100 Subject: [PATCH] Add small Edit button in LongPressMenu --- .../ui/components/menu/LongPressMenu.kt | 29 +++++++++++++++++++ app/src/main/res/values/strings.xml | 1 + 2 files changed, 30 insertions(+) diff --git a/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressMenu.kt b/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressMenu.kt index 038f99f1b..ee1531573 100644 --- a/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressMenu.kt +++ b/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressMenu.kt @@ -26,6 +26,7 @@ import androidx.compose.material.icons.filled.AddToQueue import androidx.compose.material.icons.filled.Delete import androidx.compose.material.icons.filled.Done import androidx.compose.material.icons.filled.Download +import androidx.compose.material.icons.filled.Edit import androidx.compose.material.icons.filled.Headset import androidx.compose.material.icons.filled.OpenInBrowser import androidx.compose.material.icons.filled.Person @@ -33,8 +34,11 @@ import androidx.compose.material.icons.filled.PictureInPicture import androidx.compose.material.icons.filled.PlayArrow import androidx.compose.material.icons.filled.QueuePlayNext import androidx.compose.material.icons.filled.Share +import androidx.compose.material3.BottomSheetDefaults import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme import androidx.compose.material3.ModalBottomSheet import androidx.compose.material3.OutlinedButton @@ -53,6 +57,8 @@ import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter @@ -79,6 +85,29 @@ fun LongPressMenu( ModalBottomSheet( onDismissRequest, sheetState = sheetState, + dragHandle = { + Box( + modifier = Modifier.fillMaxWidth() + ) { + BottomSheetDefaults.DragHandle( + modifier = Modifier.align(Alignment.Center) + ) + IconButton( + onClick = {}, + modifier = Modifier.align(Alignment.CenterEnd) + ) { + // show a small button here, it's not an important button and it shouldn't + // capture the user attention + Icon( + imageVector = Icons.Default.Edit, + contentDescription = stringResource(R.string.edit), + // same color and height as the DragHandle + tint = MaterialTheme.colorScheme.onSurfaceVariant, + modifier = Modifier.padding(2.dp).size(16.dp), + ) + } + } + }, ) { BoxWithConstraints( modifier = Modifier diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d9520a056..af161f338 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -871,6 +871,7 @@ SoundCloud has discontinued the original Top 50 charts. The corresponding tab has been removed from your main page. Next NewPipeExtractor is a library for extracting things from streaming sites. It is a core component of NewPipe, but could be used independently. + Edit %d comment %d comments