<Window x:Class="HandBrakeWPF.Views.AddPresetView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:cal="http://www.caliburnproject.org"
        xmlns:Converters="clr-namespace:HandBrakeWPF.Converters"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:Properties="clr-namespace:HandBrakeWPF.Properties" xmlns:controls="clr-namespace:HandBrakeWPF.Controls"
        Title="{Binding Title}"
        Width="350"
        ResizeMode="NoResize"
        SizeToContent="Height"
        WindowStartupLocation="CenterScreen"
        TextOptions.TextFormattingMode="Display"
        mc:Ignorable="d">

    <Window.Resources>
        <Converters:BooleanToVisibilityConverter x:Key="boolToVisConverter" />
        <Converters:EnumComboConverter x:Key="enumComboConverter" />

        <Style x:Key="LongToolTipHolder" TargetType="FrameworkElement">
            <Setter Property="ToolTipService.ShowDuration" Value="20000" />
            <Setter Property="Margin" Value="0,2,0,2" />
        </Style>
    </Window.Resources>

    <Grid HorizontalAlignment="Stretch"
          VerticalAlignment="Stretch">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>

        <TextBlock Text="{x:Static Properties:Resources.AddPresetView_AddPreset}" FontSize="26" FontFamily="Segoe UI Light" FontWeight="Bold" Margin="10,10,10,10" Grid.Row="0" />

        <!--  Header  -->
        <Grid Grid.Row="1" Margin="10,0,10,0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="120" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>

            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>

            <!--  Name  -->
            <TextBlock Grid.Row="0"
                       Grid.Column="0"
                       Text="{x:Static Properties:Resources.AddPresetView_Name}" />
            <TextBox Grid.Row="0"
                     Grid.Column="1"
                     HorizontalAlignment="Stretch"
                     Text="{Binding Preset.Name, UpdateSourceTrigger=PropertyChanged}" />


            <!--  Description  -->
            <TextBlock Grid.Row="2"
                       Grid.Column="0" Margin="0,10,0,0"
                       Text="{x:Static Properties:Resources.AddPresetView_Description}" />
            <TextBox Grid.Row="2"
                     Grid.Column="1" Margin="0,10,0,0"
                     
                     Text="{Binding Preset.Description, UpdateSourceTrigger=PropertyChanged}" />

            <TextBlock Grid.Row="3"
                       Grid.Column="0" Margin="0,10,0,0"
                       Text="{x:Static Properties:Resources.AddPresetView_Category}" />
            <StackPanel Grid.Row="3" Grid.Column="1" Orientation="Vertical" Margin="0,10,0,0">

                <ComboBox ItemsSource="{Binding PresetCategories}" SelectedItem="{Binding SelectedPresetCategory}" DisplayMemberPath="Category" />
                <TextBox Text="{Binding PresetCategory, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding CanAddNewPresetCategory, Converter={StaticResource boolToVisConverter}}" />
            </StackPanel>
           

            <!--  Settings  -->
            <TextBlock Grid.Row="4" Margin="0,10,10,0"
                       Grid.Column="0"
                       Style="{StaticResource LongToolTipHolder}"
                       VerticalAlignment="Center"
                       ToolTip="{x:Static Properties:Resources.AddPreset_PictureSizeMode}"
                       Text="{x:Static Properties:Resources.AddPresetView_SavePictureSize}" />
            <ComboBox Grid.Row="4" Margin="0,10,0,0"
                      Grid.Column="1"
                      Width="125"
                      HorizontalAlignment="Left" VerticalAlignment="Center"
                      Style="{StaticResource LongToolTipHolder}"
                      ToolTip="{x:Static Properties:Resources.AddPreset_PictureSizeMode}"
                      ItemsSource="{Binding PictureSettingsModes,
                                            Converter={StaticResource enumComboConverter}}"
                      SelectedItem="{Binding SelectedPictureSettingMode,
                                             Converter={StaticResource enumComboConverter}}" />

            <StackPanel Grid.Row="5"
                        Grid.Column="1"
                        Margin="0,10,0,0"
                        Orientation="Horizontal"
                        Visibility="{Binding ShowCustomInputs,
                                             Converter={StaticResource boolToVisConverter}}">
                <controls:NumberBox Width="60" Number="{Binding CustomWidth, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Margin="0,0,0,5" 
                                    AllowEmpty="True" />
                <TextBlock Margin="10,0,10,0"
                           FontWeight="Bold"
                           Text="X" />
                <controls:NumberBox Width="60" Number="{Binding CustomHeight, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Margin="0,0,0,5" 
                                    AllowEmpty="True" />
            </StackPanel>
            
            <TextBlock Text="Audio:" Grid.Row="6" />
            <Button Content="{x:Static Properties:Resources.AudioViewModel_ConfigureDefaults}" Grid.Row="6"  Grid.Column="1" HorizontalAlignment="Left" Margin="0,5,0,0" Padding="8,2"
                    cal:Message.Attach="[Event Click] = [Action EditAudioDefaults]" />
            
            <TextBlock Text="Subtitles:" Grid.Row="7" />
            <Button Content="{x:Static Properties:Resources.SubtitlesViewModel_ConfigureDefaults}" Grid.Row="7"  Grid.Column="1" HorizontalAlignment="Left" Margin="0,5,0,0" Padding="8,2"
                    cal:Message.Attach="[Event Click] = [Action EditSubtitleDefaults]" />

        </Grid>

        <!--  Controls  -->
        <Grid Grid.Row="3"
              Margin="0,20,0,0">

            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>

            <Button Grid.Column="1"
                    Margin="0,5,10,10"
                    cal:Message.Attach="[Event Click] = [Action Cancel]"
                    Content="{x:Static Properties:Resources.Generic_Cancel}"
                    IsCancel="True"
                    Padding="8,2" />
            <Button Grid.Column="2"
                    Margin="0,5,10,10"
                    cal:Message.Attach="[Event Click] = [Action Add]"
                    Content="{x:Static Properties:Resources.Generic_Add}"
                    IsDefault="True"
                    Padding="8,2" />
        </Grid>

    </Grid>
</Window>
