mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Rework main menu UI
This commit is contained in:
parent
3cdbfe490f
commit
1222280643
@ -9,6 +9,7 @@ public static class Consts
|
||||
public static RelativePath MO2IniName = "ModOrganizer.ini".ToRelativePath();
|
||||
public static string AppName = "Wabbajack";
|
||||
public static Uri WabbajackBuildServerUri => new("https://build.wabbajack.org");
|
||||
public static Uri WabbajackModlistWizardUri => new("https://wizard.wabbajack.org");
|
||||
public static Version CurrentMinimumWabbajackVersion { get; set; } = Version.Parse("2.3.0.0");
|
||||
public static bool UseNetworkWorkaroundMode { get; set; } = false;
|
||||
public static AbsolutePath CefCacheLocation { get; } = KnownFolders.WabbajackAppLocal.Combine("Cef");
|
||||
|
25
Wabbajack.App.Wpf/Converters/WidthHeightRectConverter.cs
Normal file
25
Wabbajack.App.Wpf/Converters/WidthHeightRectConverter.cs
Normal file
@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace Wabbajack
|
||||
{
|
||||
public class WidthHeightRectConverter : IMultiValueConverter
|
||||
{
|
||||
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
double rectWidth = 0;
|
||||
double rectHeight = 0;
|
||||
if (values[0] is not null && double.TryParse(values[0].ToString(), out var width))
|
||||
rectWidth = width;
|
||||
else return null;
|
||||
if (values[1] is not null && double.TryParse(values[1].ToString(), out var height))
|
||||
rectHeight = height;
|
||||
else return null;
|
||||
return new Rect(0, 0, rectWidth, rectHeight);
|
||||
}
|
||||
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
|
||||
=> throw new NotImplementedException();
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -10,7 +10,7 @@
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<FontFamily x:Key="AtkinsonHyperlegible">pack://application:,,,/Resources/Fonts/#Atkinson Hyperlegible</FontFamily>
|
||||
<FontFamily x:Key="PrimaryFont">pack://application:,,,/Resources/Fonts/#Gabarito</FontFamily>
|
||||
|
||||
<!-- Converters -->
|
||||
<local:BoolToVisibilityConverter x:Key="bool2VisibilityConverter" />
|
||||
@ -21,13 +21,14 @@
|
||||
<local:IsTypeVisibilityConverter x:Key="IsTypeVisibilityConverter" />
|
||||
<local:AbsolutePathToStringConverter x:Key="AbsolutePathToStringConverter" />
|
||||
<local:FileSizeConverter x:Key="FileSizeConverter"/>
|
||||
<local:WidthHeightRectConverter x:Key="WidthHeightRectConverter" />
|
||||
|
||||
<!-- Colors -->
|
||||
<Color x:Key="WindowBackgroundColor">#121212</Color>
|
||||
<Color x:Key="DarkBackgroundColor">#222222</Color>
|
||||
<Color x:Key="DarkHoverBackgroundColor">#272727</Color>
|
||||
<Color x:Key="WindowBackgroundColor">#222531</Color>
|
||||
<Color x:Key="DarkBackgroundColor">#222531</Color>
|
||||
<Color x:Key="DarkHoverBackgroundColor">#2A2B41</Color>
|
||||
<Color x:Key="LightBackgroundColor">#424242</Color>
|
||||
<Color x:Key="BackgroundColor">#323232</Color>
|
||||
<Color x:Key="BackgroundColor">#222531</Color>
|
||||
<Color x:Key="DisabledBackgroundColor">#424242</Color>
|
||||
<Color x:Key="PressedBackgroundColor">#323232</Color>
|
||||
<Color x:Key="LightDisabledBackgroundColor">#666666</Color>
|
||||
@ -46,7 +47,7 @@
|
||||
|
||||
<Color x:Key="Primary">#D9BBF9</Color>
|
||||
<Color x:Key="PrimaryTransparent">#00BB86FC</Color>
|
||||
<Color x:Key="PrimaryVariant">#3700B3</Color>
|
||||
<Color x:Key="PrimaryVariant">#8866ad</Color>
|
||||
<Color x:Key="DarkPrimaryVariant">#270080</Color>
|
||||
<Color x:Key="DarkerPrimaryVariant">#1b0059</Color>
|
||||
<Color x:Key="Secondary">#03DAC6</Color>
|
||||
@ -236,21 +237,21 @@
|
||||
|
||||
<!-- FontStyle -->
|
||||
<Style TargetType="{x:Type TextBlock}">
|
||||
<Setter Property="FontFamily" Value="{StaticResource AtkinsonHyperlegible}" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource PrimaryFont}" />
|
||||
<!--<Setter Property="Foreground" Value="{StaticResource ForegroundBrush}"/>-->
|
||||
</Style>
|
||||
<Style TargetType="{x:Type Control}">
|
||||
<Setter Property="FontFamily" Value="{StaticResource AtkinsonHyperlegible}" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource PrimaryFont}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource ForegroundBrush}" />
|
||||
</Style>
|
||||
<Style TargetType="{x:Type Window}">
|
||||
<Setter Property="FontFamily" Value="{StaticResource AtkinsonHyperlegible}" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource PrimaryFont}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource ForegroundBrush}" />
|
||||
<Setter Property="Background" Value="{StaticResource WindowBackgroundBrush}" />
|
||||
</Style>
|
||||
<!-- Necessary for Blend designer for UserControls -->
|
||||
<Style TargetType="{x:Type UserControl}">
|
||||
<Setter Property="FontFamily" Value="{StaticResource AtkinsonHyperlegible}" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource PrimaryFont}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource ForegroundBrush}" />
|
||||
</Style>
|
||||
|
||||
@ -1176,13 +1177,13 @@
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="true">
|
||||
<Setter Property="Background" Value="{StaticResource DarkHoverBackgroundBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource DarkComplementaryBrush}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource ComplementaryBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource MahApps.Brushes.Transparent}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource PrimaryBrush}" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="true">
|
||||
<Setter Property="Background" Value="{StaticResource PressedButtonBackground}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource ComplementaryBrush}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource IntenseComplementaryBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource MahApps.Brushes.Transparent}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource PrimaryBrush}" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<Setter Property="Foreground" Value="{StaticResource DisabledButtonForeground}" />
|
||||
@ -1241,13 +1242,13 @@
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="true">
|
||||
<Setter Property="Background" Value="{StaticResource DarkHoverBackgroundBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource DarkComplementaryBrush}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource ComplementaryBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource MahApps.Brushes.Transparent}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource PrimaryBrush}" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="true">
|
||||
<Setter Property="Background" Value="{StaticResource PressedButtonBackground}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource ComplementaryBrush}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource IntenseComplementaryBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource MahApps.Brushes.Transparent}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource PrimaryBrush}" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<Setter Property="Foreground" Value="{StaticResource DisabledButtonForeground}" />
|
||||
@ -1288,8 +1289,8 @@
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="Background" Value="#333333" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource MahApps.Brushes.Gray7}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource IntenseComplementaryBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource MahApps.Brushes.Transparent}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource PrimaryBrush}" />
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
@ -1319,7 +1320,7 @@
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="BorderBrush" Value="{StaticResource MahApps.Brushes.Gray7}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource IntenseComplementaryBrush}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource PrimaryBrush}" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
@ -1341,12 +1342,12 @@
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter Property="BorderBrush" Value="{StaticResource MahApps.Brushes.Gray7}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource IntenseComplementaryBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource MahApps.Brushes.Transparent}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource PrimaryBrush}" />
|
||||
<Setter Property="Background" Value="{StaticResource DarkBackgroundBrush}" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsPressed" Value="True">
|
||||
<Setter Property="BorderBrush" Value="{StaticResource DarkComplementaryBrush}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource PrimaryBrush}" />
|
||||
<Setter Property="Background" Value="{StaticResource DarkBackgroundBrush}" />
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
@ -1622,7 +1623,7 @@
|
||||
</Style>
|
||||
<Style TargetType="{x:Type Expander}">
|
||||
<Setter Property="Foreground" Value="{StaticResource Expander.MouseOver.Arrow.Stroke}" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource AtkinsonHyperlegible}" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource PrimaryFont}" />
|
||||
<Setter Property="Padding" Value="2" />
|
||||
<Setter Property="Background" Value="{StaticResource Expander.Background}" />
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
|
||||
@ -2353,7 +2354,7 @@
|
||||
<Setter Property="Height" Value="18" />
|
||||
<Setter Property="Background" Value="{StaticResource WindowBackgroundBrush}" />
|
||||
<Setter Property="Foreground" Value="{StaticResource ForegroundBrush}" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource AtkinsonHyperlegible}" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource PrimaryFont}" />
|
||||
<Setter Property="FontSize" Value="{DynamicResource {x:Static SystemFonts.StatusFontSizeKey}}" />
|
||||
<Setter Property="FontStyle" Value="{DynamicResource {x:Static SystemFonts.StatusFontStyleKey}}" />
|
||||
<Setter Property="FontWeight" Value="{DynamicResource {x:Static SystemFonts.StatusFontWeightKey}}" />
|
||||
|
@ -59,6 +59,9 @@ namespace Wabbajack
|
||||
public ICommand CopyVersionCommand { get; }
|
||||
public ICommand ShowLoginManagerVM { get; }
|
||||
public ICommand OpenSettingsCommand { get; }
|
||||
public ICommand MinimizeCommand { get; }
|
||||
public ICommand MaximizeCommand { get; }
|
||||
public ICommand CloseCommand { get; }
|
||||
|
||||
public string VersionDisplay { get; }
|
||||
|
||||
@ -135,7 +138,7 @@ namespace Wabbajack
|
||||
var fvi = FileVersionInfo.GetVersionInfo(string.IsNullOrWhiteSpace(assemblyLocation) ? processLocation : assemblyLocation);
|
||||
Consts.CurrentMinimumWabbajackVersion = Version.Parse(fvi.FileVersion);
|
||||
VersionDisplay = $"v{fvi.FileVersion}";
|
||||
AppName = "WABBAJACK " + VersionDisplay;
|
||||
AppName = $"{Consts.AppName} {VersionDisplay}";
|
||||
_logger.LogInformation("Wabbajack Version: {FileVersion}", fvi.FileVersion);
|
||||
|
||||
Task.Run(() => _wjClient.SendMetric("started_wabbajack", fvi.FileVersion)).FireAndForget();
|
||||
@ -168,6 +171,26 @@ namespace Wabbajack
|
||||
canExecute: this.WhenAny(x => x.ActivePane)
|
||||
.Select(active => !object.ReferenceEquals(active, SettingsPane)),
|
||||
execute: () => NavigateToGlobal.Send(NavigateToGlobal.ScreenType.Settings));
|
||||
MinimizeCommand = ReactiveCommand.Create(Minimize);
|
||||
MaximizeCommand = ReactiveCommand.Create(Maximize);
|
||||
CloseCommand = ReactiveCommand.Create(Close);
|
||||
}
|
||||
|
||||
private void Minimize()
|
||||
{
|
||||
var mainWindow = _serviceProvider.GetRequiredService<MainWindow>();
|
||||
mainWindow.WindowState = WindowState.Minimized;
|
||||
}
|
||||
|
||||
private void Maximize()
|
||||
{
|
||||
var mainWindow = _serviceProvider.GetRequiredService<MainWindow>();
|
||||
mainWindow.WindowState = WindowState.Maximized;
|
||||
}
|
||||
|
||||
private void Close()
|
||||
{
|
||||
Environment.Exit(0);
|
||||
}
|
||||
|
||||
private void HandleNavigateTo(ViewModel objViewModel)
|
||||
|
@ -10,19 +10,23 @@ using Wabbajack.Common;
|
||||
using Wabbajack;
|
||||
using Wabbajack.Messages;
|
||||
using Wabbajack.Paths.IO;
|
||||
using Wabbajack.Networking.WabbajackClientApi;
|
||||
using System.Threading.Tasks;
|
||||
using Wabbajack.DTOs;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System.Reactive.Disposables;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Wabbajack
|
||||
{
|
||||
public class ModeSelectionVM : ViewModel
|
||||
{
|
||||
public ICommand BrowseCommand { get; }
|
||||
public ICommand InstallCommand { get; }
|
||||
public ICommand CompileCommand { get; }
|
||||
private readonly ILogger<ModeSelectionVM> _logger;
|
||||
private readonly Client _wjClient;
|
||||
|
||||
public ReactiveCommand<Unit, Unit> UpdateCommand { get; }
|
||||
|
||||
public ModeSelectionVM()
|
||||
public ModeSelectionVM(Client wjClient)
|
||||
{
|
||||
_wjClient = wjClient;
|
||||
InstallCommand = ReactiveCommand.Create(() =>
|
||||
{
|
||||
LoadLastLoadedModlist.Send();
|
||||
@ -30,6 +34,33 @@ namespace Wabbajack
|
||||
});
|
||||
CompileCommand = ReactiveCommand.Create(() => NavigateToGlobal.Send(NavigateToGlobal.ScreenType.Compiler));
|
||||
BrowseCommand = ReactiveCommand.Create(() => NavigateToGlobal.Send(NavigateToGlobal.ScreenType.ModListGallery));
|
||||
VisitModlistWizardCommand = ReactiveCommand.Create(() =>
|
||||
{
|
||||
ProcessStartInfo processStartInfo = new(Consts.WabbajackModlistWizardUri.ToString())
|
||||
{
|
||||
UseShellExecute = true
|
||||
};
|
||||
Process.Start(processStartInfo);
|
||||
});
|
||||
this.WhenActivated(async disposables =>
|
||||
{
|
||||
try
|
||||
{
|
||||
Modlists = await _wjClient.LoadLists().DisposeWith(disposables);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "While loading lists");
|
||||
}
|
||||
});
|
||||
}
|
||||
public ICommand BrowseCommand { get; }
|
||||
public ICommand InstallCommand { get; }
|
||||
public ICommand CompileCommand { get; }
|
||||
public ICommand VisitModlistWizardCommand { get; }
|
||||
public ReactiveCommand<Unit, Unit> UpdateCommand { get; }
|
||||
|
||||
[Reactive]
|
||||
public ModlistMetadata[] Modlists { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
WindowTitleBrush="{StaticResource MahApps.Brushes.Accent}"
|
||||
ContentRendered="BrowserWindow_OnActivated"
|
||||
mc:Ignorable="d">
|
||||
<Grid Background="#121212" MouseDown="UIElement_OnMouseDown">
|
||||
<Grid Background="{StaticResource BackgroundBrush}" MouseDown="UIElement_OnMouseDown">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
|
@ -75,7 +75,7 @@
|
||||
Padding="40,20"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Bottom"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="65"
|
||||
FontWeight="Bold"
|
||||
Style="{StaticResource BackgroundBlurStyle}"
|
||||
@ -89,7 +89,7 @@
|
||||
Margin="35,-10,-10,10"
|
||||
Padding="30,10"
|
||||
HorizontalAlignment="Left"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="30"
|
||||
FontWeight="Bold"
|
||||
Style="{StaticResource BackgroundBlurStyle}"
|
||||
@ -105,7 +105,7 @@
|
||||
Margin="20,25,20,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Bottom"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="65"
|
||||
FontWeight="Bold"
|
||||
TextWrapping="WrapWithOverflow">
|
||||
@ -116,7 +116,7 @@
|
||||
<TextBlock Grid.Row="3" Grid.Column="0"
|
||||
x:Name="AuthorTextBlock"
|
||||
Margin="55,0,20,20"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="30"
|
||||
FontWeight="Bold"
|
||||
TextWrapping="Wrap">
|
||||
@ -132,7 +132,7 @@
|
||||
Padding="30,10"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Bottom"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="16"
|
||||
Style="{StaticResource BackgroundBlurStyle}"
|
||||
TextAlignment="Right"
|
||||
@ -146,7 +146,7 @@
|
||||
Margin="20,25,25,25"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Bottom"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="16"
|
||||
TextAlignment="Right"
|
||||
TextWrapping="Wrap">
|
||||
|
@ -78,7 +78,7 @@
|
||||
Width="130"
|
||||
Margin="0,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontWeight="Black"
|
||||
Foreground="{StaticResource ComplementaryBrush}"
|
||||
TextAlignment="Right" />
|
||||
@ -89,7 +89,7 @@
|
||||
x:Name="TitleText"
|
||||
Margin="15,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="25"
|
||||
FontWeight="Black" />
|
||||
<ContentControl Grid.Column="2" />
|
||||
|
@ -45,13 +45,13 @@
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0"
|
||||
Margin="0,0,0,10"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="30"
|
||||
FontWeight="Bold"
|
||||
Foreground="{StaticResource YellowBrush}"
|
||||
Text="UNDER MAINTENANCE" />
|
||||
<TextBlock Grid.Row="1"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="15"
|
||||
FontWeight="Bold"
|
||||
Foreground="{StaticResource YellowBrush}"
|
||||
@ -72,7 +72,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Grid.Row="0"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="100"
|
||||
FontWeight="Bold"
|
||||
Foreground="{StaticResource YellowBrush}"
|
||||
@ -102,7 +102,7 @@
|
||||
Kind="HelpCircle" />
|
||||
</Button>
|
||||
<TextBlock Grid.Row="1"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="100"
|
||||
FontWeight="Bold"
|
||||
Foreground="{StaticResource YellowBrush}"
|
||||
|
@ -26,7 +26,7 @@
|
||||
x:Name="TitleText"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="22"
|
||||
FontWeight="Black">
|
||||
<TextBlock.Effect>
|
||||
|
@ -29,7 +29,7 @@
|
||||
x:Name="TitleText"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="22"
|
||||
FontWeight="Black">
|
||||
<TextBlock.Effect>
|
||||
|
@ -41,7 +41,7 @@
|
||||
TextAlignment="Center" />
|
||||
<TextBlock x:Name="errorTextBox"
|
||||
Grid.Row="3"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}" FontSize="10" FontWeight="ExtraBold"
|
||||
FontFamily="{StaticResource PrimaryFont}" FontSize="10" FontWeight="ExtraBold"
|
||||
Background="{StaticResource WindowBackgroundBrush}"
|
||||
Foreground="Red"
|
||||
Text=""
|
||||
|
@ -152,7 +152,7 @@
|
||||
Margin="4"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="9"
|
||||
FontWeight="Bold"
|
||||
Text="NSFW" />
|
||||
|
@ -24,7 +24,7 @@
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3"
|
||||
x:Name="ShortDescription"
|
||||
Margin="0,0,0,5"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="14"
|
||||
FontWeight="Bold"
|
||||
TextWrapping="WrapWithOverflow" />
|
||||
|
@ -14,13 +14,6 @@
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
Text="Wabbajack is free, but supported by users like you. Please consider supporting us on Patreon to help offset the costs of hosting these modlists."
|
||||
TextWrapping="Wrap"
|
||||
FontWeight="Bold"
|
||||
FontSize="14"
|
||||
MouseDown="Patreon_Click"
|
||||
/>
|
||||
<Button Grid.Column="1"
|
||||
Width="40"
|
||||
Height="35"
|
||||
|
@ -9,68 +9,83 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:viewModels="clr-namespace:Wabbajack.View_Models"
|
||||
xmlns:views="clr-namespace:Wabbajack.Views"
|
||||
xmlns:ic="clr-namespace:FluentIcons.WPF;assembly=FluentIcons.WPF"
|
||||
ShowTitleBar="False"
|
||||
Title="WABBAJACK"
|
||||
Width="1280"
|
||||
Height="960"
|
||||
MinWidth="850"
|
||||
MinHeight="650"
|
||||
ShowCloseButton="False"
|
||||
ShowMinButton="False"
|
||||
ShowMaxRestoreButton="False"
|
||||
Title="Wabbajack"
|
||||
Width="1424"
|
||||
Height="686"
|
||||
MinWidth="712"
|
||||
MinHeight="343"
|
||||
Closing="Window_Closing"
|
||||
RenderOptions.BitmapScalingMode="HighQuality"
|
||||
ResizeMode="CanResize"
|
||||
Style="{StaticResource {x:Type Window}}"
|
||||
TitleBarHeight="25"
|
||||
UseLayoutRounding="True"
|
||||
WindowTitleBrush="{StaticResource MahApps.Brushes.Accent}"
|
||||
WindowTitleBrush="{StaticResource BackgroundBrush}"
|
||||
mc:Ignorable="d">
|
||||
|
||||
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Grid.Row="0" Margin="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="140"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Grid.Column="0" FontSize="16" Margin="0, 0, 8, 0" Name="AppName"></TextBlock>
|
||||
<TextBlock Grid.Column="1" FontSize="16" Margin="5, 0" Name="ResourceUsage" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<Button Grid.Column="2" Name="SettingsButton" ToolTip="Open Wabbajack settings">
|
||||
<icon:Material Kind="Cog"></icon:Material>
|
||||
</Button>
|
||||
</Grid>
|
||||
<ContentPresenter Grid.Row="1" Content="{Binding ActivePane}">
|
||||
<ContentPresenter.Resources>
|
||||
<DataTemplate DataType="{x:Type local:CompilerVM}">
|
||||
<local:CompilerView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:InstallerVM}">
|
||||
<local:InstallationView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:ModeSelectionVM}">
|
||||
<local:ModeSelectionView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:ModListGalleryVM}">
|
||||
<local:ModListGalleryView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:WebBrowserVM}">
|
||||
<local:WebBrowserView />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:SettingsVM}">
|
||||
<local:SettingsView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type viewModels:ModListContentsVM}">
|
||||
<local:ModListContentsView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
</ContentPresenter.Resources>
|
||||
</ContentPresenter>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
<RowDefinition Height="*"></RowDefinition>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="*"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Grid.Column="0" FontSize="16" Padding="8, 8" Name="AppName"></TextBlock>
|
||||
<TextBlock Grid.Column="1" FontSize="16" Padding="8, 8" Name="ResourceUsage" HorizontalAlignment="Right" VerticalAlignment="Center"></TextBlock>
|
||||
<Button Grid.Column="2" Name="SettingsButton" Padding="12, 8" ToolTip="Open Wabbajack settings">
|
||||
<ic:SymbolIcon Symbol="Settings"/>
|
||||
</Button>
|
||||
<Button Grid.Column="3" Name="MinimizeButton" Padding="12, 8">
|
||||
<ic:SymbolIcon Symbol="Subtract"/>
|
||||
</Button>
|
||||
<Button Grid.Column="4" Name="MaximizeButton" Padding="12, 8">
|
||||
<ic:SymbolIcon Symbol="Maximize"/>
|
||||
</Button>
|
||||
<Button Grid.Column="5" Name="CloseButton" Padding="12, 8">
|
||||
<ic:SymbolIcon Symbol="ArrowExit"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
<ContentPresenter Grid.Row="1" Content="{Binding ActivePane}">
|
||||
<ContentPresenter.Resources>
|
||||
<DataTemplate DataType="{x:Type local:CompilerVM}">
|
||||
<local:CompilerView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:InstallerVM}">
|
||||
<local:InstallationView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:ModeSelectionVM}">
|
||||
<local:ModeSelectionView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:ModListGalleryVM}">
|
||||
<local:ModListGalleryView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:WebBrowserVM}">
|
||||
<local:WebBrowserView />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:SettingsVM}">
|
||||
<local:SettingsView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type viewModels:ModListContentsVM}">
|
||||
<local:ModListContentsView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
</ContentPresenter.Resources>
|
||||
</ContentPresenter>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<mahapps:MetroWindow.RightWindowCommands>
|
||||
<mahapps:WindowCommands>
|
||||
@ -94,6 +109,30 @@
|
||||
Height="17"
|
||||
Kind="Cog" />
|
||||
</Button>
|
||||
<Button Grid.Column="1"
|
||||
Margin="5,0"
|
||||
Command="{Binding MinimizeCommand}">
|
||||
<icon:PackIconMaterial
|
||||
Width="17"
|
||||
Height="17"
|
||||
Kind="WindowMinimize" />
|
||||
</Button>
|
||||
<Button Grid.Column="1"
|
||||
Margin="5,0"
|
||||
Command="{Binding MaximizeCommand}">
|
||||
<icon:PackIconMaterial
|
||||
Width="17"
|
||||
Height="17"
|
||||
Kind="WindowMaximize" />
|
||||
</Button>
|
||||
<Button Grid.Column="1"
|
||||
Margin="5,0"
|
||||
Command="{Binding CloseCommand}">
|
||||
<icon:PackIconMaterial
|
||||
Width="17"
|
||||
Height="17"
|
||||
Kind="WindowClose" />
|
||||
</Button>
|
||||
</mahapps:WindowCommands>
|
||||
</mahapps:MetroWindow.RightWindowCommands>
|
||||
<Window.TaskbarItemInfo>
|
||||
|
@ -119,6 +119,15 @@ namespace Wabbajack
|
||||
((MainWindowVM) DataContext).WhenAnyValue(vm => vm.OpenSettingsCommand)
|
||||
.BindTo(this, view => view.SettingsButton.Command);
|
||||
|
||||
((MainWindowVM) DataContext).WhenAnyValue(vm => vm.MinimizeCommand)
|
||||
.BindTo(this, view => view.MinimizeButton.Command);
|
||||
|
||||
((MainWindowVM) DataContext).WhenAnyValue(vm => vm.MaximizeCommand)
|
||||
.BindTo(this, view => view.MaximizeButton.Command);
|
||||
|
||||
((MainWindowVM) DataContext).WhenAnyValue(vm => vm.CloseCommand)
|
||||
.BindTo(this, view => view.CloseButton.Command);
|
||||
|
||||
((MainWindowVM)DataContext).WhenAnyValue(vm => vm.Installer.InstallState)
|
||||
.ObserveOn(RxApp.MainThreadScheduler)
|
||||
.Select(v => v == InstallState.Installing ? Visibility.Collapsed : Visibility.Visible)
|
||||
|
@ -294,7 +294,7 @@
|
||||
Margin="5"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="30"
|
||||
FontWeight="Bold"
|
||||
Style="{StaticResource BackgroundBlurStyle}"
|
||||
@ -308,7 +308,7 @@
|
||||
Margin="5"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="30"
|
||||
FontWeight="Bold"
|
||||
TextWrapping="Wrap">
|
||||
|
@ -7,6 +7,7 @@
|
||||
xmlns:local="clr-namespace:Wabbajack"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:rxui="http://reactiveui.net"
|
||||
xmlns:ic="clr-namespace:FluentIcons.WPF;assembly=FluentIcons.WPF"
|
||||
d:DesignHeight="700"
|
||||
d:DesignWidth="1000"
|
||||
x:TypeArguments="local:ModeSelectionVM"
|
||||
@ -15,26 +16,173 @@
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="3*" />
|
||||
<RowDefinition Height="1*" />
|
||||
<RowDefinition Height="15" />
|
||||
<RowDefinition Height="0.05*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Rectangle Grid.Row="0" Grid.RowSpan="3">
|
||||
<Rectangle.Fill>
|
||||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Offset="0" Color="#121212" />
|
||||
<GradientStop Offset="1" Color="#121212" />
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
<!--
|
||||
<Viewbox Grid.Row="0" Grid.RowSpan="3"
|
||||
Name="Banner"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Stretch="UniformToFill">
|
||||
<Image Margin="40,20,40,240" Source="../Resources/Wabba_Mouth.png" />
|
||||
</Viewbox>
|
||||
-->
|
||||
<Label Content="Welcome to Wabbajack" FontSize="36" FontWeight="Bold"/>
|
||||
<Grid Grid.Row="0" Grid.Column="0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="10*" />
|
||||
<RowDefinition Height="4*" />
|
||||
<RowDefinition Height="2*" />
|
||||
<RowDefinition Height="22*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Viewbox Grid.Row="0" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Top">
|
||||
<Label Grid.Row="0" FontSize="86.7" FontWeight="Bold" Padding="0" Margin="0">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Foreground="{StaticResource ForegroundBrush}" Text="Welcome to " />
|
||||
<TextBlock Foreground="{StaticResource PrimaryBrush}" Text="Wabbajack" />
|
||||
</StackPanel>
|
||||
</Label>
|
||||
</Viewbox>
|
||||
<Viewbox Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Top">
|
||||
<Label FontSize="16" Foreground="{StaticResource ForegroundBrush}" Padding="0, 4, 0, 4" Margin="0">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="The home of " />
|
||||
<TextBlock x:Name="ModlistAmountTextBlock" Foreground="{StaticResource PrimaryBrush}" />
|
||||
<TextBlock Text=" ready-made modlists spanning " />
|
||||
<TextBlock x:Name="GameAmountTextBlock" Foreground="{StaticResource PrimaryBrush}" />
|
||||
<TextBlock Text=" games." />
|
||||
</StackPanel>
|
||||
</Label>
|
||||
</Viewbox>
|
||||
<Grid Grid.Row="3" Grid.RowSpan="2">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="581*" />
|
||||
<ColumnDefinition Width="20*" />
|
||||
<ColumnDefinition Width="581*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="81*" />
|
||||
<RowDefinition Height="14*" />
|
||||
<RowDefinition Height="81*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Border Grid.Row="0" Grid.Column="0" BorderBrush="{StaticResource PrimaryVariantBrush}" CornerRadius="8" BorderThickness="16">
|
||||
<Grid Grid.Row="0" Grid.Column="0" Background="{StaticResource PrimaryVariantBrush}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
Text="Find a modlist that suits your playstyle"
|
||||
FontWeight="DemiBold"
|
||||
FontSize="28"
|
||||
/>
|
||||
<ic:SymbolIcon
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
VerticalAlignment="Top"
|
||||
Symbol="Search"
|
||||
IsFilled="True"
|
||||
FontSize="28"
|
||||
/>
|
||||
<TextBlock Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" LineHeight="24" FontSize="14" VerticalAlignment="Bottom">
|
||||
Go through a series of questions to find a modlist that works for you through <Hyperlink Command="{Binding VisitModlistWizardCommand}"> our<LineBreak />
|
||||
Wabbakinator quiz</Hyperlink>, or <Hyperlink Command="{Binding BrowseCommand}">navigate the gallery</Hyperlink> yourself and pick something that looks fun.
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Border Grid.Row="0" Grid.Column="2" BorderBrush="{StaticResource PrimaryVariantBrush}" CornerRadius="8" BorderThickness="16">
|
||||
<Grid Grid.Row="0" Grid.Column="0" Background="{StaticResource PrimaryVariantBrush}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
Text="Follow the usually short documentation"
|
||||
FontWeight="DemiBold"
|
||||
FontSize="28"
|
||||
/>
|
||||
<ic:SymbolIcon
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
VerticalAlignment="Top"
|
||||
Symbol="DocumentOnePageMultiple"
|
||||
IsFilled="True"
|
||||
FontSize="28"
|
||||
/>
|
||||
<TextBlock Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" LineHeight="24" FontSize="14" VerticalAlignment="Bottom">
|
||||
Some modlists have steps that you need to take before you install the list, some don't.<LineBreak/>
|
||||
Check your list's documentation on how to get started.
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Border Grid.Row="2" Grid.Column="0" BorderBrush="{StaticResource PrimaryVariantBrush}" CornerRadius="8" BorderThickness="16">
|
||||
<Grid Grid.Row="0" Grid.Column="0" Background="{StaticResource PrimaryVariantBrush}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
Text="Start downloading your chosen list"
|
||||
FontWeight="DemiBold"
|
||||
FontSize="28"
|
||||
/>
|
||||
<ic:SymbolIcon
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
VerticalAlignment="Top"
|
||||
Symbol="DrawerArrowDownload"
|
||||
IsFilled="True"
|
||||
FontSize="28"
|
||||
/>
|
||||
<TextBlock Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" LineHeight="24" FontSize="14" VerticalAlignment="Bottom">
|
||||
Pick a destination with enough free space and click the "Start download" button. You might<LineBreak/>
|
||||
have to log into Nexus first, but rest assured it will just work™.
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Border Grid.Row="2" Grid.Column="2" BorderBrush="{StaticResource PrimaryVariantBrush}" CornerRadius="8" BorderThickness="16">
|
||||
<Grid Grid.Row="0" Grid.Column="0" Background="{StaticResource PrimaryVariantBrush}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.Column="0"
|
||||
Grid.Row="0"
|
||||
Text="Ready to start playing!"
|
||||
FontWeight="DemiBold"
|
||||
FontSize="28"
|
||||
/>
|
||||
<ic:SymbolIcon
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
VerticalAlignment="Top"
|
||||
Symbol="PlayCircle"
|
||||
IsFilled="True"
|
||||
FontSize="28"
|
||||
/>
|
||||
<TextBlock Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" LineHeight="24" FontSize="14" VerticalAlignment="Bottom">
|
||||
If your install completed successfully and you're done with the documentation as well, you're<LineBreak/>
|
||||
now ready to launch the modlist and play!
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<Grid Grid.Row="1" Margin="5,15">
|
||||
<Grid.ColumnDefinitions>
|
||||
@ -64,14 +212,14 @@
|
||||
<Viewbox Grid.Row="1">
|
||||
<Grid>
|
||||
<Grid>
|
||||
<icon:PackIconFontAwesome
|
||||
<ic:SymbolIcon
|
||||
Width="140"
|
||||
Height="140"
|
||||
Margin="0,0,0,10"
|
||||
HorizontalAlignment="Center"
|
||||
ClipToBounds="False"
|
||||
Foreground="{StaticResource PrimaryVariantBrush}"
|
||||
Kind="CloudDownloadAltSolid"
|
||||
Symbol="ClockArrowDownload"
|
||||
Opacity="0.6" />
|
||||
<Grid.Style>
|
||||
<Style TargetType="Grid">
|
||||
|
@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Reactive.Disposables;
|
||||
using System.Reactive.Linq;
|
||||
@ -37,6 +38,14 @@ namespace Wabbajack
|
||||
this.WhenAny(x => x.ViewModel.CompileCommand)
|
||||
.BindToStrict(this, x => x.CompileButton.Command)
|
||||
.DisposeWith(dispose);
|
||||
this.WhenAnyValue(x => x.ViewModel.Modlists)
|
||||
.Select(x => x?.Length.ToString() ?? "0")
|
||||
.BindToStrict(this, x => x.ModlistAmountTextBlock.Text)
|
||||
.DisposeWith(dispose);
|
||||
this.WhenAnyValue(x => x.ViewModel.Modlists)
|
||||
.Select(x => x?.GroupBy(y => y.Game).Count().ToString() ?? "0")
|
||||
.BindToStrict(this, x => x.GameAmountTextBlock.Text)
|
||||
.DisposeWith(dispose);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -33,7 +33,7 @@
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Grid.ColumnSpan="3"
|
||||
Margin="5,0"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="20"
|
||||
FontWeight="Bold"
|
||||
Text="File Uploader" />
|
||||
|
@ -34,7 +34,7 @@
|
||||
</Grid.Resources>
|
||||
<TextBlock
|
||||
Margin="5,0"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="20"
|
||||
FontWeight="Bold"
|
||||
Text="Logins" />
|
||||
|
@ -34,7 +34,7 @@
|
||||
<TextBlock
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="20"
|
||||
FontWeight="Bold"
|
||||
Text="Misc Settings" />
|
||||
|
@ -40,7 +40,7 @@
|
||||
<TextBlock
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
FontFamily="{StaticResource AtkinsonHyperlegible}"
|
||||
FontFamily="{StaticResource PrimaryFont}"
|
||||
FontSize="20"
|
||||
FontWeight="Bold"
|
||||
Text="Performance" />
|
||||
|
@ -13,7 +13,7 @@
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="FontFamily" Value="{StaticResource AtkinsonHyperlegible}" />
|
||||
<Setter Property="FontFamily" Value="{StaticResource PrimaryFont}" />
|
||||
<Setter Property="FontWeight" Value="Bold" />
|
||||
<Setter Property="FontSize" Value="12" />
|
||||
</Style>
|
||||
|
@ -53,10 +53,11 @@
|
||||
<None Remove="Readme.md" />
|
||||
<None Remove="Resources\Fonts\Atkinson-Hyperlegible-Italic-102.ttf" />
|
||||
<None Remove="Resources\Fonts\Atkinson-Hyperlegible-Regular-102.ttf" />
|
||||
<None Remove="Resources\Fonts\AtkinsonHyperlegible-Bold.ttf" />
|
||||
<None Remove="Resources\Fonts\AtkinsonHyperlegible-BoldItalic.ttf" />
|
||||
<None Remove="Resources\Fonts\AtkinsonHyperlegible-Italic.ttf" />
|
||||
<None Remove="Resources\Fonts\AtkinsonHyperlegible-Regular.ttf" />
|
||||
<None Remove="Resources\Fonts\Gabarito-VariableFont_wght-BF651cdf1f55e6c.ttf" />
|
||||
<None Remove="Resources\Fonts\PrimaryFont-Bold.ttf" />
|
||||
<None Remove="Resources\Fonts\PrimaryFont-BoldItalic.ttf" />
|
||||
<None Remove="Resources\Fonts\PrimaryFont-Italic.ttf" />
|
||||
<None Remove="Resources\Fonts\PrimaryFont-Regular.ttf" />
|
||||
<None Remove="Resources\GameGridIcons\Fallout4.png" />
|
||||
<None Remove="Resources\GameGridIcons\SkyrimSpecialEdition.png" />
|
||||
<None Remove="Resources\Icons\middle_mouse_button.png" />
|
||||
@ -85,6 +86,7 @@
|
||||
<NoWarn>NU1701</NoWarn>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Fizzler.Systems.HtmlAgilityPack" Version="1.2.1" />
|
||||
<PackageReference Include="FluentIcons.WPF" Version="1.1.223" />
|
||||
<PackageReference Include="Fody" Version="6.8.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
@ -117,16 +119,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\Fonts\AtkinsonHyperlegible-Bold.ttf">
|
||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
<Resource Include="Resources\Fonts\AtkinsonHyperlegible-BoldItalic.ttf">
|
||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
<Resource Include="Resources\Fonts\AtkinsonHyperlegible-Italic.ttf">
|
||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
<Resource Include="Resources\Fonts\AtkinsonHyperlegible-Regular.ttf">
|
||||
<Resource Include="Resources\Fonts\Gabarito-VariableFont_wght-BF651cdf1f55e6c.ttf">
|
||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
<Resource Include="Resources\middle_mouse_button.png" />
|
||||
|
Loading…
Reference in New Issue
Block a user