mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
New InstallerView initial foundations. MahApps added
This commit is contained in:
parent
cb676eae9f
commit
46dbb0e1aa
@ -7,6 +7,9 @@
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
|
||||
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
|
||||
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseDark.xaml" />
|
||||
<ResourceDictionary Source="Themes\Styles.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
|
36
Wabbajack/Converters/BoolToVisibilityConverter.cs
Normal file
36
Wabbajack/Converters/BoolToVisibilityConverter.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace Wabbajack
|
||||
{
|
||||
[ValueConversion(typeof(Visibility), typeof(bool))]
|
||||
public class BoolToVisibilityConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (targetType != typeof(Visibility))
|
||||
throw new InvalidOperationException($"The target must be of type {nameof(Visibility)}");
|
||||
bool compareTo = true;
|
||||
if (parameter is bool p)
|
||||
{
|
||||
compareTo = p;
|
||||
}
|
||||
else if (parameter is string str && str.ToUpper().Equals("FALSE"))
|
||||
{
|
||||
compareTo = false;
|
||||
}
|
||||
return ((bool)value) == compareTo ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
@ -7,7 +7,7 @@
|
||||
mc:Ignorable="d">
|
||||
|
||||
<!--Converters-->
|
||||
<BooleanToVisibilityConverter x:Key="bool2VisibilityConverter"/>
|
||||
<local:BoolToVisibilityConverter x:Key="bool2VisibilityConverter" />
|
||||
<local:IsNotNullVisibilityConverter x:Key="IsNotNullVisibilityConverter"/>
|
||||
|
||||
<!--Colors-->
|
||||
@ -23,11 +23,42 @@
|
||||
<Color x:Key="HighlightColor">#BDBDBD</Color>
|
||||
<Color x:Key="HotColor">#525252</Color>
|
||||
|
||||
<!--Brushes-->
|
||||
<Color x:Key="Yellow">#ffc400</Color>
|
||||
<Color x:Key="Red">#e83a40</Color>
|
||||
<Color x:Key="Green">#52b545</Color>
|
||||
|
||||
<Color x:Key="Primary">#BB86FC</Color>
|
||||
<Color x:Key="PrimaryVariant">#3700B3</Color>
|
||||
<Color x:Key="Secondary">#03DAC6</Color>
|
||||
<Color x:Key="Complementary">#C7FC86</Color>
|
||||
<Color x:Key="Analogous1">#868CFC</Color>
|
||||
<Color x:Key="Analogous2">#F686FC</Color>
|
||||
<Color x:Key="Triadic1">#FC86C7</Color>
|
||||
<Color x:Key="Triadic2">#FCBB86</Color>
|
||||
|
||||
<!-- Brushes -->
|
||||
<SolidColorBrush x:Key="YellowBrush" Color="{StaticResource Yellow}" />
|
||||
<SolidColorBrush x:Key="GreenBrush" Color="{StaticResource Green}" />
|
||||
<SolidColorBrush x:Key="RedBrush" Color="{StaticResource Red}" />
|
||||
<SolidColorBrush x:Key="WarningBrush" Color="{StaticResource Yellow}" />
|
||||
<SolidColorBrush x:Key="ErrorBrush" Color="{StaticResource Red}" />
|
||||
|
||||
<SolidColorBrush x:Key="DarkBackgroundBrush" Color="{StaticResource DarkBackgroundColor}" />
|
||||
<SolidColorBrush x:Key="LightBackgroundBrush" Color="{StaticResource LightBackgroundColor}" />
|
||||
<SolidColorBrush x:Key="BackgroundBrush" Color="{StaticResource BackgroundColor}" />
|
||||
<SolidColorBrush x:Key="ForegroundBrush" Color="{StaticResource ForegroundColor}"/>
|
||||
<SolidColorBrush x:Key="MouseOverForegroundBrush" Color="{StaticResource DarkBackgroundColor}"/>
|
||||
<SolidColorBrush x:Key="WindowBackgroundBrush" Color="{StaticResource WindowBackgroundColor}"/>
|
||||
|
||||
<SolidColorBrush x:Key="PrimaryBrush" Color="{StaticResource Primary}" />
|
||||
<SolidColorBrush x:Key="PrimaryVariantBrush" Color="{StaticResource PrimaryVariant}" />
|
||||
<SolidColorBrush x:Key="SecondaryBrush" Color="{StaticResource Secondary}" />
|
||||
<SolidColorBrush x:Key="ComplementaryBrush" Color="{StaticResource Complementary}" />
|
||||
<SolidColorBrush x:Key="Analogous1Brush" Color="{StaticResource Analogous1}" />
|
||||
<SolidColorBrush x:Key="Analogous2Brush" Color="{StaticResource Analogous2}" />
|
||||
<SolidColorBrush x:Key="Triadic1Brush" Color="{StaticResource Triadic1}" />
|
||||
<SolidColorBrush x:Key="Triadic2Brush" Color="{StaticResource Triadic2}" />
|
||||
|
||||
<SolidColorBrush x:Key="TabControlNormalBorderBrush" Color="{StaticResource WindowBackgroundColor}"/>
|
||||
|
||||
<SolidColorBrush x:Key="TabItemHotBackground" Color="{StaticResource HotColor}"/>
|
||||
@ -1152,6 +1183,7 @@
|
||||
<Setter Property="Background" Value="{StaticResource ButtonBackground}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource ButtonBorder}"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
<Setter Property="Focusable" Value="False" />
|
||||
<Setter Property="Foreground" Value="{StaticResource ButtonForeground}"/>
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center"/>
|
||||
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||||
@ -1190,6 +1222,10 @@
|
||||
</Style>
|
||||
<Style BasedOn="{StaticResource MainButtonStyle}" TargetType="{x:Type Button}" />
|
||||
|
||||
<Style TargetType="ButtonBase" x:Key="CircleButtonStyle" BasedOn="{StaticResource MahApps.Metro.Styles.MetroCircleButtonStyle}" >
|
||||
<Setter Property="Focusable" Value="False" />
|
||||
</Style>
|
||||
|
||||
<!-- ToggleButton-->
|
||||
<Style TargetType="{x:Type ToggleButton}">
|
||||
<Setter Property="FocusVisualStyle" Value="{StaticResource ButtonFocusVisual}"/>
|
||||
|
@ -1,134 +1,367 @@
|
||||
<UserControl x:Class="Wabbajack.InstallationView"
|
||||
<UserControl
|
||||
x:Class="Wabbajack.InstallationView"
|
||||
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:icon="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
xmlns:local="clr-namespace:Wabbajack"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<Viewbox Stretch="Uniform">
|
||||
<Grid Margin="4,0,4,0">
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:mahapps="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
|
||||
d:DesignHeight="500"
|
||||
d:DesignWidth="800"
|
||||
Background="#443700B3"
|
||||
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="Border">
|
||||
<Setter Property="Background" Value="{StaticResource TextBackgroundFillBrush}" />
|
||||
<Style.Triggers>
|
||||
<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)" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</DataTrigger.EnterActions>
|
||||
<DataTrigger.ExitActions>
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<ColorAnimation To="{StaticResource TextBackgroundFill}"
|
||||
Duration="0:0:0.06"
|
||||
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" />
|
||||
</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="ToggleButton" >
|
||||
<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>
|
||||
<!-- Slideshow -->
|
||||
<Grid Grid.Row="2" DataContext="{Binding Slideshow}" Margin="0,0,0,5" x:Name="Slideshow" >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="5*" />
|
||||
<ColumnDefinition Width="3*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Rectangle
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Fill="{StaticResource WindowBackgroundBrush}" />
|
||||
<Viewbox
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2" Stretch="UniformToFill" HorizontalAlignment="Center" VerticalAlignment="Center" >
|
||||
<Image Source="{Binding Image}" />
|
||||
</Viewbox>
|
||||
<Image
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Width="60"
|
||||
Height="60"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Source="{Binding ModlistImage}" />
|
||||
<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.Effect>
|
||||
<BlurEffect Radius="65" />
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Bottom"
|
||||
Text="{Binding ModName}"
|
||||
FontSize="65"
|
||||
Margin="20,25,20,0"
|
||||
FontFamily="Lucida Sans"
|
||||
FontWeight="Bold"
|
||||
TextWrapping="WrapWithOverflow" >
|
||||
<TextBlock.Effect>
|
||||
<DropShadowEffect />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
<TextBlock
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
FontSize="30"
|
||||
Margin="55,0,20,20"
|
||||
FontFamily="Lucida Sans"
|
||||
FontWeight="Bold"
|
||||
Text="{Binding AuthorName}"
|
||||
TextWrapping="Wrap" >
|
||||
<TextBlock.Effect>
|
||||
<DropShadowEffect />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
<Grid Grid.Column="1" >
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="435" />
|
||||
<RowDefinition Height="10" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="320" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Grid.Row="0"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="0,20,25,0" >
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="640" />
|
||||
<ColumnDefinition Width="640" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<StackPanel
|
||||
Grid.Row="0"
|
||||
Margin="0,8,0,8"
|
||||
Orientation="Horizontal">
|
||||
<TextBlock
|
||||
FontSize="16"
|
||||
<Grid.Effect>
|
||||
<DropShadowEffect Color="Black" Opacity="1" BlurRadius="25" />
|
||||
</Grid.Effect>
|
||||
<Grid.Style>
|
||||
<Style TargetType="Grid">
|
||||
<Setter Property="Opacity" Value="0" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding IsMouseOver, ElementName=Slideshow}" Value="True" >
|
||||
<DataTrigger.EnterActions>
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<DoubleAnimation
|
||||
To="1"
|
||||
Storyboard.TargetProperty="Opacity"
|
||||
Duration="0:0:0.12" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</DataTrigger.EnterActions>
|
||||
<DataTrigger.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>
|
||||
</DataTrigger.ExitActions>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Grid.Style>
|
||||
<Button Grid.Row="0"
|
||||
Style="{StaticResource CircleButtonStyle}"
|
||||
Background="{StaticResource BackgroundBrush}"
|
||||
Height="60"
|
||||
Width="60"
|
||||
Command="{Binding SlideShowNextItemCommand}"
|
||||
ToolTip="Skip to the next mod"
|
||||
Margin="6,6,6,12">
|
||||
<icon:PackIconFontAwesome Kind="ChevronRightSolid" Height="28" Width="28" />
|
||||
</Button>
|
||||
<ToggleButton Grid.Row="1"
|
||||
IsChecked="{Binding Enable}"
|
||||
Style="{StaticResource SlideshowButton}"
|
||||
Background="{StaticResource BackgroundBrush}"
|
||||
x:Name="PlayPauseButton"
|
||||
ToolTip="Pause/Play slideshow"
|
||||
Margin="6,6,6,3">
|
||||
<icon:PackIconMaterial >
|
||||
<icon:PackIconMaterial.Style>
|
||||
<Style TargetType="icon:PackIconMaterial">
|
||||
<Setter Property="Kind" Value="Pause" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding Enable}" Value="True" >
|
||||
<Setter Property="Kind" Value="Play" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</icon:PackIconMaterial.Style>
|
||||
</icon:PackIconMaterial>
|
||||
</ToggleButton>
|
||||
<ToggleButton Grid.Row="2"
|
||||
IsChecked="{Binding ShowNSFW}"
|
||||
Style="{StaticResource SlideshowButton}"
|
||||
ToolTip="Show NSFW mods"
|
||||
Background="{StaticResource BackgroundBrush}">
|
||||
<Grid>
|
||||
<TextBlock Text="NSFW" Margin="4"
|
||||
HorizontalAlignment="Center"
|
||||
FontWeight="Bold"
|
||||
Text="{Binding Mode}" />
|
||||
<TextBlock FontSize="16" Text=" : " />
|
||||
<TextBlock FontSize="16" Text="{Binding ModListName}" />
|
||||
</StackPanel>
|
||||
|
||||
<local:SlideshowView
|
||||
x:Name="Slideshow"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="0,0,0,4"
|
||||
DataContext="{Binding Slideshow}" />
|
||||
|
||||
<ProgressBar
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="1,0,1,0"
|
||||
Background="#444444"
|
||||
Maximum="100"
|
||||
Minimum="0"
|
||||
Value="{Binding MWVM.QueueProgress}" />
|
||||
|
||||
<!-- Log -->
|
||||
FontSize="9"
|
||||
FontFamily="Lucida Sans"
|
||||
VerticalAlignment="Center" />
|
||||
<icon:PackIconOcticons
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="#88FFFFFF"
|
||||
Height="40"
|
||||
Width="40"
|
||||
Kind="CircleSlash"
|
||||
Visibility="{Binding ShowNSFW, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}" />
|
||||
</Grid>
|
||||
</ToggleButton>
|
||||
</Grid>
|
||||
<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"
|
||||
Margin="0,16,0,8"
|
||||
FontSize="14"
|
||||
Text="Log:" />
|
||||
<ListBox
|
||||
Grid.Row="4"
|
||||
Margin="0,0,2,0"
|
||||
local:AutoScrollBehavior.ScrollOnNewItem="True"
|
||||
ItemsSource="{Binding MWVM.Log}" />
|
||||
<!-- End Log -->
|
||||
|
||||
<!-- Location -->
|
||||
<Grid
|
||||
Grid.Row="5"
|
||||
VerticalAlignment="Bottom"
|
||||
FontSize="16"
|
||||
HorizontalAlignment="Right"
|
||||
TextAlignment="Right"
|
||||
Margin="20,25,25,25"
|
||||
FontFamily="Lucida Sans"
|
||||
Text="{Binding Summary}"
|
||||
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" >
|
||||
<Rectangle.Fill>
|
||||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Color="#AA000000" Offset="0"/>
|
||||
<GradientStop Color="#00000000" Offset="1"/>
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
<Rectangle Grid.Row="1" Fill="{StaticResource WindowBackgroundBrush}" />
|
||||
<mahapps:MetroProgressBar x:Name="BottomProgressBarDarkGlow"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="0"
|
||||
Margin="-4,10,2,10"
|
||||
HorizontalAlignment="Stretch">
|
||||
VerticalAlignment="Top"
|
||||
Maximum="100"
|
||||
Value="46"
|
||||
Foreground="{StaticResource PrimaryVariantBrush}"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
Height="16" Margin="-4" >
|
||||
<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="100"
|
||||
Value="46"
|
||||
Foreground="{StaticResource PrimaryBrush}"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
Height="6" Margin="-4" >
|
||||
<mahapps:MetroProgressBar.Effect>
|
||||
<BlurEffect Radius="20" />
|
||||
</mahapps:MetroProgressBar.Effect>
|
||||
</mahapps:MetroProgressBar>
|
||||
<Grid Grid.Row="0" x:Name="TopBarGrid">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition MinHeight="10" />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Label
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Content="Installation Location:" />
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
IsEnabled="{Binding UIReady}"
|
||||
Text="{Binding Location, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, NotifyOnValidationError=True}" />
|
||||
<Button
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
MinWidth="80"
|
||||
Command="{Binding ChangePathCommand}"
|
||||
Content="Select"
|
||||
IsEnabled="{Binding UIReady}" />
|
||||
<Label
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Content="Download Location:" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
IsEnabled="{Binding UIReady}"
|
||||
Text="{Binding DownloadLocation}" />
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
MinWidth="80"
|
||||
Command="{Binding ChangeDownloadPathCommand}"
|
||||
Content="Select"
|
||||
IsEnabled="{Binding UIReady}" />
|
||||
<mahapps:MetroProgressBar Grid.Column="0"
|
||||
Grid.ColumnSpan="4"
|
||||
Background="{StaticResource WindowBackgroundBrush}"
|
||||
BorderThickness="0"
|
||||
Foreground="Transparent"
|
||||
Maximum="100"
|
||||
Value="46" />
|
||||
<mahapps:MetroProgressBar Grid.Column="0" Grid.ColumnSpan="4"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
Foreground="{StaticResource PrimaryVariantBrush}" Opacity="0.46"
|
||||
Maximum="100"
|
||||
Value="46" />
|
||||
<TextBlock Grid.Column="0"
|
||||
Text="Installing"
|
||||
VerticalAlignment="Bottom"
|
||||
Margin="10,0,0,8"
|
||||
FontSize="15"
|
||||
FontWeight="Black"
|
||||
FontFamily="Lucida Sans" />
|
||||
<TextBlock Grid.Column="1" Text="{Binding ModListName}"
|
||||
VerticalAlignment="Center"
|
||||
Margin="15,0,0,0"
|
||||
FontSize="25"
|
||||
FontWeight="Black"
|
||||
FontFamily="Lucida Sans" />
|
||||
<Button Grid.Column="2" ToolTip="Pause Installation" Margin="0,0,0,5" Width="50">
|
||||
<icon:PackIconMaterial
|
||||
Kind="Pause" />
|
||||
</Button>
|
||||
<Button Grid.Column="3" ToolTip="Stop Installation" Margin="0,0,0,5" Width="50" >
|
||||
<icon:PackIconFontAwesome
|
||||
Width="25"
|
||||
Height="25"
|
||||
Kind="TimesCircleSolid" />
|
||||
</Button>
|
||||
</Grid>
|
||||
<!-- End Location -->
|
||||
|
||||
|
||||
<!-- Work Queue Start -->
|
||||
<TextBlock
|
||||
Grid.Row="3"
|
||||
Grid.Column="1"
|
||||
Margin="2,16,0,8"
|
||||
FontSize="14"
|
||||
Text="Work Queue:" />
|
||||
|
||||
<mahapps:MetroProgressBar x:Name="BottomProgressBar"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="2"
|
||||
VerticalAlignment="Top"
|
||||
Maximum="100"
|
||||
Value="46"
|
||||
Foreground="{StaticResource PrimaryBrush}"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
Height="5" />
|
||||
<mahapps:MetroProgressBar x:Name="BottomProgressBarHighlight"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="2"
|
||||
VerticalAlignment="Top"
|
||||
Maximum="100"
|
||||
Value="46"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
Height="5" >
|
||||
<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"/>
|
||||
</LinearGradientBrush>
|
||||
</mahapps:MetroProgressBar.Foreground>
|
||||
</mahapps:MetroProgressBar>
|
||||
<!-- Bottom Log and CPU Display -->
|
||||
<Grid Grid.Row="3">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<ListBox
|
||||
Grid.Column="0"
|
||||
Margin="0,0,2,0"
|
||||
local:AutoScrollBehavior.ScrollOnNewItem="True"
|
||||
ItemsSource="{Binding MWVM.Log}" />
|
||||
<ListBox
|
||||
Grid.Row="4"
|
||||
Grid.Column="1"
|
||||
Width="Auto"
|
||||
Margin="2,0,0,0"
|
||||
@ -169,31 +402,6 @@
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<!-- Work Queue End -->
|
||||
|
||||
<Grid
|
||||
Grid.Row="5"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="1"
|
||||
Margin="2,10,0,10">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="30" />
|
||||
</Grid.RowDefinitions>
|
||||
<Button
|
||||
Grid.Row="0"
|
||||
Margin="0,0,0,4"
|
||||
Command="{Binding ShowReportCommand}"
|
||||
Visibility="{Binding HTMLReport, Converter={StaticResource IsNotNullVisibilityConverter}}">
|
||||
<TextBlock FontSize="13" FontWeight="Bold">View ModList Contents</TextBlock>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Margin="0,4,0,0"
|
||||
Command="{Binding BeginCommand}">
|
||||
<TextBlock FontSize="13" FontWeight="Bold">Begin</TextBlock>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Viewbox>
|
||||
</UserControl>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
@ -128,6 +128,7 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Compile Include="Converters\BoolToVisibilityConverter.cs" />
|
||||
<Compile Include="Views\CompilerView.xaml.cs">
|
||||
<DependentUpon>CompilerView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@ -303,6 +304,12 @@
|
||||
<PackageReference Include="K4os.Compression.LZ4.Streams">
|
||||
<Version>1.1.11</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="MahApps.Metro">
|
||||
<Version>1.6.5</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="MahApps.Metro.IconPacks">
|
||||
<Version>2.3.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="MegaApiClient">
|
||||
<Version>1.7.1</Version>
|
||||
</PackageReference>
|
||||
|
Loading…
Reference in New Issue
Block a user