Archived
1
0
This repository has been archived on 2026-04-22. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
FoxTube/FoxTube/Views/SettingsSections/General.xaml.cs
T
Michael Gordeev a792132428 App UI development
Updated and enchanced MainPage
Updated Core
2020-05-12 01:32:41 +03:00

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();
}
}
}