// 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 Microsoft.PowerToys.Settings.UI.Lib;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Navigation;
namespace Microsoft.PowerToys.Settings.UI.Views
{
///
/// An empty page that can be used on its own or navigated to within a Frame.
///
public sealed partial class PowerPreviewPage : Page
{
private const string POWERTOY_NAME = "File Explorer Preview";
public PowerPreviewPage()
{
this.InitializeComponent();
}
///
protected override void OnNavigatedTo(NavigationEventArgs e)
{
PowerPreviewSettings settings;
try
{
base.OnNavigatedTo(e);
settings = SettingsUtils.GetSettings(POWERTOY_NAME);
this.ToggleSwitch_Preview_SVG.IsOn = settings.properties.IDS_PREVPANE_SVG_BOOL_TOGGLE_CONTROLL.value;
this.ToggleSwitch_Preview_MD.IsOn = settings.properties.PREVPANE_MD_BOOL_TOGGLE_CONTROLL_ID.value;
}
catch
{
settings = new PowerPreviewSettings(POWERTOY_NAME);
SettingsUtils.SaveSettings(settings.ToJsonString(), POWERTOY_NAME);
this.ToggleSwitch_Preview_SVG.IsOn = settings.properties.IDS_PREVPANE_SVG_BOOL_TOGGLE_CONTROLL.value;
this.ToggleSwitch_Preview_MD.IsOn = settings.properties.PREVPANE_MD_BOOL_TOGGLE_CONTROLL_ID.value;
}
}
private void ToggleSwitch_Preview_SVG_Toggled(object sender, RoutedEventArgs e)
{
ToggleSwitch swt = sender as ToggleSwitch;
if (swt != null)
{
PowerPreviewSettings settings = SettingsUtils.GetSettings(POWERTOY_NAME);
settings.properties.IDS_PREVPANE_SVG_BOOL_TOGGLE_CONTROLL.value = swt.IsOn;
if (ShellPage.DefaultSndMSGCallback != null)
{
SndPowerPreviewSettings snd = new SndPowerPreviewSettings(settings);
SndModuleSettings ipcMessage = new SndModuleSettings(snd);
ShellPage.DefaultSndMSGCallback(ipcMessage.ToJsonString());
}
}
}
private void ToggleSwitch_Preview_MD_Toggled(object sender, RoutedEventArgs e)
{
ToggleSwitch swt = sender as ToggleSwitch;
if (swt != null)
{
PowerPreviewSettings settings = SettingsUtils.GetSettings(POWERTOY_NAME);
settings.properties.PREVPANE_MD_BOOL_TOGGLE_CONTROLL_ID.value = swt.IsOn;
if (ShellPage.DefaultSndMSGCallback != null)
{
SndPowerPreviewSettings snd = new SndPowerPreviewSettings(settings);
SndModuleSettings ipcMessage = new SndModuleSettings(snd);
ShellPage.DefaultSndMSGCallback(ipcMessage.ToJsonString());
}
}
}
}
}