mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
24551b62f4
Both inputs start blank, and have error circles to display they're unhappy. Begin button is disabled and styled differently to match
795 lines
38 KiB
XML
795 lines
38 KiB
XML
<UserControl
|
|
x:Class="Wabbajack.InstallationView"
|
|
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: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"
|
|
d:DesignHeight="500"
|
|
d:DesignWidth="800"
|
|
mc:Ignorable="d">
|
|
<UserControl.Resources>
|
|
<Color x:Key="TextBackgroundFill">#92000000</Color>
|
|
<SolidColorBrush x:Key="TextBackgroundFillBrush" Color="{StaticResource TextBackgroundFill}" />
|
|
<Color x:Key="TextBackgroundHoverFill">#DF000000</Color>
|
|
<Style x:Key="BackgroundBlurStyle" TargetType="TextBlock">
|
|
<Setter Property="Background" Value="{StaticResource TextBackgroundFillBrush}" />
|
|
<Setter Property="Foreground" Value="Transparent" />
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsMouseOver, ElementName=TextHoverTrigger}" Value="True">
|
|
<DataTrigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<ColorAnimation
|
|
Storyboard.TargetProperty="(TextBlock.Background).(SolidColorBrush.Color)"
|
|
To="{StaticResource TextBackgroundHoverFill}"
|
|
Duration="0:0:0.06" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</DataTrigger.EnterActions>
|
|
<DataTrigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<ColorAnimation
|
|
Storyboard.TargetProperty="(TextBlock.Background).(SolidColorBrush.Color)"
|
|
To="{StaticResource TextBackgroundFill}"
|
|
Duration="0:0:0.06" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</DataTrigger.ExitActions>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Image}" Value="{x:Null}">
|
|
<Setter Property="Visibility" Value="Hidden" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
<Style
|
|
x:Key="SlideshowButton"
|
|
BasedOn="{StaticResource CircleButtonStyle}"
|
|
TargetType="ButtonBase">
|
|
<Setter Property="Width" Value="40" />
|
|
<Setter Property="Height" Value="40" />
|
|
<Setter Property="Margin" Value="4" />
|
|
</Style>
|
|
</UserControl.Resources>
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="40" />
|
|
<RowDefinition Height="5" />
|
|
<RowDefinition Height="4*" />
|
|
<RowDefinition Height="*" MinHeight="150" />
|
|
</Grid.RowDefinitions>
|
|
<Rectangle
|
|
x:Name="BorderEdgeFadeDown"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="3">
|
|
<Rectangle.Fill>
|
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
|
<GradientStop Offset="0" Color="#191919" />
|
|
<GradientStop Offset="0.4" Color="#00191919" />
|
|
</LinearGradientBrush>
|
|
</Rectangle.Fill>
|
|
</Rectangle>
|
|
<!-- Slideshow -->
|
|
<Border
|
|
x:Name="Slideshow"
|
|
Grid.Row="2"
|
|
Margin="5,0,5,5"
|
|
BorderBrush="#171717"
|
|
BorderThickness="1,0,1,1"
|
|
UseLayoutRounding="True">
|
|
<Grid ClipToBounds="True">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="5*" />
|
|
<ColumnDefinition Width="3*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Rectangle
|
|
Grid.Row="0"
|
|
Grid.RowSpan="4"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Fill="{StaticResource WindowBackgroundBrush}" />
|
|
<Viewbox
|
|
Grid.Row="0"
|
|
Grid.RowSpan="4"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Stretch="UniformToFill">
|
|
<Image Source="{Binding Image}" />
|
|
</Viewbox>
|
|
<Image
|
|
Grid.Row="0"
|
|
Grid.RowSpan="4"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Width="60"
|
|
Height="60"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Top"
|
|
Source="{Binding ModlistImage}" />
|
|
<TextBlock
|
|
x:Name="TitleTextShadow"
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Margin="-20,15,40,-10"
|
|
Padding="40,10"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Bottom"
|
|
FontFamily="Lucida Sans"
|
|
FontSize="65"
|
|
FontWeight="Bold"
|
|
Style="{StaticResource BackgroundBlurStyle}"
|
|
Text="{Binding TitleText}"
|
|
TextWrapping="WrapWithOverflow">
|
|
<TextBlock.Effect>
|
|
<BlurEffect Radius="85" />
|
|
</TextBlock.Effect>
|
|
</TextBlock>
|
|
<TextBlock
|
|
x:Name="ArtistTextShadow"
|
|
Grid.Row="3"
|
|
Grid.Column="0"
|
|
Margin="35,-10,-10,10"
|
|
Padding="30,10"
|
|
HorizontalAlignment="Left"
|
|
FontFamily="Lucida Sans"
|
|
FontSize="30"
|
|
FontWeight="Bold"
|
|
Style="{StaticResource BackgroundBlurStyle}"
|
|
TextWrapping="WrapWithOverflow">
|
|
<TextBlock.Effect>
|
|
<BlurEffect Radius="55" />
|
|
</TextBlock.Effect>
|
|
<Run FontSize="15" Text="by" />
|
|
<Run Text="{Binding AuthorText, Mode=OneWay}" />
|
|
</TextBlock>
|
|
<TextBlock
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Margin="20,25,20,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Bottom"
|
|
FontFamily="Lucida Sans"
|
|
FontSize="65"
|
|
FontWeight="Bold"
|
|
Text="{Binding TitleText}"
|
|
TextWrapping="WrapWithOverflow">
|
|
<TextBlock.Effect>
|
|
<DropShadowEffect />
|
|
</TextBlock.Effect>
|
|
</TextBlock>
|
|
<TextBlock
|
|
Grid.Row="3"
|
|
Grid.Column="0"
|
|
Margin="55,0,20,20"
|
|
FontFamily="Lucida Sans"
|
|
FontSize="30"
|
|
FontWeight="Bold"
|
|
TextWrapping="Wrap">
|
|
<TextBlock.Effect>
|
|
<DropShadowEffect />
|
|
</TextBlock.Effect>
|
|
<Run FontSize="15" Text="by" />
|
|
<Run Text="{Binding AuthorText, Mode=OneWay}" />
|
|
</TextBlock>
|
|
<Grid
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Margin="0,20,25,0"
|
|
HorizontalAlignment="Right">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.Effect>
|
|
<DropShadowEffect
|
|
BlurRadius="25"
|
|
Opacity="1"
|
|
Color="Black" />
|
|
</Grid.Effect>
|
|
<Grid.Style>
|
|
<Style TargetType="Grid">
|
|
<Setter Property="Opacity" Value="0" />
|
|
<Style.Triggers>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsMouseOver, ElementName=Slideshow}" Value="True" />
|
|
<Condition Binding="{Binding Installing}" Value="True" />
|
|
</MultiDataTrigger.Conditions>
|
|
<MultiDataTrigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimation
|
|
Storyboard.TargetProperty="Opacity"
|
|
To="1"
|
|
Duration="0:0:0.12" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</MultiDataTrigger.EnterActions>
|
|
<MultiDataTrigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity">
|
|
<LinearDoubleKeyFrame KeyTime="0:0:0.3" Value="1" />
|
|
<LinearDoubleKeyFrame KeyTime="0:0:0.42" Value="0" />
|
|
</DoubleAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</MultiDataTrigger.ExitActions>
|
|
</MultiDataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Grid.Style>
|
|
<Button
|
|
Grid.Column="3"
|
|
Width="60"
|
|
Height="60"
|
|
Margin="6"
|
|
Background="{StaticResource BackgroundBrush}"
|
|
Command="{Binding Slideshow.SlideShowNextItemCommand}"
|
|
Style="{StaticResource CircleButtonStyle}"
|
|
ToolTip="Skip to the next mod">
|
|
<icon:PackIconFontAwesome
|
|
Width="28"
|
|
Height="28"
|
|
Kind="ChevronRightSolid" />
|
|
</Button>
|
|
<ToggleButton
|
|
x:Name="PlayPauseButton"
|
|
Grid.Column="2"
|
|
Margin="6"
|
|
Background="{StaticResource BackgroundBrush}"
|
|
IsChecked="{Binding Slideshow.Enable}">
|
|
<ToggleButton.Style>
|
|
<Style BasedOn="{StaticResource SlideshowButton}" TargetType="ToggleButton">
|
|
<Setter Property="ToolTip" Value="Play slideshow" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Slideshow.Enable}" Value="True">
|
|
<Setter Property="ToolTip" Value="Pause slideshow" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ToggleButton.Style>
|
|
<icon:PackIconMaterial>
|
|
<icon:PackIconMaterial.Style>
|
|
<Style TargetType="icon:PackIconMaterial">
|
|
<Setter Property="Kind" Value="Pause" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Slideshow.Enable}" Value="True">
|
|
<Setter Property="Kind" Value="Play" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</icon:PackIconMaterial.Style>
|
|
</icon:PackIconMaterial>
|
|
</ToggleButton>
|
|
<Button
|
|
Grid.Column="1"
|
|
Margin="6"
|
|
Background="{StaticResource BackgroundBrush}"
|
|
Command="{Binding Slideshow.VisitNexusSiteCommand}"
|
|
Style="{StaticResource SlideshowButton}"
|
|
ToolTip="Open Nexus Website">
|
|
<icon:PackIconMaterial
|
|
Width="28"
|
|
Height="28"
|
|
Kind="Web" />
|
|
</Button>
|
|
<ToggleButton
|
|
Grid.Column="0"
|
|
Background="{StaticResource BackgroundBrush}"
|
|
IsChecked="{Binding Slideshow.ShowNSFW}"
|
|
ToolTip="Show NSFW mods">
|
|
<ToggleButton.Style>
|
|
<Style BasedOn="{StaticResource SlideshowButton}" TargetType="ToggleButton">
|
|
<Setter Property="ToolTip" Value="Show NSFW mods" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Slideshow.ShowNSFW}" Value="True">
|
|
<Setter Property="ToolTip" Value="Hide NSFW mods" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ToggleButton.Style>
|
|
<Grid>
|
|
<TextBlock
|
|
Margin="4"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
FontFamily="Lucida Sans"
|
|
FontSize="9"
|
|
FontWeight="Bold"
|
|
Text="NSFW" />
|
|
<icon:PackIconOcticons
|
|
Width="40"
|
|
Height="40"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Foreground="#88FFFFFF"
|
|
Kind="CircleSlash"
|
|
Visibility="{Binding Slideshow.ShowNSFW, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}" />
|
|
</Grid>
|
|
</ToggleButton>
|
|
</Grid>
|
|
<TextBlock
|
|
x:Name="DescriptionTextShadow"
|
|
Grid.Row="2"
|
|
Grid.RowSpan="2"
|
|
Grid.Column="1"
|
|
Margin="-10,15,-5,15"
|
|
Padding="30,10"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Bottom"
|
|
FontFamily="Lucida Sans"
|
|
FontSize="16"
|
|
Style="{StaticResource BackgroundBlurStyle}"
|
|
Text="{Binding Description}"
|
|
TextAlignment="Right"
|
|
TextWrapping="Wrap">
|
|
<TextBlock.Effect>
|
|
<BlurEffect Radius="55" />
|
|
</TextBlock.Effect>
|
|
</TextBlock>
|
|
<TextBlock
|
|
Grid.Row="2"
|
|
Grid.RowSpan="2"
|
|
Grid.Column="1"
|
|
Margin="20,25,25,25"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Bottom"
|
|
FontFamily="Lucida Sans"
|
|
FontSize="16"
|
|
Text="{Binding Description}"
|
|
TextAlignment="Right"
|
|
TextWrapping="Wrap">
|
|
<TextBlock.Effect>
|
|
<DropShadowEffect />
|
|
</TextBlock.Effect>
|
|
</TextBlock>
|
|
<Rectangle
|
|
x:Name="TextHoverTrigger"
|
|
Grid.Row="2"
|
|
Grid.RowSpan="2"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Fill="Transparent" />
|
|
</Grid>
|
|
</Border>
|
|
<!-- Top progress bar -->
|
|
<!-- Comes after slideshow control, so that any effects/overlap goes on top -->
|
|
<Rectangle
|
|
Grid.Row="2"
|
|
Height="25"
|
|
Margin="6,0"
|
|
VerticalAlignment="Top"
|
|
IsHitTestVisible="False">
|
|
<Rectangle.Fill>
|
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
|
<GradientStop Offset="0" Color="#AA000000" />
|
|
<GradientStop Offset="1" Color="#00000000" />
|
|
</LinearGradientBrush>
|
|
</Rectangle.Fill>
|
|
</Rectangle>
|
|
<Rectangle Grid.Row="1" Fill="{StaticResource BackgroundBrush}" />
|
|
<mahapps:MetroProgressBar
|
|
x:Name="BottomProgressBarDarkGlow"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="2"
|
|
Height="16"
|
|
Margin="-4"
|
|
VerticalAlignment="Top"
|
|
Background="Transparent"
|
|
BorderBrush="Transparent"
|
|
Foreground="{StaticResource PrimaryVariantBrush}"
|
|
Maximum="1"
|
|
Value="{Binding ProgressPercent, Mode=OneWay}">
|
|
<mahapps:MetroProgressBar.Effect>
|
|
<BlurEffect Radius="25" />
|
|
</mahapps:MetroProgressBar.Effect>
|
|
</mahapps:MetroProgressBar>
|
|
<mahapps:MetroProgressBar
|
|
x:Name="BottomProgressBarBrightGlow"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="2"
|
|
Height="6"
|
|
Margin="-4"
|
|
VerticalAlignment="Top"
|
|
Background="Transparent"
|
|
BorderBrush="Transparent"
|
|
Foreground="{StaticResource PrimaryBrush}"
|
|
Maximum="1"
|
|
Value="{Binding ProgressPercent, Mode=OneWay}">
|
|
<mahapps:MetroProgressBar.Effect>
|
|
<BlurEffect Radius="20" />
|
|
</mahapps:MetroProgressBar.Effect>
|
|
</mahapps:MetroProgressBar>
|
|
<Grid x:Name="TopBarGrid" Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<mahapps:MetroProgressBar
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="4"
|
|
Background="{StaticResource WindowBackgroundBrush}"
|
|
BorderThickness="0"
|
|
Foreground="Transparent"
|
|
Maximum="1"
|
|
Value="{Binding ProgressPercent, Mode=OneWay}" />
|
|
<mahapps:MetroProgressBar
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="4"
|
|
Background="Transparent"
|
|
BorderThickness="0"
|
|
Foreground="{StaticResource PrimaryVariantBrush}"
|
|
Maximum="1"
|
|
Opacity="{Binding ProgressPercent, Mode=OneWay}"
|
|
Value="{Binding ProgressPercent, Mode=OneWay}" />
|
|
<TextBlock
|
|
Grid.Column="0"
|
|
Width="90"
|
|
Margin="10,0,0,8"
|
|
VerticalAlignment="Bottom"
|
|
FontFamily="Lucida Sans"
|
|
FontWeight="Black"
|
|
TextAlignment="Right">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Text" Value="Configuring" />
|
|
<Setter Property="FontSize" Value="15" />
|
|
<Style.Triggers>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding InstallingMode}" Value="True" />
|
|
<Condition Binding="{Binding Installing}" Value="True" />
|
|
</MultiDataTrigger.Conditions>
|
|
<MultiDataTrigger.Setters>
|
|
<Setter Property="Text" Value="Installing" />
|
|
<Setter Property="FontSize" Value="14" />
|
|
</MultiDataTrigger.Setters>
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding InstallingMode}" Value="True" />
|
|
<Condition Binding="{Binding Installing}" Value="False" />
|
|
</MultiDataTrigger.Conditions>
|
|
<MultiDataTrigger.Setters>
|
|
<Setter Property="Text" Value="Installed" />
|
|
<Setter Property="FontSize" Value="14" />
|
|
</MultiDataTrigger.Setters>
|
|
</MultiDataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
<TextBlock
|
|
Grid.Column="1"
|
|
Margin="15,0,0,0"
|
|
VerticalAlignment="Center"
|
|
FontFamily="Lucida Sans"
|
|
FontSize="25"
|
|
FontWeight="Black"
|
|
Text="{Binding ModListName}" />
|
|
<!-- Readd when Pause/Stop implementations added -->
|
|
<!--<Button Grid.Column="2"
|
|
ToolTip="Pause Installation"
|
|
Margin="0,0,0,5"
|
|
Width="50"
|
|
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}}">
|
|
<icon:PackIconMaterial
|
|
Kind="Pause" />
|
|
</Button>
|
|
<Button Grid.Column="3"
|
|
ToolTip="Stop Installation"
|
|
Margin="0,0,0,5"
|
|
Width="50"
|
|
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}}" >
|
|
<icon:PackIconFontAwesome
|
|
Width="25"
|
|
Height="25"
|
|
Kind="TimesCircleSolid" />
|
|
</Button>-->
|
|
</Grid>
|
|
<mahapps:MetroProgressBar
|
|
x:Name="BottomProgressBar"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="2"
|
|
Height="5"
|
|
VerticalAlignment="Top"
|
|
Background="Transparent"
|
|
BorderBrush="Transparent"
|
|
Foreground="{StaticResource PrimaryBrush}"
|
|
Maximum="1"
|
|
Value="{Binding ProgressPercent, Mode=OneWay}" />
|
|
<mahapps:MetroProgressBar
|
|
x:Name="BottomProgressBarHighlight"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="2"
|
|
Height="5"
|
|
VerticalAlignment="Top"
|
|
Background="Transparent"
|
|
BorderBrush="Transparent"
|
|
Maximum="1"
|
|
Value="{Binding ProgressPercent, Mode=OneWay}">
|
|
<mahapps:MetroProgressBar.Foreground>
|
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
|
<GradientStop Offset="0" Color="#CCFFFFFF" />
|
|
<GradientStop Offset="0.3" Color="#00FFFFFF" />
|
|
<GradientStop Offset="0.7" Color="#00FFFFFF" />
|
|
<GradientStop Offset="1" Color="#CCFFFFFF" />
|
|
</LinearGradientBrush>
|
|
</mahapps:MetroProgressBar.Foreground>
|
|
</mahapps:MetroProgressBar>
|
|
<!-- Bottom Area -->
|
|
<Grid
|
|
Grid.Row="3"
|
|
Margin="5,0,5,5"
|
|
ClipToBounds="True"
|
|
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="4" />
|
|
<ColumnDefinition Width="2*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Grid.Column="0" Margin="10">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Button
|
|
Grid.Row="0"
|
|
Margin="30,5"
|
|
Command="{Binding OpenReadmeCommand}"
|
|
Content="Readme"
|
|
FontSize="20"
|
|
ToolTip="Open the readme for the modlist" />
|
|
<Button
|
|
Grid.Row="1"
|
|
Margin="30,5"
|
|
Command="{Binding VisitWebsiteCommand}"
|
|
Content="Website"
|
|
FontSize="20"
|
|
ToolTip="Open the webpage for the modlist" />
|
|
<Button
|
|
Grid.Row="2"
|
|
Margin="30,5"
|
|
Command="{Binding ShowReportCommand}"
|
|
Content="Manifest"
|
|
FontSize="20"
|
|
ToolTip="Open an explicit listing of all actions this modlist will take" />
|
|
</Grid>
|
|
<Grid
|
|
x:Name="InstallationConfigurationView"
|
|
Grid.Column="2"
|
|
Background="{StaticResource WindowBackgroundBrush}">
|
|
<Border
|
|
x:Name="ConfigurationBackgroundHaze"
|
|
Height="120"
|
|
Background="{StaticResource PrimaryVariantBrush}"
|
|
CornerRadius="50"
|
|
Opacity="0.10">
|
|
<Border.Effect>
|
|
<BlurEffect Radius="45" />
|
|
</Border.Effect>
|
|
</Border>
|
|
<ScrollViewer
|
|
Margin="5"
|
|
Background="Transparent"
|
|
VerticalScrollBarVisibility="Auto"
|
|
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}">
|
|
<Grid Margin="8">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="20" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="20" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="40" />
|
|
<RowDefinition Height="40" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Border
|
|
x:Name="BeginButtonPurpleGlow"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="2"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="5"
|
|
Width="76"
|
|
Height="76"
|
|
Margin="0,0,14,0"
|
|
HorizontalAlignment="Right"
|
|
Background="{StaticResource PrimaryVariantBrush}"
|
|
CornerRadius="43"
|
|
Visibility="{Binding IsEnabled, ElementName=BeginButton, Converter={StaticResource bool2VisibilityConverter}}">
|
|
<Border.Effect>
|
|
<BlurEffect Radius="10" />
|
|
</Border.Effect>
|
|
<Border.Style>
|
|
<Style TargetType="Border">
|
|
<Setter Property="Opacity" Value="0.5" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsMouseOver, ElementName=BeginButton}" Value="True">
|
|
<Setter Property="Opacity" Value="0.8" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
</Border>
|
|
<TextBlock
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
FontSize="14"
|
|
Text="Installation Location"
|
|
TextAlignment="Center" />
|
|
<local:FilePicker
|
|
Grid.Row="1"
|
|
Grid.Column="2"
|
|
Height="30"
|
|
VerticalAlignment="Center"
|
|
AdditionalError="{Binding LocationError}"
|
|
DoExistsCheck="False"
|
|
FontSize="14"
|
|
PathType="Folder"
|
|
PromptTitle="Select Installation directory"
|
|
TargetPath="{Binding Location}" />
|
|
<TextBlock
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
FontSize="14"
|
|
Text="Download Location"
|
|
TextAlignment="Center" />
|
|
<local:FilePicker
|
|
Grid.Row="2"
|
|
Grid.Column="2"
|
|
Height="30"
|
|
VerticalAlignment="Center"
|
|
AdditionalError="{Binding DownloadLocationError}"
|
|
DoExistsCheck="False"
|
|
FontSize="14"
|
|
PathType="Folder"
|
|
PromptTitle="Select a location for MO2 downloads"
|
|
TargetPath="{Binding DownloadLocation}" />
|
|
<Button
|
|
x:Name="BeginButton"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="2"
|
|
Grid.Column="4"
|
|
Width="55"
|
|
Height="55"
|
|
Margin="0,0,25,0"
|
|
HorizontalAlignment="Right"
|
|
Command="{Binding BeginCommand}">
|
|
<icon:PackIconMaterial
|
|
Width="25"
|
|
Height="25"
|
|
Margin="5,0,0,0"
|
|
Kind="Play">
|
|
<icon:PackIconMaterial.Style>
|
|
<Style TargetType="icon:PackIconMaterial">
|
|
<Setter Property="Foreground" Value="#666666" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsEnabled, ElementName=BeginButton}" Value="True">
|
|
<Setter Property="Foreground" Value="{StaticResource SecondaryBrush}" />
|
|
</DataTrigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsMouseOver, ElementName=BeginButton}" Value="True" />
|
|
<Condition Binding="{Binding IsEnabled, ElementName=BeginButton}" Value="True" />
|
|
</MultiDataTrigger.Conditions>
|
|
<MultiDataTrigger.Setters>
|
|
<Setter Property="Foreground" Value="#00ffe7" />
|
|
</MultiDataTrigger.Setters>
|
|
</MultiDataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</icon:PackIconMaterial.Style>
|
|
</icon:PackIconMaterial>
|
|
<Button.Style>
|
|
<Style BasedOn="{StaticResource CircleButtonStyle}" TargetType="Button">
|
|
<Setter Property="Background" Value="#333333" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsEnabled, ElementName=BeginButton}" Value="True">
|
|
<Setter Property="BorderBrush" Value="{StaticResource SecondaryBrush}" />
|
|
<Setter Property="Background" Value="#222222" />
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect
|
|
BlurRadius="15"
|
|
ShadowDepth="0"
|
|
Color="{StaticResource Secondary}" />
|
|
</Setter.Value>
|
|
</Setter>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</Grid>
|
|
<Rectangle
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="3"
|
|
Height="1"
|
|
Margin="25,0"
|
|
VerticalAlignment="Top"
|
|
Fill="{StaticResource DarkBackgroundBrush}" />
|
|
</Grid>
|
|
<Grid
|
|
Grid.Row="3"
|
|
Margin="5,0,5,5"
|
|
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="4" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<ListBox
|
|
Grid.Column="0"
|
|
local:AutoScrollBehavior.ScrollOnNewItem="True"
|
|
ItemsSource="{Binding MWVM.Log}" />
|
|
<ListBox
|
|
x:Name="CpuListBox"
|
|
Grid.Column="2"
|
|
ItemsSource="{Binding MWVM.StatusList}">
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid HorizontalAlignment="Stretch">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<ProgressBar
|
|
Grid.Column="0"
|
|
Width="100"
|
|
Maximum="100"
|
|
Minimum="0"
|
|
Value="{Binding Progress, Mode=OneTime}">
|
|
<ProgressBar.Style>
|
|
<Style TargetType="ProgressBar">
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Progress, Mode=OneTime}" Value="0">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ProgressBar.Style>
|
|
</ProgressBar>
|
|
<TextBlock Grid.Column="1" Text=" CPU " />
|
|
<TextBlock Grid.Column="2" Text="{Binding ID, Mode=OneTime}" />
|
|
<TextBlock Grid.Column="3" Text=" - " />
|
|
<TextBlock Grid.Column="4" Text="{Binding Msg, Mode=OneTime}" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
</Grid>
|
|
</Grid>
|
|
</UserControl>
|