wabbajack/Wabbajack/Views/Compilers/CompilerView.xaml
2019-11-14 20:25:15 -06:00

264 lines
12 KiB
XML

<UserControl
x:Class="Wabbajack.CompilerView"
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="clr-namespace:Wabbajack"
xmlns:mahapps="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:wabbacommon="clr-namespace:Wabbajack.Common;assembly=Wabbajack.Common"
d:DataContext="{d:DesignInstance local:CompilerVM}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="45" />
<RowDefinition Height="4*" />
<RowDefinition Height="*" MinHeight="150" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="1" />
<ColumnDefinition Width="5*" />
<ColumnDefinition Width="5" />
</Grid.ColumnDefinitions>
<local:BorderFadeDownView
Grid.Row="1"
Grid.RowSpan="2"
Grid.Column="0" />
<local:BorderFadeDownView
Grid.Row="1"
Grid.RowSpan="2"
Grid.Column="4" />
<local:DetailImageView
Title="{Binding ModListName}"
Grid.Row="1"
Grid.Column="3"
Author="{Binding AuthorText}"
BorderThickness="0"
Description="{Binding Description}"
Image="{Binding Image}" />
<Rectangle
x:Name="ControlVerticalThinSeparator"
Grid.Row="1"
Grid.Column="2"
Width="1"
HorizontalAlignment="Center"
Fill="{StaticResource DarkBackgroundBrush}"
SnapsToDevicePixels="True" />
<!-- Comes after image area so shadow can overlay -->
<local:TopProgressView
Title="{Binding ModListName, Mode=OneWay}"
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="0"
Grid.ColumnSpan="5"
OverhangShadow="True"
ProgressPercent="{Binding ProgressPercent}"
StatePrefixTitle="Compiling" />
<ScrollViewer
Grid.Row="1"
Grid.Column="1"
Margin="5"
Background="Transparent"
HorizontalScrollBarVisibility="Disabled"
IsEnabled="{Binding Compiling, Converter={StaticResource InverseBooleanConverter}}"
VerticalScrollBarVisibility="Auto">
<StackPanel
Margin="0,5,0,0"
Background="Transparent"
Orientation="Vertical">
<StackPanel.Resources>
<Thickness
x:Key="TitleMargin"
Bottom="1"
Left="5" />
<Style
x:Key="ValueStyle"
BasedOn="{StaticResource MainTextBoxStyle}"
TargetType="TextBox">
<Setter Property="MaxLength" Value="50" />
<Setter Property="AcceptsTab" Value="False" />
<Setter Property="FontSize" Value="15" />
<Setter Property="Margin" Value="0,0,0,6" />
</Style>
<Style x:Key="PickerStyle" TargetType="local:FilePicker">
<Setter Property="Margin" Value="0,0,0,6" />
</Style>
</StackPanel.Resources>
<TextBlock Margin="{StaticResource TitleMargin}" Text="ModList Name" />
<TextBox Style="{StaticResource ValueStyle}" Text="{Binding ModListName, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Margin="{StaticResource TitleMargin}" Text="Author" />
<TextBox Style="{StaticResource ValueStyle}" Text="{Binding AuthorText, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Margin="{StaticResource TitleMargin}" Text="Description" />
<TextBox
Height="150"
mahapps:TextBoxHelper.Watermark="(700 characters max)"
AcceptsReturn="True"
AcceptsTab="False"
MaxLength="700"
Style="{StaticResource ValueStyle}"
Text="{Binding Description, UpdateSourceTrigger=PropertyChanged}"
TextWrapping="Wrap" />
<TextBlock Margin="{StaticResource TitleMargin}" Text="Image" />
<local:FilePicker
DataContext="{Binding ImagePath}"
Style="{StaticResource PickerStyle}"
ToolTip="Path to an image to display for the modlist." />
<TextBlock Margin="{StaticResource TitleMargin}" Text="Website" />
<TextBox Style="{StaticResource ValueStyle}" Text="{Binding Website}" />
<TextBlock
Margin="{StaticResource TitleMargin}"
Text="Readme Path"
ToolTip="Path to a readme file." />
<local:FilePicker
DataContext="{Binding ReadMeText}"
Style="{StaticResource PickerStyle}"
ToolTip="Path to a readme file." />
</StackPanel>
</ScrollViewer>
<Rectangle
x:Name="ControlTopThinSeparator"
Grid.Row="2"
Grid.Column="0"
Grid.ColumnSpan="5"
Height="1"
Margin="25,0"
VerticalAlignment="Top"
Fill="{StaticResource DarkBackgroundBrush}"
SnapsToDevicePixels="True" />
<Grid
Grid.Row="2"
Grid.Column="0"
Grid.ColumnSpan="5"
MaxWidth="1000">
<Border
x:Name="ConfigurationBackgroundHaze"
Height="120"
Background="{StaticResource PrimaryVariantBrush}"
CornerRadius="50"
Opacity="0.10">
<Border.Effect>
<BlurEffect Radius="45" />
</Border.Effect>
</Border>
<Grid
Margin="35,0,35,0"
VerticalAlignment="Center"
ClipToBounds="False"
Visibility="{Binding Compiling, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid
Grid.Row="0"
Grid.RowSpan="5"
Grid.Column="0"
Margin="15"
VerticalAlignment="Center">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<local:ImageRadioButtonView
Grid.Row="0"
Height="35"
Margin="4"
IsChecked="{Binding SelectedCompilerType, Converter={StaticResource EqualsToBoolConverter}, ConverterParameter={x:Static wabbacommon:ModManager.MO2}}">
<local:ImageRadioButtonView.Image>
<BitmapImage UriSource="../Resources/MO2Button.png" />
</local:ImageRadioButtonView.Image>
</local:ImageRadioButtonView>
<local:ImageRadioButtonView
Grid.Row="1"
Height="35"
Margin="4"
IsChecked="{Binding SelectedCompilerType, Converter={StaticResource EqualsToBoolConverter}, ConverterParameter={x:Static wabbacommon:ModManager.Vortex}}">
<local:ImageRadioButtonView.Image>
<BitmapImage UriSource="../Resources/VortexButton.png" />
</local:ImageRadioButtonView.Image>
</local:ImageRadioButtonView>
</Grid>
<TextBlock
Grid.Row="1"
Grid.Column="1"
HorizontalAlignment="Right"
VerticalAlignment="Center"
FontSize="14"
Text="Modlist Location"
TextAlignment="Center"
ToolTip="The MO2 modlist.txt file you want to use as your source" />
<local:FilePicker
Grid.Row="1"
Grid.Column="3"
Height="30"
VerticalAlignment="Center"
DataContext="{Binding ModlistLocation}"
FontSize="14"
ToolTip="The MO2 modlist.txt file you want to use as your source" />
<TextBlock
Grid.Row="2"
Grid.Column="1"
HorizontalAlignment="Right"
VerticalAlignment="Center"
FontSize="14"
Text="Download Location"
TextAlignment="Center"
ToolTip="The folder where MO2 downloads your mods." />
<local:FilePicker
Grid.Row="2"
Grid.Column="3"
Height="30"
VerticalAlignment="Center"
DataContext="{Binding DownloadLocation}"
FontSize="14"
ToolTip="The folder where MO2 downloads your mods." />
<TextBlock
Grid.Row="3"
Grid.Column="1"
HorizontalAlignment="Right"
VerticalAlignment="Center"
FontSize="14"
Text="Output Location"
TextAlignment="Center"
ToolTip="The folder to place the resulting modlist.wabbajack file" />
<local:FilePicker
Grid.Row="3"
Grid.Column="3"
Height="30"
VerticalAlignment="Center"
DataContext="{Binding OutputLocation}"
FontSize="14"
ToolTip="The folder to place the resulting modlist.wabbajack file" />
<local:BeginButton
Grid.Row="0"
Grid.RowSpan="5"
Grid.Column="5"
Command="{Binding BeginCommand}" />
</Grid>
</Grid>
<Grid
Grid.Row="2"
Grid.Column="0"
Grid.ColumnSpan="5"
Margin="5"
Visibility="{Binding Compiling, Converter={StaticResource bool2VisibilityConverter}, FallbackValue=Hidden}">
<local:LogCpuView DataContext="{Binding MWVM}" />
</Grid>
</Grid>
</UserControl>