tools: clean-up config tool build messages

This fixes VS messages regarding namespaces, removes some redundant
usings and SDK parameters, and adds XAML design data contexts.
This commit is contained in:
lahm86 2025-04-03 10:21:57 +01:00
parent 494c2724fc
commit de1a63fc74
29 changed files with 69 additions and 66 deletions

View file

@ -1,17 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework> <TargetFramework>net6.0-windows</TargetFramework>
<Nullable>disable</Nullable> <Nullable>disable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseWpf>true</UseWpf> <UseWpf>true</UseWpf>
<UseWindowsForms>true</UseWindowsForms> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<GenerateAssemblyInfo>true</GenerateAssemblyInfo> <GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<AssemblyName>TR1X_ConfigTool</AssemblyName> <AssemblyName>TR1X_ConfigTool</AssemblyName>
<ProduceReferenceAssembly>True</ProduceReferenceAssembly> <ProduceReferenceAssembly>True</ProduceReferenceAssembly>
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
<EnableWindowsTargeting>true</EnableWindowsTargeting> <EnableWindowsTargeting>true</EnableWindowsTargeting>
<PublishSingleFile>true</PublishSingleFile> <PublishSingleFile>true</PublishSingleFile>
<PublishTrimmed>false</PublishTrimmed> <PublishTrimmed>false</PublishTrimmed>
@ -23,10 +22,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Remove="out\**" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<EmbeddedResource Remove="out\**" /> <ProjectReference Include="..\TRX_ConfigToolLib\TRX_ConfigToolLib.csproj" />
<None Remove="out\**" />
<Page Remove="out\**" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -65,10 +62,5 @@
<EmbeddedResource Include="Resources\Lang\fr.json" /> <EmbeddedResource Include="Resources\Lang\fr.json" />
<EmbeddedResource Include="Resources\Lang\it.json" /> <EmbeddedResource Include="Resources\Lang\it.json" />
<EmbeddedResource Include="Resources\specification.json" /> <EmbeddedResource Include="Resources\specification.json" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\TRX_ConfigToolLib\TRX_ConfigToolLib.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View file

@ -10,8 +10,7 @@
version="6.0.0.0" version="6.0.0.0"
processorArchitecture="*" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df" publicKeyToken="6595b64144ccf1df"
language="*" language="*"/>
/>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
</assembly> </assembly>

View file

@ -1,17 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework> <TargetFramework>net6.0-windows</TargetFramework>
<Nullable>disable</Nullable> <Nullable>disable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseWpf>true</UseWpf> <UseWpf>true</UseWpf>
<UseWindowsForms>true</UseWindowsForms> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<GenerateAssemblyInfo>true</GenerateAssemblyInfo> <GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<AssemblyName>TR2X_ConfigTool</AssemblyName> <AssemblyName>TR2X_ConfigTool</AssemblyName>
<ProduceReferenceAssembly>True</ProduceReferenceAssembly> <ProduceReferenceAssembly>True</ProduceReferenceAssembly>
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
<EnableWindowsTargeting>true</EnableWindowsTargeting> <EnableWindowsTargeting>true</EnableWindowsTargeting>
<PublishSingleFile>true</PublishSingleFile> <PublishSingleFile>true</PublishSingleFile>
<PublishTrimmed>false</PublishTrimmed> <PublishTrimmed>false</PublishTrimmed>
@ -23,10 +22,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Remove="out\**" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<EmbeddedResource Remove="out\**" /> <ProjectReference Include="..\TRX_ConfigToolLib\TRX_ConfigToolLib.csproj" />
<None Remove="out\**" />
<Page Remove="out\**" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -59,10 +56,5 @@
<EmbeddedResource Include="Resources\Lang\en.json" /> <EmbeddedResource Include="Resources\Lang\en.json" />
<EmbeddedResource Include="Resources\Lang\it.json" /> <EmbeddedResource Include="Resources\Lang\it.json" />
<EmbeddedResource Include="Resources\specification.json" /> <EmbeddedResource Include="Resources\specification.json" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\TRX_ConfigToolLib\TRX_ConfigToolLib.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View file

@ -10,8 +10,7 @@
version="6.0.0.0" version="6.0.0.0"
processorArchitecture="*" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df" publicKeyToken="6595b64144ccf1df"
language="*" language="*"/>
/>
</dependentAssembly> </dependentAssembly>
</dependency> </dependency>
</assembly> </assembly>

View file

@ -4,7 +4,9 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:models="clr-namespace:TRX_ConfigToolLib.Models"
mc:Ignorable="d" mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=models:AboutWindowViewModel}"
Title="{Binding ViewText[window_title_about]}" Title="{Binding ViewText[window_title_about]}"
SizeToContent="WidthAndHeight" SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterOwner" WindowStartupLocation="CenterOwner"

