Hide grid labels in favorites widget when grid labels are disabled
This commit is contained in:
parent
b3a36f640b
commit
ef93ec0010
@ -7,8 +7,7 @@ import de.mm20.launcher2.preferences.Settings
|
||||
import de.mm20.launcher2.ui.component.ProvideIconShape
|
||||
import de.mm20.launcher2.ui.locals.LocalCardStyle
|
||||
import de.mm20.launcher2.ui.locals.LocalFavoritesEnabled
|
||||
import de.mm20.launcher2.ui.locals.LocalGridColumns
|
||||
import de.mm20.launcher2.ui.locals.LocalGridIconSize
|
||||
import de.mm20.launcher2.ui.locals.LocalGridSettings
|
||||
import de.mm20.launcher2.widgets.WidgetRepository
|
||||
import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
@ -42,19 +41,14 @@ fun ProvideSettings(
|
||||
) { a, b, c -> a || b || c }.distinctUntilChanged()
|
||||
}.collectAsState(true)
|
||||
|
||||
val gridColumns by remember {
|
||||
dataStore.data.map { it.grid.columnCount }.distinctUntilChanged()
|
||||
}.collectAsState(5)
|
||||
|
||||
val gridIconSize by remember {
|
||||
dataStore.data.map { it.grid.iconSize.dp }.distinctUntilChanged()
|
||||
}.collectAsState(48.dp)
|
||||
val gridSettings by remember {
|
||||
dataStore.data.map { it.grid }.distinctUntilChanged()
|
||||
}.collectAsState(Settings.GridSettings.newBuilder().setColumnCount(5).setShowLabels(true).setIconSize(48).build())
|
||||
|
||||
CompositionLocalProvider(
|
||||
LocalCardStyle provides cardStyle,
|
||||
LocalFavoritesEnabled provides favoritesEnabled,
|
||||
LocalGridColumns provides gridColumns,
|
||||
LocalGridIconSize provides gridIconSize,
|
||||
LocalGridSettings provides gridSettings,
|
||||
) {
|
||||
ProvideIconShape(iconShape) {
|
||||
content()
|
||||
|
||||
@ -100,7 +100,7 @@ import de.mm20.launcher2.ui.launcher.helper.LazyDragAndDropRow
|
||||
import de.mm20.launcher2.ui.launcher.helper.LazyVerticalDragAndDropGrid
|
||||
import de.mm20.launcher2.ui.launcher.helper.rememberLazyDragAndDropGridState
|
||||
import de.mm20.launcher2.ui.launcher.helper.rememberLazyDragAndDropListState
|
||||
import de.mm20.launcher2.ui.locals.LocalGridColumns
|
||||
import de.mm20.launcher2.ui.locals.LocalGridSettings
|
||||
import kotlinx.coroutines.currentCoroutineContext
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
@ -169,7 +169,7 @@ fun EditFavoritesSheet(
|
||||
@Composable
|
||||
fun ReorderFavoritesGrid(viewModel: EditFavoritesSheetVM) {
|
||||
val items by viewModel.gridItems.observeAsState(emptyList())
|
||||
val columns = LocalGridColumns.current
|
||||
val columns = LocalGridSettings.current.columnCount
|
||||
|
||||
val availableTags by viewModel.availableTags.observeAsState(emptyList())
|
||||
val pinnedTags by viewModel.pinnedTags.observeAsState(emptyList())
|
||||
|
||||
@ -57,7 +57,7 @@ import de.mm20.launcher2.ui.launcher.search.hidden.HiddenResults
|
||||
import de.mm20.launcher2.ui.launcher.search.unitconverter.UnitConverterItem
|
||||
import de.mm20.launcher2.ui.launcher.search.website.WebsiteItem
|
||||
import de.mm20.launcher2.ui.launcher.search.wikipedia.WikipediaItem
|
||||
import de.mm20.launcher2.ui.locals.LocalGridColumns
|
||||
import de.mm20.launcher2.ui.locals.LocalGridSettings
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
import kotlin.math.ceil
|
||||
@ -70,7 +70,7 @@ fun SearchColumn(
|
||||
reverse: Boolean = false,
|
||||
) {
|
||||
|
||||
val columns = LocalGridColumns.current
|
||||
val columns = LocalGridSettings.current.columnCount
|
||||
val context = LocalContext.current
|
||||
|
||||
val viewModel: SearchVM = viewModel()
|
||||
@ -78,8 +78,6 @@ fun SearchColumn(
|
||||
val favoritesVM: SearchFavoritesVM = viewModel()
|
||||
val favorites by favoritesVM.favorites.collectAsState(emptyList())
|
||||
|
||||
val showLabels by viewModel.showLabels.observeAsState(true)
|
||||
|
||||
var showWorkProfileApps by remember { mutableStateOf(false) }
|
||||
|
||||
val hideFavs by viewModel.hideFavorites.observeAsState(true)
|
||||
@ -119,7 +117,6 @@ fun SearchColumn(
|
||||
GridResults(
|
||||
items = favorites.toImmutableList(),
|
||||
columns = columns,
|
||||
showLabels = showLabels,
|
||||
key = "favorites",
|
||||
reverse = reverse,
|
||||
before = if (favorites.isEmpty()) {
|
||||
@ -205,7 +202,6 @@ fun SearchColumn(
|
||||
GridResults(
|
||||
items = if (showWorkProfileApps && workApps.isNotEmpty()) workApps.toImmutableList() else apps.toImmutableList(),
|
||||
columns = columns,
|
||||
showLabels = showLabels,
|
||||
reverse = reverse,
|
||||
key = "apps",
|
||||
before = if (workApps.isNotEmpty()) {
|
||||
@ -380,7 +376,6 @@ fun LazyListScope.GridResults(
|
||||
items: ImmutableList<SavableSearchable>,
|
||||
columns: Int,
|
||||
reverse: Boolean,
|
||||
showLabels: Boolean,
|
||||
key: String,
|
||||
before: (@Composable () -> Unit)? = null,
|
||||
after: (@Composable () -> Unit)? = null,
|
||||
@ -421,7 +416,6 @@ fun LazyListScope.GridResults(
|
||||
(it * columns + columns).coerceAtMost(items.size)
|
||||
),
|
||||
columns = columns,
|
||||
showLabels = showLabels,
|
||||
)
|
||||
}
|
||||
}
|
||||
@ -444,7 +438,7 @@ fun GridRow(
|
||||
modifier: Modifier = Modifier,
|
||||
items: ImmutableList<SavableSearchable>,
|
||||
columns: Int,
|
||||
showLabels: Boolean,
|
||||
showLabels: Boolean = LocalGridSettings.current.showLabels,
|
||||
) {
|
||||
|
||||
Row(
|
||||
|
||||
@ -31,8 +31,6 @@ class SearchVM : ViewModel(), KoinComponent {
|
||||
val searchQuery = MutableLiveData<String>("")
|
||||
val isSearchEmpty = MutableLiveData(true)
|
||||
|
||||
val showLabels = dataStore.data.map { it.grid.showLabels }.asLiveData()
|
||||
|
||||
val appResults = MutableLiveData<List<LauncherApp>>(emptyList())
|
||||
val workAppResults = MutableLiveData<List<LauncherApp>>(emptyList())
|
||||
val appShortcutResults = MutableLiveData<List<AppShortcut>>(emptyList())
|
||||
|
||||
@ -30,7 +30,7 @@ import de.mm20.launcher2.ui.ktx.toDp
|
||||
import de.mm20.launcher2.ui.ktx.toPixels
|
||||
import de.mm20.launcher2.ui.launcher.search.common.customattrs.CustomizeSearchableSheet
|
||||
import de.mm20.launcher2.ui.locals.LocalFavoritesEnabled
|
||||
import de.mm20.launcher2.ui.locals.LocalGridIconSize
|
||||
import de.mm20.launcher2.ui.locals.LocalGridSettings
|
||||
import de.mm20.launcher2.ui.locals.LocalSnackbarHostState
|
||||
import de.mm20.launcher2.ui.modifier.scale
|
||||
import kotlinx.coroutines.launch
|
||||
@ -361,7 +361,7 @@ fun AppItemGridPopup(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.scale(
|
||||
1 - (1 - LocalGridIconSize.current / 84.dp) * (1 - animationProgress),
|
||||
1 - (1 - LocalGridSettings.current.iconSize / 84f) * (1 - animationProgress),
|
||||
transformOrigin = TransformOrigin(1f, 0f)
|
||||
)
|
||||
.offset(
|
||||
|
||||
@ -29,7 +29,7 @@ import de.mm20.launcher2.ui.component.BottomSheetDialog
|
||||
import de.mm20.launcher2.ui.component.ShapedLauncherIcon
|
||||
import de.mm20.launcher2.ui.component.OutlinedTagsInputField
|
||||
import de.mm20.launcher2.ui.ktx.toPixels
|
||||
import de.mm20.launcher2.ui.locals.LocalGridColumns
|
||||
import de.mm20.launcher2.ui.locals.LocalGridSettings
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@ -158,7 +158,7 @@ fun CustomizeSearchableSheet(
|
||||
val isSearching by viewModel.isSearchingIcons.observeAsState(initial = false)
|
||||
val iconResults by viewModel.iconSearchResults.observeAsState(emptyList())
|
||||
|
||||
val columns = LocalGridColumns.current
|
||||
val columns = LocalGridSettings.current.columnCount
|
||||
|
||||
LazyVerticalGrid(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
|
||||
@ -38,7 +38,7 @@ import de.mm20.launcher2.ui.launcher.search.website.WebsiteItemGridPopup
|
||||
import de.mm20.launcher2.ui.launcher.search.wikipedia.WikipediaItemGridPopup
|
||||
import de.mm20.launcher2.ui.launcher.transitions.HandleHomeTransition
|
||||
import de.mm20.launcher2.ui.launcher.transitions.HomeTransitionParams
|
||||
import de.mm20.launcher2.ui.locals.LocalGridIconSize
|
||||
import de.mm20.launcher2.ui.locals.LocalGridSettings
|
||||
import de.mm20.launcher2.ui.locals.LocalWindowPosition
|
||||
import de.mm20.launcher2.ui.locals.LocalWindowSize
|
||||
import kotlinx.coroutines.delay
|
||||
@ -54,7 +54,7 @@ fun GridItem(modifier: Modifier = Modifier, item: SavableSearchable, showLabels:
|
||||
var bounds by remember { mutableStateOf(Rect.Zero) }
|
||||
Column(modifier = modifier, horizontalAlignment = Alignment.CenterHorizontally) {
|
||||
val badge by remember(item.key) { viewModel.badge }.collectAsState(null)
|
||||
val iconSize = LocalGridIconSize.current.toPixels()
|
||||
val iconSize = LocalGridSettings.current.iconSize.dp.toPixels()
|
||||
val icon by remember(item.key) { viewModel.getIcon(iconSize.toInt()) }.collectAsState(null)
|
||||
|
||||
val launchOnPress = !item.preferDetailsOverLaunch
|
||||
@ -72,7 +72,7 @@ fun GridItem(modifier: Modifier = Modifier, item: SavableSearchable, showLabels:
|
||||
return@HandleHomeTransition HomeTransitionParams(
|
||||
bounds
|
||||
) { _, _ ->
|
||||
ShapedLauncherIcon(size = LocalGridIconSize.current, icon = { icon })
|
||||
ShapedLauncherIcon(size = LocalGridSettings.current.iconSize.dp, icon = { icon })
|
||||
}
|
||||
}
|
||||
return@HandleHomeTransition null
|
||||
@ -85,7 +85,7 @@ fun GridItem(modifier: Modifier = Modifier, item: SavableSearchable, showLabels:
|
||||
.onGloballyPositioned {
|
||||
bounds = it.boundsInWindow()
|
||||
},
|
||||
size = LocalGridIconSize.current,
|
||||
size = LocalGridSettings.current.iconSize.dp,
|
||||
badge = { badge },
|
||||
icon = { icon },
|
||||
onClick = {
|
||||
|
||||
@ -7,15 +7,15 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import de.mm20.launcher2.search.SavableSearchable
|
||||
import de.mm20.launcher2.ui.layout.BottomReversed
|
||||
import de.mm20.launcher2.ui.locals.LocalGridColumns
|
||||
import de.mm20.launcher2.ui.locals.LocalGridSettings
|
||||
import kotlin.math.ceil
|
||||
|
||||
@Composable
|
||||
fun SearchResultGrid(
|
||||
items: List<SavableSearchable>,
|
||||
modifier: Modifier = Modifier,
|
||||
showLabels: Boolean = true,
|
||||
columns: Int = LocalGridColumns.current,
|
||||
showLabels: Boolean = LocalGridSettings.current.showLabels,
|
||||
columns: Int = LocalGridSettings.current.columnCount,
|
||||
reverse: Boolean = false
|
||||
) {
|
||||
Column(
|
||||
|
||||
@ -33,7 +33,7 @@ import de.mm20.launcher2.ui.ktx.toDp
|
||||
import de.mm20.launcher2.ui.ktx.toPixels
|
||||
import de.mm20.launcher2.ui.launcher.search.common.customattrs.CustomizeSearchableSheet
|
||||
import de.mm20.launcher2.ui.locals.LocalFavoritesEnabled
|
||||
import de.mm20.launcher2.ui.locals.LocalGridIconSize
|
||||
import de.mm20.launcher2.ui.locals.LocalGridSettings
|
||||
import de.mm20.launcher2.ui.locals.LocalSnackbarHostState
|
||||
import de.mm20.launcher2.ui.modifier.scale
|
||||
import kotlinx.coroutines.launch
|
||||
@ -349,7 +349,7 @@ fun ContactItemGridPopup(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.scale(
|
||||
1 - (1 - LocalGridIconSize.current / 48.dp) * (1 - animationProgress),
|
||||
1 - (1 - LocalGridSettings.current.iconSize / 48f) * (1 - animationProgress),
|
||||
transformOrigin = TransformOrigin(0f, 0f)
|
||||
)
|
||||
.offset(
|
||||
|
||||
@ -32,7 +32,7 @@ import de.mm20.launcher2.ui.ktx.toDp
|
||||
import de.mm20.launcher2.ui.ktx.toPixels
|
||||
import de.mm20.launcher2.ui.launcher.search.common.customattrs.CustomizeSearchableSheet
|
||||
import de.mm20.launcher2.ui.locals.LocalFavoritesEnabled
|
||||
import de.mm20.launcher2.ui.locals.LocalGridIconSize
|
||||
import de.mm20.launcher2.ui.locals.LocalGridSettings
|
||||
import de.mm20.launcher2.ui.locals.LocalSnackbarHostState
|
||||
import de.mm20.launcher2.ui.modifier.scale
|
||||
import kotlinx.coroutines.launch
|
||||
@ -321,7 +321,7 @@ fun FileItemGridPopup(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.scale(
|
||||
1 - (1 - LocalGridIconSize.current / 48.dp) * (1 - animationProgress),
|
||||
1 - (1 - LocalGridSettings.current.iconSize / 48f) * (1 - animationProgress),
|
||||
transformOrigin = TransformOrigin(1f, 0f)
|
||||
)
|
||||
.offset(
|
||||
|
||||
@ -28,7 +28,7 @@ import de.mm20.launcher2.ui.ktx.toDp
|
||||
import de.mm20.launcher2.ui.ktx.toPixels
|
||||
import de.mm20.launcher2.ui.launcher.search.common.customattrs.CustomizeSearchableSheet
|
||||
import de.mm20.launcher2.ui.locals.LocalFavoritesEnabled
|
||||
import de.mm20.launcher2.ui.locals.LocalGridIconSize
|
||||
import de.mm20.launcher2.ui.locals.LocalGridSettings
|
||||
import de.mm20.launcher2.ui.locals.LocalSnackbarHostState
|
||||
import de.mm20.launcher2.ui.modifier.scale
|
||||
import kotlinx.coroutines.launch
|
||||
@ -267,7 +267,7 @@ fun ShortcutItemGridPopup(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.scale(
|
||||
1 - (1 - LocalGridIconSize.current / 84.dp) * (1 - animationProgress),
|
||||
1 - (1 - LocalGridSettings.current.iconSize / 84f) * (1 - animationProgress),
|
||||
transformOrigin = TransformOrigin(1f, 0f)
|
||||
)
|
||||
.offset(
|
||||
|
||||
@ -7,6 +7,7 @@ import androidx.compose.ui.geometry.Size
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.navigation.NavController
|
||||
import de.mm20.launcher2.preferences.Settings
|
||||
import de.mm20.launcher2.preferences.Settings.GridSettings
|
||||
|
||||
val LocalWindowSize = compositionLocalOf { Size(0f, 0f) }
|
||||
|
||||
@ -18,9 +19,7 @@ val LocalCardStyle = compositionLocalOf<Settings.CardSettings> { Settings.CardSe
|
||||
|
||||
val LocalFavoritesEnabled = compositionLocalOf { true }
|
||||
|
||||
val LocalGridColumns = compositionLocalOf { 5 }
|
||||
|
||||
val LocalGridIconSize = compositionLocalOf { 48.dp }
|
||||
val LocalGridSettings = compositionLocalOf { GridSettings.newBuilder().setColumnCount(5).setShowLabels(true).setIconSize(48).build() }
|
||||
|
||||
val LocalSnackbarHostState = compositionLocalOf { SnackbarHostState() }
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user