// 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 Microsoft.PowerToys.Settings.UI.Lib.ViewModels; using Windows.ApplicationModel.Resources; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; namespace Microsoft.PowerToys.Settings.UI.Views { /// /// General Settings Page. /// public sealed partial class GeneralPage : Page { /// /// Gets or sets view model. /// public GeneralViewModel ViewModel { get; set; } /// /// Initializes a new instance of the class. /// General Settings page constructor. /// public GeneralPage() { this.InitializeComponent(); // Load string resources ResourceLoader loader = ResourceLoader.GetForViewIndependentUse(); this.ViewModel = new GeneralViewModel( loader.GetString("GeneralSettings_RunningAsAdminText"), loader.GetString("GeneralSettings_RunningAsUserText"), ShellPage.IsElevated, ShellPage.IsUserAnAdmin, UpdateUIThemeMethod, ShellPage.SendDefaultIPCMessage, ShellPage.SendRestartAdminIPCMessage, ShellPage.SendCheckForUpdatesIPCMessage); DataContext = ViewModel; } public int UpdateUIThemeMethod(string themeName) { switch (themeName) { case "light": ShellPage.ShellHandler.RequestedTheme = ElementTheme.Light; break; case "dark": ShellPage.ShellHandler.RequestedTheme = ElementTheme.Dark; break; case "system": ShellPage.ShellHandler.RequestedTheme = ElementTheme.Default; break; } return 0; } } }