View file

@ -5,7 +5,9 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:TRX_ConfigToolLib.Controls" xmlns:controls="clr-namespace:TRX_ConfigToolLib.Controls"
xmlns:models="clr-namespace:TRX_ConfigToolLib.Models"
mc:Ignorable="d" mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=models:CategoryViewModel}"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800"> d:DesignWidth="800">

View file

@ -5,9 +5,11 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:TRX_ConfigToolLib.Controls" xmlns:controls="clr-namespace:TRX_ConfigToolLib.Controls"
xmlns:models="clr-namespace:TRX_ConfigToolLib.Models" xmlns:models="clr-namespace:TRX_ConfigToolLib.Models.Specification"
xmlns:utils="clr-namespace:TRX_ConfigToolLib.Utils" xmlns:types="clr-namespace:TRX_ConfigToolLib.Models.Specification.Types"
xmlns:converters="clr-namespace:TRX_ConfigToolLib.Utils.Converters"
mc:Ignorable="d" mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=models:BaseProperty}"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800"> d:DesignWidth="800">
@ -16,11 +18,11 @@
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/TRX_ConfigToolLib;component/Resources/styles.xaml" /> <ResourceDictionary Source="/TRX_ConfigToolLib;component/Resources/styles.xaml" />
<ResourceDictionary> <ResourceDictionary>
<utils:BoolToVisibilityConverter <converters:BoolToVisibilityConverter
x:Key="BoolToCollapsedConverter" x:Key="BoolToCollapsedConverter"
FalseValue="Collapsed" FalseValue="Collapsed"
TrueValue="Visible"/> TrueValue="Visible"/>
<utils:BoolToVisibilityConverter <converters:BoolToVisibilityConverter
x:Key="InverseBoolToCollapsedConverter" x:Key="InverseBoolToCollapsedConverter"
FalseValue="Visible" FalseValue="Visible"
TrueValue="Collapsed"/> TrueValue="Collapsed"/>
@ -43,14 +45,14 @@
HorizontalAlignment="Left" HorizontalAlignment="Left"
Visibility="{Binding IsEnabled, Converter={StaticResource BoolToCollapsedConverter}}"> Visibility="{Binding IsEnabled, Converter={StaticResource BoolToCollapsedConverter}}">
<ContentControl.Resources> <ContentControl.Resources>
<DataTemplate DataType="{x:Type models:BoolProperty}"> <DataTemplate DataType="{x:Type types:BoolProperty}">
<CheckBox <CheckBox
IsChecked="{Binding Value, Mode=TwoWay}" IsChecked="{Binding Value, Mode=TwoWay}"
Content="{Binding DataContext.ViewText[checkbox_enabled], RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" Content="{Binding DataContext.ViewText[checkbox_enabled], RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"
Style="{StaticResource PropertyCheckboxStyle}"/> Style="{StaticResource PropertyCheckboxStyle}"/>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type models:EnumProperty}"> <DataTemplate DataType="{x:Type types:EnumProperty}">
<ComboBox <ComboBox
ItemsSource="{Binding Options}" ItemsSource="{Binding Options}"
SelectedItem="{Binding Value, Mode=TwoWay}" SelectedItem="{Binding Value, Mode=TwoWay}"
@ -58,7 +60,7 @@
Style="{StaticResource PropertyComboBoxStyle}"/> Style="{StaticResource PropertyComboBoxStyle}"/>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type models:NumericProperty}"> <DataTemplate DataType="{x:Type types:NumericProperty}">
<controls:NumericUpDown <controls:NumericUpDown
MinValue="{Binding MinimumValue}" MinValue="{Binding MinimumValue}"
MaxValue="{Binding MaximumValue}" MaxValue="{Binding MaximumValue}"

View file

