Regions and languagaes improved. Video cards duration display fixed. Added settings updating system
Related Work Items: #236
This commit is contained in:
@@ -25,12 +25,10 @@ namespace FoxTube
|
||||
|
||||
string trendToken;
|
||||
Dictionary<string, string> subsTokens = new Dictionary<string, string>();
|
||||
string reg;
|
||||
|
||||
public Home()
|
||||
{
|
||||
InitializeComponent();
|
||||
reg = CultureInfo.GetCultures(CultureTypes.AllCultures).Find(i => i.IetfLanguageTag == SettingsStorage.Region).IetfLanguageTag.Remove(0, 3);
|
||||
|
||||
trendGrid = ((trending.Content as ScrollViewer).Content as StackPanel).Children[0] as VideoGrid;
|
||||
trendMore = ((trending.Content as ScrollViewer).Content as StackPanel).Children[1] as ShowMore;
|
||||
@@ -54,7 +52,7 @@ namespace FoxTube
|
||||
request.PageToken = trendToken;
|
||||
|
||||
request.Chart = VideosResource.ListRequest.ChartEnum.MostPopular;
|
||||
request.RegionCode = reg;
|
||||
request.RegionCode = SettingsStorage.Region;
|
||||
VideoListResponse response = await request.ExecuteAsync();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(response.NextPageToken))
|
||||
@@ -108,7 +106,7 @@ namespace FoxTube
|
||||
request.MaxResults = 48;
|
||||
|
||||
request.Chart = VideosResource.ListRequest.ChartEnum.MostPopular;
|
||||
request.RegionCode = reg;
|
||||
request.RegionCode = SettingsStorage.Region;
|
||||
VideoListResponse response = await request.ExecuteAsync();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(response.NextPageToken))
|
||||
|
||||
@@ -97,8 +97,8 @@ namespace FoxTube
|
||||
request.Q = arg.Term;
|
||||
request.SafeSearch = (SearchResource.ListRequest.SafeSearchEnum)(int)settings.Values["safeSearch"];
|
||||
|
||||
request.RegionCode = CultureInfo.GetCultures(CultureTypes.AllCultures).Find(i => i.IetfLanguageTag == SettingsStorage.Region).IetfLanguageTag.Remove(0, 3);
|
||||
request.RelevanceLanguage = CultureInfo.GetCultures(CultureTypes.AllCultures).Find(i => i.IetfLanguageTag == SettingsStorage.Region).TwoLetterISOLanguageName;
|
||||
request.RegionCode = SettingsStorage.Region;
|
||||
request.RelevanceLanguage = SettingsStorage.RelevanceLanguage;
|
||||
|
||||
request.MaxResults = 48;
|
||||
try
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
<TextBlock x:Uid="/General/restart" Foreground="Red" Text="Reopen the app to apply settings"/>
|
||||
<Button x:Uid="/General/closeApp" Content="Close app" Background="Red" Margin="5" Click="Button_Click"/>
|
||||
</StackPanel>
|
||||
<ComboBox Header="Search relevance language" MinWidth="250" Name="relLanguage" SelectionChanged="RelLanguage_SelectionChanged"/>
|
||||
<ComboBox x:Uid="/General/region" Header="Region" MinWidth="250" Name="region" SelectionChanged="region_SelectionChanged"/>
|
||||
<ComboBox x:Uid="/General/safeSearch" Header="SafeSearch" MinWidth="250" Name="safeSearch" SelectionChanged="safeSearch_SelectionChanged">
|
||||
<ComboBoxItem x:Uid="/General/moderate" Content="Moderate"/>
|
||||
|
||||
@@ -4,6 +4,8 @@ using Windows.ApplicationModel.Core;
|
||||
using Windows.UI;
|
||||
using Windows.UI.Xaml;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Google.Apis.YouTube.v3;
|
||||
using Google.Apis.YouTube.v3.Data;
|
||||
|
||||
namespace FoxTube.Pages.SettingsPages
|
||||
{
|
||||
@@ -17,16 +19,6 @@ namespace FoxTube.Pages.SettingsPages
|
||||
InitializeComponent();
|
||||
|
||||
language.SelectedItem = language.Items.Find(i => ((ComboBoxItem)i).Tag.ToString() == SettingsStorage.Language);
|
||||
CultureInfo.GetCultures(CultureTypes.AllCultures).FindAll(i => !i.IsNeutralCulture).ForEach(i =>
|
||||
{
|
||||
region.Items.Add(new ComboBoxItem
|
||||
{
|
||||
Content = i.DisplayName,
|
||||
Tag = i.IetfLanguageTag
|
||||
});
|
||||
if (i.IetfLanguageTag == SettingsStorage.Region)
|
||||
region.SelectedItem = region.Items.Last();
|
||||
});
|
||||
safeSearch.SelectedIndex = SettingsStorage.SafeSearch;
|
||||
|
||||
quality.SelectedItem = quality.Items.ToList().Find(i => ((ComboBoxItem)i).Tag.ToString() == SettingsStorage.VideoQuality);
|
||||
@@ -48,6 +40,37 @@ namespace FoxTube.Pages.SettingsPages
|
||||
system.IsChecked = true;
|
||||
break;
|
||||
}
|
||||
|
||||
InitializeRegions();
|
||||
}
|
||||
|
||||
async void InitializeRegions()
|
||||
{
|
||||
I18nRegionsResource.ListRequest regRequest = SecretsVault.Service.I18nRegions.List("snippet");
|
||||
I18nRegionListResponse regResponse = await regRequest.ExecuteAsync();
|
||||
foreach(I18nRegion i in regResponse.Items)
|
||||
{
|
||||
region.Items.Add(new ComboBoxItem
|
||||
{
|
||||
Content = i.Snippet.Name,
|
||||
Tag = i.Snippet.Gl
|
||||
});
|
||||
if (SettingsStorage.Region == i.Snippet.Gl)
|
||||
region.SelectedItem = region.Items.Last();
|
||||
}
|
||||
|
||||
I18nLanguagesResource.ListRequest langRequest = SecretsVault.Service.I18nLanguages.List("snippet");
|
||||
I18nLanguageListResponse langResponse = await langRequest.ExecuteAsync();
|
||||
foreach(I18nLanguage i in langResponse.Items)
|
||||
{
|
||||
relLanguage.Items.Add(new ComboBoxItem
|
||||
{
|
||||
Content = i.Snippet.Name,
|
||||
Tag = i.Snippet.Hl
|
||||
});
|
||||
if (SettingsStorage.RelevanceLanguage == i.Snippet.Hl)
|
||||
relLanguage.SelectedItem = relLanguage.Items.Last();
|
||||
}
|
||||
}
|
||||
|
||||
private void language_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
@@ -79,9 +102,14 @@ namespace FoxTube.Pages.SettingsPages
|
||||
SettingsStorage.VideoNotifications = newVideo.IsOn;
|
||||
}
|
||||
|
||||
private void RelLanguage_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
SettingsStorage.RelevanceLanguage = ((ComboBoxItem)relLanguage.SelectedItem).Tag.ToString();
|
||||
}
|
||||
|
||||
private void region_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
SettingsStorage.Region = CultureInfo.GetCultures(CultureTypes.AllCultures)[region.SelectedIndex].Name;
|
||||
SettingsStorage.Region = ((ComboBoxItem)region.SelectedItem).Tag.ToString();
|
||||
}
|
||||
|
||||
private void safeSearch_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
|
||||
@@ -332,8 +332,8 @@ namespace FoxTube.Pages
|
||||
async void LoadRelatedVideos()
|
||||
{
|
||||
SearchResource.ListRequest request = SecretsVault.Service.Search.List("snippet");
|
||||
request.RegionCode = CultureInfo.GetCultures(CultureTypes.AllCultures).Find(i => i.IetfLanguageTag == SettingsStorage.Region).IetfLanguageTag.Remove(0, 3);
|
||||
request.RelevanceLanguage = CultureInfo.GetCultures(CultureTypes.AllCultures).Find(i => i.IetfLanguageTag == SettingsStorage.Region).TwoLetterISOLanguageName;
|
||||
request.RegionCode = SettingsStorage.Region;
|
||||
request.RelevanceLanguage = SettingsStorage.RelevanceLanguage;
|
||||
request.RelatedToVideoId = videoId;
|
||||
request.SafeSearch = (SearchResource.ListRequest.SafeSearchEnum)(int)settings.Values["safeSearch"];
|
||||
request.MaxResults = 20;
|
||||
|
||||
Reference in New Issue
Block a user