Merge branch 'main' of github.com:MM2-0/Kvaesitso

This commit is contained in:
MM20
2025-10-18 14:14:55 +02:00
8 changed files with 97 additions and 4 deletions

View File

@@ -38,15 +38,16 @@ class FavoritesPartProvider : PartProvider, KoinComponent {
it.columnCount
}
}.collectAsState(0)
val dockRows by uiSettings.dockRows.collectAsState(1)
val excludeCalendar by remember { widgetRepository.exists(CalendarWidget.Type) }.collectAsState(
true
)
val favorites by remember(columns, excludeCalendar) {
val favorites by remember(columns, dockRows, excludeCalendar) {
favoritesService.getFavorites(
excludeTypes = if (excludeCalendar) listOf("calendar", "tag") else listOf("tag"),
minPinnedLevel = PinnedLevel.FrequentlyUsed,
limit = columns
limit = columns * dockRows
)
}.collectAsState(emptyList())

View File

@@ -75,6 +75,7 @@ fun HomescreenSettingsScreen() {
val context = LocalContext.current
val dock by viewModel.dock.collectAsStateWithLifecycle(null)
val dockRows by viewModel.dockRows.collectAsStateWithLifecycle(1)
val fixedRotation by viewModel.fixedRotation.collectAsStateWithLifecycle(null)
val widgetsOnHomeScreen by viewModel.widgetsOnHomeScreen.collectAsStateWithLifecycle(null)
val editButton by viewModel.widgetEditButton.collectAsStateWithLifecycle(null)
@@ -123,6 +124,17 @@ fun HomescreenSettingsScreen() {
viewModel.setDock(it)
},
)
AnimatedVisibility(dock == true) {
SliderPreference(
title = stringResource(R.string.preference_clockwidget_dock_rows),
value = dockRows,
min = 1,
max = 4,
onValueChanged = {
viewModel.setDockRows(it)
}
)
}
SwitchPreference(
title = stringResource(R.string.preference_widgets_on_home_screen),
summary = stringResource(R.string.preference_widgets_on_home_screen_summary),

View File

@@ -131,6 +131,13 @@ class HomescreenSettingsScreenVM(
uiSettings.setDock(dock)
}
val dockRows = uiSettings.dockRows
.stateIn(viewModelScope, SharingStarted.WhileSubscribed(), 1)
fun setDockRows(rows: Int) {
uiSettings.setDockRows(rows)
}
val fixedRotation = uiSettings.orientation.map { it != ScreenOrientation.Auto }
.stateIn(viewModelScope, SharingStarted.WhileSubscribed(), null)

View File

@@ -380,4 +380,63 @@
<item quantity="other">litrů</item>
</plurals>
<string name="unit_milliliter_symbol">mL</string>
<plurals name="unit_teaspoon">
<item quantity="one">lžička (US)</item>
<item quantity="few">lžičky (US)</item>
<item quantity="other">lžiček (US)</item>
</plurals>
<string name="unit_gallon_us_symbol">gal (US)</string>
<plurals name="unit_gallon_us">
<item quantity="one">galon (US)</item>
<item quantity="few">galony (US)</item>
<item quantity="other">galonů (US)</item>
</plurals>
<string name="unit_pint_imp_symbol">pt (imp.)</string>
<string name="unit_pint_us_symbol">pt (US)</string>
<plurals name="unit_pint_us">
<item quantity="one">pint (US)</item>
<item quantity="few">pinty (US)</item>
<item quantity="other">pintů (US)</item>
</plurals>
<string name="unit_gallon_imp_symbol">gal (imp.)</string>
<string name="unit_fluid_ounce_us_symbol">fl oz (US)</string>
<plurals name="unit_pint_imp">
<item quantity="one">pint (imperiální)</item>
<item quantity="few">pinty (imperiální)</item>
<item quantity="other">pintů (imperiálních)</item>
</plurals>
<string name="unit_fluid_ounce_imp_symbol">fl oz (imp.)</string>
<plurals name="unit_fluid_ounce_us">
<item quantity="one">objemová unce (US)</item>
<item quantity="few">objemové unce (US)</item>
<item quantity="other">objemových uncí (US)</item>
</plurals>
<string name="unit_cup_symbol">cup</string>
<string name="unit_tablespoon_symbol">pol. lž.</string>
<string name="unit_teaspoon_symbol">lž.</string>
<plurals name="unit_cup">
<item quantity="one">cup (US)</item>
<item quantity="few">cupy (US)</item>
<item quantity="other">cupů (US)</item>
</plurals>
<plurals name="unit_tablespoon">
<item quantity="one">polévková lžíce (US)</item>
<item quantity="few">polévkové lžíce (US)</item>
<item quantity="other">polévkových lžic (US)</item>
</plurals>
<plurals name="unit_gallon_imp">
<item quantity="one">galon (imperiální)</item>
<item quantity="few">galony (imperiální)</item>
<item quantity="other">galonů (imperiálních)</item>
</plurals>
<plurals name="unit_cubic_yard">
<item quantity="one">yard krychlový</item>
<item quantity="few">yardy krychlové</item>
<item quantity="other">yardů krychlových</item>
</plurals>
<plurals name="unit_fluid_ounce_imp">
<item quantity="one">objemová unce (imperiální)</item>
<item quantity="few">objemové unce (imperiální)</item>
<item quantity="other">objemových uncí (imperiálních)</item>
</plurals>
</resources>

View File

@@ -322,7 +322,8 @@
<string name="preference_search_appshortcuts_summary">App-Shortcuts durchsuchen</string>
<string name="widget_name_favorites">Favoriten</string>
<string name="preference_clockwidget_favorites_part">Dock</string>
<string name="preference_clockwidget_favorites_part_summary">Die erste Zeile der Favoriten anzeigen</string>
<string name="preference_clockwidget_favorites_part_summary">Favoriten im Dock anzeigen</string>
<string name="preference_clockwidget_dock_rows">Dock-Zeilen</string>
<string name="preference_grid_icon_size">Symbolgröße</string>
<string name="preference_search_currencyconverter">Währungsrechner</string>
<string name="preference_search_currencyconverter_summary">Regelmäßig Wechselkurse herunterladen, um Währungen umzurechnen</string>

View File

@@ -598,7 +598,8 @@
<string name="preference_clockwidget_date_part">Date</string>
<string name="preference_clockwidget_date_part_summary">Show the current date</string>
<string name="preference_clockwidget_favorites_part">Dock</string>
<string name="preference_clockwidget_favorites_part_summary">Show the first row of pinned items</string>
<string name="preference_clockwidget_favorites_part_summary">Show pinned items in dock</string>
<string name="preference_clockwidget_dock_rows">Dock rows</string>
<string name="preference_clockwidget_music_part">Media</string>
<string name="preference_clockwidget_music_part_summary">Show media controls when there is an active media session</string>
<string name="preference_clockwidget_battery_part">Battery</string>

View File

@@ -56,6 +56,7 @@ data class LauncherSettingsData internal constructor(
val clockWidgetAlignment: ClockWidgetAlignment = ClockWidgetAlignment.Bottom,
val homeScreenDock: Boolean = false,
val homeScreenDockRows: Int = 1,
val homeScreenWidgets: Boolean = false,
val favoritesEnabled: Boolean = true,

View File

@@ -357,6 +357,17 @@ class UiSettings internal constructor(
}
}
val dockRows
get() = launcherDataStore.data.map {
it.homeScreenDockRows
}.distinctUntilChanged()
fun setDockRows(rows: Int) {
launcherDataStore.update {
it.copy(homeScreenDockRows = rows)
}
}
val homeScreenWidgets
get() = launcherDataStore.data.map {
it.homeScreenWidgets