Search suggestions
This commit is contained in:
+16
-13
@@ -108,37 +108,40 @@
|
||||
Background="Transparent"
|
||||
FontFamily="Segoe MDL2 Assets" Content="" FontSize="20" Foreground="Black"/>
|
||||
<Popup Margin="0,50,0,0" Grid.Column="9" Name="searchSuggestions" IsOpen="True" Visibility="Visible">
|
||||
<StackPanel Padding="10" Background="WhiteSmoke" Width="350">
|
||||
<StackPanel Width="350" Name="searchStandby" Visibility="Visible">
|
||||
<StackPanel Background="WhiteSmoke" Width="350">
|
||||
<StackPanel Width="350" Name="searchStandby" Visibility="Visible" Margin="10">
|
||||
<TextBlock Text="Loading results... Please, wait."/>
|
||||
<ProgressBar IsIndeterminate="True"/>
|
||||
</StackPanel>
|
||||
<ListBox Name="searchSuggestionsList" Visibility="Collapsed">
|
||||
<ListBoxItem Height="35" Padding="0" Name="s0" Visibility="Collapsed">
|
||||
<ListBox Name="searchSuggestionsList" Visibility="Visible" SelectionChanged="searchSuggestionsList_SelectionChanged">
|
||||
<ListBoxItem Content="Suggestion"/>
|
||||
<ListBoxItem Content="S1"/>
|
||||
<ListBoxItem Content="S2"/>
|
||||
<ListBoxItem Height="35" Padding="0" Visibility="Visible">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
|
||||
<TextBlock Style="{StaticResource MenuItem}" Text="Suggestion 0" Name="t0"/>
|
||||
</StackPanel>
|
||||
</ListBoxItem>
|
||||
<ListBoxItem Height="35" Padding="0" Name="s1" Visibility="Collapsed">
|
||||
<ListBoxItem Height="35" Padding="0" Visibility="Collapsed">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
|
||||
<TextBlock Style="{StaticResource MenuItem}" Text="Suggestion 1" Name="t1"/>
|
||||
</StackPanel>
|
||||
</ListBoxItem>
|
||||
<ListBoxItem Height="35" Padding="0" Name="s2" Visibility="Collapsed">
|
||||
<ListBoxItem Height="35" Padding="0" Visibility="Collapsed">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
|
||||
<TextBlock Style="{StaticResource MenuItem}" Text="Suggestion 2" Name="t2"/>
|
||||
</StackPanel>
|
||||
</ListBoxItem>
|
||||
<ListBoxItem Height="35" Padding="0" Name="s3" Visibility="Collapsed">
|
||||
<ListBoxItem Height="35" Padding="0" Visibility="Collapsed">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
|
||||
<TextBlock Style="{StaticResource MenuItem}" Text="Suggestion 3" Name="t3"/>
|
||||
</StackPanel>
|
||||
</ListBoxItem>
|
||||
<ListBoxItem Height="35" Padding="0" Name="s4" Visibility="Collapsed">
|
||||
<ListBoxItem Height="35" Padding="0" Visibility="Collapsed">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
|
||||
<TextBlock Style="{StaticResource MenuItem}" Text="Suggestion 4" Name="t4"/>
|
||||
@@ -150,31 +153,31 @@
|
||||
<Line X1="0" Y1="10" X2="250" Y2="10" Stroke="Gray" StrokeThickness="2"/>
|
||||
</StackPanel>
|
||||
</ListBoxItem>
|
||||
<ListBoxItem Height="35" Padding="0" Name="s6" Visibility="Collapsed">
|
||||
<ListBoxItem Height="35" Padding="0" Visibility="Collapsed">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
|
||||
<TextBlock Style="{StaticResource MenuItem}" Text="Suggestion 6" Name="t6"/>
|
||||
</StackPanel>
|
||||
</ListBoxItem>
|
||||
<ListBoxItem Height="35" Padding="0" Name="s7" Visibility="Collapsed">
|
||||
<ListBoxItem Height="35" Padding="0" Visibility="Collapsed">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
|
||||
<TextBlock Style="{StaticResource MenuItem}" Text="Suggestion 7" Name="t7"/>
|
||||
</StackPanel>
|
||||
</ListBoxItem>
|
||||
<ListBoxItem Height="35" Padding="0" Name="s8" Visibility="Collapsed">
|
||||
<ListBoxItem Height="35" Padding="0" Visibility="Collapsed">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
|
||||
<TextBlock Style="{StaticResource MenuItem}" Text="Suggestion 8" Name="t8"/>
|
||||
</StackPanel>
|
||||
</ListBoxItem>
|
||||
<ListBoxItem Height="35" Padding="0" Name="s9" Visibility="Collapsed">
|
||||
<ListBoxItem Height="35" Padding="0" Visibility="Collapsed">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
|
||||
<TextBlock Style="{StaticResource MenuItem}" Text="Suggestion 9" Name="t9"/>
|
||||
</StackPanel>
|
||||
</ListBoxItem>
|
||||
<ListBoxItem Height="35" Padding="0" Name="s10" Visibility="Collapsed">
|
||||
<ListBoxItem Height="35" Padding="0" Visibility="Collapsed">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Style="{StaticResource ItemIcon}" Text=""/>
|
||||
<TextBlock Style="{StaticResource MenuItem}" Text="Suggestion 10" Name="t10"/>
|
||||
|
||||
+114
-1
@@ -11,6 +11,7 @@ using Windows.UI.Xaml;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Windows.UI.Xaml.Controls.Primitives;
|
||||
using Windows.UI.Xaml.Data;
|
||||
using Windows.UI.Xaml.Shapes;
|
||||
using Windows.UI.Xaml.Input;
|
||||
using Windows.UI.Xaml.Media;
|
||||
using Windows.UI.Xaml.Navigation;
|
||||
@@ -369,7 +370,83 @@ namespace FoxTube
|
||||
|
||||
async void buildSearchSuggestionsTree(string keyword)
|
||||
{
|
||||
|
||||
searchSuggestionsList.Items.Clear();
|
||||
searchStandby.Visibility = Visibility.Visible;
|
||||
searchSuggestionsList.Visibility = Visibility.Collapsed;
|
||||
|
||||
XmlDocument doc = new XmlDocument();
|
||||
await Task.Run(() =>
|
||||
{
|
||||
doc.Load(string.Format("http://suggestqueries.google.com/complete/search?output=toolbar&hl={0}&q={1}", "en", keyword));
|
||||
});
|
||||
|
||||
for (int k = 0; k < 5; k++)
|
||||
try
|
||||
{
|
||||
searchSuggestionsList.Items.Add(new ListBoxItem()
|
||||
{
|
||||
Content = doc["toplevel"].ChildNodes[k]["suggestion"].GetAttribute("data")
|
||||
});
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
searchSuggestionsList.Items.Clear();
|
||||
searchSuggestionsList.Items.Add(new ListBoxItem()
|
||||
{
|
||||
Content = "No suggestions found.",
|
||||
IsEnabled = false,
|
||||
Foreground = new SolidColorBrush(Colors.Gray)
|
||||
});
|
||||
}
|
||||
|
||||
/*ListBoxItem separator = new ListBoxItem()
|
||||
{
|
||||
Padding = new Thickness(0),
|
||||
IsEnabled = false
|
||||
};
|
||||
StackPanel stack = new StackPanel() { Orientation = Orientation.Horizontal };
|
||||
stack.Children.Add(new TextBlock()
|
||||
{
|
||||
Foreground = new SolidColorBrush(Colors.Gray),
|
||||
Text = "Previous requests",
|
||||
FontSize = 12,
|
||||
Margin = new Thickness(0),
|
||||
Padding = new Thickness(0, 0, 5, 0)
|
||||
});
|
||||
stack.Children.Add(new Line()
|
||||
{
|
||||
X1 = 0,
|
||||
X2 = 250,
|
||||
Y1 = 10,
|
||||
Y2 = 10,
|
||||
Stroke = new SolidColorBrush(Colors.Gray),
|
||||
StrokeThickness = 2
|
||||
});
|
||||
separator.Content = stack;
|
||||
searchSuggestionsList.Items.Add(separator);
|
||||
|
||||
if (settings.Values["history0"] != null)
|
||||
for (int k = 0; k < 5; k++)
|
||||
try
|
||||
{
|
||||
searchSuggestionsList.Items.Add(new ListBoxItem()
|
||||
{
|
||||
Content = settings.Values["history" + k]
|
||||
});
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else searchSuggestionsList.Items.Add(new ListBoxItem()
|
||||
{
|
||||
Content = "You have no previous requests.",
|
||||
Foreground = new SolidColorBrush(Colors.Gray),
|
||||
IsEnabled = false
|
||||
});*/
|
||||
|
||||
searchStandby.Visibility = Visibility.Collapsed;
|
||||
searchSuggestionsList.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
private void searchField_LostFocus(object sender, RoutedEventArgs e)
|
||||
@@ -389,6 +466,32 @@ namespace FoxTube
|
||||
topHamburger.SelectedItem = null;
|
||||
bottomHaburger.SelectedItem = null;
|
||||
|
||||
/*{
|
||||
List<string> history = new List<string>();
|
||||
for(int k = 0; k < 5; k++)
|
||||
try
|
||||
{
|
||||
history.Add(settings.Values["history" + k].ToString());
|
||||
}
|
||||
catch(NullReferenceException)
|
||||
{
|
||||
break;
|
||||
}
|
||||
history.Insert(0, keyword);
|
||||
if (history.Count > 5)
|
||||
history.RemoveAt(5);
|
||||
|
||||
for(int k = 0; k < history.Count; k++)
|
||||
try
|
||||
{
|
||||
settings.Values["history" + k] = history[k];
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
settings.Values.Add("history" + k, keyword);
|
||||
}
|
||||
}*/
|
||||
|
||||
YouTubeService ytService = new YouTubeService(new BaseClientService.Initializer()
|
||||
{
|
||||
ApiKey = "AIzaSyBgHrCnrlzlVmk0cJKL8RqP9Y8x6XSuk_0",
|
||||
@@ -450,5 +553,15 @@ namespace FoxTube
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
private void searchSuggestionsList_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
if(e.AddedItems.Count > 0)
|
||||
{
|
||||
ListBoxItem item = e.AddedItems[0] as ListBoxItem;
|
||||
searchField.Text = item.Content.ToString();
|
||||
searchButton_Click(this, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user