This commit is contained in:
Pascal
2025-11-14 11:35:40 +01:00
parent cd766f73fc
commit b4e4154445
8 changed files with 304 additions and 26 deletions

View File

@@ -6,8 +6,10 @@
xmlns:modpackUpdater="clr-namespace:ModpackUpdater;assembly=ModpackUpdater"
xmlns:local="clr-namespace:ModpackUpdater.Apps.Manager.Ui"
xmlns:manager="clr-namespace:ModpackUpdater.Apps.Manager"
xmlns:vm="clr-namespace:ModpackUpdater.Apps.Manager.Ui.Models"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="ModpackUpdater.Apps.Manager.Ui.MainWindow"
x:DataType="vm:MainWindowViewModel"
Title="Minecraft Modpack Manager"
Padding="3">
@@ -47,19 +49,51 @@
Grid.Column="0"
Margin="3"/>
<!-- ... -->
<DataGrid
x:Name="DataGridActions"
Grid.Column="1"
Margin="3"
ItemsSource="{Binding Actions}"
SelectedItem="{Binding SelectedAction}">
<DataGrid.Columns>
<DataGridTextColumn
Header="Id"
Binding="{Binding InheritedId}"/>
<DataGridTextColumn
Header="Side"
Binding="{Binding InheritedSide}"/>
<DataGridTextColumn
Header="Update type"
Binding="{Binding InheritedUpdateType}"
IsVisible="{Binding IsUpdate}"/>
<DataGridTextColumn
Header="Source type"
Binding="{Binding InheritedSourceType}"/>
<DataGridTextColumn
Header="Dest path"
Binding="{Binding InheritedDestPath}"/>
</DataGrid.Columns>
</DataGrid>
<ScrollViewer
x:Name="ScrollViewerInstallAction"
Grid.Column="2"
Margin="3"
DataContext="{Binding SelectedAction}"
VerticalScrollBarVisibility="Auto">
<StackPanel>
<StackPanel
Spacing="6">
<!-- Update -->
<StackPanel
x:Name="StackPanelUpdate"
Margin="3"
Spacing="6">
Spacing="6"
IsVisible="{Binding IsUpdate}">
<!-- Header -->
<StackPanel Orientation="Horizontal" Spacing="6">
@@ -69,7 +103,9 @@
<!-- Inherit from -->
<Label Content="Inherit from" Target="TextBoxUpdateActionInheritFrom"/>
<TextBox x:Name="TextBoxUpdateActionInheritFrom" Text="{Binding InheritFrom, DataType=modpackUpdater:UpdateAction}"/>
<TextBox
x:Name="TextBoxUpdateActionInheritFrom"
Text="{Binding InheritFrom}"/>
<!-- Source type -->
<Label Content="Source type" Target="ComboBoxUpdateActionSourceType"/>
@@ -78,18 +114,17 @@
ItemsSource="{x:Static local:MainWindow.UpdateActionTypes}"
DisplayMemberBinding="{Binding Value}"
SelectedValueBinding="{Binding Key}"
SelectedValue="{Binding Type, DataType=modpackUpdater:UpdateAction}"/>
SelectedValue="{Binding Type}"/>
<!-- Is Directory -->
<CheckBox
x:Name="CheckBoxUpdateActionIsDir"
Content="Is Directory"
IsChecked="{Binding IsDirectory, DataType=modpackUpdater:UpdateAction}"/>
IsChecked="{Binding IsDirectory}"/>
</StackPanel>
<!-- General -->
<StackPanel
Margin="3"
Spacing="6">
<!-- Header -->
@@ -100,11 +135,15 @@
<!-- Id -->
<Label Content="Id" Target="TextBoxInstallActionId"/>
<TextBox x:Name="TextBoxInstallActionId" Text="{Binding Id, DataType=modpackUpdater:InstallAction}"/>
<TextBox
x:Name="TextBoxInstallActionId"
Text="{Binding Id}"/>
<!-- Name -->
<Label Content="Name" Target="TextBoxInstallActionName"/>
<TextBox x:Name="TextBoxInstallActionName" Text="{Binding Name, DataType=modpackUpdater:InstallAction}"/>
<TextBox
x:Name="TextBoxInstallActionName"
Text="{Binding Name}"/>
<!-- Side -->
<Label Content="Side" Target="ComboBoxInstallActionSide"/>
@@ -113,18 +152,17 @@
ItemsSource="{x:Static local:MainWindow.Sides}"
DisplayMemberBinding="{Binding Value}"
SelectedValueBinding="{Binding Key}"
SelectedValue="{Binding Side, DataType=modpackUpdater:InstallAction}"/>
SelectedValue="{Binding Side}"/>
<!-- Is Extra -->
<CheckBox
x:Name="CheckBoxInstallActionIsExtra"
Content="Is Extra"
IsChecked="{Binding IsExtra, DataType=modpackUpdater:InstallAction}"/>
IsChecked="{Binding IsExtra}"/>
</StackPanel>
<!-- Destination -->
<StackPanel
Margin="3"
Spacing="6">
<!-- Header -->
@@ -134,12 +172,13 @@
</StackPanel>
<!-- Destination path -->
<TextBox x:Name="TextBoxInstallDestPath" Text="{Binding DestPath, DataType=modpackUpdater:InstallAction}"/>
<TextBox
x:Name="TextBoxInstallDestPath"
Text="{Binding DestPath}"/>
</StackPanel>
<!-- Source -->
<StackPanel
Margin="3"
Spacing="6">
<!-- Header -->
@@ -155,37 +194,48 @@
ItemsSource="{x:Static local:MainWindow.SourceTypes}"
DisplayMemberBinding="{Binding Value}"
SelectedValueBinding="{Binding Key}"
SelectedValue="{Binding SourceType, DataType=modpackUpdater:InstallAction}"/>
SelectedValue="{Binding SourceType}"/>
<!-- Is Zip -->
<CheckBox
x:Name="CheckBoxInstallActionIsZip"
Content="Is Zip archive"
IsChecked="{Binding IsZip, DataType=modpackUpdater:InstallAction}"/>
IsChecked="{Binding IsZip}"/>
<!-- Source owner -->
<Label Content="Source owner" Target="TextBoxInstallActionSourceOwner"/>
<TextBox x:Name="TextBoxInstallActionSourceOwner" Text="{Binding SourceOwner, DataType=modpackUpdater:InstallAction}"/>
<TextBox
x:Name="TextBoxInstallActionSourceOwner"
Text="{Binding SourceOwner}"/>
<!-- Source name -->
<Label Content="Source name" Target="TextBoxInstallActionSourceName"/>
<TextBox x:Name="TextBoxInstallActionSourceName" Text="{Binding SourceName, DataType=modpackUpdater:InstallAction}"/>
<TextBox
x:Name="TextBoxInstallActionSourceName"
Text="{Binding SourceName}"/>
<!-- Source RegEx -->
<Label Content="Source RegEx" Target="TextBoxInstallActionSourceRegEx"/>
<TextBox x:Name="TextBoxInstallActionSourceRegEx" Text="{Binding SourceRegex, DataType=modpackUpdater:InstallAction}"/>
<TextBox
x:Name="TextBoxInstallActionSourceRegEx"
Text="{Binding SourceRegex}"/>
<!-- Source url -->
<Label Content="Source URL" Target="TextBoxInstallActionSourceUrl"/>
<TextBox x:Name="TextBoxInstallActionSourceUrl" Text="{Binding SourceUrl, DataType=modpackUpdater:InstallAction}"/>
<TextBox
x:Name="TextBoxInstallActionSourceUrl" Text="{Binding SourceUrl}"/>
<!-- Zip archive path -->
<Label Content="ZIP archive path" Target="TextBoxInstallActionZipArchivePath"/>
<TextBox x:Name="TextBoxInstallActionZipArchivePath" Text="{Binding SourceUrl, DataType=modpackUpdater:InstallAction}"/>
<TextBox
x:Name="TextBoxInstallActionZipArchivePath"
Text="{Binding SourceUrl}"/>
<!-- Source path -->
<Label Content="Source path" Target="TextBoxInstallActionSourcePath"/>
<TextBox x:Name="TextBoxInstallActionSourcePath" Text="{Binding SrcPath, DataType=modpackUpdater:UpdateAction}"/>
<TextBox
x:Name="TextBoxInstallActionSourcePath"
Text="{Binding SrcPath}"/>
</StackPanel>
<StackPanel
@@ -200,7 +250,9 @@
<!-- Website -->
<Label Content="Website" Target="TextBoxInstallActionWebsite"/>
<TextBox x:Name="TextBoxInstallActionWebsite" Text="{Binding Website, DataType=modpackUpdater:InstallAction}"/>
<TextBox
x:Name="TextBoxInstallActionWebsite"
Text="{Binding Website}"/>
</StackPanel>
</StackPanel>
</ScrollViewer>