Reset search filters when query is cleared
This commit is contained in:
+34
-1
@@ -2,6 +2,7 @@ package de.mm20.launcher2.preferences
|
||||
|
||||
import android.content.Context
|
||||
import de.mm20.launcher2.preferences.search.LocationSearchSettings
|
||||
import de.mm20.launcher2.search.SearchFilters
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@@ -144,6 +145,23 @@ data class LauncherSettingsData internal constructor(
|
||||
val locationSearchShowPositionOnMap: Boolean = false,
|
||||
val locationSearchThemeMap: Boolean = true,
|
||||
|
||||
val searchFilter: SearchFilters = SearchFilters(),
|
||||
val searchFilterBar: Boolean = true,
|
||||
val searchFilterBarItems: List<KeyboardFilterBarItem> = listOf(
|
||||
KeyboardFilterBarItem.OnlineResults,
|
||||
KeyboardFilterBarItem.Apps,
|
||||
KeyboardFilterBarItem.Shortcuts,
|
||||
KeyboardFilterBarItem.Events,
|
||||
KeyboardFilterBarItem.Contacts,
|
||||
KeyboardFilterBarItem.Files,
|
||||
KeyboardFilterBarItem.Places,
|
||||
KeyboardFilterBarItem.Articles,
|
||||
KeyboardFilterBarItem.Websites,
|
||||
KeyboardFilterBarItem.Places,
|
||||
KeyboardFilterBarItem.Tools,
|
||||
KeyboardFilterBarItem.HiddenResults,
|
||||
),
|
||||
|
||||
|
||||
) {
|
||||
constructor(
|
||||
@@ -376,4 +394,19 @@ data class LatLon(
|
||||
data class ProviderSettings(
|
||||
val locationId: String? = null,
|
||||
val locationName: String? = null,
|
||||
)
|
||||
)
|
||||
|
||||
@Serializable
|
||||
enum class KeyboardFilterBarItem {
|
||||
@SerialName("online") OnlineResults,
|
||||
@SerialName("apps") Apps,
|
||||
@SerialName("websites") Websites,
|
||||
@SerialName("articles") Articles,
|
||||
@SerialName("places") Places,
|
||||
@SerialName("files") Files,
|
||||
@SerialName("shortcuts") Shortcuts,
|
||||
@SerialName("contacts") Contacts,
|
||||
@SerialName("events") Events,
|
||||
@SerialName("tools") Tools,
|
||||
@SerialName("hidden") HiddenResults,
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import de.mm20.launcher2.preferences.search.FavoritesSettings
|
||||
import de.mm20.launcher2.preferences.search.FileSearchSettings
|
||||
import de.mm20.launcher2.preferences.search.LocationSearchSettings
|
||||
import de.mm20.launcher2.preferences.search.RankingSettings
|
||||
import de.mm20.launcher2.preferences.search.SearchFilterSettings
|
||||
import de.mm20.launcher2.preferences.search.ShortcutSearchSettings
|
||||
import de.mm20.launcher2.preferences.search.UnitConverterSettings
|
||||
import de.mm20.launcher2.preferences.search.WebsiteSearchSettings
|
||||
@@ -49,4 +50,5 @@ val preferencesModule = module {
|
||||
factory { CalculatorSearchSettings(get()) }
|
||||
factory { ClockWidgetSettings(get()) }
|
||||
factory { LocationSearchSettings(get()) }
|
||||
factory { SearchFilterSettings(get()) }
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package de.mm20.launcher2.preferences.search
|
||||
|
||||
import de.mm20.launcher2.preferences.LauncherDataStore
|
||||
import kotlinx.coroutines.flow.map
|
||||
|
||||
class SearchFilterSettings internal constructor(
|
||||
private val launcherDataStore: LauncherDataStore,
|
||||
) {
|
||||
val defaultFilter
|
||||
get() = launcherDataStore.data.map { it.searchFilter }
|
||||
}
|
||||
Reference in New Issue
Block a user