Flow.Launcher/Flow.Launcher/SettingPages/Views/SettingsPaneTheme.xaml
2025-06-27 19:10:43 +09:00

794 lines
40 KiB
XML

<ui:Page
x:Class="Flow.Launcher.SettingPages.Views.SettingsPaneTheme"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cc="clr-namespace:Flow.Launcher.Resources.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ext="clr-namespace:Flow.Launcher.Resources.MarkupExtensions"
xmlns:flowlauncher="clr-namespace:Flow.Launcher"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.modernwpf.com/2019"
xmlns:userSettings="clr-namespace:Flow.Launcher.Infrastructure.UserSettings;assembly=Flow.Launcher.Infrastructure"
xmlns:viewModels="clr-namespace:Flow.Launcher.SettingPages.ViewModels"
Title="Theme"
d:DataContext="{d:DesignInstance viewModels:SettingsPaneThemeViewModel}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<ui:Page.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/Resources/SettingWindowStyle.xaml" />
</ResourceDictionary.MergedDictionaries>
<CollectionViewSource x:Key="SortedFonts" Source="{Binding Source={x:Static Fonts.SystemFontFamilies}}" />
</ResourceDictionary>
</ui:Page.Resources>
<ScrollViewer
Padding="6 0 24 0"
CanContentScroll="False"
FontSize="14"
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.ScrollUnit="Pixel">
<StackPanel>
<!-- Page title -->
<TextBlock
Margin="5 23 0 5"
FontSize="30"
Style="{StaticResource PageTitle}"
Text="{DynamicResource appearance}"
TextAlignment="left"
Visibility="Collapsed" />
<!-- Theme Preview and Editor -->
<Grid>
<Grid.Style>
<Style x:Name="PreviewArea" TargetType="Grid">
<Setter Property="MaxHeight" Value="380" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=Editor, Path=IsChecked}" Value="True">
<Setter Property="MaxHeight" Value="550" />
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
<Grid.Resources>
<!-- Style for the second ColumnDefinition -->
<Style x:Key="SecondColumnStyle" TargetType="ColumnDefinition">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=Editor, Path=IsChecked}" Value="False">
<Setter Property="Width" Value="0" />
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=Editor, Path=IsChecked}" Value="True">
<Setter Property="Width" Value="2*" />
<Setter Property="MinWidth" Value="160" />
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="8*" />
<ColumnDefinition MaxWidth="250" Style="{StaticResource SecondColumnStyle}" />
</Grid.ColumnDefinitions>
<!-- Theme Size Editor -->
<Border
Grid.Column="1"
Padding="0 0 0 0"
Background="{DynamicResource Color00B}"
BorderBrush="{DynamicResource Color03B}"
BorderThickness="1"
CornerRadius="0 6 6 0">
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=Editor, Path=IsChecked}" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<ScrollViewer
ScrollViewer.CanContentScroll="False"
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.ScrollUnit="Pixel">
<StackPanel>
<Slider
Name="WindowHeightValue"
Margin="12 8 12 8"
VerticalAlignment="Center"
ui:ControlHelper.Header="{DynamicResource SearchBarHeight}"
AutoToolTipPlacement="TopLeft"
IsMoveToPointEnabled="True"
IsSnapToTickEnabled="True"
Maximum="60"
Minimum="20"
TickFrequency="2"
Value="{Binding WindowHeightSize, Mode=TwoWay}" />
<Separator
Width="Auto"
BorderThickness="1"
Style="{StaticResource SettingSeparatorStyle}" />
<Slider
Name="QueryBoxFontSize"
Margin="12 8 12 0"
VerticalAlignment="Center"
ui:ControlHelper.Header="{DynamicResource queryBoxFont}"
AutoToolTipPlacement="TopLeft"
IsMoveToPointEnabled="True"
IsSnapToTickEnabled="True"
Maximum="{Binding ElementName=WindowHeightValue, Path=Value, UpdateSourceTrigger=PropertyChanged}"
Minimum="10"
TickFrequency="1"
Value="{Binding QueryBoxFontSize, Mode=TwoWay}" />
<ComboBox
Name="QueryBoxFontComboBox"
Margin="12 4 12 0"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
IsSynchronizedWithCurrentItem="False"
ItemsSource="{Binding Source={StaticResource SortedFonts}}"
SelectedItem="{Binding SelectedQueryBoxFont}" />
<ComboBox
Name="QueryBoxFontStyleComboBox"
Margin="12 8 12 8"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
ItemsSource="{Binding SelectedQueryBoxFont.FamilyTypefaces}"
SelectedItem="{Binding SelectedQueryBoxFontFaces}">
<ComboBox.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding AdjustedFaceNames}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Separator
Width="Auto"
BorderThickness="1"
Style="{StaticResource SettingSeparatorStyle}" />
<Slider
Name="ItemHeightValue"
Margin="12 8 12 0"
VerticalAlignment="Stretch"
ui:ControlHelper.Header="{DynamicResource ItemHeight}"
AutoToolTipPlacement="TopLeft"
IsMoveToPointEnabled="True"
IsSnapToTickEnabled="True"
Maximum="100"
Minimum="30"
TickFrequency="2"
Value="{Binding ItemHeightSize, Mode=TwoWay}" />
<Separator
Width="Auto"
BorderThickness="1"
Style="{StaticResource SettingSeparatorStyle}" />
<Slider
Name="ResultItemFontSize"
Margin="12 8 12 0"
VerticalAlignment="Center"
ui:ControlHelper.Header="{DynamicResource resultItemFont}"
AutoToolTipPlacement="TopLeft"
IsMoveToPointEnabled="True"
IsSnapToTickEnabled="True"
Maximum="80"
Minimum="10"
TickFrequency="1"
Value="{Binding ResultItemFontSize, Mode=TwoWay}" />
<ComboBox
Name="ResultItemFontComboBox"
Margin="12 4 12 0"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
IsSynchronizedWithCurrentItem="False"
ItemsSource="{Binding Source={StaticResource SortedFonts}}"
SelectedItem="{Binding SelectedResultFont}" />
<ComboBox
Name="ResultItemFontStyleComboBox"
Margin="12 4 12 8"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
ItemsSource="{Binding SelectedResultFont.FamilyTypefaces}"
SelectedItem="{Binding SelectedResultFontFaces}">
<ComboBox.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding AdjustedFaceNames}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Separator
Width="Auto"
BorderThickness="1"
Style="{StaticResource SettingSeparatorStyle}" />
<Slider
Name="ResultSubItemFontSize"
Margin="12 8 12 0"
VerticalAlignment="Center"
ui:ControlHelper.Header="{DynamicResource resultSubItemFont}"
AutoToolTipPlacement="TopLeft"
IsMoveToPointEnabled="True"
IsSnapToTickEnabled="True"
Maximum="80"
Minimum="6"
TickFrequency="1"
Value="{Binding ResultSubItemFontSize, Mode=TwoWay}" />
<ComboBox
Name="ResultSubItemFontComboBox"
Margin="12 4 12 0"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
IsSynchronizedWithCurrentItem="False"
ItemsSource="{Binding Source={StaticResource SortedFonts}}"
SelectedItem="{Binding SelectedResultSubFont}" />
<ComboBox
Name="ResultSubItemFontStyleComboBox"
Margin="12 4 12 8"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
ItemsSource="{Binding SelectedResultSubFont.FamilyTypefaces}"
SelectedItem="{Binding SelectedResultSubFontFaces}">
<ComboBox.ItemTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding AdjustedFaceNames}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Separator
Width="Auto"
BorderThickness="1"
Style="{StaticResource SettingSeparatorStyle}" />
<Button
Margin="12 8 12 4"
HorizontalAlignment="Stretch"
Command="{Binding ImportCommand}"
Content="{DynamicResource ImportThemeSize}"
ToolTip="{DynamicResource ImportThemeSizeToolTip}" />
<Button
Margin="12 4 12 12"
HorizontalAlignment="Stretch"
Command="{Binding ResetCommand}"
Content="{DynamicResource resetCustomize}"
ToolTip="{DynamicResource resetCustomizeToolTip}" />
</StackPanel>
</ScrollViewer>
</Border>
<!-- Theme preview -->
<Border
Grid.Column="0"
Background="{Binding PreviewBackground}"
SnapsToDevicePixels="True"
UseLayoutRounding="True">
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="6 0 0 6" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=Editor, Path=IsChecked}" Value="False">
<Setter Property="CornerRadius" Value="6" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<DockPanel LastChildFill="True">
<StackPanel
Width="Auto"
Background="Transparent"
DockPanel.Dock="Right"
Orientation="Horizontal">
<ToggleButton
x:Name="Editor"
Width="36"
Height="36"
Margin="8"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Style="{DynamicResource CustomToggleButtonStyle}"
ToolTip="{DynamicResource CustomizeToolTip}">
<ui:FontIcon
FontSize="14"
Foreground="{DynamicResource Color05B}"
Glyph="&#xe70f;" />
</ToggleButton>
</StackPanel>
<StackPanel VerticalAlignment="Center" DockPanel.Dock="Left">
<Border
Width="400"
Margin="40 30 0 10"
SnapsToDevicePixels="True"
Style="{DynamicResource PreviewWindowBorderStyle}">
<Border BorderThickness="0" Style="{DynamicResource WindowRadius}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Border Grid.Row="0">
<TextBox
x:Name="QueryTextBox"
Height="{Binding WindowHeightSize, Mode=TwoWay}"
FontSize="{Binding QueryBoxFontSize, Mode=TwoWay}"
IsHitTestVisible="False"
IsReadOnly="True"
Style="{DynamicResource QueryBoxStyle}"
Text="{DynamicResource hiThere}" />
</Border>
<StackPanel
x:Name="ClockPanel"
IsHitTestVisible="False"
Style="{DynamicResource ClockPanel}"
Visibility="Visible">
<!-- Because these two textblock follow SettingWindowFont, we need to revert their font family explictly -->
<TextBlock
x:Name="ClockBox"
FontFamily="{Binding ClockPanelFont, Mode=OneTime}"
Style="{DynamicResource ClockBox}"
Text="{Binding ClockText}"
Visibility="{Binding UseClock, Converter={StaticResource BoolToVisibilityConverter}}" />
<TextBlock
x:Name="DateBox"
FontFamily="{Binding ClockPanelFont, Mode=OneTime}"
Style="{DynamicResource DateBox}"
Text="{Binding DateText}"
Visibility="{Binding UseDate, Converter={StaticResource BoolToVisibilityConverter}}" />
</StackPanel>
<Canvas Style="{DynamicResource SearchIconPosition}">
<Path
Margin="0"
Data="{DynamicResource SearchIconImg}"
Stretch="Fill"
Style="{DynamicResource SearchIconStyle}" />
</Canvas>
<Border Grid.Row="1" Margin="0 0 0 0">
<Rectangle
Width="Auto"
HorizontalAlignment="Stretch"
Style="{DynamicResource SeparatorStyle}"
Visibility="Visible" />
</Border>
<ContentControl Grid.Row="2">
<flowlauncher:ResultListBox
x:Name="ResultListBox"
DataContext="{Binding PreviewResults, Mode=OneTime}"
IsHitTestVisible="False"
Visibility="Visible" />
</ContentControl>
<Border x:Name="ResultContextMenu" Visibility="Collapsed" />
<Border x:Name="History" Visibility="Collapsed" />
</Grid>
</Border>
</Border>
<Border
Margin="0 0 0 30"
Padding="8 4 8 4"
HorizontalAlignment="Center"
Background="#89000000"
CornerRadius="4">
<TextBlock
FontSize="10"
Foreground="#62FFFFFF"
Text="{DynamicResource BackdropInfo}" />
</Border>
</StackPanel>
</DockPanel>
</Border>
</Grid>
<!-- Theme -->
<cc:ExCard
x:Name="ThemeCard"
Title="{DynamicResource theme}"
Margin="0 8 0 0"
Icon="&#xe790;">
<cc:ExCard.SideContent>
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
<ui:PathIcon
Width="12"
Margin="0 1 8 0"
VerticalAlignment="Center"
Data="{DynamicResource circle_half_stroke_solid}"
ToolTip="{DynamicResource TypeIsDarkToolTip}"
ToolTipService.InitialShowDelay="0"
Visibility="{Binding SelectedTheme.IsDark, Converter={StaticResource BoolToVisibilityConverter}}" />
<ui:FontIcon
Margin="0 2 8 0"
VerticalAlignment="Center"
FontSize="12"
Glyph="&#xEB42;"
ToolTip="{DynamicResource TypeHasBlurToolTip}"
ToolTipService.InitialShowDelay="0"
Visibility="{Binding SelectedTheme.HasBlur, Converter={StaticResource BoolToVisibilityConverter}}" />
<TextBlock Text="{Binding SelectedTheme.Name}" />
</StackPanel>
</cc:ExCard.SideContent>
<ListBox
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
Background="Transparent"
ItemContainerStyle="{DynamicResource ThemeList}"
ItemsSource="{Binding Themes}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
SelectedValue="{Binding SelectedTheme}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid
Width="Auto"
Height="34"
Margin="0"
Focusable="True">
<StackPanel Margin="14 2 14 0" Orientation="Horizontal">
<TextBlock
Margin="0 0 0 0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="{Binding Name}"
TextWrapping="Wrap" />
<ui:PathIcon
Width="12"
Margin="8 1 0 0"
VerticalAlignment="Center"
Data="{DynamicResource circle_half_stroke_solid}"
ToolTip="{DynamicResource TypeIsDarkToolTip}"
ToolTipService.InitialShowDelay="0"
Visibility="{Binding IsDark, Converter={StaticResource BoolToVisibilityConverter}}" />
<ui:FontIcon
Margin="8 1 0 0"
VerticalAlignment="Center"
FontSize="12"
Glyph="&#xEB42;"
ToolTip="{DynamicResource TypeHasBlurToolTip}"
ToolTipService.InitialShowDelay="0"
Visibility="{Binding HasBlur, Converter={StaticResource BoolToVisibilityConverter}}" />
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.Template>
<ControlTemplate>
<Border
Padding="18 12 18 12"
BorderBrush="{DynamicResource Color03B}"
BorderThickness="0 1 0 0">
<ItemsPresenter />
</Border>
</ControlTemplate>
</ListBox.Template>
</ListBox>
</cc:ExCard>
<cc:CardGroup Margin="0 10 0 0">
<!-- Backdrop effect -->
<cc:Card
Title="{DynamicResource BackdropType}"
Margin="0 0 0 0"
Icon="&#xeb42;"
Sub="{Binding BackdropSubText}"
Type="First">
<ComboBox
MinWidth="160"
VerticalAlignment="Center"
DisplayMemberPath="Display"
FontSize="14"
IsEnabled="{Binding IsBackdropEnabled}"
ItemsSource="{Binding BackdropTypesList}"
SelectedValue="{Binding BackdropType, Mode=TwoWay}"
SelectedValuePath="Value" />
</cc:Card>
<!-- Drop shadow effect -->
<cc:Card
Title="{DynamicResource queryWindowShadowEffect}"
Margin="0 0 0 0"
Icon="&#xeb91;"
Type="Last">
<ui:ToggleSwitch
IsEnabled="{Binding IsDropShadowEnabled}"
IsOn="{Binding DropShadowEffect}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
</cc:CardGroup>
<cc:HyperLink
Margin="10"
HorizontalAlignment="Right"
Text="{DynamicResource browserMoreThemes}"
Uri="{Binding LinkThemeGallery}" />
<!-- Fixed size -->
<cc:ExCard
Title="{DynamicResource KeepMaxResults}"
Margin="0 20 0 0"
Icon="&#xE744;"
Sub="{DynamicResource KeepMaxResultsToolTip}">
<cc:ExCard.SideContent>
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
<ui:ToggleSwitch
IsOn="{Binding KeepMaxResults}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</StackPanel>
</cc:ExCard.SideContent>
<cc:Card
Title="{DynamicResource maxShowResults}"
Sub="{DynamicResource maxShowResultsToolTip}"
Type="InsideFit">
<ComboBox
Width="100"
ItemsSource="{Binding MaxResultsRange}"
SelectedItem="{Binding Settings.MaxResultsToShow}" />
</cc:Card>
</cc:ExCard>
<!-- Time and date -->
<cc:CardGroup Margin="0 14 0 0">
<cc:Card
Title="{DynamicResource Clock}"
Icon="&#xec92;"
Type="First">
<StackPanel Orientation="Horizontal">
<TextBlock
VerticalAlignment="Center"
FontSize="14"
Foreground="{DynamicResource Color04B}"
Text="{Binding ClockText}" />
<ComboBox
MinWidth="180"
Margin="10 0 18 0"
VerticalAlignment="Center"
FontSize="14"
ItemsSource="{Binding TimeFormatList}"
SelectedItem="{Binding TimeFormat}" />
<ui:ToggleSwitch
IsOn="{Binding UseClock}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</StackPanel>
</cc:Card>
<cc:Card
Title="{DynamicResource Date}"
Icon="&#xe787;"
Type="Last">
<StackPanel Orientation="Horizontal">
<TextBlock
VerticalAlignment="Center"
FontSize="14"
Foreground="{DynamicResource Color04B}"
Text="{Binding DateText}" />
<ComboBox
MinWidth="180"
Margin="10 0 18 0"
VerticalAlignment="Center"
FontSize="14"
ItemsSource="{Binding DateFormatList}"
SelectedItem="{Binding DateFormat}" />
<ui:ToggleSwitch
IsOn="{Binding UseDate}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</StackPanel>
</cc:Card>
</cc:CardGroup>
<!-- Placeholder text -->
<cc:ExCard
Title="{DynamicResource ShowPlaceholder}"
Margin="0 4 0 0"
Icon="&#xea80;"
Sub="{DynamicResource ShowPlaceholderTip}">
<cc:ExCard.SideContent>
<ui:ToggleSwitch
IsOn="{Binding ShowPlaceholder}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:ExCard.SideContent>
<cc:Card
Title="{DynamicResource PlaceholderText}"
Sub="{Binding PlaceholderTextTip}"
Type="InsideFit">
<TextBox
MinWidth="150"
Text="{Binding PlaceholderText}"
TextWrapping="NoWrap" />
</cc:Card>
</cc:ExCard>
<!-- Animation -->
<cc:ExCard
Title="{DynamicResource Animation}"
Margin="0 18 0 0"
Icon="&#xedb5;"
Sub="{DynamicResource AnimationTip}">
<cc:ExCard.SideContent>
<ui:ToggleSwitch
IsOn="{Binding UseAnimation}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:ExCard.SideContent>
<cc:Card
Title="{DynamicResource AnimationSpeed}"
Sub="{DynamicResource AnimationSpeedTip}"
Type="InsideFit">
<StackPanel Orientation="Horizontal">
<ComboBox
MinWidth="160"
VerticalAlignment="Center"
DisplayMemberPath="Display"
FontSize="14"
ItemsSource="{Binding AnimationSpeeds}"
SelectedValue="{Binding Settings.AnimationSpeed}"
SelectedValuePath="Value" />
<TextBox
MinWidth="80"
Margin="18 0 0 0"
Text="{Binding Settings.CustomAnimationLength}"
TextWrapping="NoWrap"
Visibility="{ext:VisibleWhen {Binding Settings.AnimationSpeed},
IsEqualTo={x:Static userSettings:AnimationSpeeds.Custom}}" />
</StackPanel>
</cc:Card>
</cc:ExCard>
<!-- SFX -->
<cc:ExCard
Title="{DynamicResource SoundEffect}"
Margin="0 4 0 0"
Icon="&#xe7f5;"
Sub="{DynamicResource SoundEffectTip}">
<cc:ExCard.SideContent>
<ui:ToggleSwitch
IsOn="{Binding UseSound}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:ExCard.SideContent>
<cc:Card
Title="{DynamicResource SoundEffectVolume}"
IsEnabled="{Binding EnableVolumeAdjustment}"
Sub="{DynamicResource SoundEffectVolumeTip}"
Type="InsideFit">
<StackPanel Orientation="Horizontal">
<TextBlock
Margin="0 0 8 0"
VerticalAlignment="Center"
Text="{Binding SoundEffectVolume}" />
<Slider
Width="250"
VerticalAlignment="Center"
IsMoveToPointEnabled="True"
IsSnapToTickEnabled="True"
Maximum="100"
Minimum="0"
TickFrequency="1"
Value="{Binding SoundEffectVolume}" />
</StackPanel>
</cc:Card>
</cc:ExCard>
<Border
Name="WMPWarning"
Padding="0 10"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Background="{DynamicResource InfoBarWarningBG}"
BorderBrush="{DynamicResource Color03B}"
BorderThickness="0 1 0 0"
CornerRadius="5 5 5 5"
Visibility="{Binding ShowWMPWarning, Converter={StaticResource BoolToVisibilityConverter}}">
<Grid VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="58" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ui:FontIcon
Grid.Column="0"
Margin="20 0 14 0"
VerticalAlignment="Center"
FontSize="15"
Foreground="{DynamicResource InfoBarWarningIcon}"
Glyph="&#xf167;" />
<TextBlock
Grid.Column="1"
Margin="0 0 0 2"
Padding="0 0 8 0"
HorizontalAlignment="Left"
FontSize="13"
FontWeight="SemiBold"
Foreground="{DynamicResource Color05B}"
Text="{DynamicResource SoundEffectWarning}"
TextWrapping="Wrap" />
</Grid>
</Border>
<!-- Fonts and icons -->
<cc:Card
Title="{DynamicResource useGlyphUI}"
Margin="0 18 0 0"
Icon="&#xf6b8;"
Sub="{DynamicResource useGlyphUIEffect}">
<ui:ToggleSwitch
IsOn="{Binding UseGlyphIcons}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
<!-- Badges -->
<cc:ExCard
Title="{DynamicResource showBadges}"
Margin="0 4 0 0"
Icon="&#xEC1B;"
Sub="{DynamicResource showBadgesToolTip}">
<cc:ExCard.SideContent>
<ui:ToggleSwitch
IsOn="{Binding Settings.ShowBadges}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:ExCard.SideContent>
<cc:Card Title="{DynamicResource showBadgesGlobalOnly}" Type="InsideFit">
<ui:ToggleSwitch
IsOn="{Binding Settings.ShowBadgesGlobalOnly}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
</cc:ExCard>
<!-- Settings color scheme -->
<cc:Card
Title="{DynamicResource ColorScheme}"
Margin="0 14 0 0"
Icon="&#xe793;">
<ComboBox
MinWidth="180"
DisplayMemberPath="Display"
FontSize="14"
ItemsSource="{Binding ColorSchemes}"
SelectedValue="{Binding ColorScheme, Mode=TwoWay}"
SelectedValuePath="Value" />
</cc:Card>
<!-- Theme folder -->
<cc:Card
Title="{DynamicResource ThemeFolder}"
Margin="0 14 0 0"
Icon="&#xe838;">
<Button
MinWidth="180"
Command="{Binding OpenThemesFolderCommand}"
Content="{DynamicResource OpenThemeFolder}" />
</cc:Card>
<!-- How to create theme link -->
<cc:HyperLink
Margin="10 10 10 28"
HorizontalAlignment="Right"
Text="{DynamicResource howToCreateTheme}"
Uri="{Binding LinkHowToCreateTheme}" />
</StackPanel>
</ScrollViewer>
</ui:Page>