🏡 index : VBASync.git

<UserControl
    x:Class="VBASync.WPF.SessionView"
    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:l10n="clr-namespace:VBASync.Localization;assembly=VBASync"
    xmlns:lib="clr-namespace:VBASync.Model;assembly=VBASync"
    xmlns:local="clr-namespace:VBASync.WPF"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    d:DesignHeight="300"
    d:DesignWidth="300"
    x:ClassModifier="internal"
    mc:Ignorable="d">
    <UserControl.Resources>
        <Style x:Key="Level1" TargetType="{x:Type FrameworkElement}">
            <Setter Property="Margin" Value="4,8,0,0" />
        </Style>
        <Style x:Key="Level1Close" TargetType="{x:Type FrameworkElement}">
            <Setter Property="Margin" Value="4,4,0,0" />
        </Style>
        <Style x:Key="Level1VeryClose" TargetType="{x:Type FrameworkElement}">
            <Setter Property="Margin" Value="4,2,0,0" />
        </Style>
        <Style x:Key="Level1Solid" TargetType="{x:Type FrameworkElement}">
            <Setter Property="Margin" Value="4,0,0,0" />
        </Style>
        <Style x:Key="Level2" TargetType="{x:Type FrameworkElement}">
            <Setter Property="Margin" Value="20,4,0,0" />
        </Style>
        <Style x:Key="ExpanderChild" TargetType="{x:Type FrameworkElement}">
            <Setter Property="Margin" Value="16,4,0,0" />
            <Setter Property="HorizontalAlignment" Value="Stretch" />
        </Style>
    </UserControl.Resources>
    <StackPanel>
        <Label
            Padding="0"
            Content="{x:Static l10n:VBASyncResources.MWActionText}"
            Style="{StaticResource Level1Solid}" />
        <RadioButton
            x:Name="ExtractFromFileButton"
            Content="{x:Static l10n:VBASyncResources.MWExtract}"
            IsChecked="{Binding Action, ConverterParameter={x:Static lib:ActionType.Extract}, Converter={x:Static local:WpfStatic.EnumToBoolean}}"
            Style="{StaticResource Level1}" />
        <RadioButton
            x:Name="PublishToFileButton"
            Content="{x:Static l10n:VBASyncResources.MWPublish}"
            IsChecked="{Binding Action, ConverterParameter={x:Static lib:ActionType.Publish}, Converter={x:Static local:WpfStatic.EnumToBoolean}}"
            Style="{StaticResource Level1Close}" />
        <Grid
            VerticalAlignment="Top"
            ScrollViewer.VerticalScrollBarVisibility="Disabled"
            Style="{StaticResource Level1}">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="auto" MinWidth="75" />
            </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" />
            </Grid.RowDefinitions>
            <Label
                Padding="0"
                Content="{x:Static l10n:VBASyncResources.MWVBAFolder}"
                Style="{StaticResource Level1}"
                Target="{Binding ElementName=FolderBrowseBox}" />
            <TextBox
                x:Name="FolderBrowseBox"
                Grid.Row="1"
                Grid.Column="0"
                Height="23"
                VerticalAlignment="Center"
                Drop="TextBoxFileDrop"
                PreviewDragEnter="TextBoxFilePreviewDragEnter"
                PreviewDragOver="TextBoxFilePreviewDragOver"
                PreviewKeyDown="FolderBrowseBox_PreviewKeyDown"
                Style="{StaticResource Level1Close}">
                <TextBox.Text>
                    <Binding
                        NotifyOnValidationError="True"
                        Path="FolderPath"
                        ValidatesOnDataErrors="True">
                        <Binding.ValidationRules>
                            <local:FolderPathValidationRule ValidatesOnTargetUpdated="True" />
                        </Binding.ValidationRules>
                    </Binding>
                </TextBox.Text>
                <TextBox.ContextMenu>
                    <ContextMenu>
                        <MenuItem Command="ApplicationCommands.Undo" />
                        <MenuItem Command="ApplicationCommands.Redo" />
                        <Separator />
                        <MenuItem Command="ApplicationCommands.Cut" />
                        <MenuItem Command="ApplicationCommands.Copy" />
                        <MenuItem Command="ApplicationCommands.Paste" />
                        <MenuItem Command="ApplicationCommands.Delete" />
                        <Separator />
                        <MenuItem Command="ApplicationCommands.SelectAll" />
                    </ContextMenu>
                </TextBox.ContextMenu>
            </TextBox>
            <Button
                x:Name="FolderBrowseButton"
                Grid.Row="1"
                Grid.Column="1"
                Height="23"
                MinWidth="75"
                Margin="4,0,0,0"
                VerticalAlignment="Bottom"
                Click="FolderBrowseButton_Click"
                Content="{x:Static l10n:VBASyncResources.BrowseAction}" />
            <Label
                Grid.Row="2"
                Grid.Column="0"
                Padding="0"
                Content="{x:Static l10n:VBASyncResources.MWOfficeFile}"
                Style="{StaticResource Level1}"
                Target="{Binding ElementName=FileBrowseBox}" />
            <TextBox
                x:Name="FileBrowseBox"
                Grid.Row="3"
                Grid.Column="0"
                Height="23"
                VerticalAlignment="Center"
                Drop="TextBoxFileDrop"
                PreviewDragEnter="TextBoxFilePreviewDragEnter"
                PreviewDragOver="TextBoxFilePreviewDragOver"
                PreviewKeyDown="FileBrowseBox_PreviewKeyDown"
                Style="{StaticResource Level1Close}">
                <TextBox.Text>
                    <Binding
                        NotifyOnValidationError="True"
                        Path="FilePath"
                        ValidatesOnDataErrors="True">
                        <Binding.ValidationRules>
                            <local:FilePathValidationRule ValidatesOnTargetUpdated="True" />
                        </Binding.ValidationRules>
                    </Binding>
                </TextBox.Text>
                <TextBox.ContextMenu>
                    <ContextMenu>
                        <MenuItem Command="ApplicationCommands.Undo" />
                        <MenuItem Command="ApplicationCommands.Redo" />
                        <Separator />
                        <MenuItem Command="ApplicationCommands.Cut" />
                        <MenuItem Command="ApplicationCommands.Copy" />
                        <MenuItem Command="ApplicationCommands.Paste" />
                        <MenuItem Command="ApplicationCommands.Delete" />
                        <Separator />
                        <MenuItem Command="ApplicationCommands.SelectAll" />
                    </ContextMenu>
                </TextBox.ContextMenu>
            </TextBox>
            <Button
                x:Name="FileBrowseButton"
                Grid.Row="3"
                Grid.Column="1"
                Height="23"
                MinWidth="75"
                Margin="4,0,0,0"
                VerticalAlignment="Bottom"
                Click="FileBrowseButton_Click"
                Content="{x:Static l10n:VBASyncResources.BrowseAction}" />
        </Grid>
    </StackPanel>
</UserControl>