mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Merge pull request #977 from Noggog/install-config-work
Install config work
This commit is contained in:
commit
5b008eefa9
41
Settings.XamlStyler
Normal file
41
Settings.XamlStyler
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"AttributesTolerance": 2,
|
||||
"KeepFirstAttributeOnSameLine": false,
|
||||
"MaxAttributeCharactersPerLine": 0,
|
||||
"MaxAttributesPerLine": 1,
|
||||
"NewlineExemptionElements": "RadialGradientBrush, GradientStop, LinearGradientBrush, ScaleTransform, SkewTransform, RotateTransform, TranslateTransform, Trigger, Condition, Setter",
|
||||
"SeparateByGroups": false,
|
||||
"AttributeIndentation": 0,
|
||||
"AttributeIndentationStyle": 1,
|
||||
"RemoveDesignTimeReferences": false,
|
||||
"EnableAttributeReordering": true,
|
||||
"AttributeOrderingRuleGroups": [
|
||||
"x:Class",
|
||||
"xmlns, xmlns:x",
|
||||
"xmlns:*",
|
||||
"x:Key, Key, x:Name, Name, x:Uid, Uid, Title",
|
||||
"Grid.Row, Grid.RowSpan, Grid.Column, Grid.ColumnSpan, Canvas.Left, Canvas.Top, Canvas.Right, Canvas.Bottom",
|
||||
"Width, Height, MinWidth, MinHeight, MaxWidth, MaxHeight",
|
||||
"Margin, Padding, HorizontalAlignment, VerticalAlignment, HorizontalContentAlignment, VerticalContentAlignment, Panel.ZIndex",
|
||||
"*:*, *",
|
||||
"PageSource, PageIndex, Offset, Color, TargetName, Property, Value, StartPoint, EndPoint",
|
||||
"mc:Ignorable, d:IsDataSource, d:LayoutOverrides, d:IsStaticText",
|
||||
"Storyboard.*, From, To, Duration"
|
||||
],
|
||||
"FirstLineAttributes": "Grid.Row, Grid.RowSpan, Grid.Column, Grid.ColumnSpan",
|
||||
"OrderAttributesByName": true,
|
||||
"PutEndingBracketOnNewLine": false,
|
||||
"RemoveEndingTagOfEmptyElement": true,
|
||||
"SpaceBeforeClosingSlash": true,
|
||||
"RootElementLineBreakRule": 0,
|
||||
"ReorderVSM": 2,
|
||||
"ReorderGridChildren": false,
|
||||
"ReorderCanvasChildren": false,
|
||||
"ReorderSetters": 0,
|
||||
"FormatMarkupExtension": true,
|
||||
"NoNewLineMarkupExtensions": "x:Bind, Binding",
|
||||
"ThicknessSeparator": 2,
|
||||
"ThicknessAttributes": "Margin, Padding, BorderThickness, ThumbnailClipMargin",
|
||||
"FormatOnSave": true,
|
||||
"CommentPadding": 2,
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
|
||||
<CodeSnippet Format="1.0.0">
|
||||
<Header>
|
||||
<Title>Notify property changed property</Title>
|
||||
<Shortcut>guiprop</Shortcut>
|
||||
<Description>Code snippet for a NotifyingPropertyChanged variable</Description>
|
||||
<SnippetTypes>
|
||||
<SnippetType>Expansion</SnippetType>
|
||||
</SnippetTypes>
|
||||
</Header>
|
||||
<Snippet>
|
||||
<Declarations>
|
||||
<Literal>
|
||||
<ID>type</ID>
|
||||
<ToolTip>Property type</ToolTip>
|
||||
<Default>int</Default>
|
||||
</Literal>
|
||||
<Literal>
|
||||
<ID>property</ID>
|
||||
<ToolTip>Property name</ToolTip>
|
||||
<Default>MyProperty</Default>
|
||||
</Literal>
|
||||
</Declarations>
|
||||
<Code Language="csharp"><![CDATA[private $type$ _$property$;
|
||||
public $type$ $property$ { get => _$property$; set => this.RaiseAndSetIfChanged(ref _$property$, value); }$end$]]>
|
||||
</Code>
|
||||
</Snippet>
|
||||
</CodeSnippet>
|
||||
</CodeSnippets>
|
@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using DynamicData.Kernel;
|
||||
|
||||
namespace Wabbajack
|
||||
{
|
||||
@ -86,6 +87,15 @@ namespace Wabbajack
|
||||
if (err == null) return Create(nullIsSuccess);
|
||||
return new ErrorResponse(err.Succeeded, err.Reason, err.Exception);
|
||||
}
|
||||
|
||||
public static ErrorResponse FirstFail(params ErrorResponse[] responses)
|
||||
{
|
||||
foreach (var resp in responses)
|
||||
{
|
||||
if (resp.Failed) return resp;
|
||||
}
|
||||
return ErrorResponse.Success;
|
||||
}
|
||||
}
|
||||
|
||||
public interface IErrorResponse
|
||||
|
@ -437,7 +437,7 @@ namespace Wabbajack.Lib
|
||||
return ErrorResponse.Success;
|
||||
}
|
||||
|
||||
return ErrorResponse.Fail($"Cannot install to this folder as it has unknown files that could be deleted");
|
||||
return ErrorResponse.Fail($"Either delete everything except the downloads folder, or pick a new location. Cannot install to this folder as it has unexpected files.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -39,6 +39,7 @@
|
||||
<Color x:Key="Yellow">#ffc400</Color>
|
||||
<Color x:Key="Red">#e83a40</Color>
|
||||
<Color x:Key="Green">#52b545</Color>
|
||||
<Color x:Key="YellowDark">#967400</Color>
|
||||
|
||||
<Color x:Key="Primary">#BB86FC</Color>
|
||||
<Color x:Key="PrimaryTransparent">#00BB86FC</Color>
|
||||
@ -101,6 +102,7 @@
|
||||
<SolidColorBrush x:Key="GreenBrush" Color="{StaticResource Green}" />
|
||||
<SolidColorBrush x:Key="RedBrush" Color="{StaticResource Red}" />
|
||||
<SolidColorBrush x:Key="WarningBrush" Color="{StaticResource Yellow}" />
|
||||
<SolidColorBrush x:Key="WarningDarkBrush" Color="{StaticResource YellowDark}" />
|
||||
<SolidColorBrush x:Key="ErrorBrush" Color="{StaticResource Red}" />
|
||||
|
||||
<SolidColorBrush x:Key="DarkBackgroundBrush" Color="{StaticResource DarkBackgroundColor}" />
|
||||
@ -269,15 +271,11 @@
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Rectangle
|
||||
<Rectangle Grid.Row="1" Grid.Column="1"
|
||||
x:Name="Corner"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Fill="{TemplateBinding Background}" />
|
||||
<ScrollContentPresenter
|
||||
<ScrollContentPresenter Grid.Row="0" Grid.Column="0"
|
||||
x:Name="PART_ScrollContentPresenter"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Margin="{TemplateBinding Padding}"
|
||||
CanContentScroll="{TemplateBinding CanContentScroll}"
|
||||
CanHorizontallyScroll="False"
|
||||
@ -285,10 +283,8 @@
|
||||
Content="{TemplateBinding Content}"
|
||||
ContentTemplate="{TemplateBinding ContentTemplate}"
|
||||
Focusable="False" />
|
||||
<ScrollBar
|
||||
<ScrollBar Grid.Row="0" Grid.Column="1"
|
||||
x:Name="PART_VerticalScrollBar"
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
AutomationProperties.AutomationId="VerticalScrollBar"
|
||||
Cursor="Arrow"
|
||||
Maximum="{TemplateBinding ScrollableHeight}"
|
||||
@ -297,10 +293,8 @@
|
||||
ViewportSize="{TemplateBinding ViewportHeight}"
|
||||
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
|
||||
Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" />
|
||||
<ScrollBar
|
||||
<ScrollBar Grid.Row="1" Grid.Column="0"
|
||||
x:Name="PART_HorizontalScrollBar"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
AutomationProperties.AutomationId="HorizontalScrollBar"
|
||||
Cursor="Arrow"
|
||||
Maximum="{TemplateBinding ScrollableWidth}"
|
||||
@ -465,9 +459,8 @@
|
||||
Command="{x:Static ScrollBar.LineUpCommand}"
|
||||
IsEnabled="{TemplateBinding IsMouseOver}"
|
||||
Style="{StaticResource RepeatButtonUpStyle}" />
|
||||
<Track
|
||||
<Track Grid.Row="1"
|
||||
x:Name="PART_Track"
|
||||
Grid.Row="1"
|
||||
IsDirectionReversed="true"
|
||||
IsEnabled="{TemplateBinding IsMouseOver}">
|
||||
<Track.DecreaseRepeatButton>
|
||||
@ -480,8 +473,7 @@
|
||||
<Thumb Style="{StaticResource ScrollBarThumb}" />
|
||||
</Track.Thumb>
|
||||
</Track>
|
||||
<RepeatButton
|
||||
Grid.Row="2"
|
||||
<RepeatButton Grid.Row="2"
|
||||
Command="{x:Static ScrollBar.LineDownCommand}"
|
||||
IsEnabled="{TemplateBinding IsMouseOver}"
|
||||
Style="{DynamicResource RepeatButtonDownStyle}" />
|
||||
@ -517,9 +509,8 @@
|
||||
Command="{x:Static ScrollBar.LineLeftCommand}"
|
||||
IsEnabled="{TemplateBinding IsMouseOver}"
|
||||
Style="{StaticResource RepeatButtonUpStyle}" />
|
||||
<Track
|
||||
<Track Grid.Column="1"
|
||||
x:Name="PART_Track"
|
||||
Grid.Column="1"
|
||||
IsEnabled="{TemplateBinding IsMouseOver}">
|
||||
<Track.DecreaseRepeatButton>
|
||||
<RepeatButton Command="{x:Static ScrollBar.PageLeftCommand}" Style="{StaticResource HorizontalScrollBarPageButton}" />
|
||||
@ -531,8 +522,7 @@
|
||||
<Thumb Style="{StaticResource ScrollBarThumb}" />
|
||||
</Track.Thumb>
|
||||
</Track>
|
||||
<RepeatButton
|
||||
Grid.Column="2"
|
||||
<RepeatButton Grid.Column="2"
|
||||
Command="{x:Static ScrollBar.LineRightCommand}"
|
||||
IsEnabled="{TemplateBinding IsMouseOver}"
|
||||
Style="{StaticResource RepeatButtonUpStyle}" />
|
||||
@ -578,9 +568,8 @@
|
||||
Command="{x:Static ScrollBar.LineLeftCommand}"
|
||||
IsEnabled="{TemplateBinding IsMouseOver}"
|
||||
Style="{DynamicResource RepeatLeftButtonStyle}" />
|
||||
<Track
|
||||
<Track Grid.Column="1"
|
||||
x:Name="PART_Track"
|
||||
Grid.Column="1"
|
||||
IsEnabled="{TemplateBinding IsMouseOver}">
|
||||
<Track.DecreaseRepeatButton>
|
||||
<RepeatButton Command="{x:Static ScrollBar.PageLeftCommand}" Style="{StaticResource HorizontalScrollBarPageButton}" />
|
||||
@ -592,8 +581,7 @@
|
||||
<Thumb Style="{DynamicResource HorisontalThumbStyle}" />
|
||||
</Track.Thumb>
|
||||
</Track>
|
||||
<RepeatButton
|
||||
Grid.Column="2"
|
||||
<RepeatButton Grid.Column="2"
|
||||
Command="{x:Static ScrollBar.LineRightCommand}"
|
||||
IsEnabled="{TemplateBinding IsMouseOver}"
|
||||
Style="{DynamicResource RepeatRightButtonStyle}" />
|
||||
@ -748,10 +736,8 @@
|
||||
x:Name="PART_ContentHost"
|
||||
Padding="{TemplateBinding Padding}"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="1" Grid.Column="0"
|
||||
x:Name="PART_Message"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Padding="{TemplateBinding Padding}"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||
@ -918,9 +904,8 @@
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Popup
|
||||
<Popup Grid.ColumnSpan="2"
|
||||
x:Name="PART_Popup"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="1"
|
||||
AllowsTransparency="true"
|
||||
IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
@ -958,16 +943,14 @@
|
||||
</Border>
|
||||
</Border>
|
||||
</Popup>
|
||||
<Border
|
||||
<Border Grid.ColumnSpan="2"
|
||||
x:Name="Border"
|
||||
Grid.ColumnSpan="2"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding Background}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="3" />
|
||||
<TextBox x:Name="PART_EditableTextBox" />
|
||||
<ToggleButton
|
||||
Grid.Column="1"
|
||||
<ToggleButton Grid.Column="1"
|
||||
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Style="{StaticResource ComboBoxReadonlyToggleButton}" />
|
||||
</Grid>
|
||||
@ -1017,9 +1000,8 @@
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" MinWidth="18" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Popup
|
||||
<Popup Grid.ColumnSpan="2"
|
||||
x:Name="PART_Popup"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="1"
|
||||
AllowsTransparency="true"
|
||||
IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
@ -1057,8 +1039,7 @@
|
||||
</Border>
|
||||
</Border>
|
||||
</Popup>
|
||||
<ToggleButton
|
||||
Grid.ColumnSpan="2"
|
||||
<ToggleButton Grid.ColumnSpan="2"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
@ -1452,8 +1433,7 @@
|
||||
Stroke="{StaticResource Expander.Static.Arrow.Stroke}"
|
||||
StrokeThickness="2" />
|
||||
</Grid>
|
||||
<ContentPresenter
|
||||
Grid.Row="1"
|
||||
<ContentPresenter Grid.Row="1"
|
||||
Margin="0,4,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
@ -1505,8 +1485,7 @@
|
||||
Stroke="{StaticResource Expander.Static.Arrow.Stroke}"
|
||||
StrokeThickness="2" />
|
||||
</Grid>
|
||||
<ContentPresenter
|
||||
Grid.Column="1"
|
||||
<ContentPresenter Grid.Column="1"
|
||||
Margin="4,0,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
@ -1558,8 +1537,7 @@
|
||||
Stroke="{StaticResource Expander.Static.Arrow.Stroke}"
|
||||
StrokeThickness="2" />
|
||||
</Grid>
|
||||
<ContentPresenter
|
||||
Grid.Row="1"
|
||||
<ContentPresenter Grid.Row="1"
|
||||
Margin="0,4,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
@ -1616,8 +1594,7 @@
|
||||
SnapsToDevicePixels="false"
|
||||
Stroke="{StaticResource Expander.Static.Arrow.Stroke}"
|
||||
StrokeThickness="2" />
|
||||
<ContentPresenter
|
||||
Grid.Column="1"
|
||||
<ContentPresenter Grid.Column="1"
|
||||
Margin="4,0,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
@ -1727,9 +1704,8 @@
|
||||
<ColumnDefinition Width="8" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Path
|
||||
<Path Grid.ColumnSpan="2"
|
||||
x:Name="arrow"
|
||||
Grid.ColumnSpan="2"
|
||||
Width="8"
|
||||
Height="4.5"
|
||||
Margin="2.068,6.27,0,0"
|
||||
@ -1748,8 +1724,7 @@
|
||||
</TransformGroup>
|
||||
</Path.RenderTransform>
|
||||
</Path>
|
||||
<ContentPresenter
|
||||
Grid.Column="1"
|
||||
<ContentPresenter Grid.Column="1"
|
||||
Margin="4,0,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
@ -2157,16 +2132,14 @@
|
||||
<ColumnDefinition Width="15" />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<ToggleButton
|
||||
<ToggleButton Grid.Column="0"
|
||||
x:Name="Expander"
|
||||
Grid.Column="0"
|
||||
ClickMode="Press"
|
||||
IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Style="{DynamicResource TreeViewToggleButtonStyle}" />
|
||||
|
||||
<ContentPresenter
|
||||
<ContentPresenter Grid.Column="1"
|
||||
x:Name="PART_Header"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
ContentSource="Header" />
|
||||
</Grid>
|
||||
@ -2233,9 +2206,8 @@
|
||||
<ColumnDefinition Width="8" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Path
|
||||
<Path Grid.ColumnSpan="2"
|
||||
x:Name="arrow"
|
||||
Grid.ColumnSpan="2"
|
||||
Width="8"
|
||||
Height="4.5"
|
||||
Margin="2.068,6.27,0,0"
|
||||
@ -2254,8 +2226,7 @@
|
||||
</TransformGroup>
|
||||
</Path.RenderTransform>
|
||||
</Path>
|
||||
<ContentPresenter
|
||||
Grid.Column="1"
|
||||
<ContentPresenter Grid.Column="1"
|
||||
Margin="4,0,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
@ -2311,9 +2282,8 @@
|
||||
<ColumnDefinition Width="8" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Path
|
||||
<Path Grid.ColumnSpan="2"
|
||||
x:Name="arrow"
|
||||
Grid.ColumnSpan="2"
|
||||
Width="8"
|
||||
Height="4.5"
|
||||
Margin="2.068,6.27,0,0"
|
||||
@ -2332,8 +2302,7 @@
|
||||
</TransformGroup>
|
||||
</Path.RenderTransform>
|
||||
</Path>
|
||||
<ContentPresenter
|
||||
Grid.Column="1"
|
||||
<ContentPresenter Grid.Column="1"
|
||||
Margin="4,0,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
@ -2504,15 +2473,13 @@
|
||||
FlowDirection="LeftToRight"
|
||||
Stretch="Fill" />
|
||||
</Border>
|
||||
<ContentPresenter
|
||||
<ContentPresenter Grid.Column="2"
|
||||
x:Name="Content"
|
||||
Grid.Column="2"
|
||||
Margin="{TemplateBinding Padding}"
|
||||
ContentSource="Header"
|
||||
RecognizesAccessKey="True"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
<TextBlock
|
||||
Grid.Column="4"
|
||||
<TextBlock Grid.Column="4"
|
||||
Margin="{TemplateBinding Padding}"
|
||||
Text="{TemplateBinding InputGestureText}" />
|
||||
</Grid>
|
||||
@ -2588,9 +2555,7 @@
|
||||
<Border Grid.Row="1" Grid.Column="0">
|
||||
<ScrollContentPresenter Margin="{TemplateBinding Padding}" CanContentScroll="{TemplateBinding CanContentScroll}" />
|
||||
</Border>
|
||||
<RepeatButton
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
<RepeatButton Grid.Row="0" Grid.Column="0"
|
||||
Command="{x:Static ScrollBar.LineUpCommand}"
|
||||
CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Focusable="false"
|
||||
@ -2611,9 +2576,7 @@
|
||||
Data="{StaticResource MenuScrollUpArrowGeometry}"
|
||||
Fill="{StaticResource ForegroundBrush}" />
|
||||
</RepeatButton>
|
||||
<RepeatButton
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
<RepeatButton Grid.Row="2" Grid.Column="0"
|
||||
Command="{x:Static ScrollBar.LineDownCommand}"
|
||||
CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
|
||||
Focusable="false"
|
||||
@ -2846,21 +2809,18 @@
|
||||
FlowDirection="LeftToRight"
|
||||
Stretch="Fill" />
|
||||
</Border>
|
||||
<ContentPresenter
|
||||
<ContentPresenter Grid.Column="2"
|
||||
x:Name="Content"
|
||||
Grid.Column="2"
|
||||
Margin="{TemplateBinding Padding}"
|
||||
ContentSource="Header"
|
||||
RecognizesAccessKey="True"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
<TextBlock
|
||||
Grid.Column="4"
|
||||
<TextBlock Grid.Column="4"
|
||||
Margin="{TemplateBinding Padding}"
|
||||
Text="{TemplateBinding InputGestureText}"
|
||||
Visibility="Collapsed" />
|
||||
<Path
|
||||
<Path Grid.Column="5"
|
||||
x:Name="RightArrowPath"
|
||||
Grid.Column="5"
|
||||
Margin="4,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Data="{StaticResource RightArrow}"
|
||||
@ -3102,11 +3062,7 @@
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="6" />
|
||||
</Grid.RowDefinitions>
|
||||
<Border
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="3"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="4"
|
||||
<Border Grid.Row="1" Grid.RowSpan="3" Grid.Column="0" Grid.ColumnSpan="4"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="Transparent"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
@ -3131,21 +3087,15 @@
|
||||
CornerRadius="4"/>-->
|
||||
</Border>
|
||||
</Border>
|
||||
<Border
|
||||
<Border Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
|
||||
x:Name="Header"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="1"
|
||||
Padding="3,1,3,0">
|
||||
<ContentPresenter
|
||||
ContentSource="Header"
|
||||
RecognizesAccessKey="True"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
</Border>
|
||||
<ContentPresenter
|
||||
Grid.Row="2"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
<ContentPresenter Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2"
|
||||
Margin="{TemplateBinding Padding}"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
</Grid>
|
||||
@ -3235,19 +3185,14 @@
|
||||
Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle,
|
||||
TypeInTargetAssembly={x:Type DataGrid}}}"
|
||||
Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
|
||||
<DataGridColumnHeadersPresenter
|
||||
<DataGridColumnHeadersPresenter Grid.Column="1"
|
||||
x:Name="PART_ColumnHeadersPresenter"
|
||||
Grid.Column="1"
|
||||
Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
|
||||
<ScrollContentPresenter
|
||||
<ScrollContentPresenter Grid.Row="1" Grid.ColumnSpan="2"
|
||||
x:Name="PART_ScrollContentPresenter"
|
||||
Grid.Row="1"
|
||||
Grid.ColumnSpan="2"
|
||||
CanContentScroll="{TemplateBinding CanContentScroll}" />
|
||||
<ScrollBar
|
||||
<ScrollBar Grid.Row="1" Grid.Column="2"
|
||||
x:Name="PART_VerticalScrollBar"
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Maximum="{TemplateBinding ScrollableHeight}"
|
||||
Orientation="Vertical"
|
||||
Style="{StaticResource VerticalScrollBarStyle}"
|
||||
@ -3259,9 +3204,8 @@
|
||||
<ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<ScrollBar
|
||||
<ScrollBar Grid.Column="1"
|
||||
x:Name="PART_HorizontalScrollBar"
|
||||
Grid.Column="1"
|
||||
Maximum="{TemplateBinding ScrollableWidth}"
|
||||
Orientation="Horizontal"
|
||||
Style="{StaticResource HorisontalScrollBarStyle}"
|
||||
@ -3384,17 +3328,13 @@
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</SelectiveScrollingGrid.RowDefinitions>
|
||||
<DataGridCellsPresenter
|
||||
Grid.Column="1"
|
||||
<DataGridCellsPresenter Grid.Column="1"
|
||||
ItemsPanel="{TemplateBinding ItemsPanel}"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
||||
<DataGridDetailsPresenter
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
<DataGridDetailsPresenter Grid.Row="1" Grid.Column="1"
|
||||
SelectiveScrollingGrid.SelectiveScrollingOrientation="{Binding AreRowDetailsFrozen, ConverterParameter={x:Static SelectiveScrollingOrientation.Vertical}, Converter={x:Static DataGrid.RowDetailsScrollingConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
|
||||
Visibility="{TemplateBinding DetailsVisibility}" />
|
||||
<DataGridRowHeader
|
||||
Grid.RowSpan="2"
|
||||
<DataGridRowHeader Grid.RowSpan="2"
|
||||
SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical"
|
||||
Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Row}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
|
||||
</SelectiveScrollingGrid>
|
||||
@ -3533,4 +3473,61 @@
|
||||
<Style BasedOn="{StaticResource MahApps.Styles.TabControl}" TargetType="TabControl" />
|
||||
<Style BasedOn="{StaticResource MahApps.Styles.TabItem}" TargetType="{x:Type TabItem}" />
|
||||
|
||||
<Style BasedOn="{StaticResource MahApps.Styles.ToolTip}" TargetType="ToolTip">
|
||||
<Setter Property="Background" Value="{DynamicResource MahApps.Brushes.Control.Background}" />
|
||||
<Setter Property="BorderBrush" Value="{DynamicResource MahApps.Brushes.Gray7}" />
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="FontSize" Value="{DynamicResource MahApps.Font.Size.Tooltip}" />
|
||||
<Setter Property="Foreground" Value="{DynamicResource MahApps.Brushes.ThemeForeground}" />
|
||||
<Setter Property="Padding" Value="6,3" />
|
||||
<Setter Property="SnapsToDevicePixels" Value="True" />
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ToolTip}">
|
||||
<Border
|
||||
Name="Root"
|
||||
MaxWidth="500"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
Opacity="0"
|
||||
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
|
||||
<Border.Resources>
|
||||
<Storyboard x:Key="Visible State" />
|
||||
<Storyboard x:Key="Normal State" />
|
||||
</Border.Resources>
|
||||
<TextBlock
|
||||
Margin="5"
|
||||
Text="{TemplateBinding Content}"
|
||||
TextWrapping="Wrap" />
|
||||
<VisualStateManager.VisualStateGroups>
|
||||
<VisualStateGroup x:Name="OpenStates">
|
||||
<VisualStateGroup.Transitions>
|
||||
<VisualTransition
|
||||
GeneratedDuration="0:0:0.3"
|
||||
From="Open"
|
||||
To="Closed" />
|
||||
</VisualStateGroup.Transitions>
|
||||
<VisualState x:Name="Closed">
|
||||
<Storyboard>
|
||||
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="Root" Storyboard.TargetProperty="(UIElement.Opacity)">
|
||||
<EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="0" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
</VisualState>
|
||||
<VisualState x:Name="Open">
|
||||
<Storyboard>
|
||||
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="Root" Storyboard.TargetProperty="(UIElement.Opacity)">
|
||||
<EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="1" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
</VisualState>
|
||||
</VisualStateGroup>
|
||||
</VisualStateManager.VisualStateGroups>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
</ResourceDictionary>
|
||||
|
@ -17,7 +17,7 @@ namespace Wabbajack
|
||||
bool SupportsAfterInstallNavigation { get; }
|
||||
void AfterInstallNavigation();
|
||||
int ConfigVisualVerticalOffset { get; }
|
||||
IObservable<bool> CanInstall { get; }
|
||||
ErrorResponse CanInstall { get; }
|
||||
Task<bool> Install();
|
||||
IUserIntervention InterventionConverter(IUserIntervention intervention);
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ namespace Wabbajack
|
||||
|
||||
BeginCommand = ReactiveCommand.CreateFromTask(
|
||||
canExecute: this.WhenAny(x => x.Installer.CanInstall)
|
||||
.Switch(),
|
||||
.Select(err => err.Succeeded),
|
||||
execute: async () =>
|
||||
{
|
||||
try
|
||||
|
@ -20,7 +20,8 @@ namespace Wabbajack
|
||||
{
|
||||
public InstallerVM Parent { get; }
|
||||
|
||||
public IObservable<bool> CanInstall { get; }
|
||||
private readonly ObservableAsPropertyHelper<ErrorResponse> _CanInstall;
|
||||
public ErrorResponse CanInstall => _CanInstall.Value;
|
||||
|
||||
[Reactive]
|
||||
public AInstaller ActiveInstallation { get; private set; }
|
||||
@ -65,14 +66,15 @@ namespace Wabbajack
|
||||
.Select(i => MO2Installer.CheckValidInstallPath(i.target, i.download))
|
||||
.ObserveOnGuiThread();
|
||||
|
||||
CanInstall = Observable.CombineLatest(
|
||||
this.WhenAny(x => x.Location.InError),
|
||||
this.WhenAny(x => x.DownloadLocation.InError),
|
||||
installerVM.WhenAny(x => x.ModListLocation.InError),
|
||||
resultSelector: (loc, modlist, download) =>
|
||||
{
|
||||
return !loc && !download && !modlist;
|
||||
});
|
||||
_CanInstall = Observable.CombineLatest(
|
||||
this.WhenAny(x => x.Location.ErrorState),
|
||||
this.WhenAny(x => x.DownloadLocation.ErrorState),
|
||||
installerVM.WhenAny(x => x.ModListLocation.ErrorState),
|
||||
resultSelector: (loc, modlist, download) =>
|
||||
{
|
||||
return ErrorResponse.FirstFail(loc, modlist, download);
|
||||
})
|
||||
.ToProperty(this, nameof(CanInstall));
|
||||
|
||||
// Have Installation location updates modify the downloads location if empty
|
||||
this.WhenAny(x => x.Location.TargetPath)
|
||||
|
@ -17,9 +17,8 @@
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<ListBox
|
||||
<ListBox Grid.Row="0"
|
||||
x:Name="CpuListControl"
|
||||
Grid.Row="0"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
|
||||
<ListBox.ItemTemplate>
|
||||
@ -28,9 +27,8 @@
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<Border
|
||||
<Border Grid.Row="1"
|
||||
x:Name="SettingsBar"
|
||||
Grid.Row="1"
|
||||
Background="{StaticResource BackgroundBrush}"
|
||||
BorderBrush="{StaticResource ButtonNormalBorder}"
|
||||
BorderThickness="0,1,0,0">
|
||||
@ -46,21 +44,18 @@
|
||||
Margin="5,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="Percent Usage" />
|
||||
<Slider
|
||||
<Slider Grid.Column="1"
|
||||
x:Name="TargetPercentageSlider"
|
||||
Grid.Column="1"
|
||||
Margin="2,0,4,0"
|
||||
Maximum="1"
|
||||
Minimum="0.1"
|
||||
Orientation="Horizontal" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Column="2"
|
||||
x:Name="PercentageText"
|
||||
Grid.Column="2"
|
||||
Margin="2,0,4,0" />
|
||||
<TextBlock Grid.Column="3" Text="|" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Column="4"
|
||||
x:Name="CpuCountText"
|
||||
Grid.Column="4"
|
||||
Margin="2,0,6,0" />
|
||||
</Grid>
|
||||
</Border>
|
||||
|
@ -64,7 +64,12 @@ namespace Wabbajack
|
||||
.BindToStrict(this, x => x.CpuListControl.ItemsSource)
|
||||
.DisposeWith(disposable);
|
||||
|
||||
this.Bind(this.ViewModel, x => x.MWVM.Settings.Performance.TargetUsage, x => x.TargetPercentageSlider.Value)
|
||||
this.BindStrict(
|
||||
this.ViewModel,
|
||||
x => x.MWVM.Settings.Performance.TargetUsage,
|
||||
x => x.TargetPercentageSlider.Value,
|
||||
vmToViewConverter: p => p.Value,
|
||||
viewToVmConverter: d => new Percent(d))
|
||||
.DisposeWith(disposable);
|
||||
|
||||
this.WhenAny(x => x.ViewModel.MWVM.Settings.Performance.TargetUsage)
|
||||
|
@ -57,35 +57,22 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Rectangle
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="4"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
<Rectangle Grid.Row="0" Grid.RowSpan="4" Grid.Column="0" Grid.ColumnSpan="2"
|
||||
Fill="{StaticResource WindowBackgroundBrush}" />
|
||||
<Viewbox
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="4"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
<Viewbox Grid.Row="0" Grid.RowSpan="4" Grid.Column="0" Grid.ColumnSpan="2"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Stretch="UniformToFill">
|
||||
<Image x:Name="ModlistImage" />
|
||||
</Viewbox>
|
||||
<Image x:Name="BadgeImage"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="4"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
<Image Grid.Row="0" Grid.RowSpan="4" Grid.Column="0" Grid.ColumnSpan="2"
|
||||
x:Name="BadgeImage"
|
||||
Width="60"
|
||||
Height="60"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="2" Grid.Column="0"
|
||||
x:Name="TitleTextShadow"
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="-20,5,-20,-20"
|
||||
Padding="40,20"
|
||||
HorizontalAlignment="Left"
|
||||
@ -99,10 +86,8 @@
|
||||
<BlurEffect Radius="85" />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="3" Grid.Column="0"
|
||||
x:Name="AuthorTextShadow"
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Margin="35,-10,-10,10"
|
||||
Padding="30,10"
|
||||
HorizontalAlignment="Left"
|
||||
@ -117,9 +102,8 @@
|
||||
<Run FontSize="15" Text="by" />
|
||||
<Run x:Name="AuthorShadowTextRun" />
|
||||
</TextBlock>
|
||||
<TextBlock x:Name="TitleTextBlock"
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
<TextBlock Grid.Row="2" Grid.Column="0"
|
||||
x:Name="TitleTextBlock"
|
||||
Margin="20,25,20,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Bottom"
|
||||
@ -131,9 +115,8 @@
|
||||
<DropShadowEffect />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
<TextBlock x:Name="AuthorTextBlock"
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
<TextBlock Grid.Row="3" Grid.Column="0"
|
||||
x:Name="AuthorTextBlock"
|
||||
Margin="55,0,20,20"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="30"
|
||||
@ -145,11 +128,8 @@
|
||||
<Run FontSize="15" Text="by" />
|
||||
<Run x:Name="AuthorTextRun" />
|
||||
</TextBlock>
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="2" Grid.RowSpan="2" Grid.Column="1"
|
||||
x:Name="DescriptionTextShadow"
|
||||
Grid.Row="2"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="1"
|
||||
Margin="-10,15,-5,15"
|
||||
Padding="30,10"
|
||||
HorizontalAlignment="Right"
|
||||
@ -163,10 +143,8 @@
|
||||
<BlurEffect Radius="55" />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
<TextBlock x:Name="DescriptionTextBlock"
|
||||
Grid.Row="2"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="1"
|
||||
<TextBlock Grid.Row="2" Grid.RowSpan="2" Grid.Column="1"
|
||||
x:Name="DescriptionTextBlock"
|
||||
Margin="20,25,25,25"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Bottom"
|
||||
@ -178,12 +156,8 @@
|
||||
<DropShadowEffect />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
<Rectangle
|
||||
<Rectangle Grid.Row="2" Grid.RowSpan="2" Grid.Column="0" Grid.ColumnSpan="2"
|
||||
x:Name="TextHoverTrigger"
|
||||
Grid.Row="2"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Fill="Transparent" />
|
||||
</Grid>
|
||||
</local:UserControlRx>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<UserControl
|
||||
<UserControl
|
||||
x:Class="Wabbajack.FilePicker"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
@ -10,26 +10,54 @@
|
||||
d:DesignWidth="400"
|
||||
BorderBrush="{StaticResource DarkBackgroundBrush}"
|
||||
mc:Ignorable="d">
|
||||
<Grid ClipToBounds="True">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="36" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border
|
||||
<Rectangle Grid.Column="0" Grid.ColumnSpan="2"
|
||||
x:Name="ErrorGlow"
|
||||
Fill="{StaticResource WarningBrush}"
|
||||
Opacity="0.3"
|
||||
Visibility="{Binding PickerVM.InError, Converter={StaticResource bool2VisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}">
|
||||
<Rectangle.Effect>
|
||||
<BlurEffect Radius="15" />
|
||||
</Rectangle.Effect>
|
||||
<Rectangle.Style>
|
||||
<Style TargetType="Rectangle">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding PickerVM.InError, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" Value="True">
|
||||
<DataTrigger.EnterActions>
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<ColorAnimation
|
||||
AutoReverse="True"
|
||||
RepeatBehavior="Forever"
|
||||
Storyboard.TargetProperty="(Rectangle.Fill).(SolidColorBrush.Color)"
|
||||
To="{StaticResource YellowDark}"
|
||||
Duration="0:0:0.8" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</DataTrigger.EnterActions>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Rectangle.Style>
|
||||
</Rectangle>
|
||||
<Border Grid.Column="0" Grid.ColumnSpan="2"
|
||||
x:Name="BackgroundCornerFillIn"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="0,0,5,0"
|
||||
Background="{StaticResource TextBoxBackground}"
|
||||
CornerRadius="3" />
|
||||
<TextBox
|
||||
Grid.Column="0"
|
||||
<TextBox Grid.Column="0"
|
||||
Margin="5,1,-2,1"
|
||||
VerticalContentAlignment="Center"
|
||||
Background="{StaticResource DarkBackgroundBrush}"
|
||||
Text="{Binding PickerVM.TargetPath, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}, Converter={StaticResource AbsolutePathToStringConverter}}"
|
||||
Visibility="{Binding PickerVM.ShowTextBoxInput, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
|
||||
<Grid Grid.Column="1" HorizontalAlignment="Right">
|
||||
<Grid Grid.Column="1"
|
||||
HorizontalAlignment="Right"
|
||||
ClipToBounds="True">
|
||||
<Border
|
||||
Margin="3,1,0,1"
|
||||
HorizontalAlignment="Right"
|
||||
@ -95,5 +123,34 @@
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
</Grid>
|
||||
<Border Grid.Column="0" Grid.ColumnSpan="2"
|
||||
x:Name="ErrorBorder"
|
||||
Background="Transparent"
|
||||
BorderBrush="{StaticResource WarningBrush}"
|
||||
BorderThickness="1"
|
||||
CornerRadius="3"
|
||||
IsHitTestVisible="False"
|
||||
Visibility="{Binding PickerVM.InError, Converter={StaticResource bool2VisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}">
|
||||
<Border.Style>
|
||||
<Style TargetType="Border">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding PickerVM.InError, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" Value="True">
|
||||
<DataTrigger.EnterActions>
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<ColorAnimation
|
||||
AutoReverse="True"
|
||||
RepeatBehavior="Forever"
|
||||
Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)"
|
||||
To="{StaticResource YellowDark}"
|
||||
Duration="0:0:0.8" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</DataTrigger.EnterActions>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Border.Style>
|
||||
</Border>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
@ -18,9 +18,8 @@
|
||||
<RowDefinition Height="5" />
|
||||
<RowDefinition Height="25" />
|
||||
</Grid.RowDefinitions>
|
||||
<Rectangle
|
||||
<Rectangle Grid.Row="2"
|
||||
x:Name="OverhangShadowRect"
|
||||
Grid.Row="2"
|
||||
Height="25"
|
||||
VerticalAlignment="Top"
|
||||
IsHitTestVisible="False">
|
||||
@ -32,10 +31,8 @@
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
<Rectangle Grid.Row="1" Fill="{StaticResource BackgroundBrush}" />
|
||||
<mahapps:MetroProgressBar
|
||||
<mahapps:MetroProgressBar Grid.Row="1" Grid.RowSpan="2"
|
||||
x:Name="BottomProgressBarDarkGlow"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="2"
|
||||
Height="16"
|
||||
Margin="-4"
|
||||
VerticalAlignment="Top"
|
||||
@ -53,10 +50,8 @@
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<mahapps:MetroProgressBar
|
||||
<mahapps:MetroProgressBar Grid.Column="0" Grid.ColumnSpan="4"
|
||||
x:Name="LargeProgressBar"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="4"
|
||||
Background="#AA121212"
|
||||
BorderThickness="0"
|
||||
Maximum="1">
|
||||
@ -67,10 +62,8 @@
|
||||
</LinearGradientBrush>
|
||||
</mahapps:MetroProgressBar.Foreground>
|
||||
</mahapps:MetroProgressBar>
|
||||
<mahapps:MetroProgressBar
|
||||
<mahapps:MetroProgressBar Grid.Column="0" Grid.ColumnSpan="4"
|
||||
x:Name="LargeProgressBarTopGlow"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="4"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
Maximum="1">
|
||||
@ -81,9 +74,8 @@
|
||||
</LinearGradientBrush>
|
||||
</mahapps:MetroProgressBar.Foreground>
|
||||
</mahapps:MetroProgressBar>
|
||||
<TextBlock
|
||||
<TextBlock Grid.Column="0"
|
||||
x:Name="StatePrefixText"
|
||||
Grid.Column="0"
|
||||
Width="130"
|
||||
Margin="0,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
@ -91,13 +83,11 @@
|
||||
FontWeight="Black"
|
||||
Foreground="{StaticResource ComplementaryBrush}"
|
||||
TextAlignment="Right" />
|
||||
<Rectangle
|
||||
<Rectangle Grid.Column="0"
|
||||
x:Name="PrefixSpacerRect"
|
||||
Grid.Column="0"
|
||||
Width="50" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Column="1"
|
||||
x:Name="TitleText"
|
||||
Grid.Column="1"
|
||||
Margin="15,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="Lucida Sans"
|
||||
@ -105,10 +95,8 @@
|
||||
FontWeight="Black" />
|
||||
<ContentControl Grid.Column="2" />
|
||||
</Grid>
|
||||
<mahapps:MetroProgressBar
|
||||
<mahapps:MetroProgressBar Grid.Row="1" Grid.RowSpan="2"
|
||||
x:Name="BottomProgressBarBrightGlow1"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="2"
|
||||
Height="5"
|
||||
VerticalAlignment="Top"
|
||||
Background="Transparent"
|
||||
@ -119,10 +107,8 @@
|
||||
<BlurEffect Radius="8" />
|
||||
</mahapps:MetroProgressBar.Effect>
|
||||
</mahapps:MetroProgressBar>
|
||||
<mahapps:MetroProgressBar
|
||||
<mahapps:MetroProgressBar Grid.Row="1" Grid.RowSpan="2"
|
||||
x:Name="BottomProgressBarBrightGlow2"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="2"
|
||||
Height="5"
|
||||
VerticalAlignment="Top"
|
||||
Background="Transparent"
|
||||
@ -133,20 +119,16 @@
|
||||
<BlurEffect Radius="15" />
|
||||
</mahapps:MetroProgressBar.Effect>
|
||||
</mahapps:MetroProgressBar>
|
||||
<mahapps:MetroProgressBar
|
||||
<mahapps:MetroProgressBar Grid.Row="1" Grid.RowSpan="2"
|
||||
x:Name="BottomProgressBar"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="2"
|
||||
Height="5"
|
||||
VerticalAlignment="Top"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
Foreground="{StaticResource SecondaryBrush}"
|
||||
Maximum="1" />
|
||||
<mahapps:MetroProgressBar
|
||||
<mahapps:MetroProgressBar Grid.Row="1" Grid.RowSpan="2"
|
||||
x:Name="BottomProgressBarHighlight"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="2"
|
||||
Height="5"
|
||||
VerticalAlignment="Top"
|
||||
Background="Transparent"
|
||||
|
@ -26,8 +26,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="2*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Rectangle
|
||||
Grid.Row="0"
|
||||
<Rectangle Grid.Row="0"
|
||||
Height="65"
|
||||
Fill="{StaticResource LinesBrush}">
|
||||
<Rectangle.Effect>
|
||||
@ -37,24 +36,21 @@
|
||||
ShadowDepth="10" />
|
||||
</Rectangle.Effect>
|
||||
</Rectangle>
|
||||
<Grid
|
||||
Grid.Row="1"
|
||||
<Grid Grid.Row="1"
|
||||
Margin="30"
|
||||
Visibility="{Binding ShowHelp, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}, Converter={StaticResource bool2VisibilityConverter}}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.Row="0"
|
||||
<TextBlock Grid.Row="0"
|
||||
Margin="0,0,0,10"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="30"
|
||||
FontWeight="Bold"
|
||||
Foreground="{StaticResource YellowBrush}"
|
||||
Text="UNDER MAINTENANCE" />
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
<TextBlock Grid.Row="1"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="15"
|
||||
FontWeight="Bold"
|
||||
@ -62,8 +58,7 @@
|
||||
Text="When mods are updated and the old versions are taken down, Wabbajack can no longer install the modlist for you. 
 
Modlist authors need to download the new mod and confirm its correctness before the modlist can be made available again."
|
||||
TextWrapping="WrapWithOverflow" />
|
||||
</Grid>
|
||||
<Viewbox
|
||||
Grid.Row="1"
|
||||
<Viewbox Grid.Row="1"
|
||||
Margin="20"
|
||||
VerticalAlignment="Top"
|
||||
Visibility="{Binding ShowHelp, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}">
|
||||
@ -76,8 +71,7 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.Row="0"
|
||||
<TextBlock Grid.Row="0"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="100"
|
||||
FontWeight="Bold"
|
||||
@ -90,8 +84,7 @@
|
||||
ShadowDepth="10" />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
<Button
|
||||
Grid.Row="0"
|
||||
<Button Grid.Row="0"
|
||||
Width="45"
|
||||
Height="45"
|
||||
Margin="0,10"
|
||||
@ -108,8 +101,7 @@
|
||||
Height="35"
|
||||
Kind="HelpCircle" />
|
||||
</Button>
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
<TextBlock Grid.Row="1"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="100"
|
||||
FontWeight="Bold"
|
||||
|
@ -22,11 +22,8 @@
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3"
|
||||
x:Name="TitleText"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
FontFamily="Lucida Sans"
|
||||
@ -36,17 +33,14 @@
|
||||
<DropShadowEffect BlurRadius="25" Opacity="0.5" />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
<Grid
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
<Grid Grid.Row="1" Grid.Column="0"
|
||||
VerticalAlignment="Center">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Button
|
||||
<Button Grid.Row="0"
|
||||
x:Name="BackButton"
|
||||
Grid.Row="0"
|
||||
Width="55"
|
||||
Height="55"
|
||||
Style="{StaticResource CircleButtonStyle}">
|
||||
@ -56,15 +50,12 @@
|
||||
Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}"
|
||||
Kind="ArrowLeft" />
|
||||
</Button>
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
<TextBlock Grid.Row="1"
|
||||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
Text="Main Menu" />
|
||||
</Grid>
|
||||
<Grid
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
<Grid Grid.Row="1" Grid.Column="1"
|
||||
VerticalAlignment="Center">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
@ -81,15 +72,12 @@
|
||||
Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}"
|
||||
Kind="FolderMove" />
|
||||
</Button>
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
<TextBlock Grid.Row="1"
|
||||
x:Name="ActionText"
|
||||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
x:Name="ActionText" />
|
||||
HorizontalAlignment="Center" />
|
||||
</Grid>
|
||||
<Grid
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
<Grid Grid.Row="1" Grid.Column="2"
|
||||
VerticalAlignment="Center"
|
||||
Background="Transparent">
|
||||
<Grid.RowDefinitions>
|
||||
@ -129,8 +117,7 @@
|
||||
Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}"
|
||||
Kind="Check" />
|
||||
</Button>
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
<TextBlock Grid.Row="1"
|
||||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
Text="Close" />
|
||||
|
@ -28,17 +28,10 @@
|
||||
<ColumnDefinition Width="5*" />
|
||||
<ColumnDefinition Width="5" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<local:HeatedBackgroundView
|
||||
x:Name="HeatedBackground"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="3"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="5" />
|
||||
<Border
|
||||
<local:HeatedBackgroundView Grid.Row="0" Grid.RowSpan="3" Grid.Column="0" Grid.ColumnSpan="5"
|
||||
x:Name="HeatedBackground" />
|
||||
<Border Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"
|
||||
x:Name="ModlistDetailsBackground"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="1,1,5,0"
|
||||
Background="{StaticResource WindowBackgroundBrush}"
|
||||
BorderThickness="0,0,1,1">
|
||||
@ -49,34 +42,22 @@
|
||||
</LinearGradientBrush>
|
||||
</Border.BorderBrush>
|
||||
</Border>
|
||||
<Border
|
||||
<Border Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"
|
||||
x:Name="ModlistDetailsHeatBorder"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="1,1,5,0"
|
||||
BorderBrush="{StaticResource HeatedBorderBrush}"
|
||||
BorderThickness="1" />
|
||||
<Border
|
||||
Grid.Row="1"
|
||||
Grid.Column="3"
|
||||
<Border Grid.Row="1" Grid.Column="3"
|
||||
BorderBrush="{StaticResource BorderInterestBrush}"
|
||||
BorderThickness="1,0,1,1">
|
||||
<local:DetailImageView x:Name="DetailImage" BorderThickness="0" />
|
||||
</Border>
|
||||
<!-- Comes after image area so shadow can overlay -->
|
||||
<local:TopProgressView
|
||||
<local:TopProgressView Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" Grid.ColumnSpan="5"
|
||||
x:Name="TopProgressBar"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="5"
|
||||
OverhangShadow="True" />
|
||||
<Button
|
||||
<Button Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="5"
|
||||
x:Name="BackButton"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="5"
|
||||
Width="30"
|
||||
Height="30"
|
||||
Margin="12,5,0,0"
|
||||
@ -86,10 +67,8 @@
|
||||
ToolTip="Back to main menu">
|
||||
<icon:PackIconMaterial Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}" Kind="ArrowLeft" />
|
||||
</Button>
|
||||
<ScrollViewer
|
||||
<ScrollViewer Grid.Row="1" Grid.Column="1"
|
||||
x:Name="SettingsScrollViewer"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="5"
|
||||
Background="Transparent"
|
||||
HorizontalScrollBarVisibility="Disabled"
|
||||
@ -122,7 +101,10 @@
|
||||
<TextBlock Margin="{StaticResource TitleMargin}" Text="ModList Name" />
|
||||
<TextBox x:Name="ModListNameSetting" Style="{StaticResource ValueStyle}" />
|
||||
<TextBlock Margin="{StaticResource TitleMargin}" Text="Version" />
|
||||
<TextBox x:Name="VersionSetting" Style="{StaticResource ValueStyle}" MaxLength="9" />
|
||||
<TextBox
|
||||
x:Name="VersionSetting"
|
||||
MaxLength="9"
|
||||
Style="{StaticResource ValueStyle}" />
|
||||
<TextBlock Margin="{StaticResource TitleMargin}" Text="Author" />
|
||||
<TextBox x:Name="AuthorNameSetting" Style="{StaticResource ValueStyle}" />
|
||||
<TextBlock Margin="{StaticResource TitleMargin}" Text="Description" />
|
||||
@ -146,23 +128,18 @@
|
||||
Margin="{StaticResource TitleMargin}"
|
||||
Text="Readme"
|
||||
ToolTip="Link to the Readme." />
|
||||
<TextBox x:Name="ReadmeSetting" Style="{StaticResource ValueStyle}"/>
|
||||
<CheckBox x:Name="NSFWSetting"
|
||||
Content="NSFW"
|
||||
ToolTip="Select this if your Modlist has adult themed content such as SexLab or other mods involving sexual acts. Nude body replacer do not fall under this category neither do revealing outfits or gore."/>
|
||||
<TextBox x:Name="ReadmeSetting" Style="{StaticResource ValueStyle}" />
|
||||
<CheckBox
|
||||
x:Name="NSFWSetting"
|
||||
Content="NSFW"
|
||||
ToolTip="Select this if your Modlist has adult themed content such as SexLab or other mods involving sexual acts. Nude body replacer do not fall under this category neither do revealing outfits or gore." />
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
<Border
|
||||
<Border Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="5"
|
||||
x:Name="BottomBarBackground"
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="5"
|
||||
Margin="5"
|
||||
Background="{StaticResource WindowBackgroundBrush}" />
|
||||
<Grid
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="5"
|
||||
<Grid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="5"
|
||||
MaxWidth="1000">
|
||||
<Grid
|
||||
x:Name="BottomCompilerSettingsGrid"
|
||||
@ -180,19 +157,15 @@
|
||||
<ColumnDefinition Width="20" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="5"
|
||||
Grid.Column="0"
|
||||
<Grid Grid.Row="0" Grid.RowSpan="5" Grid.Column="0"
|
||||
Margin="15"
|
||||
VerticalAlignment="Center">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<local:ImageRadioButtonView
|
||||
<local:ImageRadioButtonView Grid.Row="0"
|
||||
x:Name="MO2CompilerButton"
|
||||
Grid.Row="0"
|
||||
Height="35"
|
||||
Margin="4"
|
||||
IsChecked="{Binding SelectedCompilerType, Converter={StaticResource EqualsToBoolConverter}, ConverterParameter={x:Static wabbacommon:ModManager.MO2}}">
|
||||
@ -201,28 +174,20 @@
|
||||
</local:ImageRadioButtonView.Image>
|
||||
</local:ImageRadioButtonView>
|
||||
</Grid>
|
||||
<ContentPresenter
|
||||
x:Name="CustomCompilerSettingsPresenter"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1">
|
||||
<ContentPresenter Grid.Row="1" Grid.Column="1"
|
||||
x:Name="CustomCompilerSettingsPresenter">
|
||||
<ContentPresenter.Resources>
|
||||
<DataTemplate DataType="{x:Type local:MO2CompilerVM}">
|
||||
<local:MO2CompilerConfigView />
|
||||
</DataTemplate>
|
||||
</ContentPresenter.Resources>
|
||||
</ContentPresenter>
|
||||
<local:BeginButton
|
||||
x:Name="BeginButton"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="3"
|
||||
Grid.Column="5" />
|
||||
<local:BeginButton Grid.Row="0" Grid.RowSpan="3" Grid.Column="5"
|
||||
x:Name="BeginButton" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
<Grid
|
||||
<Grid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="5"
|
||||
x:Name="MidCompilationGrid"
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="5"
|
||||
Margin="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="4*" />
|
||||
@ -230,18 +195,16 @@
|
||||
<ColumnDefinition Width="3*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<local:LogView x:Name="LogView" Grid.Column="0" />
|
||||
<local:CpuView
|
||||
<local:CpuView Grid.Column="2"
|
||||
x:Name="CpuView"
|
||||
Grid.Column="2"
|
||||
ViewModel="{Binding}" />
|
||||
<local:AttentionBorder x:Name="UserInterventionsControl" Grid.Column="2">
|
||||
<Grid>
|
||||
<local:ConfirmationInterventionView DataContext="{Binding ActiveGlobalUserIntervention}" Visibility="{Binding ActiveGlobalUserIntervention, Converter={StaticResource IsTypeVisibilityConverter}, ConverterParameter={x:Type common:ConfirmationIntervention}}" />
|
||||
</Grid>
|
||||
</local:AttentionBorder>
|
||||
<local:CompilationCompleteView
|
||||
<local:CompilationCompleteView Grid.Column="2"
|
||||
x:Name="CompilationComplete"
|
||||
Grid.Column="2"
|
||||
ViewModel="{Binding}" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
@ -20,56 +20,44 @@
|
||||
<RowDefinition Height="40" />
|
||||
<RowDefinition Height="40" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
<TextBlock Grid.Row="0" Grid.Column="0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Text="Modlist Location"
|
||||
TextAlignment="Center"
|
||||
ToolTip="The MO2 modlist.txt file you want to use as your source" />
|
||||
<local:FilePicker
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
<local:FilePicker Grid.Row="0" Grid.Column="2"
|
||||
Height="30"
|
||||
VerticalAlignment="Center"
|
||||
PickerVM="{Binding ModListLocation}"
|
||||
FontSize="14"
|
||||
PickerVM="{Binding ModListLocation}"
|
||||
ToolTip="The MO2 modlist.txt file you want to use as your source" />
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
<TextBlock Grid.Row="1" Grid.Column="0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Text="Download Location"
|
||||
TextAlignment="Center"
|
||||
ToolTip="The folder where MO2 downloads your mods." />
|
||||
<local:FilePicker
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
<local:FilePicker Grid.Row="1" Grid.Column="2"
|
||||
Height="30"
|
||||
VerticalAlignment="Center"
|
||||
PickerVM="{Binding DownloadLocation}"
|
||||
FontSize="14"
|
||||
PickerVM="{Binding DownloadLocation}"
|
||||
ToolTip="The folder where MO2 downloads your mods." />
|
||||
<TextBlock
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
<TextBlock Grid.Row="2" Grid.Column="0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Text="Output Location"
|
||||
TextAlignment="Center"
|
||||
ToolTip="The folder to place the resulting modlist.wabbajack file" />
|
||||
<local:FilePicker
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
<local:FilePicker Grid.Row="2" Grid.Column="2"
|
||||
Height="30"
|
||||
VerticalAlignment="Center"
|
||||
PickerVM="{Binding Parent.OutputLocation}"
|
||||
FontSize="14"
|
||||
PickerVM="{Binding Parent.OutputLocation}"
|
||||
ToolTip="The folder to place the resulting modlist.wabbajack file" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
@ -23,11 +23,8 @@
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="4"
|
||||
x:Name="TitleText"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="4"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
FontFamily="Lucida Sans"
|
||||
@ -37,17 +34,14 @@
|
||||
<DropShadowEffect BlurRadius="25" Opacity="0.5" />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
<Grid
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
<Grid Grid.Row="1" Grid.Column="0"
|
||||
VerticalAlignment="Center">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Button
|
||||
<Button Grid.Row="0"
|
||||
x:Name="BackButton"
|
||||
Grid.Row="0"
|
||||
Width="50"
|
||||
Height="50"
|
||||
Style="{StaticResource CircleButtonStyle}">
|
||||
@ -57,15 +51,12 @@
|
||||
Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}"
|
||||
Kind="ArrowLeft" />
|
||||
</Button>
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
<TextBlock Grid.Row="1"
|
||||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
Text="Main Menu" />
|
||||
</Grid>
|
||||
<Grid
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
<Grid Grid.Row="1" Grid.Column="1"
|
||||
VerticalAlignment="Center"
|
||||
Visibility="{Binding InstallerSupportsAfterInstallNavigation, Converter={StaticResource bool2VisibilityConverter}}">
|
||||
<Grid.RowDefinitions>
|
||||
@ -83,15 +74,12 @@
|
||||
Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}"
|
||||
Kind="FolderMove" />
|
||||
</Button>
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
<TextBlock Grid.Row="1"
|
||||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
Text="Install Folder" />
|
||||
</Grid>
|
||||
<Grid
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
<Grid Grid.Row="1" Grid.Column="2"
|
||||
VerticalAlignment="Center"
|
||||
Background="Transparent">
|
||||
<Grid.RowDefinitions>
|
||||
@ -109,15 +97,12 @@
|
||||
Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}"
|
||||
Kind="ReadmeBrands" />
|
||||
</Button>
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
<TextBlock Grid.Row="1"
|
||||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
Text="Readme" />
|
||||
</Grid>
|
||||
<Grid
|
||||
Grid.Row="1"
|
||||
Grid.Column="3"
|
||||
<Grid Grid.Row="1" Grid.Column="3"
|
||||
VerticalAlignment="Center"
|
||||
Background="Transparent">
|
||||
<Grid.RowDefinitions>
|
||||
@ -135,8 +120,7 @@
|
||||
Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}"
|
||||
Kind="Check" />
|
||||
</Button>
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
<TextBlock Grid.Row="1"
|
||||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Center"
|
||||
Text="Close" />
|
||||
|
@ -0,0 +1,99 @@
|
||||
<rxui:ReactiveUserControl
|
||||
x:Class="Wabbajack.InstallationConfigurationView"
|
||||
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:icon="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
xmlns:local="clr-namespace:Wabbajack"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:rxui="http://reactiveui.net"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
x:TypeArguments="local:InstallerVM"
|
||||
mc:Ignorable="d">
|
||||
<Grid Background="{StaticResource WindowBackgroundBrush}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="20" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Grid.Column="0"
|
||||
Margin="5"
|
||||
VerticalAlignment="Center"
|
||||
Background="Transparent">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="5" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" MinWidth="120" />
|
||||
<ColumnDefinition Width="20" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Rectangle x:Name="InstallConfigSpacer" Grid.Row="0" />
|
||||
<TextBlock Grid.Row="1" Grid.Column="0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Text="Target Modlist"
|
||||
TextAlignment="Center" />
|
||||
<local:FilePicker Grid.Row="1" Grid.Column="2"
|
||||
x:Name="ModListLocationPicker"
|
||||
Height="30"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14" />
|
||||
<ContentPresenter Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3"
|
||||
x:Name="InstallerCustomizationContent"
|
||||
VerticalAlignment="Top">
|
||||
<ContentPresenter.Resources>
|
||||
<DataTemplate DataType="{x:Type local:MO2InstallerVM}">
|
||||
<local:MO2InstallerConfigView />
|
||||
</DataTemplate>
|
||||
</ContentPresenter.Resources>
|
||||
<ContentPresenter.Style>
|
||||
<Style TargetType="ContentPresenter">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=Content}" Value="{x:Null}">
|
||||
<Setter Property="ContentPresenter.ContentTemplate">
|
||||
<Setter.Value>
|
||||
<DataTemplate>
|
||||
<Rectangle Height="74" />
|
||||
</DataTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ContentPresenter.Style>
|
||||
</ContentPresenter>
|
||||
</Grid>
|
||||
<Grid Grid.Column="2" Margin="0,0,25,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<local:BeginButton Grid.Row="1"
|
||||
x:Name="BeginButton"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center" />
|
||||
<icon:PackIconFontAwesome Grid.Row="2"
|
||||
x:Name="ErrorSummaryIconGlow"
|
||||
HorizontalAlignment="Center"
|
||||
Foreground="{StaticResource WarningBrush}"
|
||||
Kind="ExclamationTriangleSolid"
|
||||
Opacity="0.6">
|
||||
<icon:PackIconFontAwesome.Effect>
|
||||
<BlurEffect Radius="15" />
|
||||
</icon:PackIconFontAwesome.Effect>
|
||||
</icon:PackIconFontAwesome>
|
||||
<icon:PackIconFontAwesome Grid.Row="2"
|
||||
x:Name="ErrorSummaryIcon"
|
||||
HorizontalAlignment="Center"
|
||||
Foreground="{StaticResource WarningBrush}"
|
||||
Kind="ExclamationTriangleSolid" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</rxui:ReactiveUserControl>
|
@ -0,0 +1,59 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reactive.Disposables;
|
||||
using System.Reactive.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Wabbajack
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for InstallationConfigurationView.xaml
|
||||
/// </summary>
|
||||
public partial class InstallationConfigurationView : ReactiveUserControl<InstallerVM>
|
||||
{
|
||||
public InstallationConfigurationView()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.WhenActivated(dispose =>
|
||||
{
|
||||
this.WhenAny(x => x.ViewModel.Installer.ConfigVisualVerticalOffset)
|
||||
.Select(i => (double)i)
|
||||
.BindToStrict(this, x => x.InstallConfigSpacer.Height)
|
||||
.DisposeWith(dispose);
|
||||
this.WhenAny(x => x.ViewModel.ModListLocation)
|
||||
.BindToStrict(this, x => x.ModListLocationPicker.PickerVM)
|
||||
.DisposeWith(dispose);
|
||||
this.WhenAny(x => x.ViewModel.Installer)
|
||||
.BindToStrict(this, x => x.InstallerCustomizationContent.Content)
|
||||
.DisposeWith(dispose);
|
||||
this.WhenAny(x => x.ViewModel.BeginCommand)
|
||||
.BindToStrict(this, x => x.BeginButton.Command)
|
||||
.DisposeWith(dispose);
|
||||
|
||||
// Error icon display
|
||||
var vis = this.WhenAny(x => x.ViewModel.Installer.CanInstall)
|
||||
.Select(err => err.Failed ? Visibility.Visible : Visibility.Hidden)
|
||||
.Replay(1)
|
||||
.RefCount();
|
||||
vis.BindToStrict(this, x => x.ErrorSummaryIconGlow.Visibility)
|
||||
.DisposeWith(dispose);
|
||||
vis.BindToStrict(this, x => x.ErrorSummaryIcon.Visibility)
|
||||
.DisposeWith(dispose);
|
||||
this.WhenAny(x => x.ViewModel.Installer.CanInstall)
|
||||
.Select(x => x.Reason)
|
||||
.BindToStrict(this, x => x.ErrorSummaryIcon.ToolTip)
|
||||
.DisposeWith(dispose);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
@ -31,10 +31,8 @@
|
||||
<RowDefinition Height="4*" />
|
||||
<RowDefinition Height="*" MinHeight="175" />
|
||||
</Grid.RowDefinitions>
|
||||
<Rectangle
|
||||
x:Name="BorderEdgeFadeDown"
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="2">
|
||||
<Rectangle Grid.Row="1" Grid.RowSpan="2"
|
||||
x:Name="BorderEdgeFadeDown">
|
||||
<Rectangle.Fill>
|
||||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||||
<GradientStop Offset="0" Color="#191919" />
|
||||
@ -42,13 +40,10 @@
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
<local:HeatedBackgroundView
|
||||
x:Name="HeatedBackground"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="3" />
|
||||
<Grid
|
||||
<local:HeatedBackgroundView Grid.Row="0" Grid.RowSpan="3"
|
||||
x:Name="HeatedBackground" />
|
||||
<Grid Grid.Row="1"
|
||||
x:Name="Slideshow"
|
||||
Grid.Row="1"
|
||||
Margin="5,0,5,5">
|
||||
<Border BorderBrush="{StaticResource BorderInterestBrush}" BorderThickness="1,0,1,1">
|
||||
<Grid>
|
||||
@ -105,9 +100,8 @@
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Grid.Style>
|
||||
<Button
|
||||
<Button Grid.Column="3"
|
||||
x:Name="SkipSlideButton"
|
||||
Grid.Column="3"
|
||||
Width="60"
|
||||
Height="60"
|
||||
Margin="6"
|
||||
@ -119,9 +113,8 @@
|
||||
Height="28"
|
||||
Kind="ChevronRightSolid" />
|
||||
</Button>
|
||||
<ToggleButton
|
||||
<ToggleButton Grid.Column="2"
|
||||
x:Name="PlayPauseButton"
|
||||
Grid.Column="2"
|
||||
Margin="6"
|
||||
Background="{StaticResource BackgroundBrush}"
|
||||
Style="{StaticResource SlideshowButton}">
|
||||
@ -138,9 +131,8 @@
|
||||
</icon:PackIconMaterial.Style>
|
||||
</icon:PackIconMaterial>
|
||||
</ToggleButton>
|
||||
<Button
|
||||
<Button Grid.Column="1"
|
||||
x:Name="OpenWebsite"
|
||||
Grid.Column="1"
|
||||
Margin="6"
|
||||
Background="{StaticResource BackgroundBrush}"
|
||||
Style="{StaticResource SlideshowButton}"
|
||||
@ -150,9 +142,8 @@
|
||||
Height="28"
|
||||
Kind="Web" />
|
||||
</Button>
|
||||
<ToggleButton
|
||||
<ToggleButton Grid.Column="0"
|
||||
x:Name="ShowNSFWButton"
|
||||
Grid.Column="0"
|
||||
Background="{StaticResource BackgroundBrush}"
|
||||
Style="{StaticResource SlideshowButton}">
|
||||
<Grid>
|
||||
@ -177,10 +168,8 @@
|
||||
</Grid>
|
||||
</Grid>
|
||||
<!-- Comes after slideshow control, so that any effects/overlap goes on top -->
|
||||
<local:TopProgressView
|
||||
x:Name="TopProgressBar"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2">
|
||||
<local:TopProgressView Grid.Row="0" Grid.RowSpan="2"
|
||||
x:Name="TopProgressBar">
|
||||
<!-- Readd when Pause/Stop implementations added -->
|
||||
<!--<Button Grid.Column="2"
|
||||
ToolTip="Pause Installation"
|
||||
@ -201,10 +190,8 @@
|
||||
Kind="TimesCircleSolid" />
|
||||
</Button>-->
|
||||
</local:TopProgressView>
|
||||
<Button
|
||||
<Button Grid.Row="0" Grid.RowSpan="2"
|
||||
x:Name="BackButton"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Width="30"
|
||||
Height="30"
|
||||
Margin="7,5,0,0"
|
||||
@ -215,9 +202,8 @@
|
||||
<icon:PackIconMaterial Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}" Kind="ArrowLeft" />
|
||||
</Button>
|
||||
<!-- Bottom Area -->
|
||||
<Grid
|
||||
<Grid Grid.Row="2"
|
||||
x:Name="BottomButtonInputGrid"
|
||||
Grid.Row="2"
|
||||
Margin="5,0,5,5"
|
||||
ClipToBounds="True">
|
||||
<Grid.ColumnDefinitions>
|
||||
@ -231,9 +217,8 @@
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Button
|
||||
<Button Grid.Row="0"
|
||||
x:Name="OpenReadmePreInstallButton"
|
||||
Grid.Row="0"
|
||||
Margin="30,5"
|
||||
FontSize="20"
|
||||
Style="{StaticResource LargeButtonStyle}"
|
||||
@ -243,22 +228,19 @@
|
||||
<ColumnDefinition Width="30" />
|
||||
<ColumnDefinition Width="82" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<icon:PackIconFontAwesome
|
||||
Grid.Column="0"
|
||||
<icon:PackIconFontAwesome Grid.Column="0"
|
||||
Width="30"
|
||||
Height="30"
|
||||
VerticalAlignment="Center"
|
||||
Kind="ReadmeBrands" />
|
||||
<TextBlock
|
||||
Grid.Column="1"
|
||||
<TextBlock Grid.Column="1"
|
||||
Margin="10,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="Readme" />
|
||||
</Grid>
|
||||
</Button>
|
||||
<Button
|
||||
<Button Grid.Row="1"
|
||||
x:Name="VisitWebsitePreInstallButton"
|
||||
Grid.Row="1"
|
||||
Margin="30,5"
|
||||
FontSize="20"
|
||||
Style="{StaticResource LargeButtonStyle}"
|
||||
@ -268,22 +250,19 @@
|
||||
<ColumnDefinition Width="30" />
|
||||
<ColumnDefinition Width="82" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<icon:PackIconMaterial
|
||||
Grid.Column="0"
|
||||
<icon:PackIconMaterial Grid.Column="0"
|
||||
Width="30"
|
||||
Height="30"
|
||||
VerticalAlignment="Center"
|
||||
Kind="Web" />
|
||||
<TextBlock
|
||||
Grid.Column="1"
|
||||
<TextBlock Grid.Column="1"
|
||||
Margin="10,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="Website" />
|
||||
</Grid>
|
||||
</Button>
|
||||
<Button
|
||||
<Button Grid.Row="2"
|
||||
x:Name="ShowManifestPreInstallButton"
|
||||
Grid.Row="2"
|
||||
Margin="30,5"
|
||||
FontSize="20"
|
||||
Style="{StaticResource LargeButtonStyle}"
|
||||
@ -293,100 +272,24 @@
|
||||
<ColumnDefinition Width="30" />
|
||||
<ColumnDefinition Width="82" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<icon:PackIconOcticons
|
||||
Grid.Column="0"
|
||||
<icon:PackIconOcticons Grid.Column="0"
|
||||
Width="30"
|
||||
Height="30"
|
||||
VerticalAlignment="Center"
|
||||
Kind="Checklist" />
|
||||
<TextBlock
|
||||
Grid.Column="1"
|
||||
<TextBlock Grid.Column="1"
|
||||
Margin="10,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Text="Manifest" />
|
||||
</Grid>
|
||||
</Button>
|
||||
</Grid>
|
||||
<Grid
|
||||
<local:InstallationConfigurationView Grid.Column="2"
|
||||
x:Name="InstallationConfigurationView"
|
||||
Grid.Column="2"
|
||||
Background="{StaticResource WindowBackgroundBrush}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="20" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid
|
||||
Grid.Column="0"
|
||||
Margin="5"
|
||||
VerticalAlignment="Center"
|
||||
Background="Transparent">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="5" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" MinWidth="120" />
|
||||
<ColumnDefinition Width="20" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Rectangle x:Name="InstallConfigSpacer" Grid.Row="0" />
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Text="Target Modlist"
|
||||
TextAlignment="Center" />
|
||||
<local:FilePicker
|
||||
x:Name="ModListLocationPicker"
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Height="30"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14" />
|
||||
<ContentPresenter
|
||||
x:Name="InstallerCustomizationContent"
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
VerticalAlignment="Top">
|
||||
<ContentPresenter.Resources>
|
||||
<DataTemplate DataType="{x:Type local:MO2InstallerVM}">
|
||||
<local:MO2InstallerConfigView />
|
||||
</DataTemplate>
|
||||
</ContentPresenter.Resources>
|
||||
<ContentPresenter.Style>
|
||||
<Style TargetType="ContentPresenter">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=Content}" Value="{x:Null}">
|
||||
<Setter Property="ContentPresenter.ContentTemplate">
|
||||
<Setter.Value>
|
||||
<DataTemplate>
|
||||
<Rectangle Height="74" />
|
||||
</DataTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ContentPresenter.Style>
|
||||
</ContentPresenter>
|
||||
</Grid>
|
||||
<local:BeginButton
|
||||
x:Name="BeginButton"
|
||||
Grid.Column="2"
|
||||
Margin="0,0,25,0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center" />
|
||||
</Grid>
|
||||
ViewModel="{Binding}" />
|
||||
</Grid>
|
||||
<Grid
|
||||
<Grid Grid.Row="2"
|
||||
x:Name="MidInstallDisplayGrid"
|
||||
Grid.Row="2"
|
||||
Margin="5,0,5,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="4*" />
|
||||
@ -394,13 +297,11 @@
|
||||
<ColumnDefinition Width="3*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<local:LogView x:Name="LogView" Grid.Column="0" />
|
||||
<local:CpuView
|
||||
<local:CpuView Grid.Column="2"
|
||||
x:Name="CpuView"
|
||||
Grid.Column="2"
|
||||
ViewModel="{Binding}" />
|
||||
<local:AttentionBorder
|
||||
<local:AttentionBorder Grid.Column="2"
|
||||
x:Name="UserInterventionsControl"
|
||||
Grid.Column="2"
|
||||
Content="{Binding ActiveGlobalUserIntervention}">
|
||||
<local:AttentionBorder.Resources>
|
||||
<DataTemplate DataType="{x:Type common:ConfirmationIntervention}">
|
||||
@ -411,9 +312,8 @@
|
||||
</DataTemplate>
|
||||
</local:AttentionBorder.Resources>
|
||||
</local:AttentionBorder>
|
||||
<local:InstallationCompleteView
|
||||
<local:InstallationCompleteView Grid.Column="2"
|
||||
x:Name="InstallComplete"
|
||||
Grid.Column="2"
|
||||
ViewModel="{Binding}" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
@ -110,19 +110,6 @@ namespace Wabbajack
|
||||
.Select(started => started ? Visibility.Collapsed : Visibility.Visible)
|
||||
.BindToStrict(this, x => x.InstallationConfigurationView.Visibility)
|
||||
.DisposeWith(dispose);
|
||||
this.WhenAny(x => x.ViewModel.Installer.ConfigVisualVerticalOffset)
|
||||
.Select(i => (double)i)
|
||||
.BindToStrict(this, x => x.InstallConfigSpacer.Height)
|
||||
.DisposeWith(dispose);
|
||||
this.WhenAny(x => x.ViewModel.ModListLocation)
|
||||
.BindToStrict(this, x => x.ModListLocationPicker.PickerVM)
|
||||
.DisposeWith(dispose);
|
||||
this.WhenAny(x => x.ViewModel.Installer)
|
||||
.BindToStrict(this, x => x.InstallerCustomizationContent.Content)
|
||||
.DisposeWith(dispose);
|
||||
this.WhenAny(x => x.ViewModel.BeginCommand)
|
||||
.BindToStrict(this, x => x.BeginButton.Command)
|
||||
.DisposeWith(dispose);
|
||||
|
||||
// Bottom mid-install display
|
||||
this.WhenAny(x => x.ViewModel.StartedInstallation)
|
||||
|
@ -20,39 +20,29 @@
|
||||
<RowDefinition Height="40" />
|
||||
<RowDefinition Height="20" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
<TextBlock Grid.Row="0" Grid.Column="0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Text="Installation Location"
|
||||
TextAlignment="Center" />
|
||||
<local:FilePicker
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
<local:FilePicker Grid.Row="0" Grid.Column="2"
|
||||
Height="30"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
PickerVM="{Binding Location}" />
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
<TextBlock Grid.Row="1" Grid.Column="0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Text="Download Location"
|
||||
TextAlignment="Center" />
|
||||
<local:FilePicker
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
<local:FilePicker Grid.Row="1" Grid.Column="2"
|
||||
Height="30"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
PickerVM="{Binding DownloadLocation}" />
|
||||
<CheckBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
<CheckBox Grid.Row="2" Grid.Column="2"
|
||||
HorizontalAlignment="Right"
|
||||
Content="Overwrite Installation"
|
||||
IsChecked="{Binding AutomaticallyOverwrite}"
|
||||
|
@ -1,12 +1,14 @@
|
||||
<UserControl x:Class="Wabbajack.BethesdaNetLoginView"
|
||||
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:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
xmlns:wabbajack="clr-namespace:Wabbajack"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<UserControl
|
||||
x:Class="Wabbajack.BethesdaNetLoginView"
|
||||
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:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:wabbajack="clr-namespace:Wabbajack"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<Color x:Key="TextBackgroundFill">#92000000</Color>
|
||||
<SolidColorBrush x:Key="TextBackgroundFillBrush" Color="{StaticResource TextBackgroundFill}" />
|
||||
@ -46,14 +48,11 @@
|
||||
<RowDefinition Height="47" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<wabbajack:TopProgressView
|
||||
<wabbajack:TopProgressView Grid.Row="0" Grid.RowSpan="2"
|
||||
Title="{Binding Instructions}"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
ShadowMargin="False" />
|
||||
<Button
|
||||
<Button Grid.Row="0"
|
||||
x:Name="BackButton"
|
||||
Grid.Row="0"
|
||||
Width="30"
|
||||
Height="30"
|
||||
Margin="7,5,0,0"
|
||||
@ -66,15 +65,20 @@
|
||||
</Button>
|
||||
<Grid Grid.Row="1">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="100"></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition Height="100" />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition></ColumnDefinition>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock TextWrapping="Wrap" Margin = "10" Grid.Row="0" Grid.ColumnSpan="2" FontSize="20" Text="Login with your game of choice. Clicking the button will launch the game. Once at the main menu, load the `Mods` menu. The game will close once you've logged into Bethesda.NET"></TextBlock>
|
||||
<Button Grid.Row="1" Grid.Column="0" Command="{Binding LoginViaSkyrimSE}">
|
||||
<TextBlock Grid.Row="0" Grid.ColumnSpan="2"
|
||||
Margin="10"
|
||||
FontSize="20"
|
||||
Text="Login with your game of choice. Clicking the button will launch the game. Once at the main menu, load the `Mods` menu. The game will close once you've logged into Bethesda.NET"
|
||||
TextWrapping="Wrap" />
|
||||
<Button Grid.Row="1" Grid.Column="0"
|
||||
Command="{Binding LoginViaSkyrimSE}">
|
||||
<Image Source="../../Resources/GameGridIcons/SkyrimSpecialEdition.png">
|
||||
<Image.Style>
|
||||
<Style TargetType="Image">
|
||||
@ -87,7 +91,8 @@
|
||||
</Image.Style>
|
||||
</Image>
|
||||
</Button>
|
||||
<Button Grid.Row="1" Grid.Column="1" Command="{Binding LoginViaFallout4}">
|
||||
<Button Grid.Row="1" Grid.Column="1"
|
||||
Command="{Binding LoginViaFallout4}">
|
||||
<Image Source="../../Resources/GameGridIcons/Fallout4.png">
|
||||
<Image.Style>
|
||||
<Style TargetType="Image">
|
||||
|
@ -23,40 +23,28 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="2*" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3"
|
||||
x:Name="ShortDescription"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="0,0,0,5"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="14"
|
||||
FontWeight="Bold"
|
||||
TextWrapping="WrapWithOverflow" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3"
|
||||
x:Name="ExtendedDescription"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
TextWrapping="WrapWithOverflow" />
|
||||
<CheckBox
|
||||
<CheckBox Grid.Row="2" Grid.Column="2"
|
||||
x:Name="AutoOverwriteCheckbox"
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Margin="4"
|
||||
HorizontalAlignment="Right"
|
||||
Content="Remember"
|
||||
IsChecked="{Binding Installer.AutomaticallyOverwrite}"
|
||||
ToolTip="If installing over an existing installation next time, automatically replace it without asking permission." />
|
||||
<Button
|
||||
<Button Grid.Row="3" Grid.Column="0"
|
||||
x:Name="CancelButton"
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
Content="Cancel" />
|
||||
<Button
|
||||
<Button Grid.Row="3" Grid.Column="2"
|
||||
x:Name="ConfirmButton"
|
||||
Grid.Row="3"
|
||||
Grid.Column="2"
|
||||
Content="Confirm" />
|
||||
</Grid>
|
||||
</rxui:ReactiveUserControl>
|
||||
|
@ -22,31 +22,21 @@
|
||||
<RowDefinition Height="4*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3"
|
||||
x:Name="ShortDescription"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
Margin="0,0,0,5"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="14"
|
||||
FontWeight="Bold"
|
||||
TextWrapping="WrapWithOverflow" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3"
|
||||
x:Name="ExtendedDescription"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
TextWrapping="WrapWithOverflow" />
|
||||
<Button
|
||||
<Button Grid.Row="2" Grid.Column="0"
|
||||
x:Name="CancelButton"
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Content="Cancel" />
|
||||
<Button
|
||||
<Button Grid.Row="2" Grid.Column="2"
|
||||
x:Name="ConfirmButton"
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Content="Confirm" />
|
||||
</Grid>
|
||||
</rxui:ReactiveUserControl>
|
||||
|
@ -13,8 +13,7 @@
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button
|
||||
Grid.Column="0"
|
||||
<Button Grid.Column="0"
|
||||
Width="40"
|
||||
Height="35"
|
||||
Click="GitHub_Click"
|
||||
@ -24,8 +23,7 @@
|
||||
Height="25"
|
||||
Kind="GitHub" />
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
<Button Grid.Column="1"
|
||||
Width="40"
|
||||
Height="35"
|
||||
Margin="4,0,0,0"
|
||||
@ -36,8 +34,7 @@
|
||||
Height="25"
|
||||
Kind="Patreon" />
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Column="2"
|
||||
<Button Grid.Column="2"
|
||||
Width="40"
|
||||
Height="35"
|
||||
Click="Discord_Click"
|
||||
|
@ -39,7 +39,7 @@
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:BethesdaNetLoginVM}">
|
||||
<local:BethesdaNetLoginView />
|
||||
</DataTemplate>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:SettingsVM}">
|
||||
<local:SettingsView ViewModel="{Binding}" />
|
||||
</DataTemplate>
|
||||
@ -61,8 +61,7 @@
|
||||
Click to copy to clipboard</TextBlock>
|
||||
</Button.ToolTip>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
<Button Grid.Column="1"
|
||||
Margin="5,0"
|
||||
Command="{Binding OpenSettingsCommand}">
|
||||
<icon:PackIconMaterial
|
||||
@ -70,8 +69,7 @@
|
||||
Height="17"
|
||||
Kind="Cog" />
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
<Button Grid.Column="1"
|
||||
Margin="5,0"
|
||||
Command="{Binding OpenTerminalCommand}">
|
||||
<icon:PackIconMaterial
|
||||
|
@ -1,78 +1,131 @@
|
||||
<reactiveUi:ReactiveUserControl x:TypeArguments="local:ManifestVM" x:Class="Wabbajack.ManifestView"
|
||||
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"
|
||||
xmlns:reactiveUi="http://reactiveui.net"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<reactiveUi:ReactiveUserControl
|
||||
x:Class="Wabbajack.ManifestView"
|
||||
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:reactiveUi="http://reactiveui.net"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
x:TypeArguments="local:ManifestVM"
|
||||
mc:Ignorable="d">
|
||||
<Grid>
|
||||
<ScrollViewer MouseDown="ScrollViewer_MouseDown" MouseUp="ScrollViewer_MouseUp" MouseMove="ScrollViewer_MouseMove">
|
||||
<ScrollViewer.Resources>
|
||||
<Style x:Key="HeaderStyle" TargetType="{x:Type TextBlock}">
|
||||
<Setter Property="Foreground" Value="#03DAC6"/>
|
||||
</Style>
|
||||
<Style x:Key="HyperlinkStyle" TargetType="{x:Type Hyperlink}">
|
||||
<Setter Property="Foreground" Value="#BB76FC"/>
|
||||
</Style>
|
||||
<Style x:Key="ModTitleStyle" TargetType="{x:Type TextBox}">
|
||||
<Setter Property="Foreground" Value="#C7FC86"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
</Style>
|
||||
<SolidColorBrush x:Key="SearchBarBrush" Color="White" Opacity="50"/>
|
||||
</ScrollViewer.Resources>
|
||||
<StackPanel Margin="8" x:Name="DynamicStackPanel">
|
||||
<TextBlock x:Name="Name" FontSize="32" HorizontalAlignment="Center" Style="{StaticResource HeaderStyle}"/>
|
||||
<TextBlock x:Name="Version" FontSize="14" Padding="0 12 0 3"/>
|
||||
<TextBlock x:Name="Author" FontSize="14" Padding="0 3 0 3"/>
|
||||
<TextBlock x:Name="Description" FontSize="18" TextWrapping="Wrap"/>
|
||||
<ScrollViewer
|
||||
MouseDown="ScrollViewer_MouseDown"
|
||||
MouseMove="ScrollViewer_MouseMove"
|
||||
MouseUp="ScrollViewer_MouseUp">
|
||||
<ScrollViewer.Resources>
|
||||
<Style x:Key="HeaderStyle" TargetType="{x:Type TextBlock}">
|
||||
<Setter Property="Foreground" Value="#03DAC6" />
|
||||
</Style>
|
||||
<Style x:Key="HyperlinkStyle" TargetType="{x:Type Hyperlink}">
|
||||
<Setter Property="Foreground" Value="#BB76FC" />
|
||||
</Style>
|
||||
<Style x:Key="ModTitleStyle" TargetType="{x:Type TextBox}">
|
||||
<Setter Property="Foreground" Value="#C7FC86" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
<SolidColorBrush
|
||||
x:Key="SearchBarBrush"
|
||||
Opacity="50"
|
||||
Color="White" />
|
||||
</ScrollViewer.Resources>
|
||||
<StackPanel x:Name="DynamicStackPanel" Margin="8">
|
||||
<TextBlock
|
||||
x:Name="Name"
|
||||
HorizontalAlignment="Center"
|
||||
FontSize="32"
|
||||
Style="{StaticResource HeaderStyle}" />
|
||||
<TextBlock
|
||||
x:Name="Version"
|
||||
Padding="0,12,0,3"
|
||||
FontSize="14" />
|
||||
<TextBlock
|
||||
x:Name="Author"
|
||||
Padding="0,3,0,3"
|
||||
FontSize="14" />
|
||||
<TextBlock
|
||||
x:Name="Description"
|
||||
FontSize="18"
|
||||
TextWrapping="Wrap" />
|
||||
|
||||
<TextBlock x:Name="InstallSize" Padding="0 24 0 0" FontSize="24"/>
|
||||
<TextBlock x:Name="DownloadSize" FontSize="24" Padding="0 0 0 12"/>
|
||||
<TextBlock
|
||||
x:Name="InstallSize"
|
||||
Padding="0,24,0,0"
|
||||
FontSize="24" />
|
||||
<TextBlock
|
||||
x:Name="DownloadSize"
|
||||
Padding="0,0,0,12"
|
||||
FontSize="24" />
|
||||
|
||||
<TextBlock Padding="6 0 0 0" FontSize="20" Text="Search:"/>
|
||||
<TextBox x:Name="SearchBar" BorderThickness="2" BorderBrush="{StaticResource SearchBarBrush}" FontSize="16" MaxLength="100"/>
|
||||
<TextBlock
|
||||
Padding="6,0,0,0"
|
||||
FontSize="20"
|
||||
Text="Search:" />
|
||||
<TextBox
|
||||
x:Name="SearchBar"
|
||||
BorderBrush="{StaticResource SearchBarBrush}"
|
||||
BorderThickness="2"
|
||||
FontSize="16"
|
||||
MaxLength="100" />
|
||||
|
||||
<StackPanel Margin="6 6 0 0" Orientation="Horizontal">
|
||||
<TextBlock Padding="0 1 0 0" FontSize="14">Order by: </TextBlock>
|
||||
<Button x:Name="OrderByNameButton" Padding="4 0 4 0">
|
||||
<TextBlock FontSize="14">Name</TextBlock>
|
||||
</Button>
|
||||
<Button x:Name="OrderBySizeButton">
|
||||
<TextBlock FontSize="14">Size</TextBlock>
|
||||
</Button>
|
||||
<StackPanel Margin="6,6,0,0" Orientation="Horizontal">
|
||||
<TextBlock Padding="0,1,0,0" FontSize="14">Order by:</TextBlock>
|
||||
<Button x:Name="OrderByNameButton" Padding="4,0,4,0">
|
||||
<TextBlock FontSize="14">Name</TextBlock>
|
||||
</Button>
|
||||
<Button x:Name="OrderBySizeButton">
|
||||
<TextBlock FontSize="14">Size</TextBlock>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<ItemsControl x:Name="ModsList" Padding="0,3,0,6">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel />
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid Margin="0,6,0,6">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBox Grid.Row="0" Grid.Column="0"
|
||||
Padding="6,0,0,0"
|
||||
BorderThickness="0"
|
||||
FontSize="18"
|
||||
IsReadOnly="True"
|
||||
Style="{StaticResource ModTitleStyle}"
|
||||
Text="{Binding Path=Name}" />
|
||||
<TextBlock Grid.Row="0" Grid.Column="1"
|
||||
Padding="3,0,0,0"
|
||||
FontSize="18">
|
||||
<Hyperlink
|
||||
NavigateUri="{Binding Path=Name}"
|
||||
RequestNavigate="Hyperlink_OnRequestNavigate"
|
||||
Style="{StaticResource HyperlinkStyle}">
|
||||
Link
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
<TextBox Grid.Row="1" Grid.Column="0"
|
||||
Padding="6,0,0,0"
|
||||
FontSize="15"
|
||||
IsReadOnly="True"
|
||||
Text="{Binding Path=Hash}" />
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</StackPanel>
|
||||
|
||||
<ItemsControl Padding="0 3 0 6" x:Name="ModsList">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid Margin="0 6 0 6">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBox Padding="6 0 0 0" Grid.Column="0" Grid.Row="0" FontSize="18" Text="{Binding Path=Name}" Style="{StaticResource ModTitleStyle}" IsReadOnly="True" BorderThickness="0"/>
|
||||
<TextBlock Padding="3 0 0 0" Grid.Column="1" Grid.Row="0" FontSize="18">
|
||||
<Hyperlink NavigateUri="{Binding Path=Name}" Style="{StaticResource HyperlinkStyle}" RequestNavigate="Hyperlink_OnRequestNavigate">Link</Hyperlink>
|
||||
</TextBlock>
|
||||
<TextBox Padding="6 0 0 0" Grid.Column="0" Grid.Row="1" FontSize="15" Text="{Binding Path=Hash}" IsReadOnly="True"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
<Canvas x:Name="TopLayer" IsHitTestVisible="False"/>
|
||||
</ScrollViewer>
|
||||
<Canvas x:Name="TopLayer" IsHitTestVisible="False" />
|
||||
</Grid>
|
||||
</reactiveUi:ReactiveUserControl>
|
||||
|
@ -1,22 +1,22 @@
|
||||
<mah:MetroWindow x:Class="Wabbajack.ManifestWindow"
|
||||
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"
|
||||
xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
|
||||
mc:Ignorable="d"
|
||||
Title="Manifest"
|
||||
Width="1280"
|
||||
Height="960"
|
||||
MinWidth="850"
|
||||
MinHeight="650"
|
||||
ResizeMode="CanResize"
|
||||
TitleBarHeight="25"
|
||||
UseLayoutRounding="True"
|
||||
WindowTitleBrush="{StaticResource MahApps.Brushes.Accent}"
|
||||
Style="{StaticResource {x:Type Window}}"
|
||||
d:DataContext="{d:DesignInstance local:ManifestWindow }">
|
||||
<Grid x:Name="Grid">
|
||||
</Grid>
|
||||
<mah:MetroWindow
|
||||
x:Class="Wabbajack.ManifestWindow"
|
||||
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:mah="http://metro.mahapps.com/winfx/xaml/controls"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
Title="Manifest"
|
||||
Width="1280"
|
||||
Height="960"
|
||||
MinWidth="850"
|
||||
MinHeight="650"
|
||||
d:DataContext="{d:DesignInstance local:ManifestWindow}"
|
||||
ResizeMode="CanResize"
|
||||
Style="{StaticResource {x:Type Window}}"
|
||||
TitleBarHeight="25"
|
||||
UseLayoutRounding="True"
|
||||
WindowTitleBrush="{StaticResource MahApps.Brushes.Accent}"
|
||||
mc:Ignorable="d">
|
||||
<Grid x:Name="Grid" />
|
||||
</mah:MetroWindow>
|
||||
|
@ -18,9 +18,7 @@
|
||||
<RowDefinition Height="47" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Rectangle
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="3"
|
||||
<Rectangle Grid.Row="1" Grid.RowSpan="3"
|
||||
Margin="6,0">
|
||||
<Rectangle.Fill>
|
||||
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
|
||||
@ -29,8 +27,7 @@
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.Fill>
|
||||
</Rectangle>
|
||||
<Border
|
||||
Grid.Row="1"
|
||||
<Border Grid.Row="1"
|
||||
BorderBrush="Transparent"
|
||||
BorderThickness="1,0,1,1">
|
||||
<ScrollViewer Background="Transparent" VerticalScrollBarVisibility="Auto">
|
||||
@ -52,13 +49,11 @@
|
||||
</ItemsControl>
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
<mahapps:ProgressRing
|
||||
<mahapps:ProgressRing Grid.Row="1"
|
||||
x:Name="LoadingRing"
|
||||
Grid.Row="1"
|
||||
Visibility="Collapsed" />
|
||||
<StackPanel
|
||||
<StackPanel Grid.Row="1"
|
||||
x:Name="NoneFound"
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Vertical"
|
||||
@ -75,9 +70,8 @@
|
||||
Foreground="{StaticResource ForegroundBrush}"
|
||||
Text="No Matches" />
|
||||
</StackPanel>
|
||||
<iconPacks:PackIconControl
|
||||
<iconPacks:PackIconControl Grid.Row="1"
|
||||
x:Name="ErrorIcon"
|
||||
Grid.Row="1"
|
||||
Width="55"
|
||||
Height="55"
|
||||
HorizontalAlignment="Center"
|
||||
@ -86,13 +80,10 @@
|
||||
Kind="{x:Static iconPacks:PackIconMaterialKind.AlertCircle}"
|
||||
ToolTip="Error loading modlist gallery"
|
||||
Visibility="Collapsed" />
|
||||
<local:TopProgressView
|
||||
<local:TopProgressView Grid.Row="0" Grid.RowSpan="2"
|
||||
Title="Browsing Modlists"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
ShadowMargin="False" />
|
||||
<WrapPanel
|
||||
Grid.Row="0"
|
||||
<WrapPanel Grid.Row="0"
|
||||
Height="25"
|
||||
Margin="5,5,5,10"
|
||||
HorizontalAlignment="Right"
|
||||
@ -102,14 +93,14 @@
|
||||
VerticalAlignment="Center"
|
||||
Content="Game" />
|
||||
<ComboBox
|
||||
Margin="0,0,10,0"
|
||||
Width="130"
|
||||
Margin="0,0,10,0"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="{StaticResource ForegroundBrush}"
|
||||
IsEnabled="{Binding OnlyInstalled, Converter={StaticResource InverseBooleanConverter}}"
|
||||
ItemsSource="{Binding Path=GameTypeEntries}"
|
||||
SelectedItem="{Binding GameType, Mode=TwoWay}"
|
||||
ToolTip="Select a game"
|
||||
IsEnabled="{Binding OnlyInstalled, Converter={StaticResource InverseBooleanConverter}}"
|
||||
Width="130" />
|
||||
ToolTip="Select a game" />
|
||||
<TextBlock
|
||||
Margin="0,0,5,0"
|
||||
VerticalAlignment="Center"
|
||||
@ -124,7 +115,7 @@
|
||||
Margin="10,0,10,0"
|
||||
VerticalAlignment="Center"
|
||||
Content="Show NSFW"
|
||||
Foreground="{StaticResource ForegroundBrush}"/>
|
||||
Foreground="{StaticResource ForegroundBrush}" />
|
||||
<CheckBox
|
||||
x:Name="OnlyInstalledCheckbox"
|
||||
Margin="10,0,10,0"
|
||||
@ -139,9 +130,8 @@
|
||||
<iconPacks:Material Kind="FilterRemove" />
|
||||
</Button>
|
||||
</WrapPanel>
|
||||
<Button
|
||||
<Button Grid.Row="0"
|
||||
x:Name="BackButton"
|
||||
Grid.Row="0"
|
||||
Width="30"
|
||||
Height="30"
|
||||
Margin="7,5,0,0"
|
||||
|
@ -79,10 +79,7 @@
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
<Border Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
|
||||
BorderBrush="{StaticResource ButtonNormalBorder}"
|
||||
BorderThickness="0,0,0,1">
|
||||
<Grid ClipToBounds="True">
|
||||
@ -149,33 +146,31 @@
|
||||
<ItemsControl ItemsSource="{Binding ModListTagList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<WrapPanel/>
|
||||
<WrapPanel />
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Border
|
||||
BorderThickness="1"
|
||||
Grid.Row="0"
|
||||
Grid.ColumnSpan="2"
|
||||
CornerRadius="7,7,7,7"
|
||||
Opacity="0.90"
|
||||
<Border Grid.Row="0" Grid.ColumnSpan="2"
|
||||
Margin="10,5,0,5"
|
||||
Background="{StaticResource Analogous1Brush}"
|
||||
Margin="10,5,0,5">
|
||||
<TextBlock
|
||||
BorderThickness="1"
|
||||
CornerRadius="7,7,7,7"
|
||||
Opacity="0.90">
|
||||
<TextBlock
|
||||
Margin="5,5,5,5"
|
||||
FontSize="15"
|
||||
Text="{Binding Name}"/>
|
||||
Text="{Binding Name}" />
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
<Label
|
||||
Content="{Binding DownloadSizeText}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="10,257,0,0"
|
||||
<Label
|
||||
Margin="10,257,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Opacity="0" >
|
||||
Content="{Binding DownloadSizeText}"
|
||||
Opacity="0">
|
||||
<Label.Style>
|
||||
<Style TargetType="Label">
|
||||
<Style.Triggers>
|
||||
@ -205,12 +200,12 @@
|
||||
</Style>
|
||||
</Label.Style>
|
||||
</Label>
|
||||
<Label
|
||||
Content="{Binding InstallSizeText}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="10,272,0,0"
|
||||
<Label
|
||||
Margin="10,272,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Opacity="0" >
|
||||
Content="{Binding InstallSizeText}"
|
||||
Opacity="0">
|
||||
<Label.Style>
|
||||
<Style TargetType="Label">
|
||||
<Style.Triggers>
|
||||
@ -242,17 +237,11 @@
|
||||
</Label>
|
||||
</Grid>
|
||||
</Border>
|
||||
<local:UnderMaintenanceOverlay
|
||||
<local:UnderMaintenanceOverlay Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
|
||||
x:Name="Overlay"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Visibility="Collapsed" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
|
||||
x:Name="DescriptionTextShadow"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="5"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
@ -265,11 +254,8 @@
|
||||
<BlurEffect Radius="25" />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
|
||||
x:Name="ModListTitleShadow"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="5"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
@ -281,21 +267,16 @@
|
||||
<DropShadowEffect />
|
||||
</TextBlock.Effect>
|
||||
</TextBlock>
|
||||
<mahapps:MetroProgressBar
|
||||
<mahapps:MetroProgressBar Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
|
||||
x:Name="DownloadProgressBar"
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
Height="3"
|
||||
VerticalAlignment="Bottom"
|
||||
Background="{StaticResource BackgroundBrush}"
|
||||
Foreground="{StaticResource SecondaryBrush}"
|
||||
Maximum="1"
|
||||
Visibility="{Binding IsEnabled, ElementName=ExecuteButton, Converter={StaticResource bool2VisibilityHiddenConverter}, ConverterParameter=False}" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="1" Grid.Column="0"
|
||||
x:Name="MetadataDescription"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="8,5"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
@ -305,9 +286,8 @@
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Button
|
||||
<Button Grid.Row="0"
|
||||
x:Name="OpenWebsiteButton"
|
||||
Grid.Row="0"
|
||||
Width="40"
|
||||
Height="40"
|
||||
Margin="5,0"
|
||||
@ -318,9 +298,8 @@
|
||||
Height="20"
|
||||
Kind="Web" />
|
||||
</Button>
|
||||
<Button
|
||||
<Button Grid.Row="1"
|
||||
x:Name="ExecuteButton"
|
||||
Grid.Row="1"
|
||||
Width="40"
|
||||
Height="40"
|
||||
Margin="5,0"
|
||||
|
@ -17,10 +17,8 @@
|
||||
<RowDefinition Height="1*" />
|
||||
<RowDefinition Height="15" />
|
||||
</Grid.RowDefinitions>
|
||||
<Viewbox
|
||||
<Viewbox Grid.Row="0" Grid.RowSpan="3"
|
||||
Name="Banner"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="3"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Stretch="UniformToFill">
|
||||
@ -40,10 +38,8 @@
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button
|
||||
<Button Grid.Row="1" Grid.Column="0"
|
||||
x:Name="BrowseButton"
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="15,0"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
@ -176,8 +172,7 @@
|
||||
</icon:PackIconFontAwesome>
|
||||
</Grid>
|
||||
</Viewbox>
|
||||
<TextBlock
|
||||
Grid.Row="2"
|
||||
<TextBlock Grid.Row="2"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
FontSize="25"
|
||||
@ -195,10 +190,8 @@
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Button>
|
||||
<Button
|
||||
<Button Grid.Row="1" Grid.Column="1"
|
||||
x:Name="InstallButton"
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Margin="15,0"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
@ -331,8 +324,7 @@
|
||||
</icon:PackIconFontAwesome>
|
||||
</Grid>
|
||||
</Viewbox>
|
||||
<TextBlock
|
||||
Grid.Row="2"
|
||||
<TextBlock Grid.Row="2"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
FontSize="25"
|
||||
@ -350,13 +342,11 @@
|
||||
</TextBlock>
|
||||
</Grid>
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
<Button Grid.Row="1" Grid.Column="2"
|
||||
x:Name="CompileButton"
|
||||
Margin="15,0"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
x:Name="CompileButton"
|
||||
ClipToBounds="False">
|
||||
<Button.Template>
|
||||
<ControlTemplate TargetType="Button">
|
||||
@ -486,8 +476,7 @@
|
||||
</icon:PackIconFontAwesome>
|
||||
</Grid>
|
||||
</Viewbox>
|
||||
<TextBlock
|
||||
Grid.Row="2"
|
||||
<TextBlock Grid.Row="2"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Top"
|
||||
FontSize="25"
|
||||
@ -506,10 +495,7 @@
|
||||
</Grid>
|
||||
</Button>
|
||||
</Grid>
|
||||
<local:LinksView
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="3"
|
||||
Grid.Column="0"
|
||||
<local:LinksView Grid.Row="0" Grid.RowSpan="3" Grid.Column="0"
|
||||
Margin="10"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Top" />
|
||||
|
@ -11,41 +11,54 @@
|
||||
x:TypeArguments="local:AuthorFilesVM"
|
||||
mc:Ignorable="d">
|
||||
<Border
|
||||
|
||||
Visibility="{Binding AuthorFile.IsVisible}"
|
||||
x:Name="AuthorFiles"
|
||||
Margin="5"
|
||||
Background="{StaticResource BackgroundBrush}"
|
||||
BorderBrush="{StaticResource ButtonNormalBorder}"
|
||||
BorderThickness="1">
|
||||
BorderThickness="1"
|
||||
Visibility="{Binding AuthorFile.IsVisible}">
|
||||
<Grid Margin="10">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="300"></ColumnDefinition>
|
||||
<ColumnDefinition Width="300"></ColumnDefinition>
|
||||
<ColumnDefinition Width="300" />
|
||||
<ColumnDefinition Width="300" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
Grid.ColumnSpan="2"
|
||||
Margin="5,0"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="20"
|
||||
FontWeight="Bold"
|
||||
Text="File Uploader" />
|
||||
<TextBlock Margin="5" Grid.Row="1" Grid.ColumnSpan="2" Text="{Binding AuthorFile.Picker.TargetPath}"></TextBlock>
|
||||
<ProgressBar Margin="5" Grid.Row="2" Grid.ColumnSpan="2" Value="{Binding AuthorFile.UploadProgress, Mode=OneWay}" Minimum="0" Maximum="1"></ProgressBar>
|
||||
<TextBlock Margin="5" Grid.Row="3" Grid.ColumnSpan="2">
|
||||
<Hyperlink Command="{Binding AuthorFile.HyperlinkCommand}">
|
||||
<TextBlock Text="{Binding AuthorFile.FinalUrl}"></TextBlock>
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
<Button Margin="5" Grid.Row="4" Grid.Column="0" Command="{Binding AuthorFile.SelectFile, Mode=OneTime}">Select</Button>
|
||||
<Button Margin="5" Grid.Row="4" Grid.Column="1" Command="{Binding AuthorFile.Upload}">Upload</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
<TextBlock Grid.ColumnSpan="2"
|
||||
Margin="5,0"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="20"
|
||||
FontWeight="Bold"
|
||||
Text="File Uploader" />
|
||||
<TextBlock Grid.Row="1" Grid.ColumnSpan="2"
|
||||
Margin="5"
|
||||
Text="{Binding AuthorFile.Picker.TargetPath}" />
|
||||
<ProgressBar Grid.Row="2" Grid.ColumnSpan="2"
|
||||
Margin="5"
|
||||
Maximum="1"
|
||||
Minimum="0"
|
||||
Value="{Binding AuthorFile.UploadProgress, Mode=OneWay}" />
|
||||
<TextBlock Grid.Row="3" Grid.ColumnSpan="2"
|
||||
Margin="5">
|
||||
<Hyperlink Command="{Binding AuthorFile.HyperlinkCommand}">
|
||||
<TextBlock Text="{Binding AuthorFile.FinalUrl}" />
|
||||
</Hyperlink>
|
||||
</TextBlock>
|
||||
<Button Grid.Row="4" Grid.Column="0"
|
||||
Margin="5"
|
||||
Command="{Binding AuthorFile.SelectFile, Mode=OneTime}">
|
||||
Select
|
||||
</Button>
|
||||
<Button Grid.Row="4" Grid.Column="1"
|
||||
Margin="5"
|
||||
Command="{Binding AuthorFile.Upload}">
|
||||
Upload
|
||||
</Button>
|
||||
</Grid>
|
||||
</Border>
|
||||
</rxui:ReactiveUserControl>
|
||||
|
@ -1,42 +1,70 @@
|
||||
<rxui:ReactiveUserControl
|
||||
<rxui:ReactiveUserControl
|
||||
x:Class="Wabbajack.CredentialsLoginView"
|
||||
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:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:Wabbajack"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:rxui="http://reactiveui.net"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
x:TypeArguments="local:CredentialsLoginVM"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
mc:Ignorable="d">
|
||||
<Grid Margin="16">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="40"/>
|
||||
<RowDefinition Height="60"/>
|
||||
<RowDefinition Height="40"/>
|
||||
<RowDefinition Height="40"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="40" />
|
||||
<RowDefinition Height="60" />
|
||||
<RowDefinition Height="40" />
|
||||
<RowDefinition Height="40" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="120"/>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="120" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<TextBlock FontSize="20" Grid.Row="0" Grid.Column="0" Margin="0 16 8 0">Email:</TextBlock>
|
||||
<TextBox FontSize="20" x:Name="Username" Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2"/>
|
||||
<TextBlock Grid.Row="0" Grid.Column="0"
|
||||
Margin="0,16,8,0"
|
||||
FontSize="20">
|
||||
Email:
|
||||
</TextBlock>
|
||||
<TextBox Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2"
|
||||
x:Name="Username"
|
||||
FontSize="20" />
|
||||
|
||||
<TextBlock FontSize="20" Grid.Row="1" Grid.Column="0" Margin="0 16 8 0">Password:</TextBlock>
|
||||
<PasswordBox Margin="0 16 0 8" FontSize="20" x:Name="Password" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"/>
|
||||
<TextBlock Grid.Row="1" Grid.Column="0"
|
||||
Margin="0,16,8,0"
|
||||
FontSize="20">
|
||||
Password:
|
||||
</TextBlock>
|
||||
<PasswordBox Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"
|
||||
x:Name="Password"
|
||||
Margin="0,16,0,8"
|
||||
FontSize="20" />
|
||||
|
||||
<TextBlock FontSize="20" Grid.Row="2" Grid.Column="0" Margin="0 16 8 0" x:Name="MFAText">MFA Key:</TextBlock>
|
||||
<TextBox FontSize="20" x:Name="MFA" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2"/>
|
||||
<TextBlock Grid.Row="2" Grid.Column="0"
|
||||
x:Name="MFAText"
|
||||
Margin="0,16,8,0"
|
||||
FontSize="20">
|
||||
MFA Key:
|
||||
</TextBlock>
|
||||
<TextBox Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2"
|
||||
x:Name="MFA"
|
||||
FontSize="20" />
|
||||
|
||||
<Button Margin="8 8 0 0" x:Name="LoginButton" Grid.Row="3" Grid.Column="3" Click="LoginButton_OnClick">
|
||||
<Button Grid.Row="3" Grid.Column="3"
|
||||
x:Name="LoginButton"
|
||||
Margin="8,8,0,0"
|
||||
Click="LoginButton_OnClick">
|
||||
<TextBlock FontSize="14">Login</TextBlock>
|
||||
</Button>
|
||||
|
||||
<TextBlock x:Name="Message" FontSize="20" Margin="0 16 0 0" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="3" TextWrapping="Wrap"/>
|
||||
<TextBlock Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="3"
|
||||
x:Name="Message"
|
||||
Margin="0,16,0,0"
|
||||
FontSize="20"
|
||||
TextWrapping="Wrap" />
|
||||
</Grid>
|
||||
</rxui:ReactiveUserControl>
|
||||
|
@ -12,34 +12,29 @@
|
||||
mc:Ignorable="d">
|
||||
<Grid Height="30" Margin="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="32"/>
|
||||
<ColumnDefinition Width="32" />
|
||||
<ColumnDefinition Width="Auto" MinWidth="150" />
|
||||
<ColumnDefinition Width="100" />
|
||||
<ColumnDefinition Width="100" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Image
|
||||
Margin="4"
|
||||
<Image Grid.Column="0"
|
||||
x:Name="Favicon"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center"/>
|
||||
<TextBlock
|
||||
x:Name="SiteNameText"
|
||||
Grid.Column="1"
|
||||
Margin="4"
|
||||
VerticalAlignment="Center" />
|
||||
<Button
|
||||
<TextBlock Grid.Column="1"
|
||||
x:Name="SiteNameText"
|
||||
VerticalAlignment="Center" />
|
||||
<Button Grid.Column="2"
|
||||
x:Name="LoginButton"
|
||||
Grid.Column="2"
|
||||
Margin="5"
|
||||
Content="Login" />
|
||||
<Button
|
||||
<Button Grid.Column="3"
|
||||
x:Name="LogoutButton"
|
||||
Grid.Column="3"
|
||||
Margin="5"
|
||||
Content="Logout" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Column="4"
|
||||
x:Name="MetaText"
|
||||
Grid.Column="4"
|
||||
FontSize="14" />
|
||||
</Grid>
|
||||
</rxui:ReactiveUserControl>
|
||||
|
@ -38,9 +38,8 @@
|
||||
FontSize="20"
|
||||
FontWeight="Bold"
|
||||
Text="Logins" />
|
||||
<ItemsControl
|
||||
<ItemsControl Grid.Row="1"
|
||||
x:Name="DownloadersList"
|
||||
Grid.Row="1"
|
||||
Margin="5"
|
||||
Background="{StaticResource BackgroundBrush}">
|
||||
<ItemsControl.ItemTemplate>
|
||||
|
@ -1,16 +1,17 @@
|
||||
<mah:MetroWindow x:Class="Wabbajack.LoginWindowView"
|
||||
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:mah="http://metro.mahapps.com/winfx/xaml/controls"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:Wabbajack"
|
||||
mc:Ignorable="d"
|
||||
WindowTitleBrush="{StaticResource MahApps.Brushes.Accent}"
|
||||
Style="{StaticResource {x:Type Window}}"
|
||||
d:DataContext="{d:DesignInstance local:LoginWindowView }"
|
||||
Title="Login" Height="450" Width="800">
|
||||
<Grid x:Name="Grid">
|
||||
|
||||
</Grid>
|
||||
<mah:MetroWindow
|
||||
x:Class="Wabbajack.LoginWindowView"
|
||||
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:mah="http://metro.mahapps.com/winfx/xaml/controls"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
Title="Login"
|
||||
Width="800"
|
||||
Height="450"
|
||||
d:DataContext="{d:DesignInstance local:LoginWindowView}"
|
||||
Style="{StaticResource {x:Type Window}}"
|
||||
WindowTitleBrush="{StaticResource MahApps.Brushes.Accent}"
|
||||
mc:Ignorable="d">
|
||||
<Grid x:Name="Grid" />
|
||||
</mah:MetroWindow>
|
||||
|
@ -32,20 +32,15 @@
|
||||
<ColumnDefinition Width="5" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
<TextBlock Grid.Column="0" Grid.ColumnSpan="2"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="20"
|
||||
FontWeight="Bold"
|
||||
Text="Misc Settings" />
|
||||
<Grid
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3">
|
||||
<Grid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition></RowDefinition>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.Resources>
|
||||
<Style BasedOn="{StaticResource MainButtonStyle}" TargetType="Button">
|
||||
@ -58,12 +53,20 @@
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Grid.Resources>
|
||||
<CheckBox Name="FilterPersistCheckBox" Content="Gallery filters are saved on exit" HorizontalAlignment="Left" Margin="0,5,0,0" VerticalAlignment="Top" Grid.Row = "0">
|
||||
<CheckBox Grid.Row="0"
|
||||
Name="FilterPersistCheckBox"
|
||||
Margin="0,5,0,0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Content="Gallery filters are saved on exit">
|
||||
<CheckBox.LayoutTransform>
|
||||
<ScaleTransform ScaleX="1.2" ScaleY="1.2" />
|
||||
</CheckBox.LayoutTransform>
|
||||
</CheckBox>
|
||||
<Button Name="ClearCefCache" Content="Clear In-App Browser Cache" Margin="0,5,0,0" Grid.Row="1"></Button>
|
||||
<Button Grid.Row="1"
|
||||
Name="ClearCefCache"
|
||||
Margin="0,5,0,0"
|
||||
Content="Clear In-App Browser Cache" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
@ -32,17 +32,12 @@
|
||||
<ColumnDefinition Width="5" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
<TextBlock Grid.Column="0" Grid.ColumnSpan="2"
|
||||
FontFamily="Lucida Sans"
|
||||
FontSize="20"
|
||||
FontWeight="Bold"
|
||||
Text="Performance" />
|
||||
<Grid
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
<Grid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3"
|
||||
Height="25"
|
||||
Margin="0,0,0,10">
|
||||
<Grid.Resources>
|
||||
@ -61,43 +56,33 @@
|
||||
<ColumnDefinition Width="5" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button
|
||||
<Button Grid.Column="0"
|
||||
x:Name="ManualButton"
|
||||
Grid.Column="0"
|
||||
Content="Manual"
|
||||
ToolTip="Control the number of cores by setting the max limit manually" />
|
||||
<Button
|
||||
<Button Grid.Column="2"
|
||||
x:Name="AutoButton"
|
||||
Grid.Column="2"
|
||||
Content="Auto"
|
||||
ToolTip="Control the number of cores by scaling it to a percentage of what WJ would use at full speed" />
|
||||
</Grid>
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="3" Grid.Column="0"
|
||||
x:Name="MaxCoresLabel"
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center"
|
||||
Text="Max Cores" />
|
||||
<xwpf:IntegerUpDown
|
||||
<xwpf:IntegerUpDown Grid.Row="3" Grid.Column="2"
|
||||
x:Name="MaxCoresSpinner"
|
||||
Grid.Row="3"
|
||||
Grid.Column="2"
|
||||
MinWidth="75"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="White"
|
||||
Maximum="255"
|
||||
Minimum="1" />
|
||||
<TextBlock
|
||||
<TextBlock Grid.Row="3" Grid.Column="0"
|
||||
x:Name="TargetUsageLabel"
|
||||
Grid.Row="3"
|
||||
Grid.Column="0"
|
||||
VerticalAlignment="Center"
|
||||
Text="Target Percent Usage" />
|
||||
<xwpf:DoubleUpDown
|
||||
<xwpf:DoubleUpDown Grid.Row="3" Grid.Column="2"
|
||||
x:Name="TargetUsageSpinner"
|
||||
Grid.Row="3"
|
||||
Grid.Column="2"
|
||||
MinWidth="75"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
@ -106,11 +91,8 @@
|
||||
Increment="0.1"
|
||||
Maximum="1"
|
||||
Minimum="0.1" />
|
||||
<Slider
|
||||
<Slider Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="3"
|
||||
x:Name="TargetUsageSlider"
|
||||
Grid.Row="4"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="3"
|
||||
IsSnapToTickEnabled="True"
|
||||
LargeChange="0.1"
|
||||
Maximum="1"
|
||||
|
@ -23,14 +23,11 @@
|
||||
<RowDefinition Height="47" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<local:TopProgressView
|
||||
<local:TopProgressView Grid.Row="0" Grid.RowSpan="2"
|
||||
Title="Settings"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
ShadowMargin="False" />
|
||||
<Button
|
||||
<Button Grid.Row="0"
|
||||
x:Name="BackButton"
|
||||
Grid.Row="0"
|
||||
Width="30"
|
||||
Height="30"
|
||||
Margin="7,5,0,0"
|
||||
@ -40,15 +37,14 @@
|
||||
ToolTip="Back to main menu">
|
||||
<iconPacks:PackIconMaterial Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}" Kind="ArrowLeft" />
|
||||
</Button>
|
||||
<ScrollViewer
|
||||
Grid.Row="1"
|
||||
<ScrollViewer Grid.Row="1"
|
||||
Focusable="False"
|
||||
VerticalScrollBarVisibility="Auto">
|
||||
<WrapPanel>
|
||||
<local:LoginSettingsView x:Name="LoginView" />
|
||||
<local:PerformanceSettingsView x:Name="PerformanceView" />
|
||||
<local:ModlistGallerySettingsView x:Name="ModlistGalleryView" />
|
||||
<local:AuthorFilesView x:Name="AuthorFilesView"></local:AuthorFilesView>
|
||||
<local:AuthorFilesView x:Name="AuthorFilesView" />
|
||||
</WrapPanel>
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
|
@ -1,12 +1,14 @@
|
||||
<UserControl x:Class="Wabbajack.WebBrowserView"
|
||||
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:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
xmlns:wabbajack="clr-namespace:Wabbajack"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<UserControl
|
||||
x:Class="Wabbajack.WebBrowserView"
|
||||
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:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:wabbajack="clr-namespace:Wabbajack"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
<UserControl.Resources>
|
||||
<Color x:Key="TextBackgroundFill">#92000000</Color>
|
||||
<SolidColorBrush x:Key="TextBackgroundFillBrush" Color="{StaticResource TextBackgroundFill}" />
|
||||
@ -46,15 +48,12 @@
|
||||
<RowDefinition Height="47" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<wabbajack:TopProgressView
|
||||
Background="#92000000"
|
||||
<wabbajack:TopProgressView Grid.Row="0" Grid.RowSpan="1"
|
||||
Title="{Binding Instructions}"
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="1"
|
||||
Background="#92000000"
|
||||
ShadowMargin="False" />
|
||||
<Button
|
||||
<Button Grid.Row="0"
|
||||
x:Name="BackButton"
|
||||
Grid.Row="0"
|
||||
Width="30"
|
||||
Height="30"
|
||||
Margin="7,5,0,0"
|
||||
@ -65,7 +64,7 @@
|
||||
ToolTip="Back to main menu">
|
||||
<iconPacks:PackIconMaterial Foreground="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}" Kind="ArrowLeft" />
|
||||
</Button>
|
||||
<!-- Do it this way so we can access the browser directly from the VM -->
|
||||
<ContentControl Grid.Row="1" Content="{Binding Browser}"></ContentControl>
|
||||
<!-- Do it this way so we can access the browser directly from the VM -->
|
||||
<ContentControl Grid.Row="1" Content="{Binding Browser}" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
Loading…
Reference in New Issue
Block a user