This commit is contained in:
2025-11-17 09:45:25 +01:00
parent 0bc93bb24b
commit c2ac96938e
7 changed files with 384 additions and 165 deletions

View File

@@ -1,9 +1,7 @@
using System.Text;
using Avalonia.Controls;
using ModpackUpdater.Apps.Manager.Api.Model;
using ModpackUpdater.Apps.Manager.LangRes;
using ModpackUpdater.Apps.Manager.Ui;
using ModpackUpdater.Apps.Manager.Ui.Models;
using ModpackUpdater.Apps.Manager.Ui.Models.MainWindow;
using ModpackUpdater.Apps.Manager.Ui.Models.UpdatesCollectorViewMode;
using ModpackUpdater.Manager;

View File

@@ -1,10 +1,9 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
// This code was generated by a tool.
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@@ -12,46 +11,32 @@ namespace ModpackUpdater.Apps.Manager.LangRes {
using System;
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class ActionsListLangRes {
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class ActionsListLangRes {
private static global::System.Resources.ResourceManager resourceMan;
private static System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
private static System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal ActionsListLangRes() {
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
public static System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ModpackUpdater.Apps.Manager.LangRes.ActionsListLangRes", typeof(ActionsListLangRes).Assembly);
if (object.Equals(null, resourceMan)) {
System.Resources.ResourceManager temp = new System.Resources.ResourceManager("ModpackUpdater.Apps.Manager.LangRes.ActionsListLangRes", typeof(ActionsListLangRes).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
public static System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
@@ -60,163 +45,109 @@ namespace ModpackUpdater.Apps.Manager.LangRes {
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Destination path ähnelt.
/// </summary>
internal static string Col_DestPath {
public static string Col_DestPath {
get {
return ResourceManager.GetString("Col_DestPath", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Id ähnelt.
/// </summary>
internal static string Col_Id {
public static string Col_Id {
get {
return ResourceManager.GetString("Col_Id", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Inherit from ähnelt.
/// </summary>
internal static string Col_InheritFrom {
public static string Col_InheritFrom {
get {
return ResourceManager.GetString("Col_InheritFrom", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Is directory ähnelt.
/// </summary>
internal static string Col_IsDir {
public static string Col_IsDir {
get {
return ResourceManager.GetString("Col_IsDir", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Is Extra ähnelt.
/// </summary>
internal static string Col_IsExtra {
public static string Col_IsExtra {
get {
return ResourceManager.GetString("Col_IsExtra", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Is ZIP ähnelt.
/// </summary>
internal static string Col_IsZip {
public static string Col_IsZip {
get {
return ResourceManager.GetString("Col_IsZip", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Name ähnelt.
/// </summary>
internal static string Col_Name {
public static string Col_Name {
get {
return ResourceManager.GetString("Col_Name", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Side ähnelt.
/// </summary>
internal static string Col_Side {
public static string Col_Side {
get {
return ResourceManager.GetString("Col_Side", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Source name ähnelt.
/// </summary>
internal static string Col_SrcName {
public static string Col_SrcName {
get {
return ResourceManager.GetString("Col_SrcName", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Source owner ähnelt.
/// </summary>
internal static string Col_SrcOwner {
public static string Col_SrcOwner {
get {
return ResourceManager.GetString("Col_SrcOwner", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Source path ähnelt.
/// </summary>
internal static string Col_SrcPath {
public static string Col_SrcPath {
get {
return ResourceManager.GetString("Col_SrcPath", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Source RegEx ähnelt.
/// </summary>
internal static string Col_SrcRegEx {
public static string Col_SrcRegEx {
get {
return ResourceManager.GetString("Col_SrcRegEx", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Source tag ähnelt.
/// </summary>
internal static string Col_SrcTag {
public static string Col_SrcTag {
get {
return ResourceManager.GetString("Col_SrcTag", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Source type ähnelt.
/// </summary>
internal static string Col_SrcType {
public static string Col_SrcType {
get {
return ResourceManager.GetString("Col_SrcType", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Source URL ähnelt.
/// </summary>
internal static string Col_SrcUrl {
public static string Col_SrcUrl {
get {
return ResourceManager.GetString("Col_SrcUrl", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Update type ähnelt.
/// </summary>
internal static string Col_UpdateType {
public static string Col_UpdateType {
get {
return ResourceManager.GetString("Col_UpdateType", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Website ähnelt.
/// </summary>
internal static string Col_Website {
public static string Col_Website {
get {
return ResourceManager.GetString("Col_Website", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die ZIP archive path ähnelt.
/// </summary>
internal static string Col_ZipPath {
public static string Col_ZipPath {
get {
return ResourceManager.GetString("Col_ZipPath", resourceCulture);
}

View File

@@ -45,18 +45,6 @@ namespace ModpackUpdater.Apps.Manager.LangRes {
}
}
public static string Node_Install {
get {
return ResourceManager.GetString("Node_Install", resourceCulture);
}
}
public static string Node_Update {
get {
return ResourceManager.GetString("Node_Update", resourceCulture);
}
}
public static string ModlistForVersionX {
get {
return ResourceManager.GetString("ModlistForVersionX", resourceCulture);
@@ -98,5 +86,209 @@ namespace ModpackUpdater.Apps.Manager.LangRes {
return ResourceManager.GetString("ModpackConfigUrl", resourceCulture);
}
}
public static string Remove {
get {
return ResourceManager.GetString("Remove", resourceCulture);
}
}
public static string WorkspacePreferences {
get {
return ResourceManager.GetString("WorkspacePreferences", resourceCulture);
}
}
public static string SaveWorkspace {
get {
return ResourceManager.GetString("SaveWorkspace", resourceCulture);
}
}
public static string NewWorkspace {
get {
return ResourceManager.GetString("NewWorkspace", resourceCulture);
}
}
public static string RecentWorkspaces {
get {
return ResourceManager.GetString("RecentWorkspaces", resourceCulture);
}
}
public static string Workspace {
get {
return ResourceManager.GetString("Workspace", resourceCulture);
}
}
public static string CreateUpdate {
get {
return ResourceManager.GetString("CreateUpdate", resourceCulture);
}
}
public static string RemoveUpdate {
get {
return ResourceManager.GetString("RemoveUpdate", resourceCulture);
}
}
public static string Update {
get {
return ResourceManager.GetString("Update", resourceCulture);
}
}
public static string Tools {
get {
return ResourceManager.GetString("Tools", resourceCulture);
}
}
public static string Updates {
get {
return ResourceManager.GetString("Updates", resourceCulture);
}
}
public static string Add {
get {
return ResourceManager.GetString("Add", resourceCulture);
}
}
public static string Public {
get {
return ResourceManager.GetString("Public", resourceCulture);
}
}
public static string Id {
get {
return ResourceManager.GetString("Id", resourceCulture);
}
}
public static string Side {
get {
return ResourceManager.GetString("Side", resourceCulture);
}
}
public static string UpdateType {
get {
return ResourceManager.GetString("UpdateType", resourceCulture);
}
}
public static string SourceType {
get {
return ResourceManager.GetString("SourceType", resourceCulture);
}
}
public static string DestinationPath {
get {
return ResourceManager.GetString("DestinationPath", resourceCulture);
}
}
public static string InheritFrom {
get {
return ResourceManager.GetString("InheritFrom", resourceCulture);
}
}
public static string SourcePath {
get {
return ResourceManager.GetString("SourcePath", resourceCulture);
}
}
public static string IsDirectory {
get {
return ResourceManager.GetString("IsDirectory", resourceCulture);
}
}
public static string General {
get {
return ResourceManager.GetString("General", resourceCulture);
}
}
public static string Name {
get {
return ResourceManager.GetString("Name", resourceCulture);
}
}
public static string IsExtra {
get {
return ResourceManager.GetString("IsExtra", resourceCulture);
}
}
public static string Destination {
get {
return ResourceManager.GetString("Destination", resourceCulture);
}
}
public static string Source {
get {
return ResourceManager.GetString("Source", resourceCulture);
}
}
public static string IsZipArchive {
get {
return ResourceManager.GetString("IsZipArchive", resourceCulture);
}
}
public static string SourceOwner {
get {
return ResourceManager.GetString("SourceOwner", resourceCulture);
}
}
public static string SourceName {
get {
return ResourceManager.GetString("SourceName", resourceCulture);
}
}
public static string SourceRegex {
get {
return ResourceManager.GetString("SourceRegex", resourceCulture);
}
}
public static string SourceUrl {
get {
return ResourceManager.GetString("SourceUrl", resourceCulture);
}
}
public static string ZipArchivePath {
get {
return ResourceManager.GetString("ZipArchivePath", resourceCulture);
}
}
public static string Metadata {
get {
return ResourceManager.GetString("Metadata", resourceCulture);
}
}
public static string Website {
get {
return ResourceManager.GetString("Website", resourceCulture);
}
}
}
}

View File

@@ -117,12 +117,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Node_Install" xml:space="preserve">
<value>Installation: {0}</value>
</data>
<data name="Node_Update" xml:space="preserve">
<value>Update: {0}</value>
</data>
<data name="ModlistForVersionX" xml:space="preserve">
<value>Modlist for v{0}</value>
</data>
@@ -144,4 +138,106 @@
<data name="ModpackConfigUrl" xml:space="preserve">
<value>Modpack config url</value>
</data>
<data name="Remove" xml:space="preserve">
<value>Remove</value>
</data>
<data name="WorkspacePreferences" xml:space="preserve">
<value>Workspace preferences</value>
</data>
<data name="SaveWorkspace" xml:space="preserve">
<value>Save workspace</value>
</data>
<data name="NewWorkspace" xml:space="preserve">
<value>New workspace</value>
</data>
<data name="RecentWorkspaces" xml:space="preserve">
<value>Recent workspace</value>
</data>
<data name="Workspace" xml:space="preserve">
<value>Workspace</value>
</data>
<data name="CreateUpdate" xml:space="preserve">
<value>Create update</value>
</data>
<data name="RemoveUpdate" xml:space="preserve">
<value>Remove update</value>
</data>
<data name="Update" xml:space="preserve">
<value>Update</value>
</data>
<data name="Tools" xml:space="preserve">
<value>Tools</value>
</data>
<data name="Updates" xml:space="preserve">
<value>Updates</value>
</data>
<data name="Add" xml:space="preserve">
<value>Add</value>
</data>
<data name="Public" xml:space="preserve">
<value>Public</value>
</data>
<data name="Id" xml:space="preserve">
<value>Id</value>
</data>
<data name="Side" xml:space="preserve">
<value>Side</value>
</data>
<data name="UpdateType" xml:space="preserve">
<value>Update type</value>
</data>
<data name="SourceType" xml:space="preserve">
<value>Source type</value>
</data>
<data name="DestinationPath" xml:space="preserve">
<value>Destination path</value>
</data>
<data name="InheritFrom" xml:space="preserve">
<value>Inherit from</value>
</data>
<data name="SourcePath" xml:space="preserve">
<value>Source path</value>
</data>
<data name="IsDirectory" xml:space="preserve">
<value>Is directory</value>
</data>
<data name="General" xml:space="preserve">
<value>General</value>
</data>
<data name="Name" xml:space="preserve">
<value>Name</value>
</data>
<data name="IsExtra" xml:space="preserve">
<value>Is extra</value>
</data>
<data name="Destination" xml:space="preserve">
<value>Destination</value>
</data>
<data name="Source" xml:space="preserve">
<value>Source</value>
</data>
<data name="IsZipArchive" xml:space="preserve">
<value>Is Zip archive</value>
</data>
<data name="SourceOwner" xml:space="preserve">
<value>Source owner</value>
</data>
<data name="SourceName" xml:space="preserve">
<value>Source name</value>
</data>
<data name="SourceRegex" xml:space="preserve">
<value>Source RegEx</value>
</data>
<data name="SourceUrl" xml:space="preserve">
<value>Source URL</value>
</data>
<data name="ZipArchivePath" xml:space="preserve">
<value>ZIP archive path</value>
</data>
<data name="Metadata" xml:space="preserve">
<value>Metadata</value>
</data>
<data name="Website" xml:space="preserve">
<value>Website</value>
</data>
</root>

View File

@@ -4,10 +4,10 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ModpackUpdater.Apps.Manager.Ui"
xmlns:vm="clr-namespace:ModpackUpdater.Apps.Manager.Ui.Models"
xmlns:pilz="https://git.pilzinsel64.de/pilz-framework/pilz"
xmlns:symbols="clr-namespace:Pilz.UI.Symbols;assembly=Pilz.UI"
xmlns:mainWindow="clr-namespace:ModpackUpdater.Apps.Manager.Ui.Models.MainWindow"
xmlns:langRes="clr-namespace:ModpackUpdater.Apps.Manager.LangRes"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="ModpackUpdater.Apps.Manager.Ui.MainWindow"
x:DataType="mainWindow:MainWindowViewModel"
@@ -32,18 +32,18 @@
<!-- Button: Workspace -->
<pilz:ImageButton
x:Name="ButtonWorkspace"
Text="Workspace"
Text="{x:Static langRes:GeneralLangRes.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"/>
<MenuItem x:Name="MenuItemWorkspacePreferences" Header="{x:Static langRes:GeneralLangRes.WorkspacePreferences}"/>
<MenuItem x:Name="MenuItemSaveWorkspace" Header="{x:Static langRes:GeneralLangRes.SaveWorkspace}" HotKey="Ctrl+S"/>
<Separator/>
<MenuItem x:Name="MenuItemNewWorkspace" Header="_New workspace"/>
<MenuItem x:Name="MenuItemNewWorkspace" Header="{x:Static langRes:GeneralLangRes.NewWorkspace}"/>
<Separator/>
<MenuItem x:Name="MenuItemRecentWorkspaces" Header="_Recent workspaces"/>
<MenuItem x:Name="MenuItemRecentWorkspaces" Header="{x:Static langRes:GeneralLangRes.RecentWorkspaces}"/>
</MenuFlyout.Items>
</MenuFlyout>
</pilz:ImageButton.Flyout>
@@ -52,14 +52,14 @@
<!-- Button: Update -->
<pilz:ImageButton
x:Name="ButtonUpdate"
Text="Update"
Text="{x:Static langRes:GeneralLangRes.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"/>
<MenuItem x:Name="MenuItemCreateUpdate" Header="{x:Static langRes:GeneralLangRes.CreateUpdate}" Click="MenuItemCreateUpdate_OnClick"/>
<MenuItem x:Name="MenuItemRemoveUpdate" Header="{x:Static langRes:GeneralLangRes.RemoveUpdate}" Click="MenuItemRemoveUpdate_OnClick"/>
</MenuFlyout.Items>
</MenuFlyout>
</pilz:ImageButton.Flyout>
@@ -68,7 +68,7 @@
<!-- Button: Tools -->
<pilz:ImageButton
x:Name="ButtonTools"
Text="Tools"
Text="{x:Static langRes:GeneralLangRes.Tools}"
Background="Transparent"/>
</StackPanel>
@@ -115,7 +115,7 @@
<!-- Button: Add action -->
<pilz:ImageButton
x:Name="ButtonAddAction"
Text="Add"
Text="{x:Static langRes:GeneralLangRes.Add}"
ImageSource="{x:Static local:MainWindow.ButtonImageAddAction}"
Background="Transparent"
Click="ButtonAddAction_OnClick"/>
@@ -123,7 +123,7 @@
<!-- Button: Remove action -->
<pilz:ImageButton
x:Name="ButtonRemoveAction"
Text="Remove"
Text="{x:Static langRes:GeneralLangRes.Remove}"
ImageSource="{x:Static local:MainWindow.ButtonImageRemoveAction}"
Background="Transparent"
Click="ButtonRemoveAction_OnClick"/>
@@ -137,7 +137,7 @@
<!-- CheckBox: Is public -->
<CheckBox
Margin="3, 0, 3, 0"
Content="Public"
Content="{x:Static langRes:GeneralLangRes.Public}"
IsChecked="{Binding IsPublic}"/>
</StackPanel>
</DataTemplate>
@@ -158,24 +158,24 @@
<DataGrid.Columns>
<DataGridTextColumn
Header="Id"
Header="{x:Static langRes:GeneralLangRes.Id}"
Binding="{Binding InheritedId}"/>
<DataGridTextColumn
Header="Side"
Header="{x:Static langRes:GeneralLangRes.Side}"
Binding="{Binding InheritedSide}"/>
<DataGridTextColumn
Header="Update type"
Header="{x:Static langRes:GeneralLangRes.UpdateType}"
Binding="{Binding InheritedUpdateType}"
IsVisible="{Binding IsUpdate}"/>
<DataGridTextColumn
Header="Source type"
Header="{x:Static langRes:GeneralLangRes.SourceType}"
Binding="{Binding InheritedSourceType}"/>
<DataGridTextColumn
Header="Dest path"
Header="{x:Static langRes:GeneralLangRes.DestinationPath}"
Binding="{Binding InheritedDestPath}"/>
</DataGrid.Columns>
</DataGrid>
@@ -206,18 +206,18 @@
Spacing="6">
<Image x:Name="ImageUpdate" Width="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="Update" FontSize="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="{x:Static langRes:GeneralLangRes.Update}" FontSize="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
</StackPanel>
<!-- Inherit from -->
<Label Grid.Row="1" Grid.Column="0" Content="Inherit from" Target="TextBoxUpdateActionInheritFrom"/>
<Label Grid.Row="1" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.InheritFrom}" Target="TextBoxUpdateActionInheritFrom"/>
<TextBox
Grid.Row="1" Grid.Column="1"
x:Name="TextBoxUpdateActionInheritFrom"
Text="{Binding InheritFrom}"/>
<!-- Update type -->
<Label Grid.Row="2" Grid.Column="0" Content="Update type" Target="ComboBoxUpdateActionSourceType"/>
<Label Grid.Row="2" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.UpdateType}" Target="ComboBoxUpdateActionSourceType"/>
<ComboBox
Grid.Row="2" Grid.Column="1"
x:Name="ComboBoxUpdateActionSourceType"
@@ -227,7 +227,7 @@
SelectedValue="{Binding UpdateType}"/>
<!-- Source path -->
<Label Grid.Row="3" Grid.Column="0" Content="Source path" Target="TextBoxInstallActionSourcePath"/>
<Label Grid.Row="3" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.SourcePath}" Target="TextBoxInstallActionSourcePath"/>
<TextBox
Grid.Row="3" Grid.Column="1"
x:Name="TextBoxInstallActionSourcePath"
@@ -236,7 +236,7 @@
<!-- Is Directory -->
<CheckBox Grid.Row="4" Grid.Column="1"
x:Name="CheckBoxUpdateActionIsDir"
Content="Is Directory"
Content="{x:Static langRes:GeneralLangRes.IsDirectory}"
IsChecked="{Binding IsDirectory}"/>
</Grid>
@@ -256,25 +256,25 @@
<Image
x:Name="ImageGeneral"
Width="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="General" FontSize="20"/>
<TextBlock Text="{x:Static langRes:GeneralLangRes.General}" FontSize="20"/>
</StackPanel>
<!-- Id -->
<Label Grid.Row="1" Grid.Column="0" Content="Id" Target="TextBoxInstallActionId"/>
<Label Grid.Row="1" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.Id}" Target="TextBoxInstallActionId"/>
<TextBox
Grid.Row="1" Grid.Column="1"
x:Name="TextBoxInstallActionId"
Text="{Binding Id}"/>
<!-- Name -->
<Label Grid.Row="2" Grid.Column="0" Content="Name" Target="TextBoxInstallActionName"/>
<Label Grid.Row="2" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.Name}" Target="TextBoxInstallActionName"/>
<TextBox
Grid.Row="2" Grid.Column="1"
x:Name="TextBoxInstallActionName"
Text="{Binding Name}"/>
<!-- Side -->
<Label Grid.Row="3" Grid.Column="0" Content="Side" Target="ComboBoxInstallActionSide"/>
<Label Grid.Row="3" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.Side}" Target="ComboBoxInstallActionSide"/>
<ComboBox
Grid.Row="3" Grid.Column="1"
x:Name="ComboBoxInstallActionSide"
@@ -287,7 +287,7 @@
<CheckBox
Grid.Row="4" Grid.Column="1"
x:Name="CheckBoxInstallActionIsExtra"
Content="Is Extra"
Content="{x:Static langRes:GeneralLangRes.IsExtra}"
IsChecked="{Binding IsExtra}"/>
</Grid>
@@ -307,11 +307,11 @@
<Image
x:Name="ImageDestination"
Width="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="Destination" FontSize="20"/>
<TextBlock Text="{x:Static langRes:GeneralLangRes.Destination}" FontSize="20"/>
</StackPanel>
<!-- Destination path -->
<Label Grid.Row="1" Grid.Column="0" Content="Destination path" Target="TextBoxInstallDestPath"/>
<Label Grid.Row="1" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.DestinationPath}" Target="TextBoxInstallDestPath"/>
<TextBox
Grid.Row="1" Grid.Column="1"
x:Name="TextBoxInstallDestPath"
@@ -334,11 +334,11 @@
<Image
x:Name="ImageSource"
Width="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="Source" FontSize="20"/>
<TextBlock Text="{x:Static langRes:GeneralLangRes.Source}" FontSize="20"/>
</StackPanel>
<!-- Source types -->
<Label Grid.Row="1" Grid.Column="0" Content="Source type" Target="CheckBoxInstallActionSourceType"/>
<Label Grid.Row="1" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.SourceType}" Target="CheckBoxInstallActionSourceType"/>
<ComboBox
Grid.Row="1" Grid.Column="1"
x:Name="CheckBoxInstallActionSourceType"
@@ -350,38 +350,38 @@
<!-- Is Zip -->
<CheckBox Grid.Row="2" Grid.Column="1"
x:Name="CheckBoxInstallActionIsZip"
Content="Is Zip archive"
Content="{x:Static langRes:GeneralLangRes.IsZipArchive}"
IsChecked="{Binding IsZip}"/>
<!-- Source owner -->
<Label Grid.Row="3" Grid.Column="0" Content="Source owner" Target="TextBoxInstallActionSourceOwner"/>
<Label Grid.Row="3" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.SourceOwner}" Target="TextBoxInstallActionSourceOwner"/>
<TextBox
Grid.Row="3" Grid.Column="1"
x:Name="TextBoxInstallActionSourceOwner"
Text="{Binding SourceOwner}"/>
<!-- Source name -->
<Label Grid.Row="4" Grid.Column="0" Content="Source name" Target="TextBoxInstallActionSourceName"/>
<Label Grid.Row="4" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.SourceName}" Target="TextBoxInstallActionSourceName"/>
<TextBox
Grid.Row="4" Grid.Column="1"
x:Name="TextBoxInstallActionSourceName"
Text="{Binding SourceName}"/>
<!-- Source RegEx -->
<Label Grid.Row="5" Grid.Column="0" Content="Source RegEx" Target="TextBoxInstallActionSourceRegEx"/>
<Label Grid.Row="5" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.SourceRegex}" Target="TextBoxInstallActionSourceRegEx"/>
<TextBox
Grid.Row="5" Grid.Column="1"
x:Name="TextBoxInstallActionSourceRegEx"
Text="{Binding SourceRegex}"/>
<!-- Source url -->
<Label Grid.Row="6" Grid.Column="0" Content="Source URL" Target="TextBoxInstallActionSourceUrl"/>
<Label Grid.Row="6" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.SourceUrl}" Target="TextBoxInstallActionSourceUrl"/>
<TextBox
Grid.Row="6" Grid.Column="1"
x:Name="TextBoxInstallActionSourceUrl" Text="{Binding SourceUrl}"/>
<!-- Zip archive path -->
<Label Grid.Row="7" Grid.Column="0" Content="ZIP archive path" Target="TextBoxInstallActionZipArchivePath"/>
<Label Grid.Row="7" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.ZipArchivePath}" Target="TextBoxInstallActionZipArchivePath"/>
<TextBox
Grid.Row="7" Grid.Column="1"
x:Name="TextBoxInstallActionZipArchivePath"
@@ -405,11 +405,11 @@
<Image
x:Name="ImageMetadata"
Width="{x:Static symbols:SymbolGlobals.DefaultImageMediumSize}"/>
<TextBlock Text="Metadata" FontSize="20"/>
<TextBlock Text="{x:Static langRes:GeneralLangRes.Metadata}" FontSize="20"/>
</StackPanel>
<!-- Website -->
<Label Grid.Row="1" Grid.Column="0" Content="Website" Target="TextBoxInstallActionWebsite"/>
<Label Grid.Row="1" Grid.Column="0" Content="{x:Static langRes:GeneralLangRes.Website}" Target="TextBoxInstallActionWebsite"/>
<TextBox
Grid.Row="1" Grid.Column="1"
x:Name="TextBoxInstallActionWebsite"

View File

@@ -1,6 +1,7 @@
using System.Collections.ObjectModel;
using System.ComponentModel;
using ModpackUpdater.Apps.Manager.Api.Model;
using ModpackUpdater.Apps.Manager.LangRes;
using PropertyChanged;
namespace ModpackUpdater.Apps.Manager.Ui.Models.MainWindow;
@@ -37,7 +38,7 @@ public class MainWindowViewModel : INotifyPropertyChanged
currentTreeNodes =
[
new ActionSetTreeNode(currentWorkspace.InstallInfos),
new SimpleMainWindowTreeNode("Updates")
new SimpleMainWindowTreeNode(GeneralLangRes.Updates)
{
Image = AppGlobals.Symbols.GetImageSource(AppSymbols.update_done),
Nodes = [.. currentWorkspace.UpdateInfos.Updates.Select(n => new ActionSetTreeNode(n))],

View File

@@ -5,6 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:dialogs="https://git.pilzinsel64.de/pilz-framework/pilz"
xmlns:updatesCollectorViewMode="clr-namespace:ModpackUpdater.Apps.Manager.Ui.Models.UpdatesCollectorViewMode"
xmlns:langRes="clr-namespace:ModpackUpdater.Apps.Manager.LangRes"
mc:Ignorable="d"
d:DesignWidth="600"
d:DesignHeight="450"
@@ -69,7 +70,7 @@
Grid.Column="3"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Content="Remove"
Content="{x:Static langRes:GeneralLangRes.Remove}"
Click="ButtonRemoveUpdate_Click"/>
</Grid>
</DataTemplate>