@ -5,8 +5,11 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:TRX_ConfigToolLib.Controls" xmlns:controls="clr-namespace:TRX_ConfigToolLib.Controls"
xmlns:models="clr-namespace:TRX_ConfigToolLib.Models"
xmlns:utils="clr-namespace:TRX_ConfigToolLib.Utils" xmlns:utils="clr-namespace:TRX_ConfigToolLib.Utils"
xmlns:converters="clr-namespace:TRX_ConfigToolLib.Utils.Converters"
mc:Ignorable="d" mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=models:MainWindowViewModel}"
ResizeMode="CanResizeWithGrip" ResizeMode="CanResizeWithGrip"
WindowStartupLocation="CenterScreen" WindowStartupLocation="CenterScreen"
Loaded="Window_Loaded" Loaded="Window_Loaded"
@ -22,15 +25,15 @@
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/TRX_ConfigToolLib;component/Resources/styles.xaml" /> <ResourceDictionary Source="/TRX_ConfigToolLib;component/Resources/styles.xaml" />
<ResourceDictionary> <ResourceDictionary>
<utils:BoolToVisibilityConverter <converters:BoolToVisibilityConverter
x:Key="BoolToCollapsedConverter" x:Key="BoolToCollapsedConverter"
FalseValue="Collapsed" FalseValue="Collapsed"
TrueValue="Visible"/> TrueValue="Visible"/>
<utils:BoolToVisibilityConverter <converters:BoolToVisibilityConverter
x:Key="InverseBoolToCollapsedConverter" x:Key="InverseBoolToCollapsedConverter"
FalseValue="Visible" FalseValue="Visible"
TrueValue="Collapsed"/> TrueValue="Collapsed"/>
<utils:BoolToVisibilityConverter <converters:BoolToVisibilityConverter
x:Key="BoolToHiddenConverter" x:Key="BoolToHiddenConverter"
FalseValue="Hidden" FalseValue="Hidden"
TrueValue="Visible"/> TrueValue="Visible"/>
@ -126,7 +129,7 @@
Grid.Column="1" Grid.Column="1"
BorderBrush="#666" BorderBrush="#666"
BorderThickness="1" BorderThickness="1"
Background="{Binding SearchFailStatus, Converter={utils:ConditionalMarkupConverter TrueValue='#FFC7CE', FalseValue='White'}}"> Background="{Binding SearchFailStatus, Converter={converters:ConditionalMarkupConverter TrueValue='#FFC7CE', FalseValue='White'}}">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/> <ColumnDefinition Width="300"/>
@ -201,8 +204,8 @@
Visibility="{Binding IsEditorActive, Converter={StaticResource BoolToHiddenConverter}}"/> Visibility="{Binding IsEditorActive, Converter={StaticResource BoolToHiddenConverter}}"/>
<StatusBarItem> <StatusBarItem>
<TextBlock <TextBlock
Text="{Binding IsEditorDirty, Converter={utils:ConditionalViewTextConverter TrueValue='label_unsaved', FalseValue='label_saved'}}" Text="{Binding IsEditorDirty, Converter={converters:ConditionalViewTextConverter TrueValue='label_unsaved', FalseValue='label_saved'}}"
Foreground="{Binding IsEditorDirty, Converter={utils:ConditionalMarkupConverter TrueValue='DarkRed', FalseValue='DarkGreen'}}" Foreground="{Binding IsEditorDirty, Converter={converters:ConditionalMarkupConverter TrueValue='DarkRed', FalseValue='DarkGreen'}}"
FontWeight="Bold" FontWeight="Bold"
Visibility="{Binding IsEditorActive, Converter={StaticResource BoolToHiddenConverter}}"/> Visibility="{Binding IsEditorActive, Converter={StaticResource BoolToHiddenConverter}}"/>
</StatusBarItem> </StatusBarItem>

View file

