2019-10-28 04:35:31 +00:00
|
|
|
<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"
|
2019-11-02 00:17:23 +00:00
|
|
|
xmlns:icon="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
2019-10-28 04:35:31 +00:00
|
|
|
xmlns:local="clr-namespace:Wabbajack"
|
|
|
|
xmlns:mahapps="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
|
2019-11-02 00:17:23 +00:00
|
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
2019-10-28 04:35:31 +00:00
|
|
|
d:DesignHeight="500"
|
|
|
|
d:DesignWidth="800"
|
|
|
|
mc:Ignorable="d">
|
|
|
|
<UserControl.Resources>
|
|
|
|
<Color x:Key="TextBackgroundFill">#92000000</Color>
|
|
|
|
<SolidColorBrush x:Key="TextBackgroundFillBrush" Color="{StaticResource TextBackgroundFill}" />
|
2019-11-02 00:17:23 +00:00
|
|
|
<Color x:Key="TextBackgroundHoverFill">#DF000000</Color>
|
2019-10-28 04:35:31 +00:00
|
|
|
<Style x:Key="BackgroundBlurStyle" TargetType="Border">
|
|
|
|
<Setter Property="Background" Value="{StaticResource TextBackgroundFillBrush}" />
|
2019-11-01 02:17:44 +00:00
|
|
|
<Setter Property="Visibility" Value="Hidden" />
|
2019-10-28 04:35:31 +00:00
|
|
|
<Style.Triggers>
|
2019-11-02 00:17:23 +00:00
|
|
|
<DataTrigger Binding="{Binding IsMouseOver, ElementName=Slideshow}" Value="True">
|
2019-10-28 04:35:31 +00:00
|
|
|
<DataTrigger.EnterActions>
|
|
|
|
<BeginStoryboard>
|
|
|
|
<Storyboard>
|
2019-11-02 00:17:23 +00:00
|
|
|
<ColorAnimation
|
|
|
|
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
|
|
|
|
To="{StaticResource TextBackgroundHoverFill}"
|
|
|
|
Duration="0:0:0.06" />
|
2019-10-28 04:35:31 +00:00
|
|
|
</Storyboard>
|
|
|
|
</BeginStoryboard>
|
|
|
|
</DataTrigger.EnterActions>
|
|
|
|
<DataTrigger.ExitActions>
|
|
|
|
<BeginStoryboard>
|
|
|
|
<Storyboard>
|
2019-11-02 00:17:23 +00:00
|
|
|
<ColorAnimation
|
|
|
|
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
|
|
|
|
To="{StaticResource TextBackgroundFill}"
|
|
|
|
Duration="0:0:0.06" />
|
2019-10-28 04:35:31 +00:00
|
|
|
</Storyboard>
|
|
|
|
</BeginStoryboard>
|
|
|
|
</DataTrigger.ExitActions>
|
|
|
|
</DataTrigger>
|
2019-11-02 00:17:23 +00:00
|
|
|
<DataTrigger Binding="{Binding ShowTextShadow}" Value="True">
|
2019-11-01 02:17:44 +00:00
|
|
|
<Setter Property="Visibility" Value="Visible" />
|
2019-10-28 04:35:31 +00:00
|
|
|
</DataTrigger>
|
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Style
|
|
|
|
x:Key="SlideshowButton"
|
|
|
|
BasedOn="{StaticResource CircleButtonStyle}"
|
|
|
|
TargetType="ButtonBase">
|
2019-10-28 04:35:31 +00:00
|
|
|
<Setter Property="Width" Value="40" />
|
|
|
|
<Setter Property="Height" Value="40" />
|
|
|
|
<Setter Property="Margin" Value="4" />
|
|
|
|
</Style>
|
|
|
|
</UserControl.Resources>
|
|
|
|
<Grid Margin="5">
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="40" />
|
|
|
|
<RowDefinition Height="5" />
|
|
|
|
<RowDefinition Height="4*" />
|
|
|
|
<RowDefinition Height="*" MinHeight="150" />
|
|
|
|
</Grid.RowDefinitions>
|
2019-11-02 00:17:23 +00:00
|
|
|
<!-- Slideshow -->
|
|
|
|
<Grid
|
|
|
|
x:Name="Slideshow"
|
|
|
|
Grid.Row="2"
|
|
|
|
Margin="0,0,0,5">
|
2019-10-25 04:26:29 +00:00
|
|
|
<Grid.ColumnDefinitions>
|
2019-10-28 04:35:31 +00:00
|
|
|
<ColumnDefinition Width="5*" />
|
|
|
|
<ColumnDefinition Width="3*" />
|
2019-10-25 04:26:29 +00:00
|
|
|
</Grid.ColumnDefinitions>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Rectangle
|
2019-10-25 04:26:29 +00:00
|
|
|
Grid.Column="0"
|
|
|
|
Grid.ColumnSpan="2"
|
2019-10-28 04:35:31 +00:00
|
|
|
Fill="{StaticResource WindowBackgroundBrush}" />
|
|
|
|
<Viewbox
|
2019-10-25 04:26:29 +00:00
|
|
|
Grid.Column="0"
|
2019-11-02 00:17:23 +00:00
|
|
|
Grid.ColumnSpan="2"
|
|
|
|
HorizontalAlignment="Center"
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
Stretch="UniformToFill">
|
2019-11-01 01:02:39 +00:00
|
|
|
<Image Source="{Binding Image}" />
|
2019-10-28 04:35:31 +00:00
|
|
|
</Viewbox>
|
|
|
|
<Image
|
2019-10-25 04:26:29 +00:00
|
|
|
Grid.Column="0"
|
2019-10-28 04:35:31 +00:00
|
|
|
Grid.ColumnSpan="2"
|
|
|
|
Width="60"
|
|
|
|
Height="60"
|
|
|
|
HorizontalAlignment="Left"
|
|
|
|
VerticalAlignment="Top"
|
2019-11-01 01:02:39 +00:00
|
|
|
Source="{Binding ModlistImage}" />
|
2019-11-02 00:17:23 +00:00
|
|
|
<Grid Grid.Column="0">
|
2019-10-25 04:26:29 +00:00
|
|
|
<Grid.RowDefinitions>
|
2019-10-28 04:35:31 +00:00
|
|
|
<RowDefinition Height="*" />
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="Auto" />
|
2019-10-25 04:26:29 +00:00
|
|
|
</Grid.RowDefinitions>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Border
|
|
|
|
Grid.Row="1"
|
|
|
|
Grid.RowSpan="2"
|
|
|
|
Grid.Column="0"
|
|
|
|
Margin="-100,0,0,-100"
|
|
|
|
CornerRadius="100"
|
|
|
|
Style="{StaticResource BackgroundBlurStyle}">
|
2019-10-28 04:35:31 +00:00
|
|
|
<Border.Effect>
|
|
|
|
<BlurEffect Radius="65" />
|
|
|
|
</Border.Effect>
|
|
|
|
</Border>
|
|
|
|
<TextBlock
|
|
|
|
Grid.Row="1"
|
2019-10-25 04:26:29 +00:00
|
|
|
Grid.Column="0"
|
2019-10-28 04:35:31 +00:00
|
|
|
Margin="20,25,20,0"
|
2019-11-02 00:17:23 +00:00
|
|
|
VerticalAlignment="Bottom"
|
2019-10-28 04:35:31 +00:00
|
|
|
FontFamily="Lucida Sans"
|
2019-11-02 00:17:23 +00:00
|
|
|
FontSize="65"
|
2019-10-28 04:35:31 +00:00
|
|
|
FontWeight="Bold"
|
2019-11-02 00:17:23 +00:00
|
|
|
Text="{Binding TitleText}"
|
|
|
|
TextWrapping="WrapWithOverflow">
|
2019-10-28 04:35:31 +00:00
|
|
|
<TextBlock.Effect>
|
|
|
|
<DropShadowEffect />
|
|
|
|
</TextBlock.Effect>
|
|
|
|
</TextBlock>
|
|
|
|
<TextBlock
|
2019-10-25 04:26:29 +00:00
|
|
|
Grid.Row="2"
|
|
|
|
Grid.Column="0"
|
2019-10-28 04:35:31 +00:00
|
|
|
Margin="55,0,20,20"
|
|
|
|
FontFamily="Lucida Sans"
|
2019-11-02 00:17:23 +00:00
|
|
|
FontSize="30"
|
2019-10-28 04:35:31 +00:00
|
|
|
FontWeight="Bold"
|
2019-11-01 01:02:39 +00:00
|
|
|
Text="{Binding AuthorText}"
|
2019-11-02 00:17:23 +00:00
|
|
|
TextWrapping="Wrap">
|
2019-10-28 04:35:31 +00:00
|
|
|
<TextBlock.Effect>
|
|
|
|
<DropShadowEffect />
|
|
|
|
</TextBlock.Effect>
|
|
|
|
</TextBlock>
|
2019-10-25 04:26:29 +00:00
|
|
|
</Grid>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Grid Grid.Column="1">
|
2019-10-28 04:35:31 +00:00
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
</Grid.RowDefinitions>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Grid
|
|
|
|
Grid.Column="0"
|
|
|
|
Margin="0,20,25,0"
|
|
|
|
HorizontalAlignment="Right">
|
2019-11-01 03:39:58 +00:00
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
</Grid.ColumnDefinitions>
|
2019-10-28 04:35:31 +00:00
|
|
|
<Grid.Effect>
|
2019-11-02 00:17:23 +00:00
|
|
|
<DropShadowEffect
|
|
|
|
BlurRadius="25"
|
|
|
|
Opacity="1"
|
|
|
|
Color="Black" />
|
2019-10-28 04:35:31 +00:00
|
|
|
</Grid.Effect>
|
|
|
|
<Grid.Style>
|
|
|
|
<Style TargetType="Grid">
|
|
|
|
<Setter Property="Opacity" Value="0" />
|
|
|
|
<Style.Triggers>
|
2019-10-30 19:45:42 +00:00
|
|
|
<MultiDataTrigger>
|
|
|
|
<MultiDataTrigger.Conditions>
|
|
|
|
<Condition Binding="{Binding IsMouseOver, ElementName=Slideshow}" Value="True" />
|
2019-11-01 01:02:39 +00:00
|
|
|
<Condition Binding="{Binding Installing}" Value="True" />
|
2019-10-30 19:45:42 +00:00
|
|
|
</MultiDataTrigger.Conditions>
|
|
|
|
<MultiDataTrigger.EnterActions>
|
2019-10-28 04:35:31 +00:00
|
|
|
<BeginStoryboard>
|
|
|
|
<Storyboard>
|
|
|
|
<DoubleAnimation
|
2019-11-02 00:17:23 +00:00
|
|
|
Storyboard.TargetProperty="Opacity"
|
|
|
|
To="1"
|
2019-10-28 04:35:31 +00:00
|
|
|
Duration="0:0:0.12" />
|
|
|
|
</Storyboard>
|
|
|
|
</BeginStoryboard>
|
2019-10-30 19:45:42 +00:00
|
|
|
</MultiDataTrigger.EnterActions>
|
|
|
|
<MultiDataTrigger.ExitActions>
|
2019-10-28 04:35:31 +00:00
|
|
|
<BeginStoryboard>
|
|
|
|
<Storyboard>
|
2019-11-02 00:17:23 +00:00
|
|
|
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity">
|
|
|
|
<LinearDoubleKeyFrame KeyTime="0:0:0.3" Value="1" />
|
2019-10-28 04:35:31 +00:00
|
|
|
<LinearDoubleKeyFrame KeyTime="0:0:0.42" Value="0" />
|
|
|
|
</DoubleAnimationUsingKeyFrames>
|
|
|
|
</Storyboard>
|
|
|
|
</BeginStoryboard>
|
2019-10-30 19:45:42 +00:00
|
|
|
</MultiDataTrigger.ExitActions>
|
|
|
|
</MultiDataTrigger>
|
2019-10-28 04:35:31 +00:00
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
|
|
|
</Grid.Style>
|
2019-11-02 00:17:23 +00:00
|
|
|
<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" />
|
2019-10-28 04:35:31 +00:00
|
|
|
</Button>
|
2019-11-02 00:17:23 +00:00
|
|
|
<ToggleButton
|
|
|
|
x:Name="PlayPauseButton"
|
|
|
|
Grid.Column="2"
|
|
|
|
Margin="6"
|
|
|
|
Background="{StaticResource BackgroundBrush}"
|
|
|
|
IsChecked="{Binding Slideshow.Enable}">
|
2019-11-01 03:39:58 +00:00
|
|
|
<ToggleButton.Style>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Style BasedOn="{StaticResource SlideshowButton}" TargetType="ToggleButton">
|
2019-11-01 03:39:58 +00:00
|
|
|
<Setter Property="ToolTip" Value="Play slideshow" />
|
|
|
|
<Style.Triggers>
|
2019-11-02 00:17:23 +00:00
|
|
|
<DataTrigger Binding="{Binding Slideshow.Enable}" Value="True">
|
2019-11-01 03:39:58 +00:00
|
|
|
<Setter Property="ToolTip" Value="Pause slideshow" />
|
|
|
|
</DataTrigger>
|
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
|
|
|
</ToggleButton.Style>
|
2019-11-02 00:17:23 +00:00
|
|
|
<icon:PackIconMaterial>
|
2019-10-28 04:35:31 +00:00
|
|
|
<icon:PackIconMaterial.Style>
|
|
|
|
<Style TargetType="icon:PackIconMaterial">
|
|
|
|
<Setter Property="Kind" Value="Pause" />
|
|
|
|
<Style.Triggers>
|
2019-11-02 00:17:23 +00:00
|
|
|
<DataTrigger Binding="{Binding Slideshow.Enable}" Value="True">
|
2019-10-28 04:35:31 +00:00
|
|
|
<Setter Property="Kind" Value="Play" />
|
|
|
|
</DataTrigger>
|
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
|
|
|
</icon:PackIconMaterial.Style>
|
|
|
|
</icon:PackIconMaterial>
|
|
|
|
</ToggleButton>
|
2019-11-02 00:17:23 +00:00
|
|
|
<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" />
|
2019-11-01 03:39:58 +00:00
|
|
|
</Button>
|
2019-11-02 00:17:23 +00:00
|
|
|
<ToggleButton
|
|
|
|
Grid.Column="0"
|
|
|
|
Background="{StaticResource BackgroundBrush}"
|
|
|
|
IsChecked="{Binding Slideshow.ShowNSFW}"
|
|
|
|
ToolTip="Show NSFW mods">
|
2019-11-01 03:39:58 +00:00
|
|
|
<ToggleButton.Style>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Style BasedOn="{StaticResource SlideshowButton}" TargetType="ToggleButton">
|
2019-11-01 03:39:58 +00:00
|
|
|
<Setter Property="ToolTip" Value="Show NSFW mods" />
|
|
|
|
<Style.Triggers>
|
2019-11-02 00:17:23 +00:00
|
|
|
<DataTrigger Binding="{Binding Slideshow.ShowNSFW}" Value="True">
|
2019-11-01 03:39:58 +00:00
|
|
|
<Setter Property="ToolTip" Value="Hide NSFW mods" />
|
|
|
|
</DataTrigger>
|
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
|
|
|
</ToggleButton.Style>
|
2019-10-28 04:35:31 +00:00
|
|
|
<Grid>
|
2019-11-02 00:17:23 +00:00
|
|
|
<TextBlock
|
|
|
|
Margin="4"
|
|
|
|
HorizontalAlignment="Center"
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
FontFamily="Lucida Sans"
|
|
|
|
FontSize="9"
|
|
|
|
FontWeight="Bold"
|
|
|
|
Text="NSFW" />
|
2019-10-28 04:35:31 +00:00
|
|
|
<icon:PackIconOcticons
|
2019-11-02 00:17:23 +00:00
|
|
|
Width="40"
|
|
|
|
Height="40"
|
|
|
|
HorizontalAlignment="Center"
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
Foreground="#88FFFFFF"
|
|
|
|
Kind="CircleSlash"
|
|
|
|
Visibility="{Binding Slideshow.ShowNSFW, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}" />
|
2019-10-28 04:35:31 +00:00
|
|
|
</Grid>
|
|
|
|
</ToggleButton>
|
|
|
|
</Grid>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Border
|
|
|
|
Grid.Row="3"
|
|
|
|
Margin="0,0,-50,-50"
|
|
|
|
CornerRadius="50"
|
|
|
|
Style="{StaticResource BackgroundBlurStyle}">
|
2019-10-28 04:35:31 +00:00
|
|
|
<Border.Effect>
|
|
|
|
<BlurEffect Radius="65" />
|
|
|
|
</Border.Effect>
|
|
|
|
</Border>
|
|
|
|
<TextBlock
|
|
|
|
Grid.Row="3"
|
|
|
|
Margin="20,25,25,25"
|
2019-11-02 00:17:23 +00:00
|
|
|
HorizontalAlignment="Right"
|
|
|
|
VerticalAlignment="Bottom"
|
2019-10-28 04:35:31 +00:00
|
|
|
FontFamily="Lucida Sans"
|
2019-11-02 00:17:23 +00:00
|
|
|
FontSize="16"
|
2019-11-01 04:59:10 +00:00
|
|
|
Text="{Binding Description}"
|
2019-11-02 00:17:23 +00:00
|
|
|
TextAlignment="Right"
|
|
|
|
TextWrapping="Wrap">
|
2019-10-28 04:35:31 +00:00
|
|
|
<TextBlock.Effect>
|
|
|
|
<DropShadowEffect />
|
|
|
|
</TextBlock.Effect>
|
|
|
|
</TextBlock>
|
|
|
|
</Grid>
|
|
|
|
</Grid>
|
2019-11-02 00:17:23 +00:00
|
|
|
<!-- Top progress bar -->
|
|
|
|
<!-- Comes after slideshow control, so that any effects/overlap goes on top -->
|
|
|
|
<Rectangle
|
|
|
|
Grid.Row="2"
|
|
|
|
Height="25"
|
|
|
|
VerticalAlignment="Top"
|
|
|
|
IsHitTestVisible="False">
|
2019-10-28 04:35:31 +00:00
|
|
|
<Rectangle.Fill>
|
|
|
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
2019-11-02 00:17:23 +00:00
|
|
|
<GradientStop Offset="0" Color="#AA000000" />
|
|
|
|
<GradientStop Offset="1" Color="#00000000" />
|
2019-10-28 04:35:31 +00:00
|
|
|
</LinearGradientBrush>
|
|
|
|
</Rectangle.Fill>
|
|
|
|
</Rectangle>
|
2019-10-30 19:45:42 +00:00
|
|
|
<Rectangle Grid.Row="1" Fill="{StaticResource BackgroundBrush}" />
|
2019-11-02 00:17:23 +00:00
|
|
|
<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}">
|
2019-10-28 04:35:31 +00:00
|
|
|
<mahapps:MetroProgressBar.Effect>
|
|
|
|
<BlurEffect Radius="25" />
|
|
|
|
</mahapps:MetroProgressBar.Effect>
|
|
|
|
</mahapps:MetroProgressBar>
|
2019-11-02 00:17:23 +00:00
|
|
|
<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}">
|
2019-10-28 04:35:31 +00:00
|
|
|
<mahapps:MetroProgressBar.Effect>
|
|
|
|
<BlurEffect Radius="20" />
|
|
|
|
</mahapps:MetroProgressBar.Effect>
|
|
|
|
</mahapps:MetroProgressBar>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Grid x:Name="TopBarGrid" Grid.Row="0">
|
2019-10-28 04:35:31 +00:00
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
</Grid.ColumnDefinitions>
|
2019-11-02 00:17:23 +00:00
|
|
|
<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">
|
2019-10-30 19:45:42 +00:00
|
|
|
<TextBlock.Style>
|
|
|
|
<Style TargetType="TextBlock">
|
|
|
|
<Setter Property="Text" Value="Configuring" />
|
|
|
|
<Setter Property="FontSize" Value="15" />
|
|
|
|
<Style.Triggers>
|
2019-11-01 00:21:24 +00:00
|
|
|
<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>
|
2019-10-30 19:45:42 +00:00
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
|
|
|
</TextBlock.Style>
|
|
|
|
</TextBlock>
|
2019-11-02 00:17:23 +00:00
|
|
|
<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 -->
|
2019-11-01 00:21:24 +00:00
|
|
|
<!--<Button Grid.Column="2"
|
2019-11-02 00:17:23 +00:00
|
|
|
ToolTip="Pause Installation"
|
2019-10-30 19:45:42 +00:00
|
|
|
Margin="0,0,0,5"
|
|
|
|
Width="50"
|
2019-11-01 00:21:24 +00:00
|
|
|
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}}">
|
2019-10-28 04:35:31 +00:00
|
|
|
<icon:PackIconMaterial
|
|
|
|
Kind="Pause" />
|
|
|
|
</Button>
|
2019-10-30 19:45:42 +00:00
|
|
|
<Button Grid.Column="3"
|
2019-11-02 00:17:23 +00:00
|
|
|
ToolTip="Stop Installation"
|
|
|
|
Margin="0,0,0,5"
|
|
|
|
Width="50"
|
2019-11-01 00:21:24 +00:00
|
|
|
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}}" >
|
2019-10-28 04:35:31 +00:00
|
|
|
<icon:PackIconFontAwesome
|
|
|
|
Width="25"
|
|
|
|
Height="25"
|
|
|
|
Kind="TimesCircleSolid" />
|
2019-11-01 00:21:24 +00:00
|
|
|
</Button>-->
|
2019-10-28 04:35:31 +00:00
|
|
|
</Grid>
|
2019-11-02 00:17:23 +00:00
|
|
|
<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}">
|
2019-10-28 04:35:31 +00:00
|
|
|
<mahapps:MetroProgressBar.Foreground>
|
|
|
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
2019-11-02 00:17:23 +00:00
|
|
|
<GradientStop Offset="0" Color="#CCFFFFFF" />
|
|
|
|
<GradientStop Offset="0.3" Color="#00FFFFFF" />
|
|
|
|
<GradientStop Offset="0.7" Color="#00FFFFFF" />
|
|
|
|
<GradientStop Offset="1" Color="#CCFFFFFF" />
|
2019-10-28 04:35:31 +00:00
|
|
|
</LinearGradientBrush>
|
|
|
|
</mahapps:MetroProgressBar.Foreground>
|
|
|
|
</mahapps:MetroProgressBar>
|
2019-11-02 00:17:23 +00:00
|
|
|
<!-- Bottom Area -->
|
|
|
|
<Grid Grid.Row="3" Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}">
|
2019-10-28 04:35:31 +00:00
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="*" />
|
2019-10-30 19:45:42 +00:00
|
|
|
<ColumnDefinition Width="4" />
|
|
|
|
<ColumnDefinition Width="2*" />
|
|
|
|
</Grid.ColumnDefinitions>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Grid Grid.Column="0" Margin="10">
|
2019-10-30 19:45:42 +00:00
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
<RowDefinition Height="*" />
|
2019-11-01 02:57:49 +00:00
|
|
|
<RowDefinition Height="*" />
|
2019-10-30 19:45:42 +00:00
|
|
|
</Grid.RowDefinitions>
|
2019-11-02 00:17:23 +00:00
|
|
|
<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" />
|
2019-10-30 19:45:42 +00:00
|
|
|
</Grid>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Grid
|
|
|
|
x:Name="InstallationConfigurationView"
|
|
|
|
Grid.Column="2"
|
|
|
|
Background="{StaticResource WindowBackgroundBrush}">
|
|
|
|
<Border
|
|
|
|
x:Name="ConfigurationBackgroundHaze"
|
|
|
|
Height="120"
|
|
|
|
Background="{StaticResource PrimaryVariantBrush}"
|
|
|
|
CornerRadius="50"
|
|
|
|
Opacity="0.10">
|
2019-11-01 04:34:12 +00:00
|
|
|
<Border.Effect>
|
|
|
|
<BlurEffect Radius="45" />
|
|
|
|
</Border.Effect>
|
|
|
|
</Border>
|
2019-11-02 00:17:23 +00:00
|
|
|
<ScrollViewer
|
|
|
|
Margin="5"
|
|
|
|
Background="Transparent"
|
|
|
|
VerticalScrollBarVisibility="Auto"
|
|
|
|
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}">
|
2019-10-30 19:45:42 +00:00
|
|
|
<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>
|
2019-11-02 00:17:23 +00:00
|
|
|
<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">
|
2019-11-01 04:34:12 +00:00
|
|
|
<Border.Effect>
|
|
|
|
<BlurEffect Radius="10" />
|
|
|
|
</Border.Effect>
|
|
|
|
<Border.Style>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Style TargetType="Border">
|
2019-11-01 04:34:12 +00:00
|
|
|
<Setter Property="Opacity" Value="0.5" />
|
|
|
|
<Style.Triggers>
|
2019-11-02 00:17:23 +00:00
|
|
|
<DataTrigger Binding="{Binding IsMouseOver, ElementName=BeginButton}" Value="True">
|
2019-11-01 04:34:12 +00:00
|
|
|
<Setter Property="Opacity" Value="0.8" />
|
|
|
|
</DataTrigger>
|
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
|
|
|
</Border.Style>
|
|
|
|
</Border>
|
2019-11-02 00:17:23 +00:00
|
|
|
<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"
|
|
|
|
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"
|
|
|
|
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"
|
|
|
|
Background="#222222"
|
|
|
|
BorderBrush="{StaticResource SecondaryBrush}"
|
|
|
|
Command="{Binding BeginCommand}"
|
|
|
|
Style="{StaticResource CircleButtonStyle}">
|
2019-10-30 19:45:42 +00:00
|
|
|
<icon:PackIconMaterial
|
|
|
|
Width="25"
|
2019-11-02 00:17:23 +00:00
|
|
|
Height="25"
|
|
|
|
Margin="5,0,0,0"
|
|
|
|
Kind="Play">
|
2019-11-01 04:34:12 +00:00
|
|
|
<icon:PackIconMaterial.Style>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Style TargetType="icon:PackIconMaterial">
|
2019-11-01 04:34:12 +00:00
|
|
|
<Setter Property="Foreground" Value="{StaticResource SecondaryBrush}" />
|
|
|
|
<Style.Triggers>
|
2019-11-02 00:17:23 +00:00
|
|
|
<DataTrigger Binding="{Binding IsMouseOver, ElementName=BeginButton}" Value="True">
|
2019-11-01 04:34:12 +00:00
|
|
|
<Setter Property="Foreground" Value="#00ffe7" />
|
|
|
|
</DataTrigger>
|
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
|
|
|
</icon:PackIconMaterial.Style>
|
|
|
|
</icon:PackIconMaterial>
|
|
|
|
<Button.Effect>
|
2019-11-02 00:17:23 +00:00
|
|
|
<DropShadowEffect
|
|
|
|
BlurRadius="15"
|
|
|
|
ShadowDepth="0"
|
|
|
|
Color="{StaticResource Secondary}" />
|
2019-11-01 04:34:12 +00:00
|
|
|
</Button.Effect>
|
2019-10-30 19:45:42 +00:00
|
|
|
</Button>
|
|
|
|
</Grid>
|
|
|
|
</ScrollViewer>
|
|
|
|
</Grid>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Rectangle
|
|
|
|
Grid.Column="0"
|
|
|
|
Grid.ColumnSpan="3"
|
|
|
|
Height="1"
|
|
|
|
Margin="25,0"
|
|
|
|
VerticalAlignment="Top"
|
|
|
|
Fill="{StaticResource DarkBackgroundBrush}" />
|
2019-10-30 19:45:42 +00:00
|
|
|
</Grid>
|
2019-11-02 00:17:23 +00:00
|
|
|
<Grid Grid.Row="3" Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}}">
|
2019-10-30 19:45:42 +00:00
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
<ColumnDefinition Width="4" />
|
2019-10-28 04:35:31 +00:00
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<ListBox
|
|
|
|
Grid.Column="0"
|
|
|
|
local:AutoScrollBehavior.ScrollOnNewItem="True"
|
|
|
|
ItemsSource="{Binding MWVM.Log}" />
|
2019-11-02 00:17:23 +00:00
|
|
|
<ListBox
|
|
|
|
x:Name="CpuListBox"
|
|
|
|
Grid.Column="2"
|
|
|
|
ItemsSource="{Binding MWVM.StatusList}">
|
2019-10-25 04:26:29 +00:00
|
|
|
<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>
|
2019-11-01 00:21:24 +00:00
|
|
|
<DataTrigger Binding="{Binding Progress, Mode=OneTime}" Value="0">
|
2019-10-25 04:26:29 +00:00
|
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
|
|
</DataTrigger>
|
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
|
|
|
</ProgressBar.Style>
|
|
|
|
</ProgressBar>
|
|
|
|
<TextBlock Grid.Column="1" Text=" CPU " />
|
2019-11-01 00:21:24 +00:00
|
|
|
<TextBlock Grid.Column="2" Text="{Binding ID, Mode=OneTime}" />
|
2019-10-25 04:26:29 +00:00
|
|
|
<TextBlock Grid.Column="3" Text=" - " />
|
2019-11-01 00:21:24 +00:00
|
|
|
<TextBlock Grid.Column="4" Text="{Binding Msg, Mode=OneTime}" />
|
2019-10-25 04:26:29 +00:00
|
|
|
</Grid>
|
|
|
|
</DataTemplate>
|
|
|
|
</ListBox.ItemTemplate>
|
|
|
|
</ListBox>
|
|
|
|
</Grid>
|
2019-10-28 04:35:31 +00:00
|
|
|
</Grid>
|
2019-10-25 04:26:29 +00:00
|
|
|
</UserControl>
|