// Copyright (c) Microsoft Corporation // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System; using System.Collections.ObjectModel; using System.Linq; using Microsoft.PowerToys.Settings.UI.ViewModels; using Windows.UI.Xaml.Controls; namespace Microsoft.PowerToys.Settings.UI.Views { public sealed partial class PowerLauncherPage : Page { public PowerLauncherViewModel ViewModel { get; } = new PowerLauncherViewModel(); private readonly ObservableCollection> searchResultPreferencesOptions; private readonly ObservableCollection> searchTypePreferencesOptions; public PowerLauncherPage() { InitializeComponent(); var loader = Windows.ApplicationModel.Resources.ResourceLoader.GetForCurrentView(); searchResultPreferencesOptions = new ObservableCollection>(); searchResultPreferencesOptions.Add(Tuple.Create(loader.GetString("PowerLauncher_SearchResultPreference_AlphabeticalOrder"), "alphabetical_order")); searchResultPreferencesOptions.Add(Tuple.Create(loader.GetString("PowerLauncher_SearchResultPreference_MostRecentlyUsed"), "most_recently_used")); searchResultPreferencesOptions.Add(Tuple.Create(loader.GetString("PowerLauncher_SearchResultPreference_RunningProcessesOpenApplications"), "running_processes_open_applications")); searchTypePreferencesOptions = new ObservableCollection>(); searchTypePreferencesOptions.Add(Tuple.Create(loader.GetString("PowerLauncher_SearchTypePreference_ApplicationName"), "application_name")); searchTypePreferencesOptions.Add(Tuple.Create(loader.GetString("PowerLauncher_SearchTypePreference_StringInApplication"), "string_in_application")); searchTypePreferencesOptions.Add(Tuple.Create(loader.GetString("PowerLauncher_SearchTypePreference_ExecutableName"), "executable_name")); } public Tuple SelectedSearchResultPreference { get { return searchResultPreferencesOptions.First(item => item.Item2 == ViewModel.SearchResultPreference); } set { if (ViewModel.SearchResultPreference != value.Item2) { ViewModel.SearchResultPreference = value.Item2; } } } public Tuple SelectedSearchTypePreference { get { return searchTypePreferencesOptions.First(item => item.Item2 == ViewModel.SearchTypePreference); } set { if (ViewModel.SearchTypePreference != value.Item2) { ViewModel.SearchTypePreference = value.Item2; } } } } }