@ -1,4 +1,7 @@
namespace TRX_ConfigToolLib.Models; using TRX_ConfigToolLib.Models.Lang;
using TRX_ConfigToolLib.Utils;
namespace TRX_ConfigToolLib.Models;
public class BaseLanguageViewModel : BaseNotifyPropertyChanged public class BaseLanguageViewModel : BaseNotifyPropertyChanged
{ {

View file

@ -1,4 +1,5 @@
using TRX_ConfigToolLib.Utils; using TRX_ConfigToolLib.Models.Specification;
using TRX_ConfigToolLib.Utils;
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models;

View file

@ -3,7 +3,7 @@ using Newtonsoft.Json.Linq;
using System.Globalization; using System.Globalization;
using TRX_ConfigToolLib.Utils; using TRX_ConfigToolLib.Utils;
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models.Lang;
public class Language public class Language
{ {

View file

@ -1,4 +1,4 @@
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models.Lang;
public class PropertyText public class PropertyText
{ {

View file

@ -4,6 +4,7 @@ using System.IO;
using System.Windows; using System.Windows;
using System.Windows.Input; using System.Windows.Input;
using TRX_ConfigToolLib.Controls; using TRX_ConfigToolLib.Controls;
using TRX_ConfigToolLib.Models.Specification;
using TRX_ConfigToolLib.Utils; using TRX_ConfigToolLib.Utils;
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models;

View file

@ -1,6 +1,7 @@
using TRX_ConfigToolLib.Utils; using TRX_ConfigToolLib.Models.Lang;
using TRX_ConfigToolLib.Utils;
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models.Specification;
public abstract class BaseProperty : BaseNotifyPropertyChanged public abstract class BaseProperty : BaseNotifyPropertyChanged
{ {

View file

@ -1,4 +1,6 @@
namespace TRX_ConfigToolLib.Models; using TRX_ConfigToolLib.Models.Lang;
namespace TRX_ConfigToolLib.Models.Specification;
public class Category public class Category
{ {

View file

@ -2,8 +2,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using System.IO; using System.IO;
using TRX_ConfigToolLib.Utils; using TRX_ConfigToolLib.Utils;
using TRX_ConfigToolLib.Utils.Json;
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models.Specification;
public class Configuration public class Configuration
{ {

View file

@ -1,4 +1,4 @@
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models.Specification;
public enum DataType public enum DataType
{ {

View file

@ -1,4 +1,6 @@
namespace TRX_ConfigToolLib.Models; using TRX_ConfigToolLib.Models.Lang;
namespace TRX_ConfigToolLib.Models.Specification;
public class EnumOption public class EnumOption
{ {

View file

@ -1,8 +1,8 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using TRX_ConfigToolLib.Utils; using TRX_ConfigToolLib.Utils.Json;
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models.Specification;
public class Specification public class Specification
{ {

View file

@ -1,4 +1,4 @@
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models.Specification.Types;
public class BoolProperty : BaseProperty public class BoolProperty : BaseProperty
{ {

View file

@ -1,4 +1,4 @@
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models.Specification.Types;
public class EnumProperty : BaseProperty public class EnumProperty : BaseProperty
{ {

View file

@ -1,4 +1,4 @@
namespace TRX_ConfigToolLib.Models; namespace TRX_ConfigToolLib.Models.Specification.Types;
public class NumericProperty : BaseProperty public class NumericProperty : BaseProperty
{ {

View file

@ -1,7 +1,7 @@
using System.ComponentModel; using System.ComponentModel;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
namespace TRX_ConfigToolLib; namespace TRX_ConfigToolLib.Utils;
public abstract class BaseNotifyPropertyChanged : INotifyPropertyChanged public abstract class BaseNotifyPropertyChanged : INotifyPropertyChanged
{ {

View file

@ -2,7 +2,7 @@
using System.Windows; using System.Windows;
using System.Windows.Data; using System.Windows.Data;
namespace TRX_ConfigToolLib.Utils; namespace TRX_ConfigToolLib.Utils.Converters;
[ValueConversion(typeof(bool), typeof(Visibility))] [ValueConversion(typeof(bool), typeof(Visibility))]
public class BoolToVisibilityConverter : IValueConverter public class BoolToVisibilityConverter : IValueConverter

View file

@ -2,7 +2,7 @@ using System.Globalization;
using System.Windows.Data; using System.Windows.Data;
using System.Windows.Markup; using System.Windows.Markup;
namespace TRX_ConfigToolLib.Utils; namespace TRX_ConfigToolLib.Utils.Converters;
public class ConditionalMarkupConverter : MarkupExtension, IValueConverter public class ConditionalMarkupConverter : MarkupExtension, IValueConverter
{ {

View file

@ -1,7 +1,7 @@
using System.Globalization; using System.Globalization;
using TRX_ConfigToolLib.Models; using TRX_ConfigToolLib.Models.Lang;
namespace TRX_ConfigToolLib.Utils; namespace TRX_ConfigToolLib.Utils.Converters;
public class ConditionalViewTextConverter : ConditionalMarkupConverter public class ConditionalViewTextConverter : ConditionalMarkupConverter
{ {

View file

@ -1,7 +1,7 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using System.Globalization; using System.Globalization;
namespace TRX_ConfigToolLib.Utils; namespace TRX_ConfigToolLib.Utils.Json;
public class NumericConverter : JsonConverter<decimal> public class NumericConverter : JsonConverter<decimal>
{ {

View file

@ -1,8 +1,9 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using TRX_ConfigToolLib.Models; using TRX_ConfigToolLib.Models.Specification;
using TRX_ConfigToolLib.Models.Specification.Types;
namespace TRX_ConfigToolLib.Utils; namespace TRX_ConfigToolLib.Utils.Json;
public class PropertyConverter : JsonConverter public class PropertyConverter : JsonConverter
{ {

View file

@ -1,8 +1,8 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Serialization; using Newtonsoft.Json.Serialization;
using TRX_ConfigToolLib.Models; using TRX_ConfigToolLib.Models.Specification;
namespace TRX_ConfigToolLib.Utils; namespace TRX_ConfigToolLib.Utils.Json;
public class PropertyResolver : DefaultContractResolver public class PropertyResolver : DefaultContractResolver
{ {