Flow.Launcher/Flow.Launcher/SettingWindow.xaml
Dobin Park e784ea6b8d - Change store Item to toggle mode. when it one more click, it deselect.)
- Fix Website link in store. (Modify so that the link opens.)
- Fix the problem that changed the layout depending on the toggle status
2021-10-17 08:15:53 +09:00

1579 lines
No EOL
105 KiB
XML

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:flowlauncher="clr-namespace:Flow.Launcher"
xmlns:vm="clr-namespace:Flow.Launcher.ViewModel"
xmlns:converters="clr-namespace:Flow.Launcher.Converters"
xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"
xmlns:userSettings="clr-namespace:Flow.Launcher.Infrastructure.UserSettings;assembly=Flow.Launcher.Infrastructure"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:ui="http://schemas.modernwpf.com/2019"
xmlns:svgc="http://sharpvectors.codeplex.com/svgc/"
x:Class="Flow.Launcher.SettingWindow"
mc:Ignorable="d"
Icon="Images\app.ico"
Title="{DynamicResource flowlauncher_settings}"
ResizeMode="CanResizeWithGrip"
WindowStartupLocation="CenterScreen"
Height="700" Width="1000"
MinWidth="900"
MinHeight="600"
Loaded="OnLoaded"
Closed="OnClosed"
d:DataContext="{d:DesignInstance vm:SettingWindowViewModel}">
<Window.InputBindings>
<KeyBinding Key="Escape" Command="Close" />
</Window.InputBindings>
<Window.CommandBindings>
<CommandBinding Command="Close" Executed="OnCloseExecuted" />
</Window.CommandBindings>
<Window.Resources>
<converters:BorderClipConverter x:Key="BorderClipConverter" />
<CollectionViewSource Source="{Binding Source={x:Static Fonts.SystemFontFamilies}}" x:Key="SortedFonts">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Source" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
<Style x:Key="SettingGrid" TargetType="ItemsControl">
<Setter Property="Focusable" Value="False" />
<Setter Property="Margin" Value="0" />
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" MaxWidth="60" MinWidth="20" />
<ColumnDefinition Width="8*" />
<ColumnDefinition Width="Auto" MaxWidth="550" MinWidth="40" />
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SettingGroupBox" TargetType="{x:Type Border}">
<Setter Property="Background" Value="#ffffff" />
<Setter Property="BorderBrush" Value="#e5e5e5" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="CornerRadius" Value="5" />
<Setter Property="Margin" Value="0 5 0 0" />
<Setter Property="Padding" Value="0 15 0 15" />
<Setter Property="SnapsToDevicePixels" Value="True" />
</Style>
<Style x:Key="SettingTitleLabel" TargetType="{x:Type TextBlock}">
<Setter Property="Margin" Value="0 0 0 0" />
</Style>
<Style x:Key="SettingSubTitleLabel" TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="#5F5F5F" />
<Setter Property="FontSize" Value="12" />
<Setter Property="Margin" Value="0 0 0 0" />
<Setter Property="Padding" Value="0 0 24 0" />
<Setter Property="TextWrapping" Value="WrapWithOverflow" />
</Style>
<Style x:Key="TextPanel" TargetType="{x:Type StackPanel}">
<Setter Property="Grid.Column" Value="1" />
<Setter Property="Margin" Value="0 0 0 0" />
<Setter Property="Width" Value="Auto" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Left" />
</Style>
<Style x:Key="SideControlCheckBox" TargetType="{x:Type CheckBox}">
<Setter Property="HorizontalAlignment" Value="Right" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Grid.Column" Value="2" />
<Setter Property="Margin" Value="0 4 18 4" />
<Setter Property="LayoutTransform">
<Setter.Value>
<ScaleTransform ScaleX="1.5" ScaleY="1.5" />
</Setter.Value>
</Setter>
</Style>
<Style x:Key="SideControlToggle" TargetType="{x:Type ui:ToggleSwitch}">
<Setter Property="Padding" Value="2 0 0 0" />
<Setter Property="Grid.Column" Value="2" />
</Style>
<Style TargetType="{x:Type TabItem}" x:Key="logo">
<!--#region Logo Style -->
<Setter Property="Margin" Value="0" />
<Setter Property="HorizontalAlignment" Value="center" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="black" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Focusable" Value="false" />
<Setter Property="Cursor" Value="Arrow" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Border>
<Grid>
<Grid>
<Border
x:Name="Spacer"
Width="Auto"
Height="Auto"
Padding="0 0 0 0"
Margin="0 10 5 0"
BorderBrush="Transparent"
BorderThickness="0">
<Border x:Name="border"
CornerRadius="5"
Background="WhiteSmoke">
<ContentPresenter x:Name="ContentSite"
Margin="12 12 0 12"
HorizontalAlignment="LEFT"
VerticalAlignment="Center"
ContentSource="Header" TextBlock.Foreground="#000" />
</Border>
</Border>
</Grid>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter TargetName="border"
Property="Background"
Value="Transparent" />
</Trigger>
<Trigger Property="IsSelected"
Value="True">
<Setter TargetName="border"
Property="Background"
Value="transparent" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<!--#endregion-->
</Style>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Border>
<Grid>
<Grid>
<Border
x:Name="Spacer" Width="Auto" Height="Auto" Padding="0 0 0 0" Margin="8 4 8 0"
BorderBrush="Transparent" BorderThickness="0">
<Border x:Name="border" CornerRadius="5" Background="#f3f3f3">
<ContentPresenter x:Name="ContentSite"
Margin="12 12 0 12"
HorizontalAlignment="LEFT"
VerticalAlignment="Center"
ContentSource="Header" TextBlock.Foreground="#000" />
</Border>
</Border>
</Grid>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="Background" Value="#eaeaea" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="border" Property="Background" Value="#eaeaea" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="PluginList" TargetType="ListBoxItem">
<Setter Property="Background" Value="#ffffff" />
<Setter Property="Padding" Value="0 12 0 12" />
<Setter Property="Margin" Value="0 0 18 5" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="BorderBrush" Value="#e5e5e5" />
<!--#region Template for blue highlight win10-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border x:Name="Bd"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}" CornerRadius="5"
SnapsToDevicePixels="True">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding Content}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplate="{TemplateBinding ContentTemplate}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="#f6f6f6" />
<Setter TargetName="Bd" Property="BorderBrush" Value="#e5e5e5" />
<Setter TargetName="Bd" Property="CornerRadius" Value="5" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="Selector.IsSelectionActive" Value="False" />
<Condition Property="IsSelected" Value="True" />
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="#ffffff" />
<Setter TargetName="Bd" Property="BorderBrush" Value="#e5e5e5" />
<Setter TargetName="Bd" Property="Margin" Value="0 0 0 0" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="Selector.IsSelectionActive" Value="True" />
<Condition Property="IsSelected" Value="True" />
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="#ffffff" />
<Setter TargetName="Bd" Property="BorderBrush" Value="#e5e5e5" />
<Setter TargetName="Bd" Property="CornerRadius" Value="5" />
<Setter TargetName="Bd" Property="Margin" Value="0 0 0 0" />
</MultiTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="Bd" Property="TextElement.Foreground"
Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<!--#endregion-->
<Setter Property="Height" Value="Auto" />
</Style>
<!--#region PluginStore Style-->
<Style x:Key="StoreList" TargetType="ListBoxItem">
<Setter Property="Background" Value="#ffffff" />
<Setter Property="Padding" Value="0 0 0 0" />
<Setter Property="Margin" Value="0 0 8 5" />
<Setter Property="BorderBrush" Value="#e5e5e5" />
<Setter Property="MinWidth" Value="330"/>
<Setter Property="Height" Value="98"/>
<!--#region Template for blue highlight win10-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border x:Name="Bd"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}" CornerRadius="5"
SnapsToDevicePixels="True">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding Content}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplate="{TemplateBinding ContentTemplate}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="#f6f6f6" />
<Setter TargetName="Bd" Property="BorderBrush" Value="#e5e5e5" />
<Setter TargetName="Bd" Property="CornerRadius" Value="5" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="Selector.IsSelectionActive" Value="False" />
<Condition Property="IsSelected" Value="True" />
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="#ffffff" />
<Setter TargetName="Bd" Property="BorderBrush" Value="#e5e5e5" />
<Setter TargetName="Bd" Property="Margin" Value="0 0 0 0" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="Selector.IsSelectionActive" Value="True" />
<Condition Property="IsSelected" Value="True" />
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="#ffffff" />
<Setter TargetName="Bd" Property="BorderBrush" Value="#e5e5e5" />
<Setter TargetName="Bd" Property="CornerRadius" Value="5" />
<Setter TargetName="Bd" Property="Margin" Value="0 0 0 0" />
</MultiTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter TargetName="Bd" Property="TextElement.Foreground"
Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<!--#endregion-->
</Style>
<!-- For Tab Header responsive Width -->
<Style TargetType="{x:Type TabControl}">
<Setter Property="FontSize" Value="14" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2.2*"/>
<ColumnDefinition Width="7.8*"/>
</Grid.ColumnDefinitions>
<TabPanel
Grid.Column="0"
Panel.ZIndex="1"
Margin="0,0,0,0"
IsItemsHost="True"
Background="#f3f3f3" />
<Border
Grid.Column="1"
BorderBrush="Black"
BorderThickness="0"
CornerRadius="0">
<ContentPresenter ContentSource="SelectedContent" Grid.Column="1"/>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<TabControl Height="auto" SelectedIndex="1" TabStripPlacement="Left" Background="#f3f3f3">
<TabItem Style="{DynamicResource logo}">
<TabItem.Header>
<Grid Margin="0 18 0 0">
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="27" />
<RowDefinition Height="25" />
</Grid.RowDefinitions>
<Image Source="images/app.png" Width="50" Height="50" Grid.Row="0" />
<TextBlock Text="Flow Launcher" Grid.Row="1" TextAlignment="center" Margin="0 12 0 0" />
<TextBlock Text="{Binding Version}" Grid.Row="2" TextAlignment="center" FontSize="12"
Margin="0 5 0 0" />
</Grid>
</TabItem.Header>
</TabItem>
<TabItem> <!-- LEFT TAB WIDTH -->
<TabItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Margin="0 0 12 0">
&#xe713;
</TextBlock>
<TextBlock Grid.Column="1" Text="{DynamicResource general}" />
</Grid>
</TabItem.Header>
<ScrollViewer ScrollViewer.CanContentScroll="False"
ui:ScrollViewerHelper.AutoHideScrollBars="{Binding AutoHideScrollBar, Mode=OneWay}"
Margin="0,0,0,0" Background="#f3f3f3">
<StackPanel Orientation="Vertical" Margin="5,18,25,30">
<TextBlock Text="{DynamicResource general}" Grid.Row="2" TextAlignment="left" FontSize="30"
Margin="0 5 0 5" />
<Border Style="{DynamicResource SettingGroupBox}">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource startFlowLauncherOnSystemStartup}"
Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<CheckBox IsChecked="{Binding Settings.StartFlowLauncherOnSystemStartup}"
HorizontalAlignment="Right"
Checked="OnAutoStartupChecked" Unchecked="OnAutoStartupUncheck"
Style="{DynamicResource SideControlCheckBox}" />
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20" Grid.Column="0"
VerticalAlignment="Center" Margin="24 0 16 0">
&#xe8fc;
</TextBlock>
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource hideOnStartup}"
Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<CheckBox IsChecked="{Binding Settings.HideOnStartup}"
Style="{DynamicResource SideControlCheckBox}" />
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20" Grid.Column="0"
VerticalAlignment="Center" Margin="24 0 16 0">
&#xed1a;
</TextBlock>
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}" Margin="0 30 0 0">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource hideFlowLauncherWhenLoseFocus}"
Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<CheckBox IsChecked="{Binding Settings.HideWhenDeactive}"
Style="{DynamicResource SideControlCheckBox}" />
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource hideNotifyIcon}"
Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<CheckBox IsChecked="{Binding Settings.HideNotifyIcon}"
Style="{DynamicResource SideControlCheckBox}" />
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource rememberLastLocation}"
Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<CheckBox IsChecked="{Binding Settings.RememberLastLaunchLocation}"
Style="{DynamicResource SideControlCheckBox}" />
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource ignoreHotkeysOnFullscreen}"
Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<CheckBox IsChecked="{Binding Settings.IgnoreHotkeysOnFullscreen}"
Style="{DynamicResource SideControlCheckBox}" />
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20" Grid.Column="0"
VerticalAlignment="Center" Margin="24 0 16 0">
&#xe7fc;
</TextBlock>
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}" Margin="0 30 0 0">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource ShouldUsePinyin}"
Style="{DynamicResource SettingTitleLabel}" />
<TextBlock Text="{DynamicResource ShouldUsePinyinToolTip}"
Style="{DynamicResource SettingSubTitleLabel}" />
</StackPanel>
<CheckBox IsChecked="{Binding Settings.ShouldUsePinyin}"
ToolTip="{DynamicResource ShouldUsePinyinToolTip}"
Style="{DynamicResource SideControlCheckBox}" />
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20" Grid.Column="0"
VerticalAlignment="Center" Margin="24 0 16 0">
&#xe98a;
</TextBlock>
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}" Margin="0 30 0 0">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource autoUpdates}"
Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<ui:ToggleSwitch IsOn="{Binding AutoUpdates}" FocusVisualMargin="5"
Style="{DynamicResource SideControlToggle}" Width="100" />
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20" Grid.Column="0"
VerticalAlignment="Center" Margin="24 0 16 0">
&#xecc5;
</TextBlock>
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource portableMode}"
Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<ui:ToggleSwitch IsOn="{Binding PortableMode}" FocusVisualMargin="5"
Style="{DynamicResource SideControlToggle}" Width="100" />
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20" Grid.Column="0"
VerticalAlignment="Center" Margin="24 0 16 0">
&#xe88e;
</TextBlock>
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}" Padding="0" CornerRadius="5" Margin="0 30 0 0">
<StackPanel Orientation="Vertical">
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource querySearchPrecision}"
VerticalAlignment="Center" />
<ComboBox Margin="10 0 18 0" MaxWidth="200"
ItemsSource="{Binding QuerySearchPrecisionStrings}"
SelectedItem="{Binding Settings.QuerySearchPrecisionString}"
Grid.Column="2" />
</ItemsControl>
</Border>
<Separator BorderBrush="#e5e5e5" BorderThickness="1" Width="Auto" />
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource lastQueryMode}"
VerticalAlignment="Center" />
<ComboBox Margin="10 0 18 0" MaxWidth="200"
ItemsSource="{Binding LastQueryModes}"
SelectedValue="{Binding Settings.LastQueryMode}"
DisplayMemberPath="Display" SelectedValuePath="Value" Grid.Column="2" />
</ItemsControl>
</Border>
<Separator BorderBrush="#e5e5e5" BorderThickness="1" Width="Auto" />
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource maxShowResults}"
VerticalAlignment="Center" />
<ComboBox Margin="10 0 18 0" Width="100" ItemsSource="{Binding MaxResultsRange}"
HorizontalContentAlignment="Center"
SelectedItem="{Binding Settings.MaxResultsToShow}" Grid.Column="2" />
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Grid.Column="0" VerticalAlignment="Center" Margin="24 0 16 0">
&#xe8fd;
</TextBlock>
</ItemsControl>
</Border>
</StackPanel>
</Border>
<Border Style="{DynamicResource SettingGroupBox}" Margin="0 30 0 0">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource pythonDirectory}"
Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Column="2">
<TextBox
Text="{Binding Settings.PluginSettings.PythonDirectory, TargetNullValue='No Setting'}"
Width="300" Height="26" />
<Button Click="OnSelectPythonDirectoryClick"
Content="{DynamicResource selectPythonDirectory}" Margin="10 10 18 10" />
</StackPanel>
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource language}"
Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<ComboBox Margin="10 0 16 0" MaxWidth="200"
ItemsSource="{Binding Languages}" SelectedValue="{Binding Language}"
DisplayMemberPath="Display" SelectedValuePath="LanguageCode" Grid.Column="2" />
</ItemsControl>
</Border>
<Border Style="{DynamicResource SettingGroupBox}">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource autoHideScrollBar}"
Style="{DynamicResource SettingTitleLabel}" />
<TextBlock Text="{DynamicResource autoHideScrollBarToolTip}"
Style="{DynamicResource SettingSubTitleLabel}" />
</StackPanel>
<ui:ToggleSwitch IsOn="{Binding AutoHideScrollBar}" FocusVisualMargin="5"
Style="{DynamicResource SideControlToggle}" Width="100"
ToolTip="{DynamicResource autoHideScrollBarToolTip}" />
</ItemsControl>
</Border>
</StackPanel>
</ScrollViewer>
</TabItem>
<TabItem>
<TabItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Margin="0 0 12 0">
&#xea86;
</TextBlock>
<TextBlock Grid.Column="1" Text="{DynamicResource plugin}" />
</Grid>
</TabItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="73"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Border Grid.Row="0" Background="#f3f3f3" Padding="5 18 0 0">
<TextBlock Text="{DynamicResource plugin}" TextAlignment="left" FontSize="30" Margin="0 5 0 0"/>
</Border>
<Border Grid.Column="0" Grid.Row="1" Background="#f3f3f3" Padding="0 0 0 0">
<ListBox SelectedItem="{Binding SelectedPlugin}"
ItemsSource="{Binding PluginViewModels}"
Margin="5, 0, 0, 0" ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ItemContainerStyle="{StaticResource PluginList}"
ScrollViewer.IsDeferredScrollingEnabled="True" ScrollViewer.CanContentScroll="False"
Padding="0 0 7 0" Width="Auto" HorizontalAlignment="Stretch" SnapsToDevicePixels="True">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Margin="0,0,0,18"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Expander Grid.Column="4" x:Name="expanderHeader"
IsExpanded="{Binding Mode=TwoWay, Path=IsSelected, RelativeSource={RelativeSource AncestorType=ListBoxItem, Mode=FindAncestor}}"
FlowDirection="RightToLeft" Background="Transparent" Padding="0"
Style="{StaticResource ExpanderStyle1}">
<Expander.Header>
<Grid FlowDirection="LeftToRight" HorizontalAlignment="Left"
Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Expander}}, Path=ActualWidth}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" MinWidth="100" />
<ColumnDefinition Width="*" MinWidth="350" MaxWidth="700" />
<ColumnDefinition MaxWidth="1400" />
<ColumnDefinition Width="100" />
<ColumnDefinition Width="80" />
</Grid.ColumnDefinitions>
<StackPanel FlowDirection="LeftToRight" Grid.Column="0" Margin="24 0 0 0"
VerticalAlignment="Center">
<Image Source="{Binding Image, IsAsync=True}"
Width="32" Height="32" Margin="32 0 0 0"
FlowDirection="LeftToRight" />
</StackPanel>
<StackPanel Grid.Column="1" Margin="12 0 14 0">
<TextBlock Text="{Binding PluginPair.Metadata.Name}"
TextWrapping="Wrap"
ToolTip="{Binding PluginPair.Metadata.Version}" />
<TextBlock TextWrapping="Wrap" Margin="0 2 0 0" Foreground="#5f5f5f">
<Run Text="{Binding PluginPair.Metadata.Description}" FontSize="12" />
</TextBlock>
</StackPanel>
<StackPanel Grid.Column="3" Orientation="Horizontal">
<TextBlock Text="{DynamicResource priority}" Margin="0,0,8,0"
MaxWidth="100" VerticalAlignment="Center" FontSize="12"/>
<Border CornerRadius="5">
<Button x:Name="PriorityButton" Content="{Binding Priority, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center"
ToolTip="Change Plugin Results Priority"
Margin="5 0 0 0" Cursor="Hand"
Click="OnPluginPriorityClick">
<!--#region Priority Button Style-->
<Button.Resources>
<Style TargetType="Border">
<Setter Property="CornerRadius" Value="2"/>
</Style>
</Button.Resources>
<Button.Style>
<Style TargetType="Button">
<Setter Property="Padding" Value="12 8 12 8" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="FontWeight" Value="DemiBold" />
<Setter Property="Foreground" Value="Black" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=PriorityButton, UpdateSourceTrigger=PropertyChanged, Path=Content}" Value="0">
<Setter Property="Foreground" Value="#878787" />
<Setter Property="FontWeight" Value="Normal" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
<!--#endregion-->
</Button>
</Border>
</StackPanel>
<ui:ToggleSwitch Grid.Column="4" OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}"
MaxWidth="110" HorizontalAlignment="Right"
IsOn="{Binding PluginState}" />
</Grid>
</Expander.Header>
<Grid FlowDirection="LeftToRight">
<StackPanel Orientation="Vertical" Margin="0 12 0 0">
<StackPanel>
<Border Style="{DynamicResource SettingGroupBox}"
Visibility="{Binding ActionKeywordsVisibility}" Height="52" Padding="0"
Width="auto" BorderThickness="0 1 0 0" CornerRadius="0">
<ItemsControl VerticalAlignment="Center" Padding="22 0 18 0">
<DockPanel>
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20" DockPanel.Dock="Left"
VerticalAlignment="Center" Margin="48 0 10 0">&#xe819;</TextBlock>
<TextBlock Grid.Column="0" Text="{DynamicResource actionKeywords}"
Style="{DynamicResource SettingTitleLabel}"
Margin="0 0 0 0" VerticalAlignment="Center" HorizontalAlignment="Left" DockPanel.Dock="Left"/>
<Button Grid.Column="2" Content="{Binding ActionKeywordsText}"
DockPanel.Dock="Right"
Visibility="{Binding ActionKeywordsVisibility}"
ToolTip="Change Action Keywords"
Margin="5 0 0 0" Cursor="Hand" FontWeight="Bold"
Click="OnPluginActionKeywordsClick" HorizontalAlignment="Right"
Width="100" Height="40">
<Button.Resources>
<Style TargetType="Border">
<Setter Property="CornerRadius" Value="2"/>
<Setter Property="BorderThickness" Value="1 1 1 2"/>
<Setter Property="BorderBrush" Value="#ececec"/>
<Setter Property="Background" Value="#ffffff"/>
</Style>
</Button.Resources>
</Button>
</DockPanel>
</ItemsControl>
</Border>
</StackPanel>
<StackPanel>
<Border Background="White" Padding="0"
BorderThickness="0 1 0 0" BorderBrush="#e6e6e6"
VerticalAlignment="Center" HorizontalAlignment="Stretch">
<!--#region SubInfo Styling -->
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=SettingControl, Path=ActualHeight}" Value="0">
<Setter Property="Visibility" Value="Collapsed" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Padding" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
<!--#endregion-->
<ContentControl x:Name="SettingControl"
Content="{Binding SettingControl}"
Padding="1" Margin="0" VerticalAlignment="Stretch"
MaxWidth="750" MaxHeight="550">
</ContentControl>
</StackPanel>
<StackPanel>
<Border Style="{DynamicResource SettingGroupBox}" CornerRadius="0"
Visibility="{Binding ActionKeywordsVisibility}"
VerticalAlignment="Center" Margin="0" BorderThickness="0 1 0 0"
Padding="0 12 0 0" >
<ItemsControl Style="{DynamicResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}"
Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0 0 -14 0">
<TextBlock Text="{DynamicResource author}"
FontSize="11" Margin="10 0 0 0" MaxWidth="100" Foreground="#8F8F8F" />
<TextBlock Text="{Binding PluginPair.Metadata.Author}" FontSize="11" Foreground="#8F8F8F"
Margin="5 0 0 0" MaxWidth="100" />
<TextBlock Text="|"
FontSize="11" Margin="5 0 0 0" MaxWidth="100" Foreground="#8F8F8F"
VerticalAlignment="Center" />
<TextBlock Text="{DynamicResource plugin_init_time}"
FontSize="11" Margin="5 0 0 0" MaxWidth="100" Foreground="#8F8F8F" />
<TextBlock Text="{Binding InitilizaTime}" FontSize="11" Foreground="#8F8F8F"
Margin="5 0 0 0" MaxWidth="100" />
<TextBlock Text="|"
FontSize="11" Margin="5 0 0 0" MaxWidth="100" Foreground="#8F8F8F"
VerticalAlignment="Center" />
<TextBlock Text="{DynamicResource plugin_query_time}"
FontSize="11" Margin="5 0 0 0" MaxWidth="100" Foreground="#8F8F8F" />
<TextBlock Text="{Binding QueryTime}" FontSize="11" Foreground="#8F8F8F"
Margin="5 0 0 0" MaxWidth="100" />
<TextBlock Text="| version"
FontSize="11" Margin="5 0 0 0" MaxWidth="100" Foreground="#8F8F8F"
VerticalAlignment="Center" />
<TextBlock Text="{Binding PluginPair.Metadata.Version}" Foreground="#8F8F8F"
FontSize="11" Margin="5 0 0 0" MaxWidth="100"
VerticalAlignment="Center" />
<TextBlock
MaxWidth="120" Cursor="Hand" Margin="10,0,0,0"
HorizontalAlignment="Right" FontSize="12" VerticalAlignment="Center">
<Hyperlink NavigateUri="{Binding PluginPair.Metadata.Website}"
RequestNavigate="OnRequestNavigate" Foreground="#8F8F8F">
<Run Text="Website" />
</Hyperlink>
</TextBlock>
<TextBlock Text="{DynamicResource pluginDirectory}"
MaxWidth="120" Cursor="Hand" Margin="10,0,0,0"
MouseUp="OnPluginDirecotyClick" Foreground="#8f8f8f"
HorizontalAlignment="Right" FontSize="12" VerticalAlignment="Center" TextDecorations="Underline"/>
</StackPanel>
</ItemsControl>
</Border>
</StackPanel>
</StackPanel>
</Grid>
</Expander>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Border>
</Grid>
</TabItem>
<!--#region Plugin Store -->
<TabItem>
<TabItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Margin="0 0 12 0">
&#xe719;
</TextBlock>
<TextBlock Grid.Column="1" Text="Plugin Store" />
</Grid>
</TabItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="72"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Border Grid.Row="0" Grid.Column="0" Background="#f3f3f3" Padding="5 18 0 0">
<TextBlock Text="Plugin Store" TextAlignment="left" FontSize="30" Margin="0 5 0 5"/>
</Border>
<Border Grid.Row="0" Grid.Column="1" Background="#f3f3f3" Padding="5 18 32 0">
<Button Content="Refresh" FontSize="13" Margin="0 5 0 5" HorizontalAlignment="Right" Background="#ffffff" Padding="12 4 12 4" Height="34" BorderBrush="#cecece" BorderThickness="1 1 1 2"/>
</Border>
<Border Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Background="#f3f3f3" Padding="0 0 0 0">
<ListBox x:Name="StoreListBox"
ItemsSource="{Binding ExternalPlugins}"
Margin="6, 0, 0, 0" ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ItemContainerStyle="{StaticResource StoreList}" SelectionMode="Single"
ScrollViewer.IsDeferredScrollingEnabled="True" ScrollViewer.CanContentScroll="False"
Padding="0 0 0 0" Width="Auto" VerticalContentAlignment="Center" HorizontalAlignment="Stretch">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid IsItemsHost="True" HorizontalAlignment="Left" Columns="2" Margin="0 0 6 18" VerticalAlignment="Top" SnapsToDevicePixels="True"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<!-- Hover Layout Style-->
<ToggleButton IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}},Path=IsSelected}" Background="Transparent"
Width="{Binding ActualWidth,RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}}"
HorizontalAlignment="Left" HorizontalContentAlignment="left">
<ToggleButton.Template>
<ControlTemplate TargetType="{x:Type ButtonBase}">
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
<ControlTemplate.Triggers>
</ControlTemplate.Triggers>
</ControlTemplate>
</ToggleButton.Template>
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
<Grid HorizontalAlignment="Left" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="72"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Margin="0 0 0 0"
VerticalAlignment="Center" >
<StackPanel.Style>
<Style>
<Setter Property="StackPanel.Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding Mode=TwoWay, Path=IsSelected, RelativeSource={RelativeSource AncestorType=ListBoxItem, Mode=FindAncestor}}" Value="true">
<Setter Property="StackPanel.Opacity" Value="1" />
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
<Image Source="{Binding IcoPath, IsAsync=True}"
Width="32" Height="32" Margin="8 0 6 0"
VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Column="1" Margin="0 0 8 0" VerticalAlignment="Center" Panel.ZIndex="0">
<StackPanel.Style>
<Style>
<Setter Property="StackPanel.Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding Mode=TwoWay, Path=IsSelected, RelativeSource={RelativeSource AncestorType=ListBoxItem, Mode=FindAncestor}}" Value="true">
<Setter Property="StackPanel.Opacity" Value="1" />
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
<TextBlock Text="{Binding Name}"
TextWrapping="WrapWithOverflow" Padding="0 0 20 0"
ToolTip="{Binding Version}" />
<TextBlock TextWrapping="WrapWithOverflow" Margin="0 2 0 0" Padding="0 0 20 0" Foreground="#5f5f5f">
<Run Text="{Binding Description}" FontSize="12" Foreground="#5f5f5f"/>
</TextBlock>
</StackPanel >
<StackPanel Grid.Column="0" Grid.ColumnSpan="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<StackPanel.Style>
<Style>
<Setter Property="StackPanel.Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding Mode=TwoWay, Path=IsSelected, RelativeSource={RelativeSource AncestorType=ListBoxItem, Mode=FindAncestor}}" Value="true">
<Setter Property="StackPanel.Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
<Grid Height="94" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Panel.ZIndex="1">
<Grid.Background>
<SolidColorBrush Color="#f6f6f6" Opacity=".95"/>
</Grid.Background>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding ActualWidth,RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}}" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Stretch">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" FontWeight="Bold"
TextWrapping="WrapWithOverflow" Padding="0 0 0 0" Margin="20 0 0 0"
ToolTip="{Binding Name}" />
<TextBlock Text="{Binding Version}"
TextWrapping="WrapWithOverflow" Padding="0 0 20 0" Margin="10 0 0 0"
ToolTip="{Binding Version}" />
</StackPanel>
<StackPanel Orientation="Vertical" Margin="20 2 120 0">
<TextBlock TextWrapping="Wrap" Padding="0 0 0 0" >
<Hyperlink NavigateUri="{Binding Website}"
RequestNavigate="OnRequestNavigate" Foreground="#5F5F5F">
<Run Text="{Binding Author}" FontSize="12" />
</Hyperlink>
</TextBlock>
</StackPanel>
</StackPanel>
<Border Padding="0 0 20 0">
<Button Foreground="Black" Name="ShortCutButtonPrev" Content="Install" Width="90" MinHeight="40" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Column="1" Margin="0 0 0 0">
</Button>
</Border>
</Grid>
</StackPanel>
</Grid>
</ToggleButton>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Border>
</Grid>
</TabItem>
<!--#endregion-->
<TabItem>
<TabItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Margin="0 0 12 0">
&#xe790;
</TextBlock>
<TextBlock Grid.Column="1" Text="{DynamicResource theme}" />
</Grid>
</TabItem.Header>
<Border Padding=" 0 0 0 0 ">
<ScrollViewer ScrollViewer.CanContentScroll="False"
ui:ScrollViewerHelper.AutoHideScrollBars="{Binding AutoHideScrollBar, Mode=OneWay}"
Margin="0,0,0,0" Background="#f3f3f3" Padding="6 0 24 0">
<Grid Margin="0 0 0 0" Background="#f3f3f3">
<Grid.RowDefinitions>
<RowDefinition Height="0" />
<RowDefinition Height="350" />
<RowDefinition />
<RowDefinition />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Padding="5 18 0 0" Grid.Row="0">
<TextBlock Text="{DynamicResource theme}" TextAlignment="left" FontSize="30"
Margin="0 5 0 5" />
</Border>
<StackPanel Background="{Binding PreviewBackground}" Grid.Row="1" Margin="0">
<StackPanel Orientation="Horizontal" Margin="0 30 0 0"
HorizontalAlignment="Center" VerticalAlignment="Center">
<Border Width="500" Style="{DynamicResource WindowBorderStyle}">
<Border Style="{DynamicResource WindowRadius}">
<Border.Clip>
<MultiBinding Converter="{StaticResource BorderClipConverter}">
<Binding Path="ActualWidth" RelativeSource="{RelativeSource Self}" />
<Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}" />
<Binding Path="CornerRadius" RelativeSource="{RelativeSource Self}" />
</MultiBinding>
</Border.Clip>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="54" />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Border Grid.Row="0">
<TextBox
Text="{DynamicResource hiThere}" IsReadOnly="True"
Style="{DynamicResource QueryBoxStyle}" />
</Border>
<Canvas Style="{DynamicResource SearchIconPosition}">
<Path Data="{DynamicResource SearchIconImg}"
Style="{DynamicResource SearchIconStyle}" Margin="0"
Stretch="Fill" />
</Canvas>
<Border Margin="0 0 0 0" Grid.Row="1">
<Rectangle Width="Auto" HorizontalAlignment="Stretch"
Style="{DynamicResource SeparatorStyle}"
Visibility="visible" />
</Border>
<ContentControl Grid.Row="2">
<flowlauncher:ResultListBox
DataContext="{Binding PreviewResults, Mode=OneTime}"
Visibility="Visible" />
</ContentControl>
</Grid>
</Border>
</Border>
</StackPanel>
</StackPanel>
<StackPanel Grid.Row="2" VerticalAlignment="Top">
<Border Style="{DynamicResource SettingGroupBox}" Margin="0 12 0 0">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource queryWindowShadowEffect}"
Style="{DynamicResource SettingTitleLabel}" />
<TextBlock Text="{DynamicResource shadowEffectCPUUsage}"
Style="{DynamicResource SettingSubTitleLabel}" />
</StackPanel>
<ui:ToggleSwitch IsOn="{Binding DropShadowEffect, Mode=TwoWay}" Width="80"
Grid.Column="2" Grid.Row="0" Margin="0 0 18 0" />
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Grid.Column="0" VerticalAlignment="Center" Margin="24 0 16 0">
&#xeb91;
</TextBlock>
</ItemsControl>
</Border>
</StackPanel>
<StackPanel Grid.Row="3">
<Border Style="{DynamicResource SettingGroupBox}" Margin="0 8 0 0" Padding="0"
HorizontalAlignment="Stretch">
<ListBox ItemsSource="{Binding Themes}" SelectedItem="{Binding SelectedTheme}"
ui:ScrollViewerHelper.AutoHideScrollBars="True"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Disabled" Background="#ffffff"
Padding="18" HorizontalAlignment="Center"
HorizontalContentAlignment="Center">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Background" Value="#cccccc" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="Margin" Value="12 8 12 8" />
<Setter Property="BorderBrush" Value="#cccccc" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Margin" Value="12 8 12 8" />
<Setter Property="Foreground" Value="#3E99D1" />
</Trigger>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Background" Value="#f3f3f3" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="Margin" Value="12 8 12 8" />
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.Template>
<!-- For Scroll Wheel inside listbox area -->
<ControlTemplate>
<ItemsPresenter />
</ControlTemplate>
</ListBox.Template>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="40" Width="Auto" Margin="0 0 0 0">
<TextBlock Text="{Binding}" Margin="0" HorizontalAlignment="Center"
VerticalAlignment="Center" Focusable="True" FontSize="13"
TextWrapping="Wrap" Padding="10" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel HorizontalAlignment="Right" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</Border>
<Border>
<TextBlock DockPanel.Dock="Top" Margin="10" HorizontalAlignment="Right">
<Hyperlink NavigateUri="{Binding Theme, Mode=OneWay}"
RequestNavigate="OnRequestNavigate">
<Run Text="{DynamicResource browserMoreThemes}" />
</Hyperlink>
</TextBlock>
</Border>
</StackPanel>
<StackPanel Grid.Row="4" Margin="0 0 0 10" Orientation="Vertical">
<Border Style="{DynamicResource SettingGroupBox}" Padding="0" CornerRadius="5"
Margin="0 30 0 0">
<StackPanel Orientation="Vertical">
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource useGlyphUI}"
Style="{DynamicResource SettingTitleLabel}" />
<TextBlock Text="{DynamicResource useGlyphUIEffect}"
Style="{DynamicResource SettingSubTitleLabel}" />
</StackPanel>
<ui:ToggleSwitch IsOn="{Binding UseGlyphIcons, Mode=TwoWay}" Width="80"
Grid.Column="2" Grid.Row="0" Margin="0 0 18 0" />
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Grid.Column="0" VerticalAlignment="Center" Margin="24 0 16 0">
&#xf6b8;
</TextBlock>
</ItemsControl>
</Border>
<Separator BorderBrush="#e5e5e5" BorderThickness="1" Width="Auto" />
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource queryBoxFont}"
VerticalAlignment="Center" />
<StackPanel Orientation="Horizontal" Grid.Column="2" Margin="0 0 20 0">
<ComboBox ItemsSource="{Binding Source={StaticResource SortedFonts}}"
SelectedItem="{Binding SelectedQueryBoxFont}"
HorizontalAlignment="Left" VerticalAlignment="Top"
Width="180" Margin="20 0 0 0" />
<ComboBox ItemsSource="{Binding SelectedQueryBoxFont.FamilyTypefaces}"
SelectedItem="{Binding SelectedQueryBoxFontFaces}"
HorizontalAlignment="Left" VerticalAlignment="Top"
Width="130" Margin="10 0 0 0">
<ComboBox.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding AdjustedFaceNames}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Grid.Column="0" VerticalAlignment="Center" Margin="24 0 16 0">
&#xe990;
</TextBlock>
</ItemsControl>
</Border>
<Separator BorderBrush="#e5e5e5" BorderThickness="1" Width="Auto" />
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource resultItemFont}"
VerticalAlignment="Center" />
<StackPanel Orientation="Horizontal" Grid.Column="2" Margin="0 0 20 0">
<ComboBox ItemsSource="{Binding Source={StaticResource SortedFonts}}"
SelectedItem="{Binding SelectedResultFont}"
HorizontalAlignment="Left" VerticalAlignment="Top"
Width="180" Margin="20 -2 0 0" />
<ComboBox ItemsSource="{Binding SelectedResultFont.FamilyTypefaces}"
SelectedItem="{Binding SelectedResultFontFaces}"
HorizontalAlignment="Left" VerticalAlignment="Top"
Width="130" Margin="10 -2 0 0">
<ComboBox.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding AdjustedFaceNames}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Grid.Column="0" VerticalAlignment="Center" Margin="24 0 16 0">
&#xe8fd;
</TextBlock>
</ItemsControl>
</Border>
</StackPanel>
</Border>
<StackPanel>
<Border Style="{DynamicResource SettingGroupBox}" Margin="0 12 0 18">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="Theme Folder" Style="{DynamicResource SettingTitleLabel}" />
</StackPanel>
<Button DockPanel.Dock="Top" Margin="0,0,18,0" Width="180"
HorizontalAlignment="Center"
Click="OpenPluginFolder" Grid.Column="2">
Open Theme Folder
</Button>
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Grid.Column="0" VerticalAlignment="Center" Margin="24 0 16 0">
&#xe838;
</TextBlock>
</ItemsControl>
</Border>
</StackPanel>
</StackPanel>
</Grid>
</ScrollViewer>
</Border>
</TabItem>
<TabItem>
<TabItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Margin="0 0 12 0">
&#xe92e;
</TextBlock>
<TextBlock Grid.Column="1" Text="{DynamicResource hotkey}" />
</Grid>
</TabItem.Header>
<ScrollViewer ScrollViewer.CanContentScroll="False"
ui:ScrollViewerHelper.AutoHideScrollBars="{Binding AutoHideScrollBar, Mode=OneWay}"
Margin="0,0,0,0" Background="#f3f3f3" Padding="0 0 6 0">
<Border Background="#f3f3f3">
<Grid Margin="5 18 18 10">
<Grid.RowDefinitions>
<RowDefinition Height="43" />
<RowDefinition Height="80" />
<RowDefinition Height="150" />
<RowDefinition Height="50" />
<RowDefinition Height="250" />
<RowDefinition Height="70" />
</Grid.RowDefinitions>
<TextBlock Text="{DynamicResource hotkey}" Grid.Row="0" TextAlignment="left" FontSize="30"
Margin="0 5 0 2" />
<StackPanel Grid.Row="1">
<Border Style="{DynamicResource SettingGroupBox}" Margin="0 12 0 0">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}">
<TextBlock Text="{DynamicResource flowlauncherHotkey}"
Style="{DynamicResource SettingTitleLabel}" />
<TextBlock Text="Choose what you want"
Style="{DynamicResource SettingSubTitleLabel}" />
</StackPanel>
<flowlauncher:HotkeyControl x:Name="HotkeyControl" HotkeyChanged="OnHotkeyChanged"
Loaded="OnHotkeyControlLoaded" Height="35"
Grid.Column="2" Grid.Row="0" Width="300"
Margin="0 0 0 0" HorizontalAlignment="Right"
HorizontalContentAlignment="Right" />
<TextBlock FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Grid.Column="0" VerticalAlignment="Center" Margin="24 0 16 0">
&#xeda7;
</TextBlock>
</ItemsControl>
</Border>
</StackPanel>
<Border Style="{DynamicResource SettingGroupBox}" Padding="0" CornerRadius="5"
Margin="0 12 0 0" Grid.Row="2">
<StackPanel Orientation="Vertical">
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource openResultModifiers}"
VerticalAlignment="Center" />
<ComboBox Margin="0 0 18 0" Width="120"
ItemsSource="{Binding OpenResultModifiersList}"
SelectedItem="{Binding Settings.OpenResultModifiers}" FontSize="14"
Grid.Column="2" />
</ItemsControl>
</Border>
<Separator BorderBrush="#e5e5e5" BorderThickness="1" Width="Auto" />
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<StackPanel Style="{StaticResource TextPanel}" Grid.Column="1">
<TextBlock Text="{DynamicResource showOpenResultHotkey}"
VerticalAlignment="Center" />
<TextBlock Text="Display Hotkey in Query Result "
Style="{DynamicResource SettingSubTitleLabel}" />
</StackPanel>
<CheckBox IsChecked="{Binding Settings.ShowOpenResultHotkey}"
Style="{DynamicResource SideControlCheckBox}" />
</ItemsControl>
</Border>
</StackPanel>
</Border>
<TextBlock Grid.Row="3" VerticalAlignment="Center" Margin="0 0 12 2"
Text="{DynamicResource customQueryHotkey}" FontSize="14" Padding="0 12 0 0 " />
<ListView Grid.Row="4" ItemsSource="{Binding Settings.CustomPluginHotkeys}"
SelectedItem="{Binding SelectedCustomPluginHotkey}"
Style="{StaticResource {x:Static GridView.GridViewStyleKey}}"
BorderBrush="DarkGray" BorderThickness="1" Background="#ffffff"
Margin="0 0 0 0">
<ListView.View>
<GridView>
<GridViewColumn Header="{DynamicResource hotkey}" Width="180">
<GridViewColumn.CellTemplate>
<DataTemplate DataType="userSettings:CustomPluginHotkey">
<TextBlock Text="{Binding Hotkey}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="{DynamicResource customQuery}" Width="540">
<GridViewColumn.CellTemplate>
<DataTemplate DataType="userSettings:CustomPluginHotkey">
<TextBlock Text="{Binding ActionKeyword}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
<StackPanel Grid.Row="5" HorizontalAlignment="Right" VerticalAlignment="Top"
Orientation="Horizontal" Width="350" Margin="0">
<Button Click="OnDeleteCustomHotkeyClick" Width="100"
Margin="10" Content="{DynamicResource delete}" />
<Button Click="OnnEditCustomHotkeyClick" Width="100" Margin="10"
Content="{DynamicResource edit}" />
<Button Click="OnAddCustomeHotkeyClick" Width="100" Margin="10 10 0 10"
Content="{DynamicResource add}" />
</StackPanel>
</Grid>
</Border>
</ScrollViewer>
</TabItem>
<TabItem>
<TabItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Margin="0 0 12 0">
&#xec27;
</TextBlock>
<TextBlock Grid.Column="1" Text="{DynamicResource proxy}" />
</Grid>
</TabItem.Header>
<ScrollViewer ScrollViewer.CanContentScroll="False"
ui:ScrollViewerHelper.AutoHideScrollBars="{Binding AutoHideScrollBar, Mode=OneWay}"
Margin="0,0,0,0" Background="#f3f3f3" Padding="5 0 24 0">
<Border Background="#f3f3f3">
<StackPanel>
<Border Margin="0 18 0 0">
<TextBlock Text="{DynamicResource proxy}" Grid.Row="0" TextAlignment="left" FontSize="30"
Margin="0 5 0 0" />
</Border>
<Border Style="{DynamicResource SettingGroupBox}" Padding="0" CornerRadius="5"
Margin="0 10 0 0">
<StackPanel Orientation="Vertical">
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource enableProxy}"
VerticalAlignment="Center" />
<CheckBox IsChecked="{Binding Settings.Proxy.Enabled}"
Style="{DynamicResource SideControlCheckBox}" />
</ItemsControl>
</Border>
<Separator BorderBrush="#e5e5e5" BorderThickness="1" Width="Auto" />
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource server}"
VerticalAlignment="Center" Margin="22 0 0 0" />
<TextBox Text="{Binding Settings.Proxy.Server}" Grid.Column="2" Padding="5"
Margin="0 0 16 0" IsEnabled="{Binding Settings.Proxy.Enabled}"
Width="300" />
</ItemsControl>
</Border>
<Separator BorderBrush="#e5e5e5" BorderThickness="1" Width="Auto" />
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource port}"
VerticalAlignment="Center" Margin="22 0 0 0" />
<TextBox
Text="{Binding Settings.Proxy.Port, TargetNullValue={x:Static sys:String.Empty} }"
Grid.Column="2" IsEnabled="{Binding Settings.Proxy.Enabled}" Width="100"
Margin="0 0 16 0" />
</ItemsControl>
</Border>
<Separator BorderBrush="#e5e5e5" BorderThickness="1" Width="Auto" />
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource userName}"
VerticalAlignment="Center" Margin="22 0 0 0" />
<TextBox Text="{Binding Settings.Proxy.UserName}" Grid.Column="2" Padding="5"
IsEnabled="{Binding Settings.Proxy.Enabled}" Width="200"
Margin="0 0 16 0" />
</ItemsControl>
</Border>
<Separator BorderBrush="#e5e5e5" BorderThickness="1" Width="Auto" />
<Border Style="{DynamicResource SettingGroupBox}" Margin="0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource password}"
VerticalAlignment="Center" Margin="22 0 0 0" />
<TextBox Text="{Binding Settings.Proxy.Password}" Grid.Column="2" Padding="5"
IsEnabled="{Binding Settings.Proxy.Enabled}" Width="200"
Margin="0 0 16 0" />
</ItemsControl>
</Border>
</StackPanel>
</Border>
<Border Style="{DynamicResource SettingGroupBox}" Margin="0 12 0 0" BorderThickness="0">
<ItemsControl Style="{StaticResource SettingGrid}">
<TextBlock Grid.Column="1" Text="{DynamicResource testProxy}"
VerticalAlignment="Center" />
<Button Content="{DynamicResource testProxy}"
IsEnabled="{Binding Settings.Proxy.Enabled}" HorizontalAlignment="Right"
Margin="0 0 16 0" Width="150" Click="OnTestProxyClick" Grid.Column="2" />
</ItemsControl>
</Border>
</StackPanel>
</Border>
</ScrollViewer>
</TabItem>
<TabItem>
<TabItem.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontFamily="/Resources/#Segoe Fluent Icons" FontSize="20"
Margin="0 0 12 0">
&#xe946;
</TextBlock>
<TextBlock Grid.Column="1" Text="{DynamicResource about}" />
</Grid>
</TabItem.Header>
<Border Background="#f3f3f3">
<Grid Height="400" Margin="65,0">
<!--<TextBlock Text="{DynamicResource about}" Grid.Row="0" TextAlignment="left" FontSize="30" Margin="0 5 0 5"/> -->
<Grid.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Margin" Value="10, 25, 0, 0" />
<Setter Property="FontSize" Value="14" />
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.ColumnSpan="2" Text="{Binding ActivatedTimes, Mode=OneWay}"
FontSize="12" />
<TextBlock Grid.Row="1" Grid.Column="0" Text="{DynamicResource website}" />
<TextBlock Grid.Row="1" Grid.Column="1" HorizontalAlignment="Left">
<Hyperlink NavigateUri="{Binding Website, Mode=OneWay}" RequestNavigate="OnRequestNavigate">
<Run Text="{Binding Website, Mode=OneWay}" />
</Hyperlink>
</TextBlock>
<TextBlock Grid.Row="2" Grid.Column="0" Text="Version" />
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding Version}" />
<TextBlock Grid.Row="3" Grid.Column="0" Text="{DynamicResource releaseNotes}" />
<TextBlock Grid.Row="3" Grid.Column="1">
<Hyperlink NavigateUri="{Binding ReleaseNotes, Mode=OneWay}"
RequestNavigate="OnRequestNavigate">
<Run Text="{Binding ReleaseNotes, Mode=OneWay}" />
</Hyperlink>
</TextBlock>
<TextBlock Grid.Row="4" Grid.Column="0" Text="{DynamicResource documentation}" />
<TextBlock Grid.Row="4" Grid.Column="1">
<Hyperlink NavigateUri="{Binding Documentation, Mode=OneWay}"
RequestNavigate="OnRequestNavigate">
<Run Text="{Binding Documentation, Mode=OneWay}" />
</Hyperlink>
</TextBlock>
<Button Grid.Row="5" Grid.Column="0"
Content="{DynamicResource checkUpdates}" Click="OnCheckUpdates"
HorizontalAlignment="Left" Margin="10 30 10 10" />
</Grid>
</Border>
</TabItem>
</TabControl>
</Window>