From 387db176f1b06ae3b63b9df82f084c4ad8659b1f Mon Sep 17 00:00:00 2001 From: Guillermo Villafuerte Date: Wed, 27 Dec 2023 22:48:01 -0600 Subject: [PATCH 1/3] Add menu entry "Edit widgets" if button on the widgets list is not shown. Signed-off-by: Guillermo Villafuerte --- .../ui/launcher/searchbar/SearchBarMenu.kt | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/searchbar/SearchBarMenu.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/searchbar/SearchBarMenu.kt index 632b1584..746b58fb 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/searchbar/SearchBarMenu.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/searchbar/SearchBarMenu.kt @@ -9,6 +9,7 @@ import androidx.compose.animation.graphics.res.rememberAnimatedVectorPainter import androidx.compose.animation.graphics.vector.AnimatedImageVector import androidx.compose.foundation.layout.RowScope import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.rounded.Edit import androidx.compose.material.icons.rounded.HelpOutline import androidx.compose.material.icons.rounded.Settings import androidx.compose.material.icons.rounded.Wallpaper @@ -20,6 +21,7 @@ import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -27,7 +29,10 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource +import androidx.lifecycle.viewmodel.compose.viewModel import de.mm20.launcher2.ui.R +import de.mm20.launcher2.ui.launcher.LauncherScaffoldVM +import de.mm20.launcher2.ui.launcher.widgets.WidgetsVM import de.mm20.launcher2.ui.settings.SettingsActivity @Composable @@ -38,6 +43,8 @@ fun RowScope.SearchBarMenu( val context = LocalContext.current var showOverflowMenu by remember { mutableStateOf(false) } val rightIcon = AnimatedImageVector.animatedVectorResource(R.drawable.anim_ic_menu_clear) + val launcherVM: LauncherScaffoldVM = viewModel() + val widgetsVM: WidgetsVM = viewModel() IconButton(onClick = { if (searchBarValue.isNotBlank()) onSearchBarValueChange("") @@ -70,6 +77,21 @@ fun RowScope.SearchBarMenu( Icon(imageVector = Icons.Rounded.Wallpaper, contentDescription = null) } ) + val editButton by widgetsVM.editButton.collectAsState() + if (editButton == false) { + DropdownMenuItem( + onClick = { + launcherVM.setWidgetEditMode(editMode = true) + showOverflowMenu = false + }, + text = { + Text(stringResource(R.string.menu_edit_widgets)) + }, + leadingIcon = { + Icon(imageVector = Icons.Rounded.Edit, contentDescription = null) + } + ) + } DropdownMenuItem( onClick = { context.startActivity(Intent(context, SettingsActivity::class.java)) From 79e09c197b10f739ad1a8c7cc3a1675da69474bc Mon Sep 17 00:00:00 2001 From: Guillermo Villafuerte Date: Thu, 28 Dec 2023 11:54:37 -0600 Subject: [PATCH 2/3] FIX: "Add widget" button not visible if edit mode was activated from search bar menu. Signed-off-by: Guillermo Villafuerte --- .../java/de/mm20/launcher2/ui/launcher/widgets/WidgetColumn.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetColumn.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetColumn.kt index 65cc2849..1edf46c1 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetColumn.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/widgets/WidgetColumn.kt @@ -149,7 +149,7 @@ fun WidgetColumn( } val editButton by viewModel.editButton.collectAsState() - if (editButton == true) { + if (editMode || editButton == true) { val icon = AnimatedImageVector.animatedVectorResource(R.drawable.anim_ic_edit_add) ExtendedFloatingActionButton( From 1858c70193bf62dd1f55f2ca230d214956fbcafe Mon Sep 17 00:00:00 2001 From: Guillermo Villafuerte Date: Sat, 30 Dec 2023 16:25:50 -0600 Subject: [PATCH 3/3] MOD: Hide "Edit widgets" when search and apps list is open/shown. Signed-off-by: Guillermo Villafuerte --- .../de/mm20/launcher2/ui/launcher/searchbar/SearchBarMenu.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/searchbar/SearchBarMenu.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/searchbar/SearchBarMenu.kt index 746b58fb..9b2fdaaa 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/searchbar/SearchBarMenu.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/searchbar/SearchBarMenu.kt @@ -78,7 +78,8 @@ fun RowScope.SearchBarMenu( } ) val editButton by widgetsVM.editButton.collectAsState() - if (editButton == false) { + val searchOpen by launcherVM.isSearchOpen + if (!searchOpen && editButton == false) { DropdownMenuItem( onClick = { launcherVM.setWidgetEditMode(editMode = true)