mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
fab17a6ae0
* added more visible error messages to avoid user confusion added hard drive free space detection, added red error message text, removed overwrite checkbox, added wiki button link extended the error text for starting wabbajack in protected location removed debug code shortened error message to fit in text box * restored warning removed in error, updated changelog, removed debug includes * Update InstallerVM.cs * Update InstallerVM.cs * Update MainWindowViewModel.cs * added json optional flag to only show version number over modlist image in installer view, if the modlist image already contains the title removed debug code change to pascal case and match existing code style update changelog * Fix manual downloads sometimes launching in browser * Fix manual downloads from secure servers * Remove duplicate user agent code * Create configuration project and performance settings * Bind new performance settings to UI * Use performance settings to limit maximum memory per download * Remove unused settings and related classes * Updated CHANGELOG.md * update CHANGELOG.md * moved the existing files popup to an error message , heralding the return of the overwrite install checkbox * added newline * reverted erroneous edit * gogID for fallout4 added * update CHANGELOG.md * Fix deadlock when loading new settings * change folder/directory check logic * update CHANGELOG.md * revert unnecessary change * update CHANGELOG.md * Bump Wabbajack to .NET 7 * Bump ReactiveUI packages & deps * Update GameFinder to 4.0.0 * Update CHANGELOG.md * Update CHANGELOG.md --------- Co-authored-by: JanuarySnow <bobfordiscord12@gmail.com> Co-authored-by: JanuarySnow <85711747+JanuarySnow@users.noreply.github.com> Co-authored-by: UrbanCMC <UrbanCMC@web.de> Co-authored-by: trawzified <55751269+tr4wzified@users.noreply.github.com>
333 lines
16 KiB
XML
333 lines
16 KiB
XML
<rxui:ReactiveUserControl
|
|
x:Class="Wabbajack.InstallationView"
|
|
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:lib="clr-namespace:Wabbajack;assembly=Wabbajack"
|
|
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:lib1="clr-namespace:Wabbajack"
|
|
d:DataContext="{d:DesignInstance local:InstallerVM}"
|
|
d:DesignHeight="500"
|
|
d:DesignWidth="800"
|
|
x:TypeArguments="local:InstallerVM"
|
|
mc:Ignorable="d">
|
|
<UserControl.Resources>
|
|
<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="47" />
|
|
<RowDefinition Height="4*" />
|
|
<RowDefinition Height="*" MinHeight="175" />
|
|
</Grid.RowDefinitions>
|
|
<Rectangle Grid.Row="1" Grid.RowSpan="2"
|
|
x:Name="BorderEdgeFadeDown">
|
|
<Rectangle.Fill>
|
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
|
<GradientStop Offset="0" Color="#191919" />
|
|
<GradientStop Offset="0.4" Color="#00191919" />
|
|
</LinearGradientBrush>
|
|
</Rectangle.Fill>
|
|
</Rectangle>
|
|
<local:HeatedBackgroundView Grid.Row="0" Grid.RowSpan="3"
|
|
x:Name="HeatedBackground" />
|
|
<Grid Grid.Row="1"
|
|
x:Name="Slideshow"
|
|
Margin="5,0,5,5">
|
|
<Border BorderBrush="{StaticResource BorderInterestBrush}" BorderThickness="1,0,1,1">
|
|
<Grid>
|
|
<local:DetailImageView x:Name="DetailImage" />
|
|
<mahapps:ProgressRing x:Name="ModlistLoadingRing" />
|
|
</Grid>
|
|
</Border>
|
|
<Grid
|
|
Margin="0,20,25,0"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Top">
|
|
<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"
|
|
x:Name="SkipSlideButton"
|
|
Width="60"
|
|
Height="60"
|
|
Margin="6"
|
|
Background="{StaticResource BackgroundBrush}"
|
|
Style="{StaticResource CircleButtonStyle}"
|
|
ToolTip="Skip to the next mod">
|
|
<icon:PackIconFontAwesome
|
|
Width="28"
|
|
Height="28"
|
|
Kind="ChevronRightSolid" />
|
|
</Button>
|
|
<ToggleButton Grid.Column="2"
|
|
x:Name="PlayPauseButton"
|
|
Margin="6"
|
|
Background="{StaticResource BackgroundBrush}"
|
|
Style="{StaticResource SlideshowButton}">
|
|
<icon:PackIconMaterial>
|
|
<icon:PackIconMaterial.Style>
|
|
<Style TargetType="icon:PackIconMaterial">
|
|
<Setter Property="Kind" Value="Play" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Slideshow.Enable}" Value="True">
|
|
<Setter Property="Kind" Value="Pause" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</icon:PackIconMaterial.Style>
|
|
</icon:PackIconMaterial>
|
|
</ToggleButton>
|
|
<Button Grid.Column="1"
|
|
x:Name="OpenWebsite"
|
|
Margin="6"
|
|
Background="{StaticResource BackgroundBrush}"
|
|
Style="{StaticResource SlideshowButton}"
|
|
ToolTip="Open mod's website">
|
|
<icon:PackIconMaterial
|
|
Width="28"
|
|
Height="28"
|
|
Kind="Web" />
|
|
</Button>
|
|
<ToggleButton Grid.Column="0"
|
|
x:Name="ShowNSFWButton"
|
|
Background="{StaticResource BackgroundBrush}"
|
|
Style="{StaticResource SlideshowButton}">
|
|
<Grid>
|
|
<TextBlock
|
|
Margin="4"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
FontFamily="Lucida Sans"
|
|
FontSize="9"
|
|
FontWeight="Bold"
|
|
Text="NSFW" />
|
|
<icon:PackIconOcticons
|
|
x:Name="NSFWSlashIcon"
|
|
Width="40"
|
|
Height="40"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Foreground="#88FFFFFF"
|
|
Kind="CircleSlash" />
|
|
</Grid>
|
|
</ToggleButton>
|
|
</Grid>
|
|
</Grid>
|
|
<!-- Comes after slideshow control, so that any effects/overlap goes on top -->
|
|
<local:TopProgressView Grid.Row="0" Grid.RowSpan="2"
|
|
x:Name="TopProgressBar">
|
|
<!-- Readd when Pause/Stop implementations added -->
|
|
<!--<Button Grid.Column="2"
|
|
ToolTip="Pause Installation"
|
|
Margin="0,0,0,5"
|
|
Width="50"
|
|
Visibility="{Binding StartedInstallation, Converter={StaticResource bool2VisibilityConverter}}">
|
|
<icon:PackIconMaterial
|
|
Kind="Pause" />
|
|
</Button>
|
|
<Button Grid.Column="3"
|
|
ToolTip="Stop Installation"
|
|
Margin="0,0,0,5"
|
|
Width="50"
|
|
Visibility="{Binding StartedInstallation, Converter={StaticResource bool2VisibilityConverter}}" >
|
|
<icon:PackIconFontAwesome
|
|
Width="25"
|
|
Height="25"
|
|
Kind="TimesCircleSolid" />
|
|
</Button>-->
|
|
</local:TopProgressView>
|
|
<Button Grid.Row="0" Grid.RowSpan="2"
|
|
x:Name="BackButton"
|
|
Width="30"
|
|
Height="30"
|
|
Margin="7,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>
|
|
<!-- Bottom Area -->
|
|
<Grid Grid.Row="2"
|
|
x:Name="BottomButtonInputGrid"
|
|
Margin="5,0,5,5"
|
|
ClipToBounds="True">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="4" />
|
|
<ColumnDefinition Width="2*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Grid.Column="0" Margin="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Button Grid.Row="0"
|
|
x:Name="OpenDiscordPreInstallButton"
|
|
Margin="30,2"
|
|
FontSize="20"
|
|
Style="{StaticResource LargeButtonStyle}"
|
|
ToolTip="Open the Discord for the Modlist">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="30" />
|
|
<ColumnDefinition Width="82" />
|
|
</Grid.ColumnDefinitions>
|
|
<icon:PackIconFontAwesome Grid.Column="0"
|
|
Width="30"
|
|
Height="30"
|
|
VerticalAlignment="Center"
|
|
Kind="DiscordBrands" />
|
|
<TextBlock Grid.Column="1"
|
|
Margin="10,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Text="Discord" />
|
|
</Grid>
|
|
</Button>
|
|
<Button Grid.Row="1"
|
|
x:Name="OpenReadmePreInstallButton"
|
|
Margin="30,2"
|
|
FontSize="20"
|
|
Style="{StaticResource LargeButtonStyle}"
|
|
ToolTip="Open the readme for the modlist">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="30" />
|
|
<ColumnDefinition Width="82" />
|
|
</Grid.ColumnDefinitions>
|
|
<icon:PackIconFontAwesome Grid.Column="0"
|
|
Width="30"
|
|
Height="30"
|
|
VerticalAlignment="Center"
|
|
Kind="ReadmeBrands" />
|
|
<TextBlock Grid.Column="1"
|
|
Margin="10,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Text="Readme" />
|
|
</Grid>
|
|
</Button>
|
|
<Button Grid.Row="2"
|
|
x:Name="VisitWebsitePreInstallButton"
|
|
Margin="30,2"
|
|
FontSize="20"
|
|
Style="{StaticResource LargeButtonStyle}"
|
|
ToolTip="Open the webpage for the modlist">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="30" />
|
|
<ColumnDefinition Width="82" />
|
|
</Grid.ColumnDefinitions>
|
|
<icon:PackIconMaterial Grid.Column="0"
|
|
Width="30"
|
|
Height="30"
|
|
VerticalAlignment="Center"
|
|
Kind="Web" />
|
|
<TextBlock Grid.Column="1"
|
|
Margin="10,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Text="Website" />
|
|
</Grid>
|
|
</Button>
|
|
<Button Grid.Row="3"
|
|
x:Name="ShowManifestPreInstallButton"
|
|
Margin="30,2"
|
|
FontSize="20"
|
|
Style="{StaticResource LargeButtonStyle}"
|
|
ToolTip="Open an explicit listing of all archives this modlist contains">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="30" />
|
|
<ColumnDefinition Width="82" />
|
|
</Grid.ColumnDefinitions>
|
|
<icon:PackIconOcticons Grid.Column="0"
|
|
Width="30"
|
|
Height="30"
|
|
VerticalAlignment="Center"
|
|
Kind="Checklist" />
|
|
<TextBlock Grid.Column="1"
|
|
Margin="10,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Text="Manifest" />
|
|
</Grid>
|
|
</Button>
|
|
</Grid>
|
|
<local:InstallationConfigurationView Grid.Column="2"
|
|
x:Name="InstallationConfigurationView"
|
|
ViewModel="{Binding}" />
|
|
</Grid>
|
|
<Grid Grid.Row="2"
|
|
x:Name="MidInstallDisplayGrid"
|
|
Margin="5,0,5,5">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="4*" />
|
|
<ColumnDefinition Width="5" />
|
|
<ColumnDefinition Width="3*" />
|
|
</Grid.ColumnDefinitions>
|
|
<local:LogView x:Name="LogView" Grid.Column="0" />
|
|
<local:CpuView Grid.Column="2"
|
|
x:Name="CpuView"
|
|
ViewModel="{Binding}" />
|
|
<local:InstallationCompleteView Grid.Column="2"
|
|
x:Name="InstallComplete"
|
|
ViewModel="{Binding}" />
|
|
</Grid>
|
|
</Grid>
|
|
</rxui:ReactiveUserControl>
|