added modlist tags component

This commit is contained in:
Khamûl 2020-05-09 00:19:40 -04:00
parent 906da5bc84
commit 05886b574f
3 changed files with 48 additions and 2 deletions

View File

@ -29,6 +29,9 @@ namespace Wabbajack.Lib.ModListRegistry
[JsonProperty("official")]
public bool Official { get; set; }
[JsonProperty("tags")]
public List<string> tags { get; set; } = new List<string>();
[JsonProperty("nsfw")]
public bool NSFW { get; set; }

View File

@ -20,6 +20,17 @@ using Wabbajack.Lib.ModListRegistry;
namespace Wabbajack
{
public struct ModListTag
{
public ModListTag(string name)
{
Name = name;
}
public string Name { get; }
}
public class ModListMetadataVM : ViewModel
{
public ModlistMetadata Metadata { get; }
@ -33,6 +44,9 @@ namespace Wabbajack
public AbsolutePath Location { get; }
[Reactive]
public List<ModListTag> ModListTagList { get; private set; }
[Reactive]
public Percent ProgressPercent { get; private set; }
@ -59,6 +73,11 @@ namespace Wabbajack
_parent = parent;
Metadata = metadata;
Location = Consts.ModListDownloadFolder.Combine(Metadata.Links.MachineURL + (string)Consts.ModListExtension);
ModListTagList = new List<ModListTag>();
Metadata.tags.ForEach(tag =>
{
ModListTagList.Add(new ModListTag(tag));
});
DownloadSizeText = "Download size : " + UIUtils.FormatBytes(Metadata.DownloadMetadata.SizeOfArchives);
InstallSizeText = "Installation size : " + UIUtils.FormatBytes(Metadata.DownloadMetadata.SizeOfInstalledFiles);
IsBroken = metadata.ValidationSummary.HasFailures;

View File

@ -146,10 +146,34 @@
</Style>
</Ellipse.Style>
</Ellipse>
<ItemsControl ItemsSource="{Binding ModListTagList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border
BorderThickness="1"
Grid.Row="0"
Grid.ColumnSpan="2"
CornerRadius="7,7,7,7"
Opacity="0.90"
Background="{StaticResource Analogous1Brush}"
Margin="10,5,0,5">
<TextBlock
Margin="5,5,5,5"
FontSize="15"
Text="{Binding Name}"/>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Label
Content="{Binding DownloadSizeText}"
HorizontalAlignment="Left"
Margin="10,289,0,0"
Margin="10,257,0,0"
VerticalAlignment="Top"
Opacity="0" >
<Label.Style>
@ -184,7 +208,7 @@
<Label
Content="{Binding InstallSizeText}"
HorizontalAlignment="Left"
Margin="10,305,0,0"
Margin="10,272,0,0"
VerticalAlignment="Top"
Opacity="0" >
<Label.Style>