mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
66db4e6ddd
Log collection moved up to MainWindow. Since there will be many sub-VMs moving forward, a singleton based setup was desired. RxUI's Splat was an option, but we already had Utils.Log right there. Also now GUI printed messages will go to the log on the disk for later inspection.
210 lines
8.2 KiB
XML
210 lines
8.2 KiB
XML
<Window
|
|
x:Class="Wabbajack.MainWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:local="clr-namespace:Wabbajack"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
Title="Wabbajack"
|
|
Width="1280"
|
|
Height="960"
|
|
MinWidth="1024"
|
|
MinHeight="768"
|
|
Closing="Window_Closing"
|
|
Icon="../Resources/Icons/wabbajack.ico"
|
|
ResizeMode="CanResize"
|
|
Style="{StaticResource {x:Type Window}}"
|
|
WindowStyle="ToolWindow"
|
|
mc:Ignorable="d">
|
|
<Viewbox Stretch="Uniform" DataContext="{Binding AppState}">
|
|
<Grid Margin="4,0,4,0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="435" />
|
|
<RowDefinition Height="10" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="320" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="640" />
|
|
<ColumnDefinition Width="640" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<StackPanel
|
|
Grid.Row="0"
|
|
Margin="0,8,0,8"
|
|
Orientation="Horizontal">
|
|
<TextBlock
|
|
FontSize="16"
|
|
FontWeight="Bold"
|
|
Text="{Binding Mode}" />
|
|
<TextBlock FontSize="16" Text=" : " />
|
|
<TextBlock FontSize="16" Text="{Binding ModListName}" />
|
|
</StackPanel>
|
|
|
|
<local:SlideshowView
|
|
x:Name="Slideshow"
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Margin="0,0,0,4"
|
|
DataContext="{Binding Slideshow}" />
|
|
|
|
<ProgressBar
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Margin="1,0,1,0"
|
|
Background="#444444"
|
|
Maximum="100"
|
|
Minimum="0"
|
|
Value="{Binding MWVM.QueueProgress}" />
|
|
|
|
<!-- Log -->
|
|
<TextBlock
|
|
Grid.Row="3"
|
|
Margin="0,16,0,8"
|
|
FontSize="14"
|
|
Text="Log:" />
|
|
<ListBox
|
|
Grid.Row="4"
|
|
Margin="0,0,2,0"
|
|
local:AutoScrollBehavior.ScrollOnNewItem="True"
|
|
ItemsSource="{Binding MWVM.Log}" />
|
|
<!-- End Log -->
|
|
|
|
<!-- Location -->
|
|
<Grid
|
|
Grid.Row="5"
|
|
Grid.RowSpan="2"
|
|
Grid.Column="0"
|
|
Margin="-4,10,2,10"
|
|
HorizontalAlignment="Stretch">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition />
|
|
<RowDefinition MinHeight="10" />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<Label
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Content="{Binding LocationLabel}" />
|
|
<TextBox
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
IsEnabled="{Binding UIReady}"
|
|
Text="{Binding Location, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, NotifyOnValidationError=True}" />
|
|
<Button
|
|
Grid.Row="0"
|
|
Grid.Column="2"
|
|
MinWidth="80"
|
|
Command="{Binding ChangePathCommand}"
|
|
Content="Select"
|
|
IsEnabled="{Binding UIReady}" />
|
|
<Label
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Content="Download Location:" />
|
|
<TextBox
|
|
Grid.Row="2"
|
|
Grid.Column="1"
|
|
IsEnabled="{Binding UIReady}"
|
|
Text="{Binding DownloadLocation}" />
|
|
<Button
|
|
Grid.Row="2"
|
|
Grid.Column="2"
|
|
MinWidth="80"
|
|
Command="{Binding ChangeDownloadPathCommand}"
|
|
Content="Select"
|
|
IsEnabled="{Binding UIReady}" />
|
|
</Grid>
|
|
<!-- End Location -->
|
|
|
|
|
|
<!-- Work Queue Start -->
|
|
<TextBlock
|
|
Grid.Row="3"
|
|
Grid.Column="1"
|
|
Margin="2,16,0,8"
|
|
FontSize="14"
|
|
Text="Work Queue:" />
|
|
|
|
<ListBox
|
|
Grid.Row="4"
|
|
Grid.Column="1"
|
|
Width="Auto"
|
|
Margin="2,0,0,0"
|
|
HorizontalAlignment="Stretch"
|
|
ItemsSource="{Binding MWVM.StatusList}">
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid HorizontalAlignment="Stretch">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<ProgressBar
|
|
Grid.Column="0"
|
|
Width="100"
|
|
Maximum="100"
|
|
Minimum="0"
|
|
Value="{Binding Progress, Mode=OneTime}">
|
|
<ProgressBar.Style>
|
|
<Style TargetType="ProgressBar">
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Progress}" Value="0">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ProgressBar.Style>
|
|
</ProgressBar>
|
|
<TextBlock Grid.Column="1" Text=" CPU " />
|
|
<TextBlock Grid.Column="2" Text="{Binding ID}" />
|
|
<TextBlock Grid.Column="3" Text=" - " />
|
|
<TextBlock Grid.Column="4" Text="{Binding Msg}" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
<!-- Work Queue End -->
|
|
|
|
<Grid
|
|
Grid.Row="5"
|
|
Grid.RowSpan="2"
|
|
Grid.Column="1"
|
|
Margin="2,10,0,10">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="30" />
|
|
<RowDefinition Height="30" />
|
|
</Grid.RowDefinitions>
|
|
<Button
|
|
Grid.Row="0"
|
|
Margin="0,0,0,4"
|
|
Command="{Binding ShowReportCommand}"
|
|
Visibility="{Binding HTMLReport, Converter={StaticResource IsNotNullVisibilityConverter}}">
|
|
<TextBlock FontSize="13" FontWeight="Bold">View ModList Contents</TextBlock>
|
|
</Button>
|
|
<Button
|
|
Grid.Row="1"
|
|
Margin="0,4,0,0"
|
|
Command="{Binding BeginCommand}">
|
|
<TextBlock FontSize="13" FontWeight="Bold">Begin</TextBlock>
|
|
</Button>
|
|
</Grid>
|
|
</Grid>
|
|
</Viewbox>
|
|
</Window>
|