<local:NavigablePage
    x:Class="Microsoft.PowerToys.Settings.UI.Views.PowerLauncherPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
    xmlns:converters="using:Microsoft.PowerToys.Settings.UI.Converters"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:i="using:Microsoft.Xaml.Interactivity"
    xmlns:ic="using:Microsoft.Xaml.Interactions.Core"
    xmlns:local="using:Microsoft.PowerToys.Settings.UI.Helpers"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:ptcontrols="using:Microsoft.PowerToys.Common.UI.Controls"
    xmlns:tkcontrols="using:CommunityToolkit.WinUI.Controls"
    xmlns:ui="using:CommunityToolkit.WinUI"
    xmlns:viewModels="using:Microsoft.PowerToys.Settings.UI.ViewModels"
    AutomationProperties.LandmarkType="Main"
    mc:Ignorable="d">

    <local:NavigablePage.Resources>
        <Style x:Key="OptionSeparator" TargetType="Rectangle">
            <Setter Property="Height" Value="1" />
            <Setter Property="HorizontalAlignment" Value="Stretch" />
            <Setter Property="Fill" Value="{ThemeResource CardStrokeColorDefaultBrush}" />
        </Style>

        <converters:RunOptionTemplateSelector
            x:Key="RunOptionTemplateSelector"
            CheckBoxComboBoxTemplate="{StaticResource CheckBoxComboBoxTemplate}"
            CheckBoxMultilineTextBoxTemplate="{StaticResource CheckBoxMultilineTextBoxTemplate}"
            CheckBoxNumberBoxTemplate="{StaticResource CheckBoxNumberBoxTemplate}"
            CheckBoxTemplate="{StaticResource CheckBoxTemplate}"
            CheckBoxTextBoxTemplate="{StaticResource CheckBoxTextBoxTemplate}"
            ComboBoxTemplate="{StaticResource ComboBoxTemplate}"
            EmptyTemplate="{StaticResource EmptyTemplate}"
            MultilineTextBoxTemplate="{StaticResource MultilineTextBoxTemplate}"
            NumberBoxTemplate="{StaticResource NumberBoxTemplate}"
            TextboxTemplate="{StaticResource TextBoxTemplate}" />

        <DataTemplate x:Key="CheckBoxTemplate" x:DataType="viewModels:PluginAdditionalOptionViewModel">
            <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical">
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="1"
                    Padding="0,6,0,12"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    ContentAlignment="Left"
                    CornerRadius="0">
                    <ptcontrols:CheckBoxWithDescriptionControl
                        Margin="56,0,0,0"
                        Description="{x:Bind Path=DisplayDescription}"
                        Header="{x:Bind Path=DisplayLabel}"
                        IsChecked="{x:Bind Value, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <Rectangle Style="{StaticResource OptionSeparator}" />
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="ComboBoxTemplate" x:DataType="viewModels:PluginAdditionalOptionViewModel">
            <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical">
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="56,8,45,8"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    CornerRadius="0"
                    Description="{x:Bind Path=DisplayDescription}"
                    Header="{x:Bind Path=DisplayLabel}">
                    <ComboBox
                        MinWidth="{StaticResource SettingActionControlMinWidth}"
                        AutomationProperties.Name="{x:Bind Path=DisplayLabel}"
                        DisplayMemberPath="Key"
                        ItemsSource="{x:Bind Path=ComboBoxItems}"
                        SelectedValue="{x:Bind ComboBoxValue, Mode=TwoWay}"
                        SelectedValuePath="Value" />
                </tkcontrols:SettingsCard>
                <Rectangle Style="{StaticResource OptionSeparator}" />
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="TextBoxTemplate" x:DataType="viewModels:PluginAdditionalOptionViewModel">
            <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical">
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="56,8,45,8"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    CornerRadius="0"
                    Description="{x:Bind Path=DisplayDescription}"
                    Header="{x:Bind Path=DisplayLabel}">
                    <TextBox
                        MinWidth="{StaticResource SettingActionControlMinWidth}"
                        MaxWidth="450"
                        IsSpellCheckEnabled="False"
                        MaxLength="{x:Bind TextBoxMaxLength, Mode=OneWay}"
                        PlaceholderText="{x:Bind Path=PlaceholderText}"
                        Text="{x:Bind TextValue, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <Rectangle Style="{StaticResource OptionSeparator}" />
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="NumberBoxTemplate" x:DataType="viewModels:PluginAdditionalOptionViewModel">
            <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical">
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="56,8,45,8"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    CornerRadius="0"
                    Description="{x:Bind Path=DisplayDescription}"
                    Header="{x:Bind Path=DisplayLabel}">
                    <NumberBox
                        MinWidth="{StaticResource SettingActionControlMinWidth}"
                        AutomationProperties.Name="{x:Bind Path=DisplayLabel}"
                        LargeChange="{x:Bind NumberBoxLargeChange, Mode=OneWay}"
                        Maximum="{x:Bind NumberBoxMax, Mode=OneWay}"
                        Minimum="{x:Bind NumberBoxMin, Mode=OneWay}"
                        SmallChange="{x:Bind NumberBoxSmallChange, Mode=OneWay}"
                        SpinButtonPlacementMode="Compact"
                        Value="{x:Bind NumberValue, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <Rectangle Style="{StaticResource OptionSeparator}" />
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="MultilineTextBoxTemplate" x:DataType="viewModels:PluginAdditionalOptionViewModel">
            <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical">
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="56,8,45,8"
                    HorizontalContentAlignment="Stretch"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    ContentAlignment="Vertical"
                    CornerRadius="0"
                    Description="{x:Bind Path=DisplayDescription}"
                    Header="{x:Bind Path=DisplayLabel}">
                    <TextBox
                        MinWidth="{StaticResource SettingActionControlMinWidth}"
                        MinHeight="160"
                        AcceptsReturn="True"
                        IsSpellCheckEnabled="False"
                        PlaceholderText="{x:Bind Path=PlaceholderText}"
                        ScrollViewer.IsVerticalRailEnabled="True"
                        ScrollViewer.VerticalScrollBarVisibility="Visible"
                        ScrollViewer.VerticalScrollMode="Enabled"
                        Text="{x:Bind TextValue, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <Rectangle Style="{StaticResource OptionSeparator}" />
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="CheckBoxComboBoxTemplate" x:DataType="viewModels:PluginAdditionalOptionViewModel">
            <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical">
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="1"
                    Padding="0,6,0,4"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    ContentAlignment="Left"
                    CornerRadius="0">
                    <ptcontrols:CheckBoxWithDescriptionControl
                        Margin="56,0,0,0"
                        Description="{x:Bind Path=DisplayDescription}"
                        Header="{x:Bind Path=DisplayLabel}"
                        IsChecked="{x:Bind Value, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="84,0,45,8"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    CornerRadius="0"
                    Description="{x:Bind Path=SecondDisplayDescription}"
                    Header="{x:Bind Path=SecondDisplayLabel}"
                    IsEnabled="{x:Bind SecondSettingIsEnabled, Mode=OneWay}">
                    <ComboBox
                        MinWidth="{StaticResource SettingActionControlMinWidth}"
                        AutomationProperties.Name="{x:Bind Path=SecondDisplayLabel}"
                        DisplayMemberPath="Key"
                        ItemsSource="{x:Bind Path=ComboBoxItems}"
                        SelectedValue="{x:Bind ComboBoxValue, Mode=TwoWay}"
                        SelectedValuePath="Value" />
                </tkcontrols:SettingsCard>
                <Rectangle Style="{StaticResource OptionSeparator}" />
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="CheckBoxTextBoxTemplate" x:DataType="viewModels:PluginAdditionalOptionViewModel">
            <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical">
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="1"
                    Padding="0,6,0,4"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    ContentAlignment="Left"
                    CornerRadius="0">
                    <ptcontrols:CheckBoxWithDescriptionControl
                        Margin="56,0,0,0"
                        Description="{x:Bind Path=DisplayDescription}"
                        Header="{x:Bind Path=DisplayLabel}"
                        IsChecked="{x:Bind Value, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="84,0,45,8"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    CornerRadius="0"
                    Description="{x:Bind Path=SecondDisplayDescription}"
                    Header="{x:Bind Path=SecondDisplayLabel}"
                    IsEnabled="{x:Bind SecondSettingIsEnabled, Mode=OneWay}">
                    <TextBox
                        MinWidth="{StaticResource SettingActionControlMinWidth}"
                        MaxWidth="450"
                        IsSpellCheckEnabled="False"
                        MaxLength="{x:Bind TextBoxMaxLength, Mode=OneWay}"
                        PlaceholderText="{x:Bind Path=PlaceholderText}"
                        Text="{x:Bind TextValue, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <Rectangle Style="{StaticResource OptionSeparator}" />
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="CheckBoxMultilineTextBoxTemplate" x:DataType="viewModels:PluginAdditionalOptionViewModel">
            <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical">
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="1"
                    Padding="0,6,0,4"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    ContentAlignment="Left"
                    CornerRadius="0">
                    <ptcontrols:CheckBoxWithDescriptionControl
                        Margin="56,0,0,0"
                        Description="{x:Bind Path=DisplayDescription}"
                        Header="{x:Bind Path=DisplayLabel}"
                        IsChecked="{x:Bind Value, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="84,0,45,8"
                    HorizontalContentAlignment="Stretch"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    ContentAlignment="Vertical"
                    CornerRadius="0"
                    Description="{x:Bind Path=SecondDisplayDescription}"
                    Header="{x:Bind Path=SecondDisplayLabel}"
                    IsEnabled="{x:Bind SecondSettingIsEnabled, Mode=OneWay}">
                    <TextBox
                        MinWidth="{StaticResource SettingActionControlMinWidth}"
                        MinHeight="160"
                        AcceptsReturn="True"
                        IsSpellCheckEnabled="False"
                        PlaceholderText="{x:Bind Path=PlaceholderText}"
                        ScrollViewer.IsVerticalRailEnabled="True"
                        ScrollViewer.VerticalScrollBarVisibility="Visible"
                        ScrollViewer.VerticalScrollMode="Enabled"
                        Text="{x:Bind TextValue, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <Rectangle Style="{StaticResource OptionSeparator}" />
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="CheckBoxNumberBoxTemplate" x:DataType="viewModels:PluginAdditionalOptionViewModel">
            <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical">
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="1"
                    Padding="0,6,0,4"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    ContentAlignment="Left"
                    CornerRadius="0">
                    <ptcontrols:CheckBoxWithDescriptionControl
                        Margin="56,0,0,0"
                        Description="{x:Bind Path=DisplayDescription}"
                        Header="{x:Bind Path=DisplayLabel}"
                        IsChecked="{x:Bind Value, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <tkcontrols:SettingsCard
                    MinHeight="0"
                    Margin="84,0,45,8"
                    Background="Transparent"
                    BorderThickness="0,0,0,0"
                    CornerRadius="0"
                    Description="{x:Bind Path=SecondDisplayDescription}"
                    Header="{x:Bind Path=SecondDisplayLabel}"
                    IsEnabled="{x:Bind SecondSettingIsEnabled, Mode=OneWay}">
                    <NumberBox
                        MinWidth="{StaticResource SettingActionControlMinWidth}"
                        AutomationProperties.Name="{x:Bind Path=SecondDisplayLabel}"
                        LargeChange="{x:Bind NumberBoxLargeChange, Mode=OneWay}"
                        Maximum="{x:Bind NumberBoxMax, Mode=OneWay}"
                        Minimum="{x:Bind NumberBoxMin, Mode=OneWay}"
                        SmallChange="{x:Bind NumberBoxSmallChange, Mode=OneWay}"
                        SpinButtonPlacementMode="Compact"
                        Value="{x:Bind NumberValue, Mode=TwoWay}" />
                </tkcontrols:SettingsCard>
                <Rectangle Style="{StaticResource OptionSeparator}" />
            </StackPanel>
        </DataTemplate>

        <DataTemplate x:Key="EmptyTemplate" x:DataType="viewModels:PluginAdditionalOptionViewModel">
            <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical" />
        </DataTemplate>
    </local:NavigablePage.Resources>

    <controls:SettingsPageControl x:Uid="PowerLauncher" ModuleImageSource="ms-appx:///Assets/Settings/Modules/Run.png">
        <controls:SettingsPageControl.ModuleContent>
            <StackPanel ChildrenTransitions="{StaticResource SettingsCardsAnimations}" Orientation="Vertical">
                <InfoBar
                    x:Uid="Run_CheckOutCmdPal"
                    Background="Transparent"
                    BorderBrush="Transparent"
                    IsClosable="False"
                    IsOpen="True"
                    IsTabStop="True"
                    Severity="Informational">
                    <InfoBar.ActionButton>
                        <HyperlinkButton x:Uid="Run_NavigateCmdPalSettings" Click="NavigateCmdPalSettings_Click" />
                    </InfoBar.ActionButton>
                </InfoBar>
                <controls:GPOInfoControl ShowWarning="{x:Bind ViewModel.IsEnabledGpoConfigured, Mode=OneWay}">
                    <tkcontrols:SettingsCard
                        Name="PowerLauncherEnablePowerLauncher"
                        x:Uid="PowerLauncher_EnablePowerLauncher"
                        HeaderIcon="{ui:BitmapIcon Source=/Assets/Settings/Icons/PowerToysRun.png}">
                        <ToggleSwitch x:Uid="ToggleSwitch" IsOn="{x:Bind ViewModel.EnablePowerLauncher, Mode=TwoWay}" />
                    </tkcontrols:SettingsCard>
                </controls:GPOInfoControl>
                <controls:SettingsGroup x:Uid="Shortcut" IsEnabled="{x:Bind ViewModel.EnablePowerLauncher, Mode=OneWay}">
                    <tkcontrols:SettingsExpander
                        Name="ActivationShortcut"
                        x:Uid="Activation_Shortcut"
                        HeaderIcon="{ui:FontIcon Glyph=&#xEDA7;}"
                        IsExpanded="True">
                        <controls:ShortcutControl HotkeySettings="{x:Bind Path=ViewModel.OpenPowerLauncher, Mode=TwoWay}" />
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard ContentAlignment="Left">
                                <ptcontrols:CheckBoxWithDescriptionControl x:Uid="PowerLauncher_UseCentralizedKeyboardHook" IsChecked="{x:Bind ViewModel.UseCentralizedKeyboardHook, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard ContentAlignment="Left">
                                <CheckBox x:Uid="PowerLauncher_IgnoreHotkeysInFullScreen" IsChecked="{x:Bind ViewModel.IgnoreHotkeysInFullScreen, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>
                </controls:SettingsGroup>

                <!--<Custom:HotkeySettingsControl x:Uid="PowerLauncher_OpenFileLocation"
                                          HorizontalAlignment="Left"
                                          Margin="{StaticResource SmallTopMargin}"
                                          HotkeySettings="{Binding Path=ViewModel.OpenFileLocation, Mode=TwoWay}"
                                          IsEnabled="False"
                                        />
            <Custom:HotkeySettingsControl x:Uid="PowerLauncher_CopyPathLocation"
                                          HorizontalAlignment="Left"
                                          Margin="{StaticResource SmallTopMargin}"
                                          HotkeySettings="{Binding Path=ViewModel.CopyPathLocation, Mode=TwoWay}"
                                          Keys="Win, Ctrl, Alt, Shift"
                                          IsEnabled="False"
                                        />
            <Custom:HotkeySettingsControl x:Uid="PowerLauncher_OpenConsole"
                                          HorizontalAlignment="Left"
                                          Margin="{StaticResource SmallTopMargin}"
                                          HotkeySettings="{Binding Path=ViewModel.OpenConsole, Mode=TwoWay}"
                                          Keys="Win, Ctrl, Alt, Shift"
                                          IsEnabled="False"
                                        />-->

                <!--<CheckBox x:Uid="PowerLauncher_OverrideWinRKey"
                      Margin="{StaticResource SmallTopMargin}"
                      IsChecked="False"
                      IsEnabled="False"
                      />-->

                <!--<CheckBox x:Uid="PowerLauncher_OverrideWinSKey"
                      Margin="{StaticResource SmallTopMargin}"
                      IsChecked="{x:Bind ViewModel.OverrideWinSKey, Mode=TwoWay}"
                      IsEnabled="False"
                      />-->

                <controls:SettingsGroup x:Uid="PowerLauncher_SearchResults" IsEnabled="{x:Bind ViewModel.EnablePowerLauncher, Mode=OneWay}">
                    <tkcontrols:SettingsExpander
                        Name="PowerLauncherSearchQueryResultsWithDelay"
                        x:Uid="PowerLauncher_SearchQueryResultsWithDelay"
                        HeaderIcon="{ui:FontIcon Glyph=&#xec48;}"
                        IsExpanded="True">
                        <ToggleSwitch IsOn="{x:Bind ViewModel.SearchQueryResultsWithDelay, Mode=TwoWay}" />
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard
                                Name="PowerLauncherFastSearchInputDelayMs"
                                x:Uid="PowerLauncher_FastSearchInputDelayMs"
                                IsEnabled="{x:Bind ViewModel.SearchQueryResultsWithDelay, Mode=OneWay}">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="50"
                                    Maximum="500"
                                    Minimum="0"
                                    SmallChange="10"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.SearchInputDelayFast, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard
                                Name="PowerLauncherSlowSearchInputDelayMs"
                                x:Uid="PowerLauncher_SlowSearchInputDelayMs"
                                IsEnabled="{x:Bind ViewModel.SearchQueryResultsWithDelay, Mode=OneWay}">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="50"
                                    Maximum="1000"
                                    Minimum="0"
                                    SmallChange="10"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.SearchInputDelay, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>

                    <tkcontrols:SettingsExpander
                        Name="PowerLauncherMaximumNumberOfResults"
                        x:Uid="PowerLauncher_MaximumNumberOfResults"
                        HeaderIcon="{ui:FontIcon Glyph=&#xec8f;}"
                        IsExpanded="True">
                        <NumberBox
                            MinWidth="{StaticResource SettingActionControlMinWidth}"
                            Minimum="1"
                            SpinButtonPlacementMode="Compact"
                            Value="{x:Bind ViewModel.MaximumNumberOfResults, Mode=TwoWay}" />
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard ContentAlignment="Left">
                                <CheckBox x:Uid="PowerLauncher_ClearInputOnLaunch" IsChecked="{x:Bind ViewModel.ClearInputOnLaunch, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>

                    <tkcontrols:SettingsExpander
                        Name="PowerLauncherSearchQueryTuningEnabled"
                        x:Uid="PowerLauncher_SearchQueryTuningEnabled"
                        HeaderIcon="{ui:FontIcon Glyph=&#xE8CB;}"
                        IsExpanded="True">
                        <ToggleSwitch IsOn="{x:Bind ViewModel.SearchQueryTuningEnabled, Mode=TwoWay}" />
                        <tkcontrols:SettingsExpander.Items>
                            <tkcontrols:SettingsCard
                                Name="PowerLauncherSearchClickedItemWeight"
                                x:Uid="PowerLauncher_SearchClickedItemWeight"
                                IsEnabled="{x:Bind ViewModel.SearchQueryTuningEnabled, Mode=OneWay}">
                                <NumberBox
                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                    LargeChange="50"
                                    Maximum="1000"
                                    Minimum="0"
                                    SmallChange="5"
                                    SpinButtonPlacementMode="Compact"
                                    Value="{x:Bind ViewModel.SearchClickedItemWeight, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                            <tkcontrols:SettingsCard ContentAlignment="Left" IsEnabled="{x:Bind ViewModel.SearchQueryTuningEnabled, Mode=OneWay}">
                                <ptcontrols:CheckBoxWithDescriptionControl x:Uid="PowerLauncher_WaitForSlowResults" IsChecked="{x:Bind ViewModel.SearchWaitForSlowResults, Mode=TwoWay}" />
                            </tkcontrols:SettingsCard>
                        </tkcontrols:SettingsExpander.Items>
                    </tkcontrols:SettingsExpander>

                    <tkcontrols:SettingsCard
                        Name="PowerLauncherTabSelectsContextButtons"
                        x:Uid="PowerLauncher_TabSelectsContextButtons"
                        HeaderIcon="{ui:FontIcon Glyph=&#xE7FD;}">
                        <ToggleSwitch x:Uid="ToggleSwitch" IsOn="{x:Bind ViewModel.TabSelectsContextButtons, Mode=TwoWay}" />
                    </tkcontrols:SettingsCard>

                    <tkcontrols:SettingsCard
                        Name="PowerLauncherUsePinyin"
                        x:Uid="PowerLauncher_UsePinyin"
                        HeaderIcon="{ui:FontIcon Glyph=&#xE98A;}">
                        <ToggleSwitch x:Uid="ToggleSwitch" IsOn="{x:Bind ViewModel.UsePinyin, Mode=TwoWay}" />
                    </tkcontrols:SettingsCard>

                    <tkcontrols:SettingsCard
                        Name="PowerLauncherGenerateThumbnailsFromFiles"
                        x:Uid="PowerLauncher_GenerateThumbnailsFromFiles"
                        HeaderIcon="{ui:FontIcon Glyph=&#xE91B;}">
                        <ToggleSwitch x:Uid="ToggleSwitch" IsOn="{x:Bind ViewModel.GenerateThumbnailsFromFiles, Mode=TwoWay}" />
                    </tkcontrols:SettingsCard>
                </controls:SettingsGroup>

                <!--<ComboBox x:Uid="PowerLauncher_SearchResultPreference"
                      MinWidth="320"
                      Margin="{StaticResource SmallTopMargin}"
                      ItemsSource="{Binding searchResultPreferencesOptions}"
                      SelectedItem="{x:Bind SelectedSearchResultPreference, Mode=TwoWay}"
                      SelectedValuePath="Item2"
                      DisplayMemberPath="Item1"
                      IsEnabled="False"
                      />

            <ComboBox x:Uid="PowerLauncher_SearchTypePreference"
                      MinWidth="320"
                      Margin="{StaticResource SmallTopMargin}"
                      ItemsSource="{Binding searchTypePreferencesOptions}"
                      SelectedItem="{x:Bind SelectedSearchTypePreference, Mode=TwoWay}"
                      SelectedValuePath="Item2"
                      DisplayMemberPath="Item1"
                      IsEnabled="False"
                      />-->

                <controls:SettingsGroup x:Uid="Run_PositionAppearance_GroupSettings" IsEnabled="{x:Bind ViewModel.EnablePowerLauncher, Mode=OneWay}">
                    <tkcontrols:SettingsCard
                        Name="RunPositionHeader"
                        x:Uid="Run_PositionHeader"
                        HeaderIcon="{ui:FontIcon Glyph=&#xe78b;}">
                        <ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind ViewModel.MonitorPositionIndex, Mode=TwoWay}">
                            <ComboBoxItem x:Uid="Run_Radio_Position_Cursor" />
                            <ComboBoxItem x:Uid="Run_Radio_Position_Primary_Monitor" />
                            <ComboBoxItem x:Uid="Run_Radio_Position_Focus" />
                        </ComboBox>
                    </tkcontrols:SettingsCard>

                    <tkcontrols:SettingsCard
                        Name="ColorModeHeader"
                        x:Uid="ColorModeHeader"
                        HeaderIcon="{ui:FontIcon Glyph=&#xE790;}">
                        <tkcontrols:SettingsCard.Description>
                            <HyperlinkButton x:Uid="Windows_Color_Settings" Click="OpenColorsSettings_Click" />
                        </tkcontrols:SettingsCard.Description>
                        <ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind ViewModel.ThemeIndex, Mode=TwoWay}">
                            <ComboBoxItem x:Uid="Radio_Theme_Dark" />
                            <ComboBoxItem x:Uid="Radio_Theme_Light" />
                            <ComboBoxItem x:Uid="Radio_Theme_Default" />
                        </ComboBox>
                    </tkcontrols:SettingsCard>

                    <tkcontrols:SettingsCard
                        Name="PowerLauncherShowPluginKeywords"
                        x:Uid="PowerLauncher_ShowPluginKeywords"
                        HeaderIcon="{ui:FontIcon Glyph=&#xE8FD;}">
                        <ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind ViewModel.ShowPluginsOverviewIndex, Mode=TwoWay}">
                            <ComboBoxItem x:Uid="ShowPluginsOverview_All" />
                            <ComboBoxItem x:Uid="ShowPluginsOverview_NonGlobal" />
                            <ComboBoxItem x:Uid="ShowPluginsOverview_None" />
                        </ComboBox>
                    </tkcontrols:SettingsCard>

                    <tkcontrols:SettingsCard
                        Name="PowerLauncherTitleFontSize"
                        x:Uid="PowerLauncher_TitleFontSize"
                        HeaderIcon="{ui:FontIcon Glyph=&#xE8E9;}">
                        <StackPanel Orientation="Horizontal" Spacing="12">
                            <ptcontrols:IsEnabledTextBlock
                                VerticalAlignment="Center"
                                AutomationProperties.AccessibilityView="Raw"
                                FontSize="12"
                                FontWeight="SemiBold"
                                Text="A" />
                            <Slider
                                x:Uid="PowerLauncher_TextFontSizeSlider"
                                LargeChange="2"
                                Maximum="24"
                                Minimum="12"
                                SmallChange="2"
                                StepFrequency="2"
                                TickFrequency="2"
                                TickPlacement="Outside"
                                Value="{x:Bind ViewModel.TitleFontSize, Mode=TwoWay}" />
                            <ptcontrols:IsEnabledTextBlock
                                VerticalAlignment="Center"
                                AutomationProperties.AccessibilityView="Raw"
                                FontSize="24"
                                FontWeight="SemiBold"
                                Text="A" />
                        </StackPanel>
                    </tkcontrols:SettingsCard>
                </controls:SettingsGroup>

                <controls:SettingsGroup x:Uid="PowerLauncher_Plugins" IsEnabled="{x:Bind ViewModel.EnablePowerLauncher, Mode=OneWay}">

                    <InfoBar
                        x:Uid="Run_ConflictingKeywordInfo"
                        IsClosable="False"
                        IsOpen="{x:Bind ViewModel.EnablePowerLauncher, Mode=OneWay}"
                        IsTabStop="{x:Bind ViewModel.EnablePowerLauncher, Mode=OneWay}"
                        Severity="Informational">
                        <InfoBar.ActionButton>
                            <HyperlinkButton x:Uid="Run_ConflictingKeywordInfo_Link" NavigateUri="https://aka.ms/PowerToysOverview_PowerToysRun#direct-activation-commands" />
                        </InfoBar.ActionButton>
                    </InfoBar>

                    <tkcontrols:SettingsCard
                        Name="RunPluginUse"
                        x:Uid="Run_PluginUse"
                        HeaderIcon="{ui:FontIcon Glyph=&#xEA86;}">
                        <tkcontrols:SettingsCard.Description>
                            <StackPanel>
                                <TextBlock x:Uid="Run_PluginUseDescription" />
                                <HyperlinkButton x:Uid="Run_PluginUseFindMorePlugins" NavigateUri="https://aka.ms/powerToysRunPlugins" />
                            </StackPanel>
                        </tkcontrols:SettingsCard.Description>
                        <AutoSuggestBox
                            x:Uid="PowerLauncher_SearchList"
                            MinWidth="{StaticResource SettingActionControlMinWidth}"
                            QueryIcon="Find"
                            Text="{x:Bind ViewModel.SearchText, Mode=TwoWay}">
                            <i:Interaction.Behaviors>
                                <ic:EventTriggerBehavior EventName="TextChanged">
                                    <ic:InvokeCommandAction Command="{x:Bind ViewModel.SearchPluginsCommand}" />
                                </ic:EventTriggerBehavior>
                            </i:Interaction.Behaviors>
                        </AutoSuggestBox>
                    </tkcontrols:SettingsCard>


                    <InfoBar
                        x:Uid="GPO_SomeRunPluginsAreManaged"
                        IsClosable="False"
                        IsOpen="{x:Bind ViewModel.ShowPluginsAreGpoManagedInfo, Mode=OneWay}"
                        IsTabStop="{x:Bind ViewModel.ShowPluginsAreGpoManagedInfo, Mode=OneWay}"
                        Severity="Informational">
                        <InfoBar.IconSource>
                            <FontIconSource FontFamily="{StaticResource SymbolThemeFontFamily}" Glyph="&#xE72E;" />
                        </InfoBar.IconSource>
                    </InfoBar>
                    <InfoBar
                        x:Uid="Run_AllPluginsDisabled"
                        IsClosable="False"
                        IsOpen="{x:Bind ViewModel.ShowAllPluginsDisabledWarning, Mode=OneWay}"
                        IsTabStop="{x:Bind ViewModel.ShowAllPluginsDisabledWarning, Mode=OneWay}"
                        Severity="Error" />

                    <StackPanel Orientation="Horizontal" Visibility="{x:Bind ViewModel.ShowPluginsLoadingMessage, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}">
                        <ProgressRing
                            Width="20"
                            Height="20"
                            Margin="18,18"
                            IsActive="True" />
                        <TextBlock
                            x:Uid="Run_PluginsLoading"
                            VerticalAlignment="Center"
                            Style="{ThemeResource SecondaryTextStyle}" />
                    </StackPanel>

                    <ItemsRepeater x:Name="PluginsListView" ItemsSource="{x:Bind Path=ViewModel.Plugins, Mode=OneWay}">
                        <ItemsRepeater.Layout>
                            <StackLayout Spacing="2" />
                        </ItemsRepeater.Layout>
                        <ItemsRepeater.ItemTemplate>
                            <DataTemplate x:DataType="viewModels:PowerLauncherPluginViewModel" x:DefaultBindMode="OneWay">
                                <Grid>
                                    <tkcontrols:SettingsExpander Description="{x:Bind Description}" Header="{x:Bind Path=Name}">
                                        <tkcontrols:SettingsExpander.HeaderIcon>
                                            <BitmapIcon UriSource="{x:Bind IconPath}" />
                                        </tkcontrols:SettingsExpander.HeaderIcon>
                                        <StackPanel Orientation="Horizontal" Spacing="16">
                                            <!-- todo(Stefan): InfoBadge not available
                                                        <InfoBadge AutomationProperties.AccessibilityView="Raw"
                                                                        Visibility="{x:Bind ShowBadgeOnPluginSettingError}"
                                                                        Style="{StaticResource CriticalIconInfoBadgeStyle}" />
                                            -->

                                            <!--  Temporary badge replacement for InfoBadge control (htcfreek). (Normally you need one grid per icon group. But if you want to show two badges at the same place in a StackPanel you have to put all FontIcons into the same Grid.)  -->
                                            <Grid>
                                                <!--  Error badge  -->
                                                <FontIcon
                                                    FontFamily="{StaticResource SymbolThemeFontFamily}"
                                                    Foreground="{ThemeResource InfoBarErrorSeverityIconBackground}"
                                                    Glyph="{StaticResource InfoBarIconBackgroundGlyph}"
                                                    Visibility="{x:Bind ShowBadgeOnPluginSettingError}" />
                                                <FontIcon
                                                    FontFamily="{StaticResource SymbolThemeFontFamily}"
                                                    Foreground="{ThemeResource InfoBarErrorSeverityIconForeground}"
                                                    Glyph="{StaticResource InfoBarErrorIconGlyph}"
                                                    Visibility="{x:Bind ShowBadgeOnPluginSettingError}" />
                                            </Grid>

                                            <ToggleSwitch
                                                x:Uid="PowerLauncher_EnablePluginToggle"
                                                IsEnabled="{x:Bind Path=EnabledGpoRuleIsConfigured, Converter={StaticResource BoolNegationConverter}, Mode=OneWay}"
                                                IsOn="{x:Bind Path=Disabled, Converter={StaticResource BoolNegationConverter}, Mode=TwoWay}" />

                                        </StackPanel>
                                        <tkcontrols:SettingsExpander.Items>
                                            <tkcontrols:SettingsCard
                                                Name="PowerLauncherActionKeyword"
                                                x:Uid="PowerLauncher_ActionKeyword"
                                                IsEnabled="{x:Bind Enabled, Mode=OneWay}">
                                                <TextBox MinWidth="{StaticResource SettingActionControlMinWidth}" Text="{x:Bind ActionKeyword, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
                                            </tkcontrols:SettingsCard>
                                            <tkcontrols:SettingsCard
                                                Padding="0,0,0,0"
                                                HorizontalContentAlignment="Left"
                                                Background="{ThemeResource SystemFillColorCriticalBackgroundBrush}"
                                                ContentAlignment="Vertical"
                                                Visibility="{x:Bind ShowNotAccessibleWarning, Converter={StaticResource BoolToVisibilityConverter}}">
                                                <InfoBar
                                                    x:Uid="Run_NotAccessibleWarning"
                                                    Margin="3,0,0,0"
                                                    Background="Transparent"
                                                    BorderBrush="Transparent"
                                                    IsClosable="False"
                                                    IsOpen="True"
                                                    IsTabStop="{x:Bind ShowNotAccessibleWarning}"
                                                    Severity="Error" />
                                            </tkcontrols:SettingsCard>
                                            <tkcontrols:SettingsCard ContentAlignment="Left" IsEnabled="{x:Bind Enabled, Mode=OneWay}">
                                                <CheckBox
                                                    Margin="0,-8,0,0"
                                                    AutomationProperties.Name="{Binding ElementName=IncludeInGlobalResultTitle, Path=Text}"
                                                    IsChecked="{x:Bind IsGlobal, Mode=TwoWay}">
                                                    <StackPanel Orientation="Vertical">
                                                        <TextBlock x:Name="IncludeInGlobalResultTitle" x:Uid="PowerLauncher_IncludeInGlobalResultTitle" />
                                                        <ptcontrols:IsEnabledTextBlock
                                                            x:Uid="PowerLauncher_IncludeInGlobalResultDescription"
                                                            FontSize="{StaticResource SecondaryTextFontSize}"
                                                            Foreground="{ThemeResource TextFillColorSecondaryBrush}" />
                                                    </StackPanel>
                                                </CheckBox>
                                            </tkcontrols:SettingsCard>
                                            <tkcontrols:SettingsCard
                                                Name="PowerLauncherPluginWeightBoost"
                                                x:Uid="PowerLauncher_PluginWeightBoost"
                                                IsEnabled="{x:Bind IsGlobalAndEnabled, Mode=OneWay}">
                                                <NumberBox
                                                    MinWidth="{StaticResource SettingActionControlMinWidth}"
                                                    LargeChange="50"
                                                    Maximum="1000"
                                                    Minimum="-1000"
                                                    SmallChange="10"
                                                    SpinButtonPlacementMode="Compact"
                                                    Value="{x:Bind WeightBoost, Mode=TwoWay}" />
                                            </tkcontrols:SettingsCard>
                                            <tkcontrols:SettingsCard
                                                MinHeight="0"
                                                HorizontalContentAlignment="Stretch"
                                                ContentAlignment="Vertical">
                                                <tkcontrols:SettingsCard.Resources>
                                                    <Thickness x:Key="SettingsCardPadding">0</Thickness>
                                                    <Thickness x:Key="SettingsExpanderItemPadding">0,0,0,0</Thickness>
                                                </tkcontrols:SettingsCard.Resources>
                                                <ItemsControl
                                                    Margin="0,-6,0,0"
                                                    HorizontalAlignment="Stretch"
                                                    HorizontalContentAlignment="Stretch"
                                                    IsEnabled="{x:Bind Enabled, Mode=OneWay}"
                                                    ItemTemplateSelector="{StaticResource RunOptionTemplateSelector}"
                                                    ItemsSource="{x:Bind Path=AdditionalOptions}" />
                                            </tkcontrols:SettingsCard>
                                            <tkcontrols:SettingsCard
                                                MinHeight="0"
                                                BorderThickness="0"
                                                ContentAlignment="Right"
                                                IsEnabled="{x:Bind Enabled, Mode=OneWay}">
                                                <StackPanel
                                                    HorizontalAlignment="Right"
                                                    Orientation="Horizontal"
                                                    Spacing="4">
                                                    <TextBlock Opacity="{x:Bind DisabledOpacity}" Style="{ThemeResource SecondaryTextStyle}">
                                                        <Run x:Uid="PowerLauncher_PluginVersion" />
                                                        <Run FontWeight="SemiBold" Text="{x:Bind Version}" />
                                                    </TextBlock>
                                                    <TextBlock
                                                        AutomationProperties.Name=","
                                                        IsTabStop="False"
                                                        Opacity="{x:Bind DisabledOpacity}"
                                                        Style="{ThemeResource SecondaryTextStyle}"
                                                        Text="|" />
                                                    <TextBlock Opacity="{x:Bind DisabledOpacity}" Style="{ThemeResource SecondaryTextStyle}">
                                                        <Run x:Uid="PowerLauncher_AuthoredBy" />
                                                        <Run FontWeight="SemiBold" Text="{x:Bind Author}" />
                                                    </TextBlock>
                                                    <TextBlock
                                                        AutomationProperties.Name=","
                                                        IsTabStop="False"
                                                        Opacity="{x:Bind DisabledOpacity}"
                                                        Style="{ThemeResource SecondaryTextStyle}"
                                                        Text="|"
                                                        Visibility="{x:Bind HasValidWebsiteUri, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" />
                                                    <HyperlinkButton
                                                        Margin="0"
                                                        Padding="0"
                                                        NavigateUri="{x:Bind WebsiteUri}"
                                                        Opacity="{x:Bind DisabledOpacity}"
                                                        Style="{StaticResource TextButtonStyle}"
                                                        Visibility="{x:Bind HasValidWebsiteUri, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}">
                                                        <TextBlock
                                                            x:Uid="PowerLauncher_PluginWebsite"
                                                            FontWeight="SemiBold"
                                                            Style="{ThemeResource SecondaryLinkTextStyle}" />
                                                    </HyperlinkButton>
                                                </StackPanel>
                                            </tkcontrols:SettingsCard>
                                        </tkcontrols:SettingsExpander.Items>
                                    </tkcontrols:SettingsExpander>
                                </Grid>
                            </DataTemplate>
                        </ItemsRepeater.ItemTemplate>
                    </ItemsRepeater>
                </controls:SettingsGroup>
            </StackPanel>

        </controls:SettingsPageControl.ModuleContent>
        <controls:SettingsPageControl.PrimaryLinks>
            <controls:PageLink x:Uid="LearnMore_Run" Link="https://aka.ms/PowerToysOverview_PowerToysRun" />
            <controls:PageLink x:Uid="Run_FindMorePlugins" Link="https://aka.ms/powerToysRunPlugins" />
        </controls:SettingsPageControl.PrimaryLinks>
        <controls:SettingsPageControl.SecondaryLinks>
            <controls:PageLink Link="https://github.com/Wox-launcher/Wox/" Text="Wox" />
            <controls:PageLink Link="https://github.com/betsegaw/windowwalker/" Text="Beta Tadele's Window Walker" />
        </controls:SettingsPageControl.SecondaryLinks>
    </controls:SettingsPageControl>
</local:NavigablePage>
