<!--
    Copyright (c) Microsoft Corporation. All rights reserved. Licensed under
    the MIT License. See LICENSE in the project root for license information.
-->
<Page x:Class="Microsoft.Terminal.Settings.Editor.Interaction"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:local="using:Microsoft.Terminal.Settings.Editor"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
      xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
      mc:Ignorable="d">

    <Page.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="CommonResources.xaml" />
            </ResourceDictionary.MergedDictionaries>

            <DataTemplate x:Key="EnumRadioButtonTemplate"
                          x:DataType="local:EnumEntry">
                <RadioButton Content="{x:Bind EnumName, Mode=OneWay}" />
            </DataTemplate>
        </ResourceDictionary>
    </Page.Resources>

    <ScrollViewer ViewChanging="ViewChanging">
        <StackPanel Style="{StaticResource SettingsStackStyle}">
            <!--  Copy On Select  -->
            <local:SettingContainer x:Uid="Globals_CopyOnSelect"
                                    Margin="0">
                <ToggleSwitch IsOn="{x:Bind State.Globals.CopyOnSelect, Mode=TwoWay}" />
            </local:SettingContainer>

            <!--  Copy Format  -->
            <local:SettingContainer x:Uid="Globals_CopyFormat">
                <muxc:RadioButtons AutomationProperties.AccessibilityView="Content"
                                   ItemTemplate="{StaticResource EnumRadioButtonTemplate}"
                                   ItemsSource="{x:Bind CopyFormatList, Mode=OneWay}"
                                   SelectedItem="{x:Bind CurrentCopyFormat, Mode=TwoWay}" />
            </local:SettingContainer>

            <!--  Trim Block Selection  -->
            <local:SettingContainer x:Uid="Globals_TrimBlockSelection">
                <ToggleSwitch IsOn="{x:Bind State.Globals.TrimBlockSelection, Mode=TwoWay}" />
            </local:SettingContainer>

            <!--  Trim Paste  -->
            <local:SettingContainer x:Uid="Globals_TrimPaste">
                <ToggleSwitch IsOn="{x:Bind State.Globals.TrimPaste, Mode=TwoWay}" />
            </local:SettingContainer>

            <!--  Word Delimiters  -->
            <local:SettingContainer x:Uid="Globals_WordDelimiters">
                <TextBox IsSpellCheckEnabled="False"
                         Style="{StaticResource TextBoxSettingStyle}"
                         Text="{x:Bind State.Globals.WordDelimiters, Mode=TwoWay}" />
            </local:SettingContainer>

            <!--  Snap On Resize  -->
            <local:SettingContainer x:Uid="Globals_SnapToGridOnResize">
                <ToggleSwitch IsOn="{x:Bind State.Globals.SnapToGridOnResize, Mode=TwoWay}" />
            </local:SettingContainer>

            <!--  Tab Switcher Mode  -->
            <local:SettingContainer x:Uid="Globals_TabSwitcherMode">
                <muxc:RadioButtons AutomationProperties.AccessibilityView="Content"
                                   ItemTemplate="{StaticResource EnumRadioButtonTemplate}"
                                   ItemsSource="{x:Bind TabSwitcherModeList}"
                                   SelectedItem="{x:Bind CurrentTabSwitcherMode, Mode=TwoWay}" />
            </local:SettingContainer>

            <!--  Focus Follow Mouse Mode  -->
            <local:SettingContainer x:Uid="Globals_FocusFollowMouse">
                <ToggleSwitch IsOn="{x:Bind State.Globals.FocusFollowMouse, Mode=TwoWay}" />
            </local:SettingContainer>

            <!--  Detect URLs  -->
            <local:SettingContainer x:Uid="Globals_DetectURLs">
                <ToggleSwitch IsOn="{x:Bind State.Globals.DetectURLs, Mode=TwoWay}" />
            </local:SettingContainer>
        </StackPanel>
    </ScrollViewer>
</Page>
