a792132428
Updated and enchanced MainPage Updated Core
133 lines
4.3 KiB
C#
133 lines
4.3 KiB
C#
using System.Linq;
|
|
using Windows.Globalization;
|
|
using Windows.UI.Xaml;
|
|
using Windows.UI.Xaml.Controls;
|
|
|
|
namespace FoxTube.Views.SettingsSections
|
|
{
|
|
/// <summary>
|
|
/// Preferences page
|
|
/// </summary>
|
|
public sealed partial class General : Page
|
|
{
|
|
public General()
|
|
{
|
|
InitializeComponent();
|
|
|
|
language.SelectedItem = language.Items.FirstOrDefault(i => ((ComboBoxItem)i).Tag.ToString() == FoxTube.Settings.Language);
|
|
safeSearch.SelectedIndex = FoxTube.Settings.SafeSearch;
|
|
|
|
meteredWarning.IsOn = FoxTube.Settings.CheckConnection;
|
|
autoplay.IsOn = FoxTube.Settings.Autoplay;
|
|
explicitWarning.IsOn = FoxTube.Settings.BlockExplicitContent;
|
|
|
|
channelNotifications.IsOn = FoxTube.Settings.VideoNotifications;
|
|
developersNews.IsOn = FoxTube.Settings.DevNotifications;
|
|
clipboardProcessing.IsOn = FoxTube.Settings.ProcessClipboard;
|
|
|
|
switch (FoxTube.Settings.Theme)
|
|
{
|
|
case 0:
|
|
light.IsChecked = true;
|
|
break;
|
|
case 1:
|
|
dark.IsChecked = true;
|
|
break;
|
|
case 2:
|
|
system.IsChecked = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
private void LoadRelevaneLanguageList(object sender, RoutedEventArgs e)
|
|
{
|
|
// TODO: Add list loading
|
|
}
|
|
|
|
private void LoadRegionList(object sender, RoutedEventArgs e)
|
|
{
|
|
// TODO: Add list loading
|
|
}
|
|
|
|
private void LoadQualitiesList(object sender, RoutedEventArgs e)
|
|
{
|
|
// TODO: Add qualities loading
|
|
|
|
quality.SelectedItem = quality.Items.FirstOrDefault(i => ((ComboBoxItem)i).Tag.ToString() == FoxTube.Settings.DesiredVideoQuality);
|
|
}
|
|
|
|
private void LanguageChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
if ((language.SelectedItem as ComboBoxItem).Tag.ToString() == FoxTube.Settings.Language)
|
|
return;
|
|
|
|
ApplicationLanguages.PrimaryLanguageOverride = (language.SelectedItem as ComboBoxItem).Tag.ToString();
|
|
FoxTube.Settings.Language = (language.SelectedItem as ComboBoxItem).Tag.ToString();
|
|
restart.Visibility = Visibility.Visible;
|
|
}
|
|
|
|
private void Restart(object sender, RoutedEventArgs e) =>
|
|
Utils.Utils.RestartApp();
|
|
|
|
private void RelevanceLanguageChanged(object sender, SelectionChangedEventArgs e) =>
|
|
FoxTube.Settings.RelevanceLanguage = ((ComboBoxItem)relevanceLanguage.SelectedItem).Tag.ToString();
|
|
|
|
private void RegionChanged(object sender, SelectionChangedEventArgs e) =>
|
|
FoxTube.Settings.Region = ((ComboBoxItem)region.SelectedItem).Tag.ToString();
|
|
|
|
private void SafeSearchChanged(object sender, SelectionChangedEventArgs e) =>
|
|
FoxTube.Settings.SafeSearch = safeSearch.SelectedIndex;
|
|
|
|
private void QualityChanged(object sender, SelectionChangedEventArgs e) =>
|
|
FoxTube.Settings.DesiredVideoQuality = (quality.SelectedItem as ComboBoxItem).Tag as string;
|
|
|
|
private void MeteredWarningChanged(object sender, RoutedEventArgs e) =>
|
|
FoxTube.Settings.CheckConnection = meteredWarning.IsOn;
|
|
|
|
private void AutoplayChanged(object sender, RoutedEventArgs e) =>
|
|
FoxTube.Settings.Autoplay = autoplay.IsOn;
|
|
|
|
private void ExplicitWarningChanged(object sender, RoutedEventArgs e) =>
|
|
FoxTube.Settings.BlockExplicitContent = explicitWarning.IsOn;
|
|
|
|
private void ChannelNotificationsChanged(object sender, RoutedEventArgs e) =>
|
|
FoxTube.Settings.VideoNotifications = channelNotifications.IsOn;
|
|
|
|
private void ClipboardProcessingChanged(object sender, RoutedEventArgs e) =>
|
|
FoxTube.Settings.ProcessClipboard = clipboardProcessing.IsOn;
|
|
|
|
private void DevelopersNotificationsChanged(object sender, RoutedEventArgs e) =>
|
|
FoxTube.Settings.DevNotifications = developersNews.IsOn;
|
|
|
|
private void ThemeChanged(object sender, RoutedEventArgs e)
|
|
{
|
|
if (FoxTube.Settings.Theme.ToString() == (string)(sender as RadioButton).Tag)
|
|
return;
|
|
|
|
switch ((sender as RadioButton).Name)
|
|
{
|
|
case "light":
|
|
FoxTube.Settings.Theme = 0;
|
|
MainPage.Current.RequestedTheme = ElementTheme.Light;
|
|
App.UpdateTitleBar(false);
|
|
break;
|
|
case "dark":
|
|
FoxTube.Settings.Theme = 1;
|
|
MainPage.Current.RequestedTheme = ElementTheme.Dark;
|
|
App.UpdateTitleBar(true);
|
|
break;
|
|
default:
|
|
FoxTube.Settings.Theme = 2;
|
|
MainPage.Current.RequestedTheme = ElementTheme.Default;
|
|
App.UpdateTitleBar(Application.Current.RequestedTheme == ApplicationTheme.Dark);
|
|
break;
|
|
}
|
|
}
|
|
|
|
private void ResetApp(object sender, RoutedEventArgs e)
|
|
{
|
|
Utils.Utils.InitializeFailsafeProtocol();
|
|
}
|
|
}
|
|
}
|