120 lines
4.3 KiB
C#
120 lines
4.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Globalization;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Runtime.InteropServices.WindowsRuntime;
|
|
using Windows.Foundation;
|
|
using Windows.Foundation.Collections;
|
|
using Windows.Storage;
|
|
using Windows.UI;
|
|
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;
|
|
|
|
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238
|
|
|
|
namespace FoxTube.Pages.SettingsPages
|
|
{
|
|
/// <summary>
|
|
/// An empty page that can be used on its own or navigated to within a Frame.
|
|
/// </summary>
|
|
public sealed partial class General : Page
|
|
{
|
|
ApplicationDataContainer settings = ApplicationData.Current.LocalSettings;
|
|
public General()
|
|
{
|
|
this.InitializeComponent();
|
|
|
|
language.SelectedIndex = (int)settings.Values["language"];
|
|
quality.SelectedIndex = (int)settings.Values["quality"];
|
|
|
|
newVideo.IsOn = (bool)settings.Values["newVideoNotification"];
|
|
|
|
mobileWarning.IsOn = (bool)settings.Values["moblieWarning"];
|
|
autoplay.IsOn = (bool)settings.Values["videoAutoplay"];
|
|
|
|
safeSearch.SelectedIndex = (int)settings.Values["safeSearch"];
|
|
|
|
switch((int)settings.Values["themeMode"])
|
|
{
|
|
case 0:
|
|
light.IsChecked = true;
|
|
break;
|
|
case 1:
|
|
dark.IsChecked = true;
|
|
break;
|
|
case 2:
|
|
system.IsChecked = true;
|
|
break;
|
|
}
|
|
|
|
foreach (CultureInfo culture in CultureInfo.GetCultures(CultureTypes.AllCultures))
|
|
{
|
|
region.Items.Add(culture.DisplayName);
|
|
if (culture.Name == (string)settings.Values["region"])
|
|
region.SelectedIndex = region.Items.Count - 1;
|
|
}
|
|
}
|
|
|
|
private void language_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
if ((int)settings.Values["language"] != language.SelectedIndex)
|
|
{
|
|
settings.Values["language"] = language.SelectedIndex;
|
|
restartNote.Visibility = Visibility.Visible;
|
|
}
|
|
}
|
|
|
|
private void quality_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
settings.Values["quality"] = quality.SelectedIndex;
|
|
}
|
|
|
|
private void notification_IsEnabledChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
settings.Values["newVideoNotification"] = newVideo.IsOn;
|
|
settings.Values["moblieWarning"] = mobileWarning.IsOn;
|
|
settings.Values["videoAutoplay"] = autoplay.IsOn;
|
|
}
|
|
|
|
private void region_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
settings.Values["region"] = CultureInfo.GetCultures(CultureTypes.AllCultures)[region.SelectedIndex].Name;
|
|
}
|
|
|
|
private void safeSearch_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
settings.Values["safeSearch"] = safeSearch.SelectedIndex;
|
|
}
|
|
|
|
private void RadioButton_Checked(object sender, RoutedEventArgs e)
|
|
{
|
|
if (sender == light && (int)settings.Values["themeMode"] != 0)
|
|
{
|
|
settings.Values["themeMode"] = 0;
|
|
Methods.MainPage.RequestedTheme = ElementTheme.Light;
|
|
}
|
|
if (sender == dark && (int)settings.Values["themeMode"] != 1)
|
|
{
|
|
settings.Values["themeMode"] = 1;
|
|
Methods.MainPage.RequestedTheme = ElementTheme.Dark;
|
|
}
|
|
if (sender == system && (int)settings.Values["themeMode"] != 2)
|
|
{
|
|
settings.Values["themeMode"] = 2;
|
|
Color uiTheme = (new Windows.UI.ViewManagement.UISettings()).GetColorValue(Windows.UI.ViewManagement.UIColorType.Background);
|
|
if (uiTheme == Colors.Black)
|
|
Methods.MainPage.RequestedTheme = ElementTheme.Dark;
|
|
else
|
|
Methods.MainPage.RequestedTheme = ElementTheme.Light;
|
|
}
|
|
}
|
|
}
|
|
}
|