and even more work

This commit is contained in:
2025-11-16 09:48:03 +01:00
parent f6b39cb678
commit 0b50f1ade2
13 changed files with 299 additions and 76 deletions

View File

@@ -3,44 +3,32 @@
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: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"
xmlns:controls="https://git.pilzinsel64.de/pilz-framework/pilz"
xmlns:pilz="https://git.pilzinsel64.de/pilz-framework/pilz"
xmlns:symbols="clr-namespace:Pilz.UI.Symbols;assembly=Pilz.UI"
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"
WindowState="Maximized"
Loaded="Window_OnLoaded">
<Window.Styles>
<Style Selector="DropDownButton /template/ Path#PART_DropDownGlyph">
<Setter Property="IsVisible" Value="False"/>
</Style>
</Window.Styles>
<Grid
RowDefinitions="Auto,*">
<Menu>
<Menu.Items>
<MenuItem x:Name="MenuItemWorkspace" Header="Workspace">
<MenuItem.Items>
<MenuItem x:Name="MenuItemWorkspacePreferences" Header="Workspace preferences"/>
<MenuItem x:Name="MenuItemSaveWorkspace" Header="Save workspace"/>
<Separator/>
<MenuItem x:Name="MenuItemNewWorkspace" Header="New workspace"/>
<Separator/>
<MenuItem x:Name="MenuItemRecentWorkspaces" Header="Recent workspaces"/>
</MenuItem.Items>
</MenuItem>
<MenuItem x:Name="MenuItemTools" Header="Tools"/>
</Menu.Items>
</Menu>
<!-- Tree view -->
<Grid
x:Name="GridMain"
Grid.Row="1"
ColumnDefinitions="300,*,300"
ColumnDefinitions="Auto,*,300"
Margin="3">
<StackPanel
@@ -48,14 +36,54 @@
Margin="3"
Spacing="6">
<Menu>
<Menu.Items>
<MenuItem x:Name="MenuItemCreateUpdate" Header="Create" Click="MenuItemCreateUpdate_OnClick"/>
<MenuItem x:Name="MenuItemEditUpdate" Header="Edit" Click="MenuItemEditUpdate_OnClick"/>
<MenuItem x:Name="MenuItemRemoveUpdate" Header="Remove" Click="MenuItemRemoveUpdate_OnClick"/>
</Menu.Items>
</Menu>
<!-- StackPanel: Menu for updates -->
<StackPanel
Orientation="Horizontal">
<!-- Button: Workspace -->
<pilz:ImageButton
x:Name="ButtonWorkspace"
Text="Workspace"
Background="Transparent">
<pilz:ImageButton.Flyout>
<MenuFlyout>
<MenuFlyout.Items>
<MenuItem x:Name="MenuItemWorkspacePreferences" Header="Workspace _preferences"/>
<MenuItem x:Name="MenuItemSaveWorkspace" Header="_Save workspace" HotKey="Ctrl+S"/>
<Separator/>
<MenuItem x:Name="MenuItemNewWorkspace" Header="_New workspace"/>
<Separator/>
<MenuItem x:Name="MenuItemRecentWorkspaces" Header="_Recent workspaces"/>
</MenuFlyout.Items>
</MenuFlyout>
</pilz:ImageButton.Flyout>
</pilz:ImageButton>
<!-- Button: Update -->
<pilz:ImageButton
x:Name="ButtonUpdate"
Text="Update"
Background="Transparent">
<pilz:ImageButton.Flyout>
<MenuFlyout>
<MenuFlyout.Items>
<MenuItem x:Name="MenuItemCreateUpdate" Header="_Create update" Click="MenuItemCreateUpdate_OnClick"/>
<MenuItem x:Name="MenuItemRemoveUpdate" Header="_Remove update" Click="MenuItemRemoveUpdate_OnClick"/>
</MenuFlyout.Items>
</MenuFlyout>
</pilz:ImageButton.Flyout>
</pilz:ImageButton>
<!-- Button: Tools -->
<pilz:ImageButton
x:Name="ButtonTools"
Text="Tools"
Background="Transparent"/>
</StackPanel>
<!-- TreeView: Updates -->
<ScrollViewer
VerticalScrollBarVisibility="Auto">
@@ -69,7 +97,9 @@
ItemsSource="{Binding Nodes}">
<StackPanel Orientation="Horizontal" Spacing="6">
<Image Source="{Binding Image}" Width="16"/>
<Image
Source="{Binding Image}"
Width="{x:Static symbols:SymbolGlobals.DefaultImageSmallSize}"/>
<TextBlock Text="{Binding DisplayText}"/>
</StackPanel>
</TreeDataTemplate>
@@ -94,28 +124,33 @@
DataType="vm:ActionSetTreeNode">
<StackPanel
Orientation="Horizontal"
Spacing="6">
Orientation="Horizontal">
<controls:ImageButton
<!-- Button: Add action -->
<pilz:ImageButton
x:Name="ButtonAddAction"
Text="Add"
ImageSource="{x:Static local:MainWindow.ButtonImageAddAction}"
Background="Transparent"
Click="ButtonAddAction_OnClick"/>
<controls:ImageButton
<!-- Button: Remove action -->
<pilz:ImageButton
x:Name="ButtonRemoveAction"
Text="Remove"
ImageSource="{x:Static local:MainWindow.ButtonImageRemoveAction}"
Background="Transparent"
Click="ButtonRemoveAction_OnClick"/>
<!-- TextBox: Version -->
<TextBox
Margin="3, 0, 3, 0"
Width="100"
Text="{Binding Version}"/>
<!-- CheckBox: Is public -->
<CheckBox
Margin="3, 0, 3, 0"
Content="Public"
IsChecked="{Binding IsPublic}"/>
</StackPanel>
@@ -176,8 +211,10 @@
<!-- Header -->
<StackPanel Orientation="Horizontal" Spacing="6">
<Image x:Name="ImageUpdate"/>
<TextBlock Text="Update" FontSize="20"/>
<Image
x:Name="ImageUpdate"
Width="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="Update" FontSize="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
</StackPanel>
<!-- Inherit from -->
@@ -208,7 +245,9 @@
<!-- Header -->
<StackPanel Orientation="Horizontal" Spacing="6">
<Image x:Name="ImageGeneral"/>
<Image
x:Name="ImageGeneral"
Width="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="General" FontSize="20"/>
</StackPanel>
@@ -246,11 +285,14 @@
<!-- Header -->
<StackPanel Orientation="Horizontal" Spacing="6">
<Image x:Name="ImageDestination"/>
<Image
x:Name="ImageDestination"
Width="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="Destination" FontSize="20"/>
</StackPanel>
<!-- Destination path -->
<Label Content="Destination path" Target="TextBoxInstallDestPath"/>
<TextBox
x:Name="TextBoxInstallDestPath"
Text="{Binding DestPath}"/>
@@ -262,7 +304,9 @@
<!-- Header -->
<StackPanel Orientation="Horizontal" Spacing="6">
<Image x:Name="ImageSource"/>
<Image
x:Name="ImageSource"
Width="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="Source" FontSize="20"/>
</StackPanel>
@@ -323,7 +367,9 @@
<!-- Header -->
<StackPanel Orientation="Horizontal" Spacing="6">
<Image x:Name="ImageMetadata"/>
<Image
x:Name="ImageMetadata"
Width="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="Metadata" FontSize="20"/>
</StackPanel>