mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
315 lines
14 KiB
XML
315 lines
14 KiB
XML
<rxui:ReactiveUserControl
|
|
x:Class="Wabbajack.CompilerView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:common="clr-namespace:Wabbajack.Common;assembly=Wabbajack.Common"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:icon="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
|
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:rxui="http://reactiveui.net"
|
|
xmlns:wabbacommon="clr-namespace:Wabbajack.Common;assembly=Wabbajack.Common"
|
|
d:DataContext="{d:DesignInstance local:CompilerVM}"
|
|
d:DesignHeight="450"
|
|
d:DesignWidth="800"
|
|
x:TypeArguments="local:CompilerVM"
|
|
mc:Ignorable="d">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="47" />
|
|
<RowDefinition Height="4*" />
|
|
<RowDefinition Height="*" MinHeight="150" />
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="5" />
|
|
<ColumnDefinition Width="2*" />
|
|
<ColumnDefinition Width="5" />
|
|
<ColumnDefinition Width="5*" />
|
|
<ColumnDefinition Width="5" />
|
|
</Grid.ColumnDefinitions>
|
|
<local:HeatedBackgroundView
|
|
x:Name="HeatedBackground"
|
|
Grid.Row="0"
|
|
Grid.RowSpan="3"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="5" />
|
|
<Border
|
|
x:Name="ModlistDetailsBackground"
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Grid.ColumnSpan="2"
|
|
Margin="1,1,5,0"
|
|
Background="{StaticResource WindowBackgroundBrush}"
|
|
BorderThickness="0,0,1,1">
|
|
<Border.BorderBrush>
|
|
<LinearGradientBrush StartPoint="1,0" EndPoint="0,0">
|
|
<GradientStop Offset="0.5" Color="{StaticResource DarkBackgroundColor}" />
|
|
<GradientStop Offset="1" Color="{StaticResource WindowBackgroundColor}" />
|
|
</LinearGradientBrush>
|
|
</Border.BorderBrush>
|
|
</Border>
|
|
<Border
|
|
x:Name="ModlistDetailsHeatBorder"
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Grid.ColumnSpan="2"
|
|
Margin="1,1,5,0"
|
|
BorderBrush="{StaticResource HeatedBorderBrush}"
|
|
BorderThickness="1" />
|
|
<Border
|
|
Grid.Row="1"
|
|
Grid.Column="3"
|
|
BorderBrush="{StaticResource BorderInterestBrush}"
|
|
BorderThickness="1,0,1,1">
|
|
<local:DetailImageView x:Name="DetailImage" BorderThickness="0" />
|
|
</Border>
|
|
<!-- Comes after image area so shadow can overlay -->
|
|
<local:TopProgressView
|
|
x:Name="TopProgressBar"
|
|
Grid.Row="0"
|
|
Grid.RowSpan="2"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="5"
|
|
OverhangShadow="True" />
|
|
<Button
|
|
x:Name="BackButton"
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="5"
|
|
Width="30"
|
|
Height="30"
|
|
Margin="12,5,0,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Top"
|
|
Style="{StaticResource IconCircleButtonStyle}"
|
|
ToolTip="Back to main menu">
|
|
<icon:PackIconMaterial Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}" Kind="ArrowLeft" />
|
|
</Button>
|
|
<ScrollViewer
|
|
x:Name="SettingsScrollViewer"
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Margin="5"
|
|
Background="Transparent"
|
|
HorizontalScrollBarVisibility="Disabled"
|
|
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"
|
|
BasedOn="{StaticResource MainFilePickerStyle}"
|
|
TargetType="local:FilePicker">
|
|
<Setter Property="Margin" Value="0,0,0,6" />
|
|
</Style>
|
|
</StackPanel.Resources>
|
|
<TextBlock Margin="{StaticResource TitleMargin}" Text="ModList Name" />
|
|
<TextBox x:Name="ModListNameSetting" Style="{StaticResource ValueStyle}" />
|
|
<TextBlock Margin="{StaticResource TitleMargin}" Text="Author" />
|
|
<TextBox x:Name="AuthorNameSetting" Style="{StaticResource ValueStyle}" />
|
|
<TextBlock Margin="{StaticResource TitleMargin}" Text="Description" />
|
|
<TextBox
|
|
x:Name="DescriptionSetting"
|
|
Height="150"
|
|
mahapps:TextBoxHelper.Watermark="(700 characters max)"
|
|
AcceptsReturn="True"
|
|
AcceptsTab="False"
|
|
MaxLength="700"
|
|
Style="{StaticResource ValueStyle}"
|
|
TextWrapping="Wrap" />
|
|
<TextBlock Margin="{StaticResource TitleMargin}" Text="Image" />
|
|
<local:FilePicker
|
|
x:Name="ImageFilePicker"
|
|
Style="{StaticResource PickerStyle}"
|
|
ToolTip="Path to an image to display for the modlist." />
|
|
<TextBlock Margin="{StaticResource TitleMargin}" Text="Website" />
|
|
<TextBox x:Name="WebsiteSetting" Style="{StaticResource ValueStyle}" />
|
|
<TextBlock
|
|
Margin="{StaticResource TitleMargin}"
|
|
Text="Readme"
|
|
ToolTip="Path to a readme file." />
|
|
<Grid Margin="0,0,0,6">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<local:FilePicker
|
|
x:Name="ReadmeFilePickerSetting"
|
|
Grid.Column="0"
|
|
Height="27"
|
|
Margin="0,0,3,0"
|
|
VerticalAlignment="Center"
|
|
ToolTip="Path to a readme file." />
|
|
<TextBox
|
|
x:Name="ReadmeWebsiteSetting"
|
|
Grid.Column="0"
|
|
Height="27"
|
|
Margin="0,0,3,0"
|
|
VerticalAlignment="Center"
|
|
ToolTip="Readme website" />
|
|
<Button
|
|
x:Name="SwapToReadmeWebsiteButton"
|
|
Grid.Column="1"
|
|
Width="27"
|
|
ToolTip="Set readme to be a website">
|
|
<Button.Style>
|
|
<Style BasedOn="{StaticResource IconBareButtonStyle}" TargetType="Button">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding CurrentModlistSettings.ReadmeIsWebsite}" Value="True">
|
|
<Setter Property="Foreground" Value="{StaticResource SecondaryBrush}" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
<icon:PackIconMaterial
|
|
Width="20"
|
|
Height="20"
|
|
Kind="Web" />
|
|
</Button>
|
|
<Button
|
|
x:Name="SwapToReadmeFileButton"
|
|
Grid.Column="2"
|
|
Width="27"
|
|
ToolTip="Source readme from a local file (txt | html)">
|
|
<Button.Style>
|
|
<Style BasedOn="{StaticResource IconBareButtonStyle}" TargetType="Button">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding CurrentModlistSettings.ReadmeIsWebsite}" Value="False">
|
|
<Setter Property="Foreground" Value="{StaticResource SecondaryBrush}" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
<icon:PackIconMaterial
|
|
Width="20"
|
|
Height="20"
|
|
Kind="File" />
|
|
</Button>
|
|
</Grid>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
<Border
|
|
x:Name="BottomBarBackground"
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="5"
|
|
Margin="5"
|
|
Background="{StaticResource WindowBackgroundBrush}" />
|
|
<Grid
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="5"
|
|
MaxWidth="1000">
|
|
<Grid
|
|
x:Name="BottomCompilerSettingsGrid"
|
|
Margin="35,0,35,0"
|
|
VerticalAlignment="Center"
|
|
ClipToBounds="False">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<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
|
|
x:Name="MO2CompilerButton"
|
|
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
|
|
x:Name="VortexCompilerButton"
|
|
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>
|
|
<ContentPresenter
|
|
x:Name="CustomCompilerSettingsPresenter"
|
|
Grid.Row="1"
|
|
Grid.Column="1">
|
|
<ContentPresenter.Resources>
|
|
<DataTemplate DataType="{x:Type local:MO2CompilerVM}">
|
|
<local:MO2CompilerConfigView />
|
|
</DataTemplate>
|
|
<DataTemplate DataType="{x:Type local:VortexCompilerVM}">
|
|
<local:VortexCompilerConfigView />
|
|
</DataTemplate>
|
|
</ContentPresenter.Resources>
|
|
</ContentPresenter>
|
|
<local:BeginButton
|
|
x:Name="BeginButton"
|
|
Grid.Row="0"
|
|
Grid.RowSpan="3"
|
|
Grid.Column="5" />
|
|
</Grid>
|
|
</Grid>
|
|
<Grid
|
|
x:Name="MidCompilationGrid"
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="5"
|
|
Margin="5">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="4*" />
|
|
<ColumnDefinition Width="5" />
|
|
<ColumnDefinition Width="3*" />
|
|
</Grid.ColumnDefinitions>
|
|
<local:LogView x:Name="LogView" Grid.Column="0" />
|
|
<local:CpuView
|
|
x:Name="CpuView"
|
|
Grid.Column="2"
|
|
ViewModel="{Binding}" />
|
|
<local:AttentionBorder x:Name="UserInterventionsControl" Grid.Column="2">
|
|
<Grid>
|
|
<local:ConfirmationInterventionView DataContext="{Binding ActiveGlobalUserIntervention}" Visibility="{Binding ActiveGlobalUserIntervention, Converter={StaticResource IsTypeVisibilityConverter}, ConverterParameter={x:Type common:ConfirmationIntervention}}" />
|
|
</Grid>
|
|
</local:AttentionBorder>
|
|
<local:CompilationCompleteView
|
|
x:Name="CompilationComplete"
|
|
Grid.Column="2"
|
|
ViewModel="{Binding}" />
|
|
</Grid>
|
|
</Grid>
|
|
</rxui:ReactiveUserControl>
|