using Microsoft.PowerToys.Settings.UI.Lib; using Microsoft.PowerToys.Settings.UI.ViewModels; using Microsoft.UI.Xaml.Controls; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using System.ServiceModel.Channels; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.UI.Popups; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Controls.Primitives; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Input; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Navigation; namespace Microsoft.PowerToys.Settings.UI.Views { public sealed partial class PowerRenamePage : Page { public PowerRenameViewModel ViewModel { get; } = new PowerRenameViewModel(); private const string POWERTOY_NAME = "PowerRename"; public PowerRenamePage() { this.InitializeComponent(); } /// protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); PowerRenameSettings settings; try { settings = SettingsUtils.GetSettings(POWERTOY_NAME); UpdateView(settings); } catch (Exception exp) { settings = new PowerRenameSettings(POWERTOY_NAME); SettingsUtils.SaveSettings(settings.ToJsonString(), POWERTOY_NAME); UpdateView(settings); } } private void UpdateView(PowerRenameSettings settings) { this.Toggle_PowerRename_Enable.IsOn = settings.properties.bool_mru_enabled.value; this.Toggle_PowerRename_EnableOnExtendedContextMenu.IsOn = settings.properties.bool_show_extended_menu.value; this.Toggle_PowerRename_MaxDispListNum.Value = settings.properties.int_max_mru_size.value; this.Toggle_PowerRename_EnableOnContextMenu.IsOn = settings.properties.bool_show_icon_on_menu.value; this.Toggle_PowerRename_RestoreFlagsOnLaunch.IsOn = settings.properties.bool_persist_input.value; } private void Toggle_PowerRename_Enable_Toggled(object sender, RoutedEventArgs e) { ToggleSwitch swt = sender as ToggleSwitch; if (swt != null) { PowerRenameSettings settings = SettingsUtils.GetSettings(POWERTOY_NAME); settings.properties.bool_mru_enabled.value = swt.IsOn; if (ShellPage.Default_SndMSG_Callback != null) { SndPowerRenameSettings snd = new SndPowerRenameSettings(settings); SndModuleSettings ipcMessage = new SndModuleSettings(snd); ShellPage.Default_SndMSG_Callback(ipcMessage.ToJsonString()); } } } private void Toggle_PowerRename_EnableOnContextMenu_Toggled(object sender, RoutedEventArgs e) { ToggleSwitch swt = sender as ToggleSwitch; if (swt != null) { PowerRenameSettings settings = SettingsUtils.GetSettings(POWERTOY_NAME); settings.properties.bool_show_icon_on_menu.value = swt.IsOn; if (ShellPage.Default_SndMSG_Callback != null) { SndPowerRenameSettings snd = new SndPowerRenameSettings(settings); SndModuleSettings ipcMessage = new SndModuleSettings(snd); ShellPage.Default_SndMSG_Callback(ipcMessage.ToJsonString()); } } } private void Toggle_PowerRename_EnableOnExtendedContextMenu_Toggled(object sender, RoutedEventArgs e) { ToggleSwitch swt = sender as ToggleSwitch; if (swt != null) { PowerRenameSettings settings = SettingsUtils.GetSettings(POWERTOY_NAME); settings.properties.bool_show_extended_menu.value = swt.IsOn; if (ShellPage.Default_SndMSG_Callback != null) { SndPowerRenameSettings snd = new SndPowerRenameSettings(settings); SndModuleSettings ipcMessage = new SndModuleSettings(snd); ShellPage.Default_SndMSG_Callback(ipcMessage.ToJsonString()); } } } private void Toggle_PowerRename_RestoreFlagsOnLaunch_Toggled(object sender, RoutedEventArgs e) { ToggleSwitch swt = sender as ToggleSwitch; if (swt != null) { PowerRenameSettings settings = SettingsUtils.GetSettings(POWERTOY_NAME); settings.properties.bool_persist_input.value = swt.IsOn; if (ShellPage.Default_SndMSG_Callback != null) { SndPowerRenameSettings snd = new SndPowerRenameSettings(settings); SndModuleSettings ipcMessage = new SndModuleSettings(snd); ShellPage.Default_SndMSG_Callback(ipcMessage.ToJsonString()); } } } private void Toggle_PowerRename_MaxDispListNum_ValueChanged(NumberBox sender, NumberBoxValueChangedEventArgs args) { if (sender != null) { PowerRenameSettings settings = SettingsUtils.GetSettings(POWERTOY_NAME); settings.properties.int_max_mru_size.value = Convert.ToInt32(sender.Value); if (ShellPage.Default_SndMSG_Callback != null) { SndPowerRenameSettings snd = new SndPowerRenameSettings(settings); SndModuleSettings ipcMessage = new SndModuleSettings(snd); ShellPage.Default_SndMSG_Callback(ipcMessage.ToJsonString()); } } } } }