Resaved with XAML Styler

This commit is contained in:
Justin Swanson 2019-11-01 19:17:23 -05:00
parent 3b9cec7b5c
commit f77359ee7d
7 changed files with 498 additions and 352 deletions

View File

@ -1,11 +1,13 @@
<UserControl x:Class="Wabbajack.CompilerView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Wabbajack"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<Viewbox Stretch="Uniform">
<Grid Margin="4,0,4,0">
<Grid.RowDefinitions>
@ -36,14 +38,17 @@
<TextBlock FontSize="16" Text="{Binding MOProfile}" />
</StackPanel>
<Grid Grid.Row="1" Grid.Column="0"
IsEnabled="{Binding UIReady}"
Margin="0,8,0,8">
<Grid
Grid.Row="1"
Grid.Column="0"
Margin="0,8,0,8"
IsEnabled="{Binding UIReady}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Grid.Row="0"
<Image
Grid.Row="0"
Source="{Binding Image}"
Stretch="Fill" />
<Grid Grid.Row="1">
@ -51,44 +56,66 @@
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label
Grid.Column="0"
Content="Splash Screen Path:" />
<local:FilePicker Grid.Column="1"
PathType="File"
DoExistsCheck="False"
TargetPath="{Binding ImagePath}"
Filter="Banner image|*.png"
IsEnabled="{Binding UIReady}" HorizontalAlignment="Left" Width="534" />
<Label Grid.Column="0" Content="Splash Screen Path:" />
<local:FilePicker
Grid.Column="1"
Width="534"
HorizontalAlignment="Left"
DoExistsCheck="False"
Filter="Banner image|*.png"
IsEnabled="{Binding UIReady}"
PathType="File"
TargetPath="{Binding ImagePath}" />
</Grid>
</Grid>
<ScrollViewer Grid.Row="1" Grid.Column="2" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"
IsEnabled="{Binding UIReady}"
Background="Transparent">
<StackPanel Orientation="Vertical" Background="Transparent" >
<ScrollViewer
Grid.Row="1"
Grid.Column="2"
Background="Transparent"
HorizontalScrollBarVisibility="Disabled"
IsEnabled="{Binding UIReady}"
VerticalScrollBarVisibility="Auto">
<StackPanel Background="Transparent" Orientation="Vertical">
<StackPanel.Resources>
<Thickness x:Key="TitleMargin" Left="5" Bottom="1" />
<Style TargetType="TextBox" x:Key="ValueStyle" BasedOn="{StaticResource MainTextBoxStyle}" >
<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>
</StackPanel.Resources>
<TextBlock Text="ModList Name" Margin="{StaticResource TitleMargin}" />
<TextBox Text="{Binding ModListName}" Style="{StaticResource ValueStyle}" />
<TextBlock Text="Author" Margin="{StaticResource TitleMargin}" />
<TextBox Text="{Binding AuthorName}" Style="{StaticResource ValueStyle}" />
<TextBlock Text="Description" Margin="{StaticResource TitleMargin}" />
<TextBox Text="{Binding Summary}" Style="{StaticResource ValueStyle}" Height="150" MaxLength="700" AcceptsReturn="True" TextWrapping="Wrap" AcceptsTab="False" />
<TextBlock Text="Website" Margin="{StaticResource TitleMargin}" />
<TextBox Text="{Binding NexusSiteURL}" Style="{StaticResource ValueStyle}" />
<TextBlock Text="Readme Path" Margin="{StaticResource TitleMargin}" ToolTip="Path to a readme file." />
<local:FilePicker TargetPath="{Binding ReadMeText}"
PathType="File"
DoExistsCheck="False"
ToolTip="Path to a readme file." />
<TextBlock Margin="{StaticResource TitleMargin}" Text="ModList Name" />
<TextBox Style="{StaticResource ValueStyle}" Text="{Binding ModListName}" />
<TextBlock Margin="{StaticResource TitleMargin}" Text="Author" />
<TextBox Style="{StaticResource ValueStyle}" Text="{Binding AuthorName}" />
<TextBlock Margin="{StaticResource TitleMargin}" Text="Description" />
<TextBox
Height="150"
AcceptsReturn="True"
AcceptsTab="False"
MaxLength="700"
Style="{StaticResource ValueStyle}"
Text="{Binding Summary}"
TextWrapping="Wrap" />
<TextBlock Margin="{StaticResource TitleMargin}" Text="Website" />
<TextBox Style="{StaticResource ValueStyle}" Text="{Binding NexusSiteURL}" />
<TextBlock
Margin="{StaticResource TitleMargin}"
Text="Readme Path"
ToolTip="Path to a readme file." />
<local:FilePicker
DoExistsCheck="False"
PathType="File"
TargetPath="{Binding ReadMeText}"
ToolTip="Path to a readme file." />
</StackPanel>
</ScrollViewer>
@ -138,11 +165,11 @@
<local:FilePicker
Grid.Row="0"
Grid.Column="1"
PathType="Folder"
DoExistsCheck="False"
TargetPath="{Binding Location}"
IsEnabled="{Binding UIReady}"
PathType="Folder"
SetTargetPathCommand="{Binding ChangePathCommand}"
IsEnabled="{Binding UIReady}" />
TargetPath="{Binding Location}" />
<Label
Grid.Row="2"
Grid.Column="0"
@ -150,11 +177,11 @@
<local:FilePicker
Grid.Row="2"
Grid.Column="1"
PathType="Folder"
DoExistsCheck="False"
TargetPath="{Binding DownloadLocation}"
IsEnabled="{Binding UIReady}"
PathType="Folder"
SetTargetPathCommand="{Binding ChangeDownloadPathCommand}"
IsEnabled="{Binding UIReady}" />
TargetPath="{Binding DownloadLocation}" />
</Grid>
<!-- End Location -->

View File

@ -17,8 +17,8 @@
</Grid.ColumnDefinitions>
<TextBox
Grid.Column="0"
VerticalContentAlignment="Center"
Margin="0,0,-4,0"
VerticalContentAlignment="Center"
Background="{StaticResource DarkBackgroundBrush}"
Text="{Binding TargetPath, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding ShowTextBoxInput, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
@ -37,8 +37,8 @@
ToolTip="Set target path">
<icon:PackIconMaterial
Width="16"
Margin="4"
Height="12"
Margin="4"
Kind="DotsHorizontal" />
</Button>
</Grid>

View File

@ -3,47 +3,52 @@
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:mahapps="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
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>
<Color x:Key="TextBackgroundHoverFill">#DF000000</Color>
<Style x:Key="BackgroundBlurStyle" TargetType="Border">
<Setter Property="Background" Value="{StaticResource TextBackgroundFillBrush}" />
<Setter Property="Visibility" Value="Hidden" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=Slideshow}" Value="True" >
<DataTrigger Binding="{Binding IsMouseOver, ElementName=Slideshow}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation To="{StaticResource TextBackgroundHoverFill}"
Duration="0:0:0.06"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" />
<ColorAnimation
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
To="{StaticResource TextBackgroundHoverFill}"
Duration="0:0:0.06" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation To="{StaticResource TextBackgroundFill}"
Duration="0:0:0.06"
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" />
<ColorAnimation
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
To="{StaticResource TextBackgroundFill}"
Duration="0:0:0.06" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
<DataTrigger Binding="{Binding ShowTextShadow}" Value="True" >
<DataTrigger Binding="{Binding ShowTextShadow}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="SlideshowButton" BasedOn="{StaticResource CircleButtonStyle}" TargetType="ButtonBase" >
<Style
x:Key="SlideshowButton"
BasedOn="{StaticResource CircleButtonStyle}"
TargetType="ButtonBase">
<Setter Property="Width" Value="40" />
<Setter Property="Height" Value="40" />
<Setter Property="Margin" Value="4" />
@ -56,19 +61,25 @@
<RowDefinition Height="4*" />
<RowDefinition Height="*" MinHeight="150" />
</Grid.RowDefinitions>
<!-- Slideshow -->
<Grid Grid.Row="2" Margin="0,0,0,5" x:Name="Slideshow" >
<!-- Slideshow -->
<Grid
x:Name="Slideshow"
Grid.Row="2"
Margin="0,0,0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5*" />
<ColumnDefinition Width="3*" />
</Grid.ColumnDefinitions>
<Rectangle
<Rectangle
Grid.Column="0"
Grid.ColumnSpan="2"
Fill="{StaticResource WindowBackgroundBrush}" />
<Viewbox
Grid.Column="0"
Grid.ColumnSpan="2" Stretch="UniformToFill" HorizontalAlignment="Center" VerticalAlignment="Center" >
Grid.ColumnSpan="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Stretch="UniformToFill">
<Image Source="{Binding Image}" />
</Viewbox>
<Image
@ -79,13 +90,19 @@
HorizontalAlignment="Left"
VerticalAlignment="Top"
Source="{Binding ModlistImage}" />
<Grid Grid.Column="0" >
<Grid Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border Grid.Row="1" Grid.RowSpan="2" Grid.Column="0" Margin="-100,0,0,-100" CornerRadius="100" Style="{StaticResource BackgroundBlurStyle}" >
<Border
Grid.Row="1"
Grid.RowSpan="2"
Grid.Column="0"
Margin="-100,0,0,-100"
CornerRadius="100"
Style="{StaticResource BackgroundBlurStyle}">
<Border.Effect>
<BlurEffect Radius="65" />
</Border.Effect>
@ -93,13 +110,13 @@
<TextBlock
Grid.Row="1"
Grid.Column="0"
VerticalAlignment="Bottom"
Text="{Binding TitleText}"
FontSize="65"
Margin="20,25,20,0"
VerticalAlignment="Bottom"
FontFamily="Lucida Sans"
FontSize="65"
FontWeight="Bold"
TextWrapping="WrapWithOverflow" >
Text="{Binding TitleText}"
TextWrapping="WrapWithOverflow">
<TextBlock.Effect>
<DropShadowEffect />
</TextBlock.Effect>
@ -107,27 +124,28 @@
<TextBlock
Grid.Row="2"
Grid.Column="0"
FontSize="30"
Margin="55,0,20,20"
FontFamily="Lucida Sans"
FontSize="30"
FontWeight="Bold"
Text="{Binding AuthorText}"
TextWrapping="Wrap" >
TextWrapping="Wrap">
<TextBlock.Effect>
<DropShadowEffect />
</TextBlock.Effect>
</TextBlock>
</Grid>
<Grid Grid.Column="1" >
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid Grid.Column="0"
HorizontalAlignment="Right"
Margin="0,20,25,0" >
<Grid
Grid.Column="0"
Margin="0,20,25,0"
HorizontalAlignment="Right">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
@ -135,7 +153,10 @@
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.Effect>
<DropShadowEffect Color="Black" Opacity="1" BlurRadius="25" />
<DropShadowEffect
BlurRadius="25"
Opacity="1"
Color="Black" />
</Grid.Effect>
<Grid.Style>
<Style TargetType="Grid">
@ -150,8 +171,8 @@
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
To="1"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetProperty="Opacity"
To="1"
Duration="0:0:0.12" />
</Storyboard>
</BeginStoryboard>
@ -159,8 +180,8 @@
<MultiDataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" >
<LinearDoubleKeyFrame KeyTime="0:0:0.3" Value="1" />
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity">
<LinearDoubleKeyFrame KeyTime="0:0:0.3" Value="1" />
<LinearDoubleKeyFrame KeyTime="0:0:0.42" Value="0" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
@ -170,37 +191,42 @@
</Style.Triggers>
</Style>
</Grid.Style>
<Button Grid.Column="3"
Style="{StaticResource CircleButtonStyle}"
Background="{StaticResource BackgroundBrush}"
Height="60"
Width="60"
Command="{Binding Slideshow.SlideShowNextItemCommand}"
ToolTip="Skip to the next mod"
Margin="6">
<icon:PackIconFontAwesome Kind="ChevronRightSolid" Height="28" Width="28" />
<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 Grid.Column="2"
IsChecked="{Binding Slideshow.Enable}"
Background="{StaticResource BackgroundBrush}"
x:Name="PlayPauseButton"
Margin="6">
<ToggleButton
x:Name="PlayPauseButton"
Grid.Column="2"
Margin="6"
Background="{StaticResource BackgroundBrush}"
IsChecked="{Binding Slideshow.Enable}">
<ToggleButton.Style>
<Style BasedOn="{StaticResource SlideshowButton}" TargetType="ToggleButton" >
<Style BasedOn="{StaticResource SlideshowButton}" TargetType="ToggleButton">
<Setter Property="ToolTip" Value="Play slideshow" />
<Style.Triggers>
<DataTrigger Binding="{Binding Slideshow.Enable}" Value="True" >
<DataTrigger Binding="{Binding Slideshow.Enable}" Value="True">
<Setter Property="ToolTip" Value="Pause slideshow" />
</DataTrigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
<icon:PackIconMaterial >
<icon:PackIconMaterial>
<icon:PackIconMaterial.Style>
<Style TargetType="icon:PackIconMaterial">
<Setter Property="Kind" Value="Pause" />
<Style.Triggers>
<DataTrigger Binding="{Binding Slideshow.Enable}" Value="True" >
<DataTrigger Binding="{Binding Slideshow.Enable}" Value="True">
<Setter Property="Kind" Value="Play" />
</DataTrigger>
</Style.Triggers>
@ -208,136 +234,157 @@
</icon:PackIconMaterial.Style>
</icon:PackIconMaterial>
</ToggleButton>
<Button Grid.Column="1"
Style="{StaticResource SlideshowButton}"
ToolTip="Open Nexus Website"
Background="{StaticResource BackgroundBrush}"
Margin="6"
Command="{Binding Slideshow.VisitNexusSiteCommand}" >
<icon:PackIconMaterial Kind="Web" Height="28" Width="28" />
<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"
IsChecked="{Binding Slideshow.ShowNSFW}"
ToolTip="Show NSFW mods"
Background="{StaticResource BackgroundBrush}">
<ToggleButton
Grid.Column="0"
Background="{StaticResource BackgroundBrush}"
IsChecked="{Binding Slideshow.ShowNSFW}"
ToolTip="Show NSFW mods">
<ToggleButton.Style>
<Style BasedOn="{StaticResource SlideshowButton}" TargetType="ToggleButton" >
<Style BasedOn="{StaticResource SlideshowButton}" TargetType="ToggleButton">
<Setter Property="ToolTip" Value="Show NSFW mods" />
<Style.Triggers>
<DataTrigger Binding="{Binding Slideshow.ShowNSFW}" Value="True" >
<DataTrigger Binding="{Binding Slideshow.ShowNSFW}" Value="True">
<Setter Property="ToolTip" Value="Hide NSFW mods" />
</DataTrigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
<Grid>
<TextBlock Text="NSFW" Margin="4"
HorizontalAlignment="Center"
FontWeight="Bold"
FontSize="9"
FontFamily="Lucida Sans"
VerticalAlignment="Center" />
<TextBlock
Margin="4"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Lucida Sans"
FontSize="9"
FontWeight="Bold"
Text="NSFW" />
<icon:PackIconOcticons
HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="#88FFFFFF"
Height="40"
Width="40"
Kind="CircleSlash"
Visibility="{Binding Slideshow.ShowNSFW, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}" />
Width="40"
Height="40"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="#88FFFFFF"
Kind="CircleSlash"
Visibility="{Binding Slideshow.ShowNSFW, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}" />
</Grid>
</ToggleButton>
</Grid>
<Border Grid.Row="3" Margin="0,0,-50,-50" CornerRadius="50" Style="{StaticResource BackgroundBlurStyle}">
<Border
Grid.Row="3"
Margin="0,0,-50,-50"
CornerRadius="50"
Style="{StaticResource BackgroundBlurStyle}">
<Border.Effect>
<BlurEffect Radius="65" />
</Border.Effect>
</Border>
<TextBlock
Grid.Row="3"
VerticalAlignment="Bottom"
FontSize="16"
HorizontalAlignment="Right"
TextAlignment="Right"
Margin="20,25,25,25"
HorizontalAlignment="Right"
VerticalAlignment="Bottom"
FontFamily="Lucida Sans"
FontSize="16"
Text="{Binding Description}"
TextWrapping="Wrap" >
TextAlignment="Right"
TextWrapping="Wrap">
<TextBlock.Effect>
<DropShadowEffect />
</TextBlock.Effect>
</TextBlock>
</Grid>
</Grid>
<!-- Top progress bar -->
<!-- Comes after slideshow control, so that any effects/overlap goes on top -->
<Rectangle VerticalAlignment="Top" Height="25" Grid.Row="2" IsHitTestVisible="False" >
<!-- 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">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#AA000000" Offset="0"/>
<GradientStop Color="#00000000" Offset="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"
VerticalAlignment="Top"
Maximum="1"
Value="{Binding ProgressPercent, Mode=OneWay}"
Foreground="{StaticResource PrimaryVariantBrush}"
Background="Transparent"
BorderBrush="Transparent"
Height="16"
Margin="-4" >
<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"
VerticalAlignment="Top"
Maximum="1"
Value="{Binding ProgressPercent, Mode=OneWay}"
Foreground="{StaticResource PrimaryBrush}"
Background="Transparent"
BorderBrush="Transparent"
Height="6"
Margin="-4" >
<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 Grid.Row="0" x:Name="TopBarGrid">
<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}"
Opacity="{Binding ProgressPercent, Mode=OneWay}"
Maximum="1"
Value="{Binding ProgressPercent, Mode=OneWay}" />
<TextBlock Grid.Column="0"
VerticalAlignment="Bottom"
Margin="10,0,0,8"
Width="90"
FontWeight="Black"
TextAlignment="Right"
FontFamily="Lucida Sans" >
<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" />
@ -367,15 +414,17 @@
</Style>
</TextBlock.Style>
</TextBlock>
<TextBlock Grid.Column="1" Text="{Binding ModListName}"
VerticalAlignment="Center"
Margin="15,0,0,0"
FontSize="25"
FontWeight="Black"
FontFamily="Lucida Sans" />
<!-- Readd when Pause/Stop implementations added -->
<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"
ToolTip="Pause Installation"
Margin="0,0,0,5"
Width="50"
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}}">
@ -383,9 +432,9 @@
Kind="Pause" />
</Button>
<Button Grid.Column="3"
ToolTip="Stop Installation"
Margin="0,0,0,5"
Width="50"
ToolTip="Stop Installation"
Margin="0,0,0,5"
Width="50"
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}}" >
<icon:PackIconFontAwesome
Width="25"
@ -393,79 +442,90 @@
Kind="TimesCircleSolid" />
</Button>-->
</Grid>
<mahapps:MetroProgressBar x:Name="BottomProgressBar"
Grid.Row="1"
Grid.RowSpan="2"
VerticalAlignment="Top"
Maximum="1"
Value="{Binding ProgressPercent, Mode=OneWay}"
Foreground="{StaticResource PrimaryBrush}"
Background="Transparent"
BorderBrush="Transparent"
Height="5" />
<mahapps:MetroProgressBar x:Name="BottomProgressBarHighlight"
Grid.Row="1"
Grid.RowSpan="2"
VerticalAlignment="Top"
Maximum="1"
Value="{Binding ProgressPercent, Mode=OneWay}"
Background="Transparent"
BorderBrush="Transparent"
Height="5" >
<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 Color="#CCFFFFFF" Offset="0"/>
<GradientStop Color="#00FFFFFF" Offset="0.3"/>
<GradientStop Color="#00FFFFFF" Offset="0.7"/>
<GradientStop Color="#CCFFFFFF" Offset="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"
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}" >
<!-- Bottom Area -->
<Grid Grid.Row="3" 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 Grid.Column="0" Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Grid.Row="0"
Margin="30, 5"
Content="Readme"
ToolTip="Open the readme for the modlist"
FontSize="20"
Command="{Binding OpenReadmeCommand}" />
<Button Grid.Row="1"
Margin="30, 5"
Content="Website"
ToolTip="Open the webpage for the modlist"
FontSize="20"
Command="{Binding VisitWebsiteCommand}" />
<Button Grid.Row="2"
Margin="30, 5"
Content="Manifest"
ToolTip="Open an explicit listing of all actions this modlist will take"
FontSize="20"
Command="{Binding ShowReportCommand}" />
<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 Grid.Column="2"
x:Name="InstallationConfigurationView"
Background="{StaticResource WindowBackgroundBrush}" >
<Border x:Name="ConfigurationBackgroundHaze" Background="{StaticResource PrimaryVariantBrush}" Opacity="0.10" Height="120" CornerRadius="50" >
<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 VerticalScrollBarVisibility="Auto" Background="Transparent"
Margin="5"
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}">
<ScrollViewer
Margin="5"
Background="Transparent"
VerticalScrollBarVisibility="Auto"
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}">
<Grid Margin="8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@ -480,78 +540,91 @@
<RowDefinition Height="40" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Grid.Row="1" Grid.RowSpan="2"
Grid.Column="0" Grid.ColumnSpan="5"
x:Name="BeginButtonPurpleGlow"
Width="76"
Height="76"
CornerRadius="43"
Margin="0,0,14,0"
HorizontalAlignment="Right"
Background="{StaticResource PrimaryVariantBrush}" >
<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">
<Border.Effect>
<BlurEffect Radius="10" />
</Border.Effect>
<Border.Style>
<Style TargetType="Border" >
<Style TargetType="Border">
<Setter Property="Opacity" Value="0.5" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=BeginButton}" Value="True" >
<DataTrigger Binding="{Binding IsMouseOver, ElementName=BeginButton}" Value="True">
<Setter Property="Opacity" Value="0.8" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
<TextBlock Grid.Column="0" Grid.Row="1"
VerticalAlignment="Center"
FontSize="14"
HorizontalAlignment="Right"
TextAlignment="Center"
Text="Installation Location" />
<local:FilePicker Grid.Column="2" Grid.Row="1"
Height="30"
FontSize="14"
VerticalAlignment="Center"
PathType="Folder"
DoExistsCheck="False"
PromptTitle="Select Installation directory"
TargetPath="{Binding Location}" />
<TextBlock Grid.Column="0" Grid.Row="2"
VerticalAlignment="Center"
FontSize="14"
HorizontalAlignment="Right"
TextAlignment="Center"
Text="Download Location" />
<local:FilePicker Grid.Column="2" Grid.Row="2"
Height="30"
FontSize="14"
PathType="Folder"
VerticalAlignment="Center"
DoExistsCheck="False"
PromptTitle="Select a location for MO2 downloads"
TargetPath="{Binding DownloadLocation}" />
<Button Grid.Row="1" Grid.RowSpan="2"
Grid.Column="4"
x:Name="BeginButton"
Width="55"
Height="55"
Margin="0,0,25,0"
BorderBrush="{StaticResource SecondaryBrush}"
HorizontalAlignment="Right"
Background="#222222"
Style="{StaticResource CircleButtonStyle}"
Command="{Binding BeginCommand}">
<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}">
<icon:PackIconMaterial
Margin="5,0,0,0"
Height="25"
Width="25"
Kind="Play" >
Height="25"
Margin="5,0,0,0"
Kind="Play">
<icon:PackIconMaterial.Style>
<Style TargetType="icon:PackIconMaterial" >
<Style TargetType="icon:PackIconMaterial">
<Setter Property="Foreground" Value="{StaticResource SecondaryBrush}" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=BeginButton}" Value="True" >
<DataTrigger Binding="{Binding IsMouseOver, ElementName=BeginButton}" Value="True">
<Setter Property="Foreground" Value="#00ffe7" />
</DataTrigger>
</Style.Triggers>
@ -559,20 +632,24 @@
</icon:PackIconMaterial.Style>
</icon:PackIconMaterial>
<Button.Effect>
<DropShadowEffect Color="{StaticResource Secondary}" ShadowDepth="0" BlurRadius="15" />
<DropShadowEffect
BlurRadius="15"
ShadowDepth="0"
Color="{StaticResource Secondary}" />
</Button.Effect>
</Button>
</Grid>
</ScrollViewer>
</Grid>
<Rectangle Grid.Column="0" Grid.ColumnSpan="3"
Height="1"
Margin="25,0"
VerticalAlignment="Top"
Fill="{StaticResource DarkBackgroundBrush}"/>
<Rectangle
Grid.Column="0"
Grid.ColumnSpan="3"
Height="1"
Margin="25,0"
VerticalAlignment="Top"
Fill="{StaticResource DarkBackgroundBrush}" />
</Grid>
<Grid Grid.Row="3"
Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}}" >
<Grid Grid.Row="3" Visibility="{Binding InstallingMode, Converter={StaticResource bool2VisibilityConverter}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="4" />
@ -582,9 +659,10 @@
Grid.Column="0"
local:AutoScrollBehavior.ScrollOnNewItem="True"
ItemsSource="{Binding MWVM.Log}" />
<ListBox x:Name="CpuListBox"
Grid.Column="2"
ItemsSource="{Binding MWVM.StatusList}">
<ListBox
x:Name="CpuListBox"
Grid.Column="2"
ItemsSource="{Binding MWVM.StatusList}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch">

View File

@ -16,12 +16,12 @@
Style="{StaticResource {x:Type Window}}"
WindowStyle="ToolWindow"
mc:Ignorable="d">
<ContentPresenter Content="{Binding ActivePane}" >
<ContentPresenter Content="{Binding ActivePane}">
<ContentPresenter.Resources>
<DataTemplate DataType="{x:Type local:CompilerVM}" >
<DataTemplate DataType="{x:Type local:CompilerVM}">
<local:CompilerView />
</DataTemplate>
<DataTemplate DataType="{x:Type local:InstallerVM}" >
<DataTemplate DataType="{x:Type local:InstallerVM}">
<local:InstallationView />
</DataTemplate>
</ContentPresenter.Resources>

View File

@ -1,35 +1,70 @@
<Window x:Class="Wabbajack.ModeSelectionWindow"
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Style="{StaticResource {x:Type Window}}"
Icon="../Resources/Icons/wabbajack.ico"
WindowStyle="ToolWindow"
xmlns:local="clr-namespace:Wabbajack"
mc:Ignorable="d"
Title="Wabbajack" Height="500" Width="800" ResizeMode="NoResize"
Closing="Close_Window">
<Window
x:Class="Wabbajack.ModeSelectionWindow"
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="Wabbajack"
Width="800"
Height="500"
Closing="Close_Window"
Icon="../Resources/Icons/wabbajack.ico"
ResizeMode="NoResize"
Style="{StaticResource {x:Type Window}}"
WindowStyle="ToolWindow"
mc:Ignorable="d">
<Grid Margin="20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="30" />
<ColumnDefinition Width="30" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="*"/>
<RowDefinition Height="70"/>
<RowDefinition Height="70"/>
<RowDefinition Height="30" />
<RowDefinition Height="*" />
<RowDefinition Height="70" />
<RowDefinition Height="70" />
</Grid.RowDefinitions>
<Image MouseLeftButtonDown="GitHub_MouseLeftButtonDown" Margin="5,0,0,0" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Right" Name="GitHub"/>
<Image MouseLeftButtonDown="Patreon_MouseLeftButtonDown" Margin="5,0,0,0" Grid.Row="0" Grid.Column="1" Name="Patreon"/>
<Image MouseLeftButtonDown="Discord_MouseLeftButtonDown" Margin="5,0,0,0" Grid.Row="0" Grid.Column="2" Name="Discord"/>
<Image Grid.Row="1" Grid.ColumnSpan="3" Name="Banner" Stretch="Uniform" Margin="2,0,2,0"/>
<Button Name="InstallModlist" Grid.ColumnSpan="3" Grid.Row="2" Margin="2" Click="InstallModlist_Click">
<Image
Name="GitHub"
Grid.Row="0"
Grid.Column="0"
Margin="5,0,0,0"
HorizontalAlignment="Right"
MouseLeftButtonDown="GitHub_MouseLeftButtonDown" />
<Image
Name="Patreon"
Grid.Row="0"
Grid.Column="1"
Margin="5,0,0,0"
MouseLeftButtonDown="Patreon_MouseLeftButtonDown" />
<Image
Name="Discord"
Grid.Row="0"
Grid.Column="2"
Margin="5,0,0,0"
MouseLeftButtonDown="Discord_MouseLeftButtonDown" />
<Image
Name="Banner"
Grid.Row="1"
Grid.ColumnSpan="3"
Margin="2,0,2,0"
Stretch="Uniform" />
<Button
Name="InstallModlist"
Grid.Row="2"
Grid.ColumnSpan="3"
Margin="2"
Click="InstallModlist_Click">
<TextBlock FontSize="40">Install a ModList</TextBlock>
</Button>
<Button Name="CreateModlist" Grid.ColumnSpan="3" Grid.Row="3" Margin="2" Click="CreateModlist_Click">
<Button
Name="CreateModlist"
Grid.Row="3"
Grid.ColumnSpan="3"
Margin="2"
Click="CreateModlist_Click">
<TextBlock FontSize="40">Create a ModList</TextBlock>
</Button>
</Grid>

View File

@ -1,15 +1,21 @@
<Window x:Class="Wabbajack.TextViewer"
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Wabbajack"
Style="{StaticResource {x:Type Window}}"
mc:Ignorable="d"
Icon="../Resources/Icons/wabbajack.ico"
WindowStyle="ToolWindow"
Title="TextViewer" Height="450" Width="800">
<Window
x:Class="Wabbajack.TextViewer"
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="TextViewer"
Width="800"
Height="450"
Icon="../Resources/Icons/wabbajack.ico"
Style="{StaticResource {x:Type Window}}"
WindowStyle="ToolWindow"
mc:Ignorable="d">
<Grid>
<TextBlock FontSize="20" Name="TextBlock" TextWrapping="Wrap"/>
<TextBlock
Name="TextBlock"
FontSize="20"
TextWrapping="Wrap" />
</Grid>
</Window>

View File

@ -190,8 +190,8 @@
<SubType>Designer</SubType>
</Page>
<Page Include="Views\TextViewer.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<ItemGroup>