mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Meta - Updated Nuget packages
Settings - Changed where panels start scrolling Home - Clip cards to bounds Sidebar - Added category creation/renaming Debugger - Fixed existing window focus Tray icon - Implemented all functionality
This commit is contained in:
parent
955b223b35
commit
4c5c785aa6
@ -89,8 +89,8 @@
|
|||||||
},
|
},
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"McMaster.NETCore.Plugins": {
|
"McMaster.NETCore.Plugins": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -1217,7 +1217,7 @@
|
|||||||
"EmbedIO": "3.4.3",
|
"EmbedIO": "3.4.3",
|
||||||
"HidSharp": "2.1.0",
|
"HidSharp": "2.1.0",
|
||||||
"Humanizer.Core": "2.11.10",
|
"Humanizer.Core": "2.11.10",
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"McMaster.NETCore.Plugins": "1.4.0",
|
"McMaster.NETCore.Plugins": "1.4.0",
|
||||||
"Newtonsoft.Json": "13.0.1",
|
"Newtonsoft.Json": "13.0.1",
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
@ -1238,7 +1238,7 @@
|
|||||||
"artemis.storage": {
|
"artemis.storage": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -41,7 +41,7 @@
|
|||||||
<PackageReference Include="EmbedIO" Version="3.4.3" />
|
<PackageReference Include="EmbedIO" Version="3.4.3" />
|
||||||
<PackageReference Include="HidSharp" Version="2.1.0" />
|
<PackageReference Include="HidSharp" Version="2.1.0" />
|
||||||
<PackageReference Include="Humanizer.Core" Version="2.11.10" />
|
<PackageReference Include="Humanizer.Core" Version="2.11.10" />
|
||||||
<PackageReference Include="LiteDB" Version="5.0.10" />
|
<PackageReference Include="LiteDB" Version="5.0.11" />
|
||||||
<PackageReference Include="McMaster.NETCore.Plugins" Version="1.4.0" />
|
<PackageReference Include="McMaster.NETCore.Plugins" Version="1.4.0" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||||
<PackageReference Include="Ninject" Version="3.3.4" />
|
<PackageReference Include="Ninject" Version="3.3.4" />
|
||||||
|
|||||||
@ -25,9 +25,9 @@
|
|||||||
},
|
},
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[5.0.10, )",
|
"requested": "[5.0.11, )",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"McMaster.NETCore.Plugins": {
|
"McMaster.NETCore.Plugins": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
@ -1225,7 +1225,7 @@
|
|||||||
"artemis.storage": {
|
"artemis.storage": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="LiteDB" Version="5.0.10" />
|
<PackageReference Include="LiteDB" Version="5.0.11" />
|
||||||
<PackageReference Include="Serilog" Version="2.10.0" />
|
<PackageReference Include="Serilog" Version="2.10.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@ -4,9 +4,9 @@
|
|||||||
".NETCoreApp,Version=v5.0": {
|
".NETCoreApp,Version=v5.0": {
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[5.0.10, )",
|
"requested": "[5.0.11, )",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"Serilog": {
|
"Serilog": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
|
|||||||
@ -689,6 +689,17 @@
|
|||||||
Represents errors that occur within the Artemis Shared UI library
|
Represents errors that occur within the Artemis Shared UI library
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:Artemis.UI.Shared.Extensions.ControlExtensions">
|
||||||
|
<summary>
|
||||||
|
Provides extension methods for Avalonia's <see cref="T:Avalonia.Controls.Control" /> type
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Artemis.UI.Shared.Extensions.ControlExtensions.ClearAllDataValidationErrors(Avalonia.Controls.Control)">
|
||||||
|
<summary>
|
||||||
|
Clears all data validation errors on the given control and any of it's logical siblings
|
||||||
|
</summary>
|
||||||
|
<param name="target">The target control</param>
|
||||||
|
</member>
|
||||||
<member name="T:Artemis.UI.Shared.Ninject.SharedUIModule">
|
<member name="T:Artemis.UI.Shared.Ninject.SharedUIModule">
|
||||||
<summary>
|
<summary>
|
||||||
The main <see cref="T:Ninject.Modules.NinjectModule" /> of the Artemis Shared UI toolkit that binds all services
|
The main <see cref="T:Ninject.Modules.NinjectModule" /> of the Artemis Shared UI toolkit that binds all services
|
||||||
@ -1070,6 +1081,41 @@
|
|||||||
Occurs when the main window has been closed
|
Occurs when the main window has been closed
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:Artemis.UI.Shared.ContentDialogViewModelBase">
|
||||||
|
<summary>
|
||||||
|
Represents the base class for Artemis view models
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Artemis.UI.Shared.ContentDialogViewModelBase.ContentDialog">
|
||||||
|
<summary>
|
||||||
|
Gets the content dialog that hosts the view model
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Artemis.UI.Shared.ContentDialogViewModelBase.Activator">
|
||||||
|
<inheritdoc />
|
||||||
|
</member>
|
||||||
|
<member name="M:Artemis.UI.Shared.ContentDialogViewModelBase.Dispose(System.Boolean)">
|
||||||
|
<summary>
|
||||||
|
Releases the unmanaged resources used by the object and optionally releases the managed resources.
|
||||||
|
</summary>
|
||||||
|
<param name="disposing">
|
||||||
|
<see langword="true" /> to release both managed and unmanaged resources;
|
||||||
|
<see langword="false" /> to release only unmanaged resources.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Artemis.UI.Shared.ContentDialogViewModelBase.Dispose">
|
||||||
|
<inheritdoc />
|
||||||
|
</member>
|
||||||
|
<member name="T:Artemis.UI.Shared.ViewModelValidationBase">
|
||||||
|
<summary>
|
||||||
|
Represents the base class for Artemis view models
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Artemis.UI.Shared.ViewModelValidationBase.DisplayName">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the display name of the view model
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:Artemis.UI.Shared.ViewModelBase">
|
<member name="T:Artemis.UI.Shared.ViewModelBase">
|
||||||
<summary>
|
<summary>
|
||||||
Represents the base class for Artemis view models
|
Represents the base class for Artemis view models
|
||||||
|
|||||||
@ -136,8 +136,8 @@
|
|||||||
},
|
},
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"MaterialDesignColors": {
|
"MaterialDesignColors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -1297,7 +1297,7 @@
|
|||||||
"EmbedIO": "3.4.3",
|
"EmbedIO": "3.4.3",
|
||||||
"HidSharp": "2.1.0",
|
"HidSharp": "2.1.0",
|
||||||
"Humanizer.Core": "2.11.10",
|
"Humanizer.Core": "2.11.10",
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"McMaster.NETCore.Plugins": "1.4.0",
|
"McMaster.NETCore.Plugins": "1.4.0",
|
||||||
"Newtonsoft.Json": "13.0.1",
|
"Newtonsoft.Json": "13.0.1",
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
@ -1318,7 +1318,7 @@
|
|||||||
"artemis.storage": {
|
"artemis.storage": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -254,8 +254,8 @@
|
|||||||
},
|
},
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"MaterialDesignColors": {
|
"MaterialDesignColors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -1443,7 +1443,7 @@
|
|||||||
"EmbedIO": "3.4.3",
|
"EmbedIO": "3.4.3",
|
||||||
"HidSharp": "2.1.0",
|
"HidSharp": "2.1.0",
|
||||||
"Humanizer.Core": "2.11.10",
|
"Humanizer.Core": "2.11.10",
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"McMaster.NETCore.Plugins": "1.4.0",
|
"McMaster.NETCore.Plugins": "1.4.0",
|
||||||
"Newtonsoft.Json": "13.0.1",
|
"Newtonsoft.Json": "13.0.1",
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
@ -1464,7 +1464,7 @@
|
|||||||
"artemis.storage": {
|
"artemis.storage": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -91,8 +91,8 @@
|
|||||||
},
|
},
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"MaterialDesignColors": {
|
"MaterialDesignColors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -1303,7 +1303,7 @@
|
|||||||
"EmbedIO": "3.4.3",
|
"EmbedIO": "3.4.3",
|
||||||
"HidSharp": "2.1.0",
|
"HidSharp": "2.1.0",
|
||||||
"Humanizer.Core": "2.11.10",
|
"Humanizer.Core": "2.11.10",
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"McMaster.NETCore.Plugins": "1.4.0",
|
"McMaster.NETCore.Plugins": "1.4.0",
|
||||||
"Newtonsoft.Json": "13.0.1",
|
"Newtonsoft.Json": "13.0.1",
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
@ -1324,7 +1324,7 @@
|
|||||||
"artemis.storage": {
|
"artemis.storage": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -71,10 +71,10 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.PanAndZoom": {
|
"Avalonia.Controls.PanAndZoom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.2.0",
|
"resolved": "4.3.0",
|
||||||
"contentHash": "zIQhp86CdV7xmFXFkaQBDNDr0WSyumEdJvqvIrywG5SEQK3HzACt0gR85KX19DHTlkJlnUVjmfkTEiPjwvgGtA==",
|
"contentHash": "oUpQm2frhjWll5QWLx8Uzc2VWDNXgPqONlNBLu2gFBis1lkce1jjZvu423U7RNfvg1rOMeZoeiodZq7xZ02STA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.8"
|
"Avalonia": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
@ -113,13 +113,13 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Svg.Skia": {
|
"Avalonia.Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.8.3",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "w7RYf+8+gOI3uVZZJ59S0EP49LVsyr1jpnZQzVFQqKa3y/c/i2jT/EUoKOeaqPMhFIsQZyEF4iluqoo6aZ05Tw==",
|
"contentHash": "7xQkg3b/djGjGQe6ODxCY+LxMeZ0MtSFUOeEu8IMMUG89gueptuS84GZMRY27xG8lvjP3Mu8B1p3/YY5u7UiDg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.8",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Skia": "0.10.8",
|
"Avalonia.Skia": "0.10.10",
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
"Svg.Skia": "0.5.8.3"
|
"Svg.Skia": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
@ -145,27 +145,27 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "rHDkieWZDTjG+PVGQzronzknmH24r2VDtzbNfC3O8FLZGqREsBoCRDrqW4R4bmtD6CqpDPBey5soBYnnDE1m3Q==",
|
"contentHash": "iSVOObfXch8vFzhYFvwGntRt4l4kg+dxXYc4C4RDhnoyPh60BCMUzdk2gYUYySv9UVSGAhqH4dQPWZ0l9USmYA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.10",
|
"Avalonia.Xaml.Interactions": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10"
|
"Avalonia.Xaml.Interactivity": "0.10.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "bOJvciyk6kUjPx+mg6n+bwHQqRqgNiTDzTBkpokfkcWl9pMAlKvqqUe6YXWVCpKIDBjbzvkAbYa29S0ajqwFxw==",
|
"contentHash": "OAwrl0tzsz+iX2z3T5wdsEG/JkbnlylfXUjCfbgQlQqODUBO0kk02RpCHJMnV86apkVXjeLV+S5+yA1yX+DT6g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10"
|
"Avalonia.Xaml.Interactivity": "0.10.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "xxWrpi0HsySczpU3Zl6c2ugbkTOs9qwqbvClfi/AKncoVbWpXv7W6J3kfQcfRlnKFwkTPjLyTYKVERIkb7kNCQ==",
|
"contentHash": "RH33/HboQikon64SCfu1qFpuy4+mox2SEGYbXrrw9mnw3Ogw8PeYTJLtZw8/mNYs6dZAU3NusRBaLIG+0PGisw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10"
|
"Avalonia": "0.10.10"
|
||||||
}
|
}
|
||||||
@ -189,8 +189,8 @@
|
|||||||
},
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "7.1.1",
|
"resolved": "7.3.1",
|
||||||
"contentHash": "Pc6J5bFnSxEa64PV2V67FMcLlDdpv6m+zTBKSnRN3aLon/WtWWy8kuDpHFbJlgXHtqc6Nxloj9ItuvDlvKC/8w==",
|
"contentHash": "E9oTvWlAgzct0MuWt6k+0s+nSDA3LkFVvDwkMUTklIZZnva314KZAEF2vG4XX9I98ia+EpMqjte67jWEBJlsRw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -210,12 +210,12 @@
|
|||||||
},
|
},
|
||||||
"FluentAvaloniaUI": {
|
"FluentAvaloniaUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.1.5",
|
"resolved": "1.1.6",
|
||||||
"contentHash": "1W1VZQaCeH4/kzNM2c9yPHAVVs9lW9/09bzz1lqu7Tvu79u9JCOjwkZmR8rGC0KbyOA7twwVr2/VvB84zDZYvA==",
|
"contentHash": "EJukyiTmEVhaYlHdntFMyQKI4+u772rSClKYQqJRfkTb1NoJXLqiIVqMjx8ZQ0pxnfih+6CZ7+x82lfrGHIPUw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Desktop": "0.10.9",
|
"Avalonia.Desktop": "0.10.10",
|
||||||
"Avalonia.Diagnostics": "0.10.9"
|
"Avalonia.Diagnostics": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Flurl": {
|
"Flurl": {
|
||||||
@ -269,8 +269,8 @@
|
|||||||
},
|
},
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"Live.Avalonia": {
|
"Live.Avalonia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -505,13 +505,19 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.2.10",
|
"resolved": "16.2.6",
|
||||||
"contentHash": "fOCbEZ+RsO2Jhv6vB8VX+ZEvczYJaC95atcSG7oXohJeL/sEwbbqvv9k+tbj2l4bRSj2j5CQvhwA3HNLaxlCAg==",
|
"contentHash": "jf1RvD8HxHuA6CGQtheGHUCHzRrhpvo0z593Npsz7g8KJWXfGR45Dc9bILJHoymBxhdDD1L1WjUfh0fcucIPPg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.1.1",
|
"DynamicData": "7.3.1",
|
||||||
"Splat": "10.0.1",
|
"Splat": "13.1.1"
|
||||||
"System.Reactive": "5.0.0",
|
}
|
||||||
"System.Runtime.Serialization.Primitives": "4.3.0"
|
},
|
||||||
|
"ReactiveUI.Validation": {
|
||||||
|
"type": "Transitive",
|
||||||
|
"resolved": "2.2.1",
|
||||||
|
"contentHash": "rhEphZ4ErbGfNtbBQ/tYMsLJYHyLVyqidU+sgZ3kXKbS7QrNoM4j6PPxCwLMKsJUuvVL8JN45xgmB9tSwm7+lg==",
|
||||||
|
"dependencies": {
|
||||||
|
"ReactiveUI": "16.2.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||||
@ -652,8 +658,8 @@
|
|||||||
},
|
},
|
||||||
"ShimSkiaSharp": {
|
"ShimSkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "BWwwsIlYUFF0DUc8Pa9xONIXVDvEL9pOYc9YmWilpHrWC37dcK+H4+tfuxztZxtfJx559HGn+6iZmMDjfFoOxA=="
|
"contentHash": "G1ltdwS5+eMhMCoMx31hHjFIznGAjdUK7xAg8raFMFbN09p2tuxzvK7cKbveWm8SEAGIW7NgDyEqGGJzrPrMrg=="
|
||||||
},
|
},
|
||||||
"SkiaSharp": {
|
"SkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -682,22 +688,22 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.1.30",
|
"resolved": "13.1.63",
|
||||||
"contentHash": "yaj3r8CvHQwtvhfTi+dp5LpIb3c4svqe/tL6LdAS8wWP+dXAp3fTCLjYx21TrW1QBFTBJcg9lrJqDPbheSzHbA=="
|
"contentHash": "7iW45RA7AbSlQPCgdokmysva5PGd6iBUhuNkC0XD73LF9dxfTkKeo3wZkohU7nvspDhJ7PJsYHvDtxIt5bMQ8Q=="
|
||||||
},
|
},
|
||||||
"Splat.Ninject": {
|
"Splat.Ninject": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.1.30",
|
"resolved": "13.1.63",
|
||||||
"contentHash": "hYgyD12Syt2l8U/KccMzNUj4nmrdULjoRTF4g5Q9XtVWPrcdTYmLEdcX/prZEWaFT7vGNP6x9uFXvOlM7Jc+gg==",
|
"contentHash": "rTF0HSa6p8nxrXj2hwVgkutcTDJUXY34sY+zYK4ky65b7a0ROL8kdiYyxVVLE4Lq31N5Rcd4bBbqlPkgwZguww==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
"Splat": "13.1.30"
|
"Splat": "13.1.63"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "6FnbI4T3uCNN7DYJpfPFa4caTTJzp4YbhU3J4c/syX7wQNSeQ/1u7JZZ+dGgrRUauiWP8VsiCLKP8qinc5xI5w==",
|
"contentHash": "Ypi/4NxDxjM24vsK+4Uit08aJUFHcZZpB5Ctb7FLMVevMq0hYeDqzKp6OVLFO5UCX/TxUfRiL1u9F7fvUDA0tQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Fizzler": "1.2.0",
|
"Fizzler": "1.2.0",
|
||||||
"System.Drawing.Common": "5.0.0",
|
"System.Drawing.Common": "5.0.0",
|
||||||
@ -708,22 +714,22 @@
|
|||||||
},
|
},
|
||||||
"Svg.Model": {
|
"Svg.Model": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "F/rimPwV5KF64P8oofXGMwOZ0T7b3z1A9OiC4mv5OdSpLpMpUxpSwGLAOkJ5DFqQgXqVjKKLhPdjIjQBwy0AjA==",
|
"contentHash": "sh5W7VpghtFjDnPOMa+CEiIKpJPmkb7FxNuHnB2sLZwJR2qzyVlZaBWM95VaRAXlOU8c0qbtA5ZNVREOpzLQRw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ShimSkiaSharp": "0.5.8.3",
|
"ShimSkiaSharp": "0.5.10",
|
||||||
"Svg.Custom": "0.5.8.3"
|
"Svg.Custom": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Skia": {
|
"Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "ajQ0aINQtEzWkqEXyJjnwqOFNusWNMHJVGrKa1ISbP21nrWJh+tApydLFVFGGjs91d7K3YOUbWDKlEzzdDQaOg==",
|
"contentHash": "Xz/nd+5dNJAh7IbfjyduWIJAtpHNqMopX+ORg6ZNnW6l1I7lK20KHlSdMNy9c18vALrA95eU8WFo00nloLVUkQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
"SkiaSharp.HarfBuzz": "2.80.2",
|
"SkiaSharp.HarfBuzz": "2.80.2",
|
||||||
"Svg.Custom": "0.5.8.3",
|
"Svg.Custom": "0.5.10",
|
||||||
"Svg.Model": "0.5.8.3"
|
"Svg.Model": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
"System.AppContext": {
|
||||||
@ -1335,15 +1341,6 @@
|
|||||||
"System.Runtime.Extensions": "4.3.0"
|
"System.Runtime.Extensions": "4.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Runtime.Serialization.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.AccessControl": {
|
"System.Security.AccessControl": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "5.0.0",
|
||||||
@ -1658,7 +1655,7 @@
|
|||||||
"EmbedIO": "3.4.3",
|
"EmbedIO": "3.4.3",
|
||||||
"HidSharp": "2.1.0",
|
"HidSharp": "2.1.0",
|
||||||
"Humanizer.Core": "2.11.10",
|
"Humanizer.Core": "2.11.10",
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"McMaster.NETCore.Plugins": "1.4.0",
|
"McMaster.NETCore.Plugins": "1.4.0",
|
||||||
"Newtonsoft.Json": "13.0.1",
|
"Newtonsoft.Json": "13.0.1",
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
@ -1679,7 +1676,7 @@
|
|||||||
"artemis.storage": {
|
"artemis.storage": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1689,16 +1686,17 @@
|
|||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Artemis.UI.Shared": "1.0.0",
|
"Artemis.UI.Shared": "1.0.0",
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Controls.PanAndZoom": "4.2.0",
|
"Avalonia.Controls.PanAndZoom": "4.3.0",
|
||||||
"Avalonia.Desktop": "0.10.10",
|
"Avalonia.Desktop": "0.10.10",
|
||||||
"Avalonia.Diagnostics": "0.10.10",
|
"Avalonia.Diagnostics": "0.10.10",
|
||||||
"Avalonia.ReactiveUI": "0.10.10",
|
"Avalonia.ReactiveUI": "0.10.10",
|
||||||
"Avalonia.Svg.Skia": "0.10.8.3",
|
"Avalonia.Svg.Skia": "0.10.10",
|
||||||
"FluentAvaloniaUI": "1.1.5",
|
"FluentAvaloniaUI": "1.1.6",
|
||||||
"Flurl.Http": "3.2.0",
|
"Flurl.Http": "3.2.0",
|
||||||
"Live.Avalonia": "1.3.1",
|
"Live.Avalonia": "1.3.1",
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"Splat.Ninject": "13.1.30"
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
|
"Splat.Ninject": "13.1.63"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artemis.ui.shared": {
|
"artemis.ui.shared": {
|
||||||
@ -1707,12 +1705,13 @@
|
|||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.ReactiveUI": "0.10.10",
|
"Avalonia.ReactiveUI": "0.10.10",
|
||||||
"Avalonia.Svg.Skia": "0.10.8.3",
|
"Avalonia.Svg.Skia": "0.10.10",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.10",
|
"Avalonia.Xaml.Behaviors": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.10",
|
"Avalonia.Xaml.Interactions": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10",
|
"Avalonia.Xaml.Interactivity": "0.10.10.4",
|
||||||
"FluentAvaloniaUI": "1.1.5",
|
"FluentAvaloniaUI": "1.1.6",
|
||||||
"Material.Icons.Avalonia": "1.0.2"
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
|
"ReactiveUI.Validation": "2.2.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -71,10 +71,10 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.PanAndZoom": {
|
"Avalonia.Controls.PanAndZoom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.2.0",
|
"resolved": "4.3.0",
|
||||||
"contentHash": "zIQhp86CdV7xmFXFkaQBDNDr0WSyumEdJvqvIrywG5SEQK3HzACt0gR85KX19DHTlkJlnUVjmfkTEiPjwvgGtA==",
|
"contentHash": "oUpQm2frhjWll5QWLx8Uzc2VWDNXgPqONlNBLu2gFBis1lkce1jjZvu423U7RNfvg1rOMeZoeiodZq7xZ02STA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.8"
|
"Avalonia": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
@ -113,13 +113,13 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Svg.Skia": {
|
"Avalonia.Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.8.3",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "w7RYf+8+gOI3uVZZJ59S0EP49LVsyr1jpnZQzVFQqKa3y/c/i2jT/EUoKOeaqPMhFIsQZyEF4iluqoo6aZ05Tw==",
|
"contentHash": "7xQkg3b/djGjGQe6ODxCY+LxMeZ0MtSFUOeEu8IMMUG89gueptuS84GZMRY27xG8lvjP3Mu8B1p3/YY5u7UiDg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.8",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Skia": "0.10.8",
|
"Avalonia.Skia": "0.10.10",
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
"Svg.Skia": "0.5.8.3"
|
"Svg.Skia": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
@ -145,27 +145,27 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "rHDkieWZDTjG+PVGQzronzknmH24r2VDtzbNfC3O8FLZGqREsBoCRDrqW4R4bmtD6CqpDPBey5soBYnnDE1m3Q==",
|
"contentHash": "iSVOObfXch8vFzhYFvwGntRt4l4kg+dxXYc4C4RDhnoyPh60BCMUzdk2gYUYySv9UVSGAhqH4dQPWZ0l9USmYA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.10",
|
"Avalonia.Xaml.Interactions": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10"
|
"Avalonia.Xaml.Interactivity": "0.10.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "bOJvciyk6kUjPx+mg6n+bwHQqRqgNiTDzTBkpokfkcWl9pMAlKvqqUe6YXWVCpKIDBjbzvkAbYa29S0ajqwFxw==",
|
"contentHash": "OAwrl0tzsz+iX2z3T5wdsEG/JkbnlylfXUjCfbgQlQqODUBO0kk02RpCHJMnV86apkVXjeLV+S5+yA1yX+DT6g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10"
|
"Avalonia.Xaml.Interactivity": "0.10.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "xxWrpi0HsySczpU3Zl6c2ugbkTOs9qwqbvClfi/AKncoVbWpXv7W6J3kfQcfRlnKFwkTPjLyTYKVERIkb7kNCQ==",
|
"contentHash": "RH33/HboQikon64SCfu1qFpuy4+mox2SEGYbXrrw9mnw3Ogw8PeYTJLtZw8/mNYs6dZAU3NusRBaLIG+0PGisw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10"
|
"Avalonia": "0.10.10"
|
||||||
}
|
}
|
||||||
@ -189,8 +189,8 @@
|
|||||||
},
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "7.1.1",
|
"resolved": "7.3.1",
|
||||||
"contentHash": "Pc6J5bFnSxEa64PV2V67FMcLlDdpv6m+zTBKSnRN3aLon/WtWWy8kuDpHFbJlgXHtqc6Nxloj9ItuvDlvKC/8w==",
|
"contentHash": "E9oTvWlAgzct0MuWt6k+0s+nSDA3LkFVvDwkMUTklIZZnva314KZAEF2vG4XX9I98ia+EpMqjte67jWEBJlsRw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -210,12 +210,12 @@
|
|||||||
},
|
},
|
||||||
"FluentAvaloniaUI": {
|
"FluentAvaloniaUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.1.5",
|
"resolved": "1.1.6",
|
||||||
"contentHash": "1W1VZQaCeH4/kzNM2c9yPHAVVs9lW9/09bzz1lqu7Tvu79u9JCOjwkZmR8rGC0KbyOA7twwVr2/VvB84zDZYvA==",
|
"contentHash": "EJukyiTmEVhaYlHdntFMyQKI4+u772rSClKYQqJRfkTb1NoJXLqiIVqMjx8ZQ0pxnfih+6CZ7+x82lfrGHIPUw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Desktop": "0.10.9",
|
"Avalonia.Desktop": "0.10.10",
|
||||||
"Avalonia.Diagnostics": "0.10.9"
|
"Avalonia.Diagnostics": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Flurl": {
|
"Flurl": {
|
||||||
@ -269,8 +269,8 @@
|
|||||||
},
|
},
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"Live.Avalonia": {
|
"Live.Avalonia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -505,13 +505,19 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.2.10",
|
"resolved": "16.2.6",
|
||||||
"contentHash": "fOCbEZ+RsO2Jhv6vB8VX+ZEvczYJaC95atcSG7oXohJeL/sEwbbqvv9k+tbj2l4bRSj2j5CQvhwA3HNLaxlCAg==",
|
"contentHash": "jf1RvD8HxHuA6CGQtheGHUCHzRrhpvo0z593Npsz7g8KJWXfGR45Dc9bILJHoymBxhdDD1L1WjUfh0fcucIPPg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.1.1",
|
"DynamicData": "7.3.1",
|
||||||
"Splat": "10.0.1",
|
"Splat": "13.1.1"
|
||||||
"System.Reactive": "5.0.0",
|
}
|
||||||
"System.Runtime.Serialization.Primitives": "4.3.0"
|
},
|
||||||
|
"ReactiveUI.Validation": {
|
||||||
|
"type": "Transitive",
|
||||||
|
"resolved": "2.2.1",
|
||||||
|
"contentHash": "rhEphZ4ErbGfNtbBQ/tYMsLJYHyLVyqidU+sgZ3kXKbS7QrNoM4j6PPxCwLMKsJUuvVL8JN45xgmB9tSwm7+lg==",
|
||||||
|
"dependencies": {
|
||||||
|
"ReactiveUI": "16.2.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||||
@ -652,8 +658,8 @@
|
|||||||
},
|
},
|
||||||
"ShimSkiaSharp": {
|
"ShimSkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "BWwwsIlYUFF0DUc8Pa9xONIXVDvEL9pOYc9YmWilpHrWC37dcK+H4+tfuxztZxtfJx559HGn+6iZmMDjfFoOxA=="
|
"contentHash": "G1ltdwS5+eMhMCoMx31hHjFIznGAjdUK7xAg8raFMFbN09p2tuxzvK7cKbveWm8SEAGIW7NgDyEqGGJzrPrMrg=="
|
||||||
},
|
},
|
||||||
"SkiaSharp": {
|
"SkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -682,22 +688,22 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.1.30",
|
"resolved": "13.1.63",
|
||||||
"contentHash": "yaj3r8CvHQwtvhfTi+dp5LpIb3c4svqe/tL6LdAS8wWP+dXAp3fTCLjYx21TrW1QBFTBJcg9lrJqDPbheSzHbA=="
|
"contentHash": "7iW45RA7AbSlQPCgdokmysva5PGd6iBUhuNkC0XD73LF9dxfTkKeo3wZkohU7nvspDhJ7PJsYHvDtxIt5bMQ8Q=="
|
||||||
},
|
},
|
||||||
"Splat.Ninject": {
|
"Splat.Ninject": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.1.30",
|
"resolved": "13.1.63",
|
||||||
"contentHash": "hYgyD12Syt2l8U/KccMzNUj4nmrdULjoRTF4g5Q9XtVWPrcdTYmLEdcX/prZEWaFT7vGNP6x9uFXvOlM7Jc+gg==",
|
"contentHash": "rTF0HSa6p8nxrXj2hwVgkutcTDJUXY34sY+zYK4ky65b7a0ROL8kdiYyxVVLE4Lq31N5Rcd4bBbqlPkgwZguww==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
"Splat": "13.1.30"
|
"Splat": "13.1.63"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "6FnbI4T3uCNN7DYJpfPFa4caTTJzp4YbhU3J4c/syX7wQNSeQ/1u7JZZ+dGgrRUauiWP8VsiCLKP8qinc5xI5w==",
|
"contentHash": "Ypi/4NxDxjM24vsK+4Uit08aJUFHcZZpB5Ctb7FLMVevMq0hYeDqzKp6OVLFO5UCX/TxUfRiL1u9F7fvUDA0tQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Fizzler": "1.2.0",
|
"Fizzler": "1.2.0",
|
||||||
"System.Drawing.Common": "5.0.0",
|
"System.Drawing.Common": "5.0.0",
|
||||||
@ -708,22 +714,22 @@
|
|||||||
},
|
},
|
||||||
"Svg.Model": {
|
"Svg.Model": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "F/rimPwV5KF64P8oofXGMwOZ0T7b3z1A9OiC4mv5OdSpLpMpUxpSwGLAOkJ5DFqQgXqVjKKLhPdjIjQBwy0AjA==",
|
"contentHash": "sh5W7VpghtFjDnPOMa+CEiIKpJPmkb7FxNuHnB2sLZwJR2qzyVlZaBWM95VaRAXlOU8c0qbtA5ZNVREOpzLQRw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ShimSkiaSharp": "0.5.8.3",
|
"ShimSkiaSharp": "0.5.10",
|
||||||
"Svg.Custom": "0.5.8.3"
|
"Svg.Custom": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Skia": {
|
"Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "ajQ0aINQtEzWkqEXyJjnwqOFNusWNMHJVGrKa1ISbP21nrWJh+tApydLFVFGGjs91d7K3YOUbWDKlEzzdDQaOg==",
|
"contentHash": "Xz/nd+5dNJAh7IbfjyduWIJAtpHNqMopX+ORg6ZNnW6l1I7lK20KHlSdMNy9c18vALrA95eU8WFo00nloLVUkQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
"SkiaSharp.HarfBuzz": "2.80.2",
|
"SkiaSharp.HarfBuzz": "2.80.2",
|
||||||
"Svg.Custom": "0.5.8.3",
|
"Svg.Custom": "0.5.10",
|
||||||
"Svg.Model": "0.5.8.3"
|
"Svg.Model": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
"System.AppContext": {
|
||||||
@ -1335,15 +1341,6 @@
|
|||||||
"System.Runtime.Extensions": "4.3.0"
|
"System.Runtime.Extensions": "4.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Runtime.Serialization.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.AccessControl": {
|
"System.Security.AccessControl": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "5.0.0",
|
||||||
@ -1658,7 +1655,7 @@
|
|||||||
"EmbedIO": "3.4.3",
|
"EmbedIO": "3.4.3",
|
||||||
"HidSharp": "2.1.0",
|
"HidSharp": "2.1.0",
|
||||||
"Humanizer.Core": "2.11.10",
|
"Humanizer.Core": "2.11.10",
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"McMaster.NETCore.Plugins": "1.4.0",
|
"McMaster.NETCore.Plugins": "1.4.0",
|
||||||
"Newtonsoft.Json": "13.0.1",
|
"Newtonsoft.Json": "13.0.1",
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
@ -1679,7 +1676,7 @@
|
|||||||
"artemis.storage": {
|
"artemis.storage": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1689,16 +1686,17 @@
|
|||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Artemis.UI.Shared": "1.0.0",
|
"Artemis.UI.Shared": "1.0.0",
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Controls.PanAndZoom": "4.2.0",
|
"Avalonia.Controls.PanAndZoom": "4.3.0",
|
||||||
"Avalonia.Desktop": "0.10.10",
|
"Avalonia.Desktop": "0.10.10",
|
||||||
"Avalonia.Diagnostics": "0.10.10",
|
"Avalonia.Diagnostics": "0.10.10",
|
||||||
"Avalonia.ReactiveUI": "0.10.10",
|
"Avalonia.ReactiveUI": "0.10.10",
|
||||||
"Avalonia.Svg.Skia": "0.10.8.3",
|
"Avalonia.Svg.Skia": "0.10.10",
|
||||||
"FluentAvaloniaUI": "1.1.5",
|
"FluentAvaloniaUI": "1.1.6",
|
||||||
"Flurl.Http": "3.2.0",
|
"Flurl.Http": "3.2.0",
|
||||||
"Live.Avalonia": "1.3.1",
|
"Live.Avalonia": "1.3.1",
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"Splat.Ninject": "13.1.30"
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
|
"Splat.Ninject": "13.1.63"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artemis.ui.shared": {
|
"artemis.ui.shared": {
|
||||||
@ -1707,12 +1705,13 @@
|
|||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.ReactiveUI": "0.10.10",
|
"Avalonia.ReactiveUI": "0.10.10",
|
||||||
"Avalonia.Svg.Skia": "0.10.8.3",
|
"Avalonia.Svg.Skia": "0.10.10",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.10",
|
"Avalonia.Xaml.Behaviors": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.10",
|
"Avalonia.Xaml.Interactions": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10",
|
"Avalonia.Xaml.Interactivity": "0.10.10.4",
|
||||||
"FluentAvaloniaUI": "1.1.5",
|
"FluentAvaloniaUI": "1.1.6",
|
||||||
"Material.Icons.Avalonia": "1.0.2"
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
|
"ReactiveUI.Validation": "2.2.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,12 +18,13 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.10" />
|
<PackageReference Include="Avalonia" Version="0.10.10" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.10" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.10" />
|
||||||
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.8.3" />
|
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.10" />
|
||||||
<PackageReference Include="Avalonia.Xaml.Behaviors" Version="0.10.10" />
|
<PackageReference Include="Avalonia.Xaml.Behaviors" Version="0.10.10.4" />
|
||||||
<PackageReference Include="Avalonia.Xaml.Interactions" Version="0.10.10" />
|
<PackageReference Include="Avalonia.Xaml.Interactions" Version="0.10.10.4" />
|
||||||
<PackageReference Include="Avalonia.Xaml.Interactivity" Version="0.10.10" />
|
<PackageReference Include="Avalonia.Xaml.Interactivity" Version="0.10.10.4" />
|
||||||
<PackageReference Include="FluentAvaloniaUI" Version="1.1.5" />
|
<PackageReference Include="FluentAvaloniaUI" Version="1.1.6" />
|
||||||
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
||||||
|
<PackageReference Include="ReactiveUI.Validation" Version="2.2.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Page Include="DefaultTypes\DataModel\Display\DefaultDataModelDisplayView.xaml">
|
<Page Include="DefaultTypes\DataModel\Display\DefaultDataModelDisplayView.xaml">
|
||||||
|
|||||||
@ -0,0 +1,25 @@
|
|||||||
|
using Avalonia.Controls;
|
||||||
|
using Avalonia.LogicalTree;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Shared.Extensions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Provides extension methods for Avalonia's <see cref="Control" /> type
|
||||||
|
/// </summary>
|
||||||
|
public static class ControlExtensions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Clears all data validation errors on the given control and any of it's logical siblings
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="target">The target control</param>
|
||||||
|
public static void ClearAllDataValidationErrors(this Control target)
|
||||||
|
{
|
||||||
|
DataValidationErrors.ClearErrors(target);
|
||||||
|
foreach (ILogical logicalChild in target.GetLogicalChildren())
|
||||||
|
{
|
||||||
|
if (logicalChild is Control childControl)
|
||||||
|
childControl.ClearAllDataValidationErrors();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -6,6 +6,7 @@ using Avalonia.Controls;
|
|||||||
using FluentAvalonia.UI.Controls;
|
using FluentAvalonia.UI.Controls;
|
||||||
using Ninject;
|
using Ninject;
|
||||||
using Ninject.Parameters;
|
using Ninject.Parameters;
|
||||||
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI.Shared.Services.Builders
|
namespace Artemis.UI.Shared.Services.Builders
|
||||||
{
|
{
|
||||||
@ -14,6 +15,7 @@ namespace Artemis.UI.Shared.Services.Builders
|
|||||||
private readonly ContentDialog _contentDialog;
|
private readonly ContentDialog _contentDialog;
|
||||||
private readonly IKernel _kernel;
|
private readonly IKernel _kernel;
|
||||||
private readonly Window _parent;
|
private readonly Window _parent;
|
||||||
|
private ContentDialogViewModelBase? _viewModel;
|
||||||
|
|
||||||
internal ContentDialogBuilder(IKernel kernel, Window parent)
|
internal ContentDialogBuilder(IKernel kernel, Window parent)
|
||||||
{
|
{
|
||||||
@ -53,6 +55,13 @@ namespace Artemis.UI.Shared.Services.Builders
|
|||||||
_contentDialog.PrimaryButtonCommand = builder.Command;
|
_contentDialog.PrimaryButtonCommand = builder.Command;
|
||||||
_contentDialog.PrimaryButtonCommandParameter = builder.CommandParameter;
|
_contentDialog.PrimaryButtonCommandParameter = builder.CommandParameter;
|
||||||
|
|
||||||
|
// I feel like this isn't my responsibility...
|
||||||
|
if (builder.Command != null)
|
||||||
|
{
|
||||||
|
_contentDialog.IsPrimaryButtonEnabled = builder.Command.CanExecute(builder.CommandParameter);
|
||||||
|
builder.Command.CanExecuteChanged += (_, _) => _contentDialog.IsPrimaryButtonEnabled = builder.Command.CanExecute(builder.CommandParameter);
|
||||||
|
}
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,6 +75,13 @@ namespace Artemis.UI.Shared.Services.Builders
|
|||||||
_contentDialog.SecondaryButtonCommand = builder.Command;
|
_contentDialog.SecondaryButtonCommand = builder.Command;
|
||||||
_contentDialog.SecondaryButtonCommandParameter = builder.CommandParameter;
|
_contentDialog.SecondaryButtonCommandParameter = builder.CommandParameter;
|
||||||
|
|
||||||
|
// I feel like this isn't my responsibility...
|
||||||
|
if (builder.Command != null)
|
||||||
|
{
|
||||||
|
_contentDialog.IsSecondaryButtonEnabled = builder.Command.CanExecute(builder.CommandParameter);
|
||||||
|
builder.Command.CanExecuteChanged += (_, _) => _contentDialog.IsSecondaryButtonEnabled = builder.Command.CanExecute(builder.CommandParameter);
|
||||||
|
}
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,24 +91,32 @@ namespace Artemis.UI.Shared.Services.Builders
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ContentDialogBuilder WithViewModel<T>(out T viewModel, params (string name, object value)[] parameters) where T : ViewModelBase
|
public ContentDialogBuilder WithViewModel<T>(out T viewModel, params (string name, object? value)[] parameters) where T : ContentDialogViewModelBase
|
||||||
{
|
{
|
||||||
IParameter[] paramsArray = parameters.Select(kv => new ConstructorArgument(kv.name, kv.value)).Cast<IParameter>().ToArray();
|
IParameter[] paramsArray = parameters.Select(kv => new ConstructorArgument(kv.name, kv.value)).Cast<IParameter>().ToArray();
|
||||||
viewModel = _kernel.Get<T>(paramsArray);
|
viewModel = _kernel.Get<T>(paramsArray);
|
||||||
|
viewModel.ContentDialog = _contentDialog;
|
||||||
_contentDialog.Content = viewModel;
|
_contentDialog.Content = viewModel;
|
||||||
|
|
||||||
|
_viewModel = viewModel;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ContentDialogResult> ShowAsync()
|
public async Task<ContentDialogResult> ShowAsync()
|
||||||
{
|
{
|
||||||
if (_parent.Content is not Panel panel)
|
if (_parent.Content is not Panel panel)
|
||||||
return ContentDialogResult.None;
|
throw new ArtemisSharedUIException($"The parent window {_parent.GetType().FullName} should contain a panel at its root");
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
panel.Children.Add(_contentDialog);
|
panel.Children.Add(_contentDialog);
|
||||||
return await _contentDialog.ShowAsync();
|
ContentDialogResult result = await _contentDialog.ShowAsync();
|
||||||
|
|
||||||
|
// Take the dialog away from the VM in case it's going to try to hide it again or whatever...
|
||||||
|
if (_viewModel != null)
|
||||||
|
_viewModel.ContentDialog = null;
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|||||||
@ -142,7 +142,7 @@ namespace Artemis.UI.Shared.Services
|
|||||||
throw new ArtemisSharedUIException("Can't show a dialog when application lifetime is not IClassicDesktopStyleApplicationLifetime.");
|
throw new ArtemisSharedUIException("Can't show a dialog when application lifetime is not IClassicDesktopStyleApplicationLifetime.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Window? parent = classic.Windows.FirstOrDefault(w => w.IsActive) ?? classic.MainWindow;
|
Window? parent = classic.Windows.FirstOrDefault(w => w.IsActive && w.ShowInTaskbar) ?? classic.MainWindow;
|
||||||
return parent;
|
return parent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,69 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
using Artemis.UI.Shared.Events;
|
using Artemis.UI.Shared.Events;
|
||||||
|
using FluentAvalonia.UI.Controls;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
using ReactiveUI.Validation.Helpers;
|
||||||
|
|
||||||
namespace Artemis.UI.Shared
|
namespace Artemis.UI.Shared
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Represents the base class for Artemis view models
|
||||||
|
/// </summary>
|
||||||
|
public abstract class ContentDialogViewModelBase : ReactiveValidationObject, IActivatableViewModel, IDisposable
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the content dialog that hosts the view model
|
||||||
|
/// </summary>
|
||||||
|
public ContentDialog? ContentDialog { get; internal set; }
|
||||||
|
|
||||||
|
#region Implementation of IActivatableViewModel
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public ViewModelActivator Activator { get; } = new();
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IDisposable
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Releases the unmanaged resources used by the object and optionally releases the managed resources.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">
|
||||||
|
/// <see langword="true" /> to release both managed and unmanaged resources;
|
||||||
|
/// <see langword="false" /> to release only unmanaged resources.
|
||||||
|
/// </param>
|
||||||
|
protected virtual void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Dispose(true);
|
||||||
|
GC.SuppressFinalize(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents the base class for Artemis view models
|
||||||
|
/// </summary>
|
||||||
|
public abstract class ViewModelValidationBase : ReactiveValidationObject
|
||||||
|
{
|
||||||
|
private string? _displayName;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the display name of the view model
|
||||||
|
/// </summary>
|
||||||
|
public string? DisplayName
|
||||||
|
{
|
||||||
|
get => _displayName;
|
||||||
|
set => this.RaiseAndSetIfChanged(ref _displayName, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents the base class for Artemis view models
|
/// Represents the base class for Artemis view models
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -30,55 +30,55 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Svg.Skia": {
|
"Avalonia.Svg.Skia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.8.3, )",
|
"requested": "[0.10.10, )",
|
||||||
"resolved": "0.10.8.3",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "w7RYf+8+gOI3uVZZJ59S0EP49LVsyr1jpnZQzVFQqKa3y/c/i2jT/EUoKOeaqPMhFIsQZyEF4iluqoo6aZ05Tw==",
|
"contentHash": "7xQkg3b/djGjGQe6ODxCY+LxMeZ0MtSFUOeEu8IMMUG89gueptuS84GZMRY27xG8lvjP3Mu8B1p3/YY5u7UiDg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.8",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Skia": "0.10.8",
|
"Avalonia.Skia": "0.10.10",
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
"Svg.Skia": "0.5.8.3"
|
"Svg.Skia": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.10, )",
|
"requested": "[0.10.10.4, )",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "rHDkieWZDTjG+PVGQzronzknmH24r2VDtzbNfC3O8FLZGqREsBoCRDrqW4R4bmtD6CqpDPBey5soBYnnDE1m3Q==",
|
"contentHash": "iSVOObfXch8vFzhYFvwGntRt4l4kg+dxXYc4C4RDhnoyPh60BCMUzdk2gYUYySv9UVSGAhqH4dQPWZ0l9USmYA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.10",
|
"Avalonia.Xaml.Interactions": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10"
|
"Avalonia.Xaml.Interactivity": "0.10.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.10, )",
|
"requested": "[0.10.10.4, )",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "bOJvciyk6kUjPx+mg6n+bwHQqRqgNiTDzTBkpokfkcWl9pMAlKvqqUe6YXWVCpKIDBjbzvkAbYa29S0ajqwFxw==",
|
"contentHash": "OAwrl0tzsz+iX2z3T5wdsEG/JkbnlylfXUjCfbgQlQqODUBO0kk02RpCHJMnV86apkVXjeLV+S5+yA1yX+DT6g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10"
|
"Avalonia.Xaml.Interactivity": "0.10.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.10, )",
|
"requested": "[0.10.10.4, )",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "xxWrpi0HsySczpU3Zl6c2ugbkTOs9qwqbvClfi/AKncoVbWpXv7W6J3kfQcfRlnKFwkTPjLyTYKVERIkb7kNCQ==",
|
"contentHash": "RH33/HboQikon64SCfu1qFpuy4+mox2SEGYbXrrw9mnw3Ogw8PeYTJLtZw8/mNYs6dZAU3NusRBaLIG+0PGisw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10"
|
"Avalonia": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FluentAvaloniaUI": {
|
"FluentAvaloniaUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[1.1.5, )",
|
"requested": "[1.1.6, )",
|
||||||
"resolved": "1.1.5",
|
"resolved": "1.1.6",
|
||||||
"contentHash": "1W1VZQaCeH4/kzNM2c9yPHAVVs9lW9/09bzz1lqu7Tvu79u9JCOjwkZmR8rGC0KbyOA7twwVr2/VvB84zDZYvA==",
|
"contentHash": "EJukyiTmEVhaYlHdntFMyQKI4+u772rSClKYQqJRfkTb1NoJXLqiIVqMjx8ZQ0pxnfih+6CZ7+x82lfrGHIPUw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Desktop": "0.10.9",
|
"Avalonia.Desktop": "0.10.10",
|
||||||
"Avalonia.Diagnostics": "0.10.9"
|
"Avalonia.Diagnostics": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Material.Icons.Avalonia": {
|
"Material.Icons.Avalonia": {
|
||||||
@ -91,6 +91,15 @@
|
|||||||
"Material.Icons": "1.0.2"
|
"Material.Icons": "1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ReactiveUI.Validation": {
|
||||||
|
"type": "Direct",
|
||||||
|
"requested": "[2.2.1, )",
|
||||||
|
"resolved": "2.2.1",
|
||||||
|
"contentHash": "rhEphZ4ErbGfNtbBQ/tYMsLJYHyLVyqidU+sgZ3kXKbS7QrNoM4j6PPxCwLMKsJUuvVL8JN45xgmB9tSwm7+lg==",
|
||||||
|
"dependencies": {
|
||||||
|
"ReactiveUI": "16.2.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"Avalonia.Angle.Windows.Natives": {
|
"Avalonia.Angle.Windows.Natives": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "2.1.0.2020091801",
|
"resolved": "2.1.0.2020091801",
|
||||||
@ -98,53 +107,53 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.DataGrid": {
|
"Avalonia.Controls.DataGrid": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.9",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "AiBcvRi6Dbu0q45l2rQYa0uh05VsM2NYtjrAi2KKjDlu7c9molsZ2hFAKzhf0ugxgRT5tLMHAUA2urCWCzDzFw==",
|
"contentHash": "AsKm4xBJuCnIdUibNnsU5mNd6+kivhO5gEmpzO9+kNvVZCXxJkKZfmqS+9ghqXnF5c4BDYF5BPvPjZ1cP/jn7Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Remote.Protocol": "0.10.9",
|
"Avalonia.Remote.Protocol": "0.10.10",
|
||||||
"JetBrains.Annotations": "10.3.0",
|
"JetBrains.Annotations": "10.3.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.9",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "RWWfnBpslILJEqrdVySJP4leZfINXNiTIsNVEs/pKM5cBM/rwlCAKnfKASKgkbAfBByknUpmJd4PgLoavabz3w==",
|
"contentHash": "K23aC2UxplUqbKvSehgcwLRU0dACRLSQGLs3bXKKW1n6ICXtWhwqSmx8a1Ju0PbbQISRfoc0IjHoAXlGRNZ1dA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Native": "0.10.9",
|
"Avalonia.Native": "0.10.10",
|
||||||
"Avalonia.Skia": "0.10.9",
|
"Avalonia.Skia": "0.10.10",
|
||||||
"Avalonia.Win32": "0.10.9",
|
"Avalonia.Win32": "0.10.10",
|
||||||
"Avalonia.X11": "0.10.9"
|
"Avalonia.X11": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Diagnostics": {
|
"Avalonia.Diagnostics": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.9",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "Zc6iMO1TLRMvEi7pwRnpq/jlPyHvz0HotrJelyQs3VYzbrLxNy4YvLfiuWeIT9b3DCozD7V8blzgN7NSBU2mPg==",
|
"contentHash": "k4VA+uch7Xtd6kqp+A6XEpsVuARseIh6PQtarI3lxcTFFrNbxDZhD1nXUILXrnp44uQ7JPGpKYGlJ0EElfxhbA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Controls.DataGrid": "0.10.9",
|
"Avalonia.Controls.DataGrid": "0.10.10",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "3.4.0",
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.9",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "SG1hwJNktnCrDK4COtL+IArd2CbAlHBDAYP8wnTEVfnmrAsGvSijvICN8jrNRQnomYRNgA5TjsEFq5Vz8Z9PPQ==",
|
"contentHash": "pflbsb3CQkZH6T7NCG16Cu/LhA0kJD2ZvRprjzueIWonuS4pxF231Z2T3xv5LGaXpN44ufBjpMvlczCmb6sieQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Tmds.DBus": "0.9.0"
|
"Tmds.DBus": "0.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Native": {
|
"Avalonia.Native": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.9",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "IOZ7S7o2F2STZAj2uTve4nnnF008CK4/nGSqvYxXyM0X3jK4yCkhydbBN7jmItDfD7hR0h+CQfRUS7qekTNlEQ==",
|
"contentHash": "pJ8mlzjtlhPA7ueHnCN4FjBmXZMXJ+hKG+6uLnz+3A879oGLei6yacYRVel80sVoIML1ir8A5InWL52ra1Qdag==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9"
|
"Avalonia": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Remote.Protocol": {
|
"Avalonia.Remote.Protocol": {
|
||||||
@ -154,10 +163,10 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Skia": {
|
"Avalonia.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.9",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "NMnwpHg98IgBG334GOD/lOiXZhXnKEuwCV3ztFwURg3IDKdL+erSW7VM/2rpKm6d914j627UvRaAkvMWht2K6g==",
|
"contentHash": "8KtlObMQ+8pDMch6SMdPNpIWk9J0OaPjA7lbALEsDkRNb+XLDdIZXWbKle5Y6ASUEQhQGIX4DCP/8UYp7Us5zg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"HarfBuzzSharp": "2.6.1.7",
|
"HarfBuzzSharp": "2.6.1.7",
|
||||||
"HarfBuzzSharp.NativeAssets.Linux": "2.6.1.7",
|
"HarfBuzzSharp.NativeAssets.Linux": "2.6.1.7",
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
@ -166,10 +175,10 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.9",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "hZtdaEyqynFCCoYT/NCZxeE4KajJodLZCzUThv9/diZFqxYsasEQjguDVeTvLaNBVjqxsZXt35C3D72fjDzPww==",
|
"contentHash": "6AS6yIB+OS8+g96mj+ShJihjxqhVH6v7jfdqLwjQfGAsqqqN7zBNsFdvoVVCnutuVx0g/9FhCnBTIZyZDlwqkA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
"Avalonia.Angle.Windows.Natives": "2.1.0.2020091801",
|
||||||
"System.Drawing.Common": "4.5.0",
|
"System.Drawing.Common": "4.5.0",
|
||||||
"System.Numerics.Vectors": "4.5.0"
|
"System.Numerics.Vectors": "4.5.0"
|
||||||
@ -177,12 +186,12 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.X11": {
|
"Avalonia.X11": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.9",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "+PoPHSmAhIcxQ1qmxc2kfbBr7Dxddaqi8FNrbCk2dqvEdQAeaxBswYupSoIARtpDE0wqtrXXneWeAnHxl/YgMw==",
|
"contentHash": "XsWWNYlKy3XJ8HFzCvv/2Ym8Ku72tN+JxbPX8lLBZSYzQEtvfKQ+DcKb8us1AWjXQhQQSrZQylrtVZ043a4SsQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.FreeDesktop": "0.10.9",
|
"Avalonia.FreeDesktop": "0.10.10",
|
||||||
"Avalonia.Skia": "0.10.9"
|
"Avalonia.Skia": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Castle.Core": {
|
"Castle.Core": {
|
||||||
@ -204,8 +213,8 @@
|
|||||||
},
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "7.1.1",
|
"resolved": "7.3.1",
|
||||||
"contentHash": "Pc6J5bFnSxEa64PV2V67FMcLlDdpv6m+zTBKSnRN3aLon/WtWWy8kuDpHFbJlgXHtqc6Nxloj9ItuvDlvKC/8w==",
|
"contentHash": "E9oTvWlAgzct0MuWt6k+0s+nSDA3LkFVvDwkMUTklIZZnva314KZAEF2vG4XX9I98ia+EpMqjte67jWEBJlsRw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -259,8 +268,8 @@
|
|||||||
},
|
},
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"Material.Icons": {
|
"Material.Icons": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -478,13 +487,11 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.2.10",
|
"resolved": "16.2.6",
|
||||||
"contentHash": "fOCbEZ+RsO2Jhv6vB8VX+ZEvczYJaC95atcSG7oXohJeL/sEwbbqvv9k+tbj2l4bRSj2j5CQvhwA3HNLaxlCAg==",
|
"contentHash": "jf1RvD8HxHuA6CGQtheGHUCHzRrhpvo0z593Npsz7g8KJWXfGR45Dc9bILJHoymBxhdDD1L1WjUfh0fcucIPPg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.1.1",
|
"DynamicData": "7.3.1",
|
||||||
"Splat": "10.0.1",
|
"Splat": "13.1.1"
|
||||||
"System.Reactive": "5.0.0",
|
|
||||||
"System.Runtime.Serialization.Primitives": "4.3.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||||
@ -625,8 +632,8 @@
|
|||||||
},
|
},
|
||||||
"ShimSkiaSharp": {
|
"ShimSkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "BWwwsIlYUFF0DUc8Pa9xONIXVDvEL9pOYc9YmWilpHrWC37dcK+H4+tfuxztZxtfJx559HGn+6iZmMDjfFoOxA=="
|
"contentHash": "G1ltdwS5+eMhMCoMx31hHjFIznGAjdUK7xAg8raFMFbN09p2tuxzvK7cKbveWm8SEAGIW7NgDyEqGGJzrPrMrg=="
|
||||||
},
|
},
|
||||||
"SkiaSharp": {
|
"SkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -655,13 +662,13 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "10.0.1",
|
"resolved": "13.1.1",
|
||||||
"contentHash": "N8BMGVuUBnVLAHSVbna/st8XiLd8ulF3BfkKUSGCPqYpDCis3ELvM+aFaZQLBUIBEcweCYVLq3HFEBqHkCKFyA=="
|
"contentHash": "Hv41NNJwYEoxjpCrUw0BdzN17YLZrduhrnHgJyXatSgT6Dq/N/viVkPLfohCeoXf7MqA6ppB/AxtUGU3vJ7YEA=="
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "6FnbI4T3uCNN7DYJpfPFa4caTTJzp4YbhU3J4c/syX7wQNSeQ/1u7JZZ+dGgrRUauiWP8VsiCLKP8qinc5xI5w==",
|
"contentHash": "Ypi/4NxDxjM24vsK+4Uit08aJUFHcZZpB5Ctb7FLMVevMq0hYeDqzKp6OVLFO5UCX/TxUfRiL1u9F7fvUDA0tQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Fizzler": "1.2.0",
|
"Fizzler": "1.2.0",
|
||||||
"System.Drawing.Common": "5.0.0",
|
"System.Drawing.Common": "5.0.0",
|
||||||
@ -672,22 +679,22 @@
|
|||||||
},
|
},
|
||||||
"Svg.Model": {
|
"Svg.Model": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "F/rimPwV5KF64P8oofXGMwOZ0T7b3z1A9OiC4mv5OdSpLpMpUxpSwGLAOkJ5DFqQgXqVjKKLhPdjIjQBwy0AjA==",
|
"contentHash": "sh5W7VpghtFjDnPOMa+CEiIKpJPmkb7FxNuHnB2sLZwJR2qzyVlZaBWM95VaRAXlOU8c0qbtA5ZNVREOpzLQRw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ShimSkiaSharp": "0.5.8.3",
|
"ShimSkiaSharp": "0.5.10",
|
||||||
"Svg.Custom": "0.5.8.3"
|
"Svg.Custom": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Skia": {
|
"Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "ajQ0aINQtEzWkqEXyJjnwqOFNusWNMHJVGrKa1ISbP21nrWJh+tApydLFVFGGjs91d7K3YOUbWDKlEzzdDQaOg==",
|
"contentHash": "Xz/nd+5dNJAh7IbfjyduWIJAtpHNqMopX+ORg6ZNnW6l1I7lK20KHlSdMNy9c18vALrA95eU8WFo00nloLVUkQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
"SkiaSharp.HarfBuzz": "2.80.2",
|
"SkiaSharp.HarfBuzz": "2.80.2",
|
||||||
"Svg.Custom": "0.5.8.3",
|
"Svg.Custom": "0.5.10",
|
||||||
"Svg.Model": "0.5.8.3"
|
"Svg.Model": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
"System.AppContext": {
|
||||||
@ -1299,15 +1306,6 @@
|
|||||||
"System.Runtime.Extensions": "4.3.0"
|
"System.Runtime.Extensions": "4.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Runtime.Serialization.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.AccessControl": {
|
"System.Security.AccessControl": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "5.0.0",
|
||||||
@ -1622,7 +1620,7 @@
|
|||||||
"EmbedIO": "3.4.3",
|
"EmbedIO": "3.4.3",
|
||||||
"HidSharp": "2.1.0",
|
"HidSharp": "2.1.0",
|
||||||
"Humanizer.Core": "2.11.10",
|
"Humanizer.Core": "2.11.10",
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"McMaster.NETCore.Plugins": "1.4.0",
|
"McMaster.NETCore.Plugins": "1.4.0",
|
||||||
"Newtonsoft.Json": "13.0.1",
|
"Newtonsoft.Json": "13.0.1",
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
@ -1643,7 +1641,7 @@
|
|||||||
"artemis.storage": {
|
"artemis.storage": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -71,10 +71,10 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.PanAndZoom": {
|
"Avalonia.Controls.PanAndZoom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.2.0",
|
"resolved": "4.3.0",
|
||||||
"contentHash": "zIQhp86CdV7xmFXFkaQBDNDr0WSyumEdJvqvIrywG5SEQK3HzACt0gR85KX19DHTlkJlnUVjmfkTEiPjwvgGtA==",
|
"contentHash": "oUpQm2frhjWll5QWLx8Uzc2VWDNXgPqONlNBLu2gFBis1lkce1jjZvu423U7RNfvg1rOMeZoeiodZq7xZ02STA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.8"
|
"Avalonia": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.FreeDesktop": {
|
"Avalonia.FreeDesktop": {
|
||||||
@ -113,13 +113,13 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Svg.Skia": {
|
"Avalonia.Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.8.3",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "w7RYf+8+gOI3uVZZJ59S0EP49LVsyr1jpnZQzVFQqKa3y/c/i2jT/EUoKOeaqPMhFIsQZyEF4iluqoo6aZ05Tw==",
|
"contentHash": "7xQkg3b/djGjGQe6ODxCY+LxMeZ0MtSFUOeEu8IMMUG89gueptuS84GZMRY27xG8lvjP3Mu8B1p3/YY5u7UiDg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.8",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Skia": "0.10.8",
|
"Avalonia.Skia": "0.10.10",
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
"Svg.Skia": "0.5.8.3"
|
"Svg.Skia": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Win32": {
|
"Avalonia.Win32": {
|
||||||
@ -145,27 +145,27 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "rHDkieWZDTjG+PVGQzronzknmH24r2VDtzbNfC3O8FLZGqREsBoCRDrqW4R4bmtD6CqpDPBey5soBYnnDE1m3Q==",
|
"contentHash": "iSVOObfXch8vFzhYFvwGntRt4l4kg+dxXYc4C4RDhnoyPh60BCMUzdk2gYUYySv9UVSGAhqH4dQPWZ0l9USmYA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.10",
|
"Avalonia.Xaml.Interactions": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10"
|
"Avalonia.Xaml.Interactivity": "0.10.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "bOJvciyk6kUjPx+mg6n+bwHQqRqgNiTDzTBkpokfkcWl9pMAlKvqqUe6YXWVCpKIDBjbzvkAbYa29S0ajqwFxw==",
|
"contentHash": "OAwrl0tzsz+iX2z3T5wdsEG/JkbnlylfXUjCfbgQlQqODUBO0kk02RpCHJMnV86apkVXjeLV+S5+yA1yX+DT6g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10"
|
"Avalonia.Xaml.Interactivity": "0.10.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "xxWrpi0HsySczpU3Zl6c2ugbkTOs9qwqbvClfi/AKncoVbWpXv7W6J3kfQcfRlnKFwkTPjLyTYKVERIkb7kNCQ==",
|
"contentHash": "RH33/HboQikon64SCfu1qFpuy4+mox2SEGYbXrrw9mnw3Ogw8PeYTJLtZw8/mNYs6dZAU3NusRBaLIG+0PGisw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10"
|
"Avalonia": "0.10.10"
|
||||||
}
|
}
|
||||||
@ -189,8 +189,8 @@
|
|||||||
},
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "7.1.1",
|
"resolved": "7.3.1",
|
||||||
"contentHash": "Pc6J5bFnSxEa64PV2V67FMcLlDdpv6m+zTBKSnRN3aLon/WtWWy8kuDpHFbJlgXHtqc6Nxloj9ItuvDlvKC/8w==",
|
"contentHash": "E9oTvWlAgzct0MuWt6k+0s+nSDA3LkFVvDwkMUTklIZZnva314KZAEF2vG4XX9I98ia+EpMqjte67jWEBJlsRw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -210,12 +210,12 @@
|
|||||||
},
|
},
|
||||||
"FluentAvaloniaUI": {
|
"FluentAvaloniaUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.1.5",
|
"resolved": "1.1.6",
|
||||||
"contentHash": "1W1VZQaCeH4/kzNM2c9yPHAVVs9lW9/09bzz1lqu7Tvu79u9JCOjwkZmR8rGC0KbyOA7twwVr2/VvB84zDZYvA==",
|
"contentHash": "EJukyiTmEVhaYlHdntFMyQKI4+u772rSClKYQqJRfkTb1NoJXLqiIVqMjx8ZQ0pxnfih+6CZ7+x82lfrGHIPUw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Desktop": "0.10.9",
|
"Avalonia.Desktop": "0.10.10",
|
||||||
"Avalonia.Diagnostics": "0.10.9"
|
"Avalonia.Diagnostics": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Flurl": {
|
"Flurl": {
|
||||||
@ -269,8 +269,8 @@
|
|||||||
},
|
},
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"Live.Avalonia": {
|
"Live.Avalonia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -505,13 +505,19 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.2.10",
|
"resolved": "16.2.6",
|
||||||
"contentHash": "fOCbEZ+RsO2Jhv6vB8VX+ZEvczYJaC95atcSG7oXohJeL/sEwbbqvv9k+tbj2l4bRSj2j5CQvhwA3HNLaxlCAg==",
|
"contentHash": "jf1RvD8HxHuA6CGQtheGHUCHzRrhpvo0z593Npsz7g8KJWXfGR45Dc9bILJHoymBxhdDD1L1WjUfh0fcucIPPg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.1.1",
|
"DynamicData": "7.3.1",
|
||||||
"Splat": "10.0.1",
|
"Splat": "13.1.1"
|
||||||
"System.Reactive": "5.0.0",
|
}
|
||||||
"System.Runtime.Serialization.Primitives": "4.3.0"
|
},
|
||||||
|
"ReactiveUI.Validation": {
|
||||||
|
"type": "Transitive",
|
||||||
|
"resolved": "2.2.1",
|
||||||
|
"contentHash": "rhEphZ4ErbGfNtbBQ/tYMsLJYHyLVyqidU+sgZ3kXKbS7QrNoM4j6PPxCwLMKsJUuvVL8JN45xgmB9tSwm7+lg==",
|
||||||
|
"dependencies": {
|
||||||
|
"ReactiveUI": "16.2.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||||
@ -652,8 +658,8 @@
|
|||||||
},
|
},
|
||||||
"ShimSkiaSharp": {
|
"ShimSkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "BWwwsIlYUFF0DUc8Pa9xONIXVDvEL9pOYc9YmWilpHrWC37dcK+H4+tfuxztZxtfJx559HGn+6iZmMDjfFoOxA=="
|
"contentHash": "G1ltdwS5+eMhMCoMx31hHjFIznGAjdUK7xAg8raFMFbN09p2tuxzvK7cKbveWm8SEAGIW7NgDyEqGGJzrPrMrg=="
|
||||||
},
|
},
|
||||||
"SkiaSharp": {
|
"SkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -682,22 +688,22 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.1.30",
|
"resolved": "13.1.63",
|
||||||
"contentHash": "yaj3r8CvHQwtvhfTi+dp5LpIb3c4svqe/tL6LdAS8wWP+dXAp3fTCLjYx21TrW1QBFTBJcg9lrJqDPbheSzHbA=="
|
"contentHash": "7iW45RA7AbSlQPCgdokmysva5PGd6iBUhuNkC0XD73LF9dxfTkKeo3wZkohU7nvspDhJ7PJsYHvDtxIt5bMQ8Q=="
|
||||||
},
|
},
|
||||||
"Splat.Ninject": {
|
"Splat.Ninject": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.1.30",
|
"resolved": "13.1.63",
|
||||||
"contentHash": "hYgyD12Syt2l8U/KccMzNUj4nmrdULjoRTF4g5Q9XtVWPrcdTYmLEdcX/prZEWaFT7vGNP6x9uFXvOlM7Jc+gg==",
|
"contentHash": "rTF0HSa6p8nxrXj2hwVgkutcTDJUXY34sY+zYK4ky65b7a0ROL8kdiYyxVVLE4Lq31N5Rcd4bBbqlPkgwZguww==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
"Splat": "13.1.30"
|
"Splat": "13.1.63"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "6FnbI4T3uCNN7DYJpfPFa4caTTJzp4YbhU3J4c/syX7wQNSeQ/1u7JZZ+dGgrRUauiWP8VsiCLKP8qinc5xI5w==",
|
"contentHash": "Ypi/4NxDxjM24vsK+4Uit08aJUFHcZZpB5Ctb7FLMVevMq0hYeDqzKp6OVLFO5UCX/TxUfRiL1u9F7fvUDA0tQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Fizzler": "1.2.0",
|
"Fizzler": "1.2.0",
|
||||||
"System.Drawing.Common": "5.0.0",
|
"System.Drawing.Common": "5.0.0",
|
||||||
@ -708,22 +714,22 @@
|
|||||||
},
|
},
|
||||||
"Svg.Model": {
|
"Svg.Model": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "F/rimPwV5KF64P8oofXGMwOZ0T7b3z1A9OiC4mv5OdSpLpMpUxpSwGLAOkJ5DFqQgXqVjKKLhPdjIjQBwy0AjA==",
|
"contentHash": "sh5W7VpghtFjDnPOMa+CEiIKpJPmkb7FxNuHnB2sLZwJR2qzyVlZaBWM95VaRAXlOU8c0qbtA5ZNVREOpzLQRw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ShimSkiaSharp": "0.5.8.3",
|
"ShimSkiaSharp": "0.5.10",
|
||||||
"Svg.Custom": "0.5.8.3"
|
"Svg.Custom": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Skia": {
|
"Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "ajQ0aINQtEzWkqEXyJjnwqOFNusWNMHJVGrKa1ISbP21nrWJh+tApydLFVFGGjs91d7K3YOUbWDKlEzzdDQaOg==",
|
"contentHash": "Xz/nd+5dNJAh7IbfjyduWIJAtpHNqMopX+ORg6ZNnW6l1I7lK20KHlSdMNy9c18vALrA95eU8WFo00nloLVUkQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
"SkiaSharp.HarfBuzz": "2.80.2",
|
"SkiaSharp.HarfBuzz": "2.80.2",
|
||||||
"Svg.Custom": "0.5.8.3",
|
"Svg.Custom": "0.5.10",
|
||||||
"Svg.Model": "0.5.8.3"
|
"Svg.Model": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
"System.AppContext": {
|
||||||
@ -1335,15 +1341,6 @@
|
|||||||
"System.Runtime.Extensions": "4.3.0"
|
"System.Runtime.Extensions": "4.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Runtime.Serialization.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.AccessControl": {
|
"System.Security.AccessControl": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "5.0.0",
|
||||||
@ -1658,7 +1655,7 @@
|
|||||||
"EmbedIO": "3.4.3",
|
"EmbedIO": "3.4.3",
|
||||||
"HidSharp": "2.1.0",
|
"HidSharp": "2.1.0",
|
||||||
"Humanizer.Core": "2.11.10",
|
"Humanizer.Core": "2.11.10",
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"McMaster.NETCore.Plugins": "1.4.0",
|
"McMaster.NETCore.Plugins": "1.4.0",
|
||||||
"Newtonsoft.Json": "13.0.1",
|
"Newtonsoft.Json": "13.0.1",
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
@ -1679,7 +1676,7 @@
|
|||||||
"artemis.storage": {
|
"artemis.storage": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1689,16 +1686,17 @@
|
|||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Artemis.UI.Shared": "1.0.0",
|
"Artemis.UI.Shared": "1.0.0",
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Controls.PanAndZoom": "4.2.0",
|
"Avalonia.Controls.PanAndZoom": "4.3.0",
|
||||||
"Avalonia.Desktop": "0.10.10",
|
"Avalonia.Desktop": "0.10.10",
|
||||||
"Avalonia.Diagnostics": "0.10.10",
|
"Avalonia.Diagnostics": "0.10.10",
|
||||||
"Avalonia.ReactiveUI": "0.10.10",
|
"Avalonia.ReactiveUI": "0.10.10",
|
||||||
"Avalonia.Svg.Skia": "0.10.8.3",
|
"Avalonia.Svg.Skia": "0.10.10",
|
||||||
"FluentAvaloniaUI": "1.1.5",
|
"FluentAvaloniaUI": "1.1.6",
|
||||||
"Flurl.Http": "3.2.0",
|
"Flurl.Http": "3.2.0",
|
||||||
"Live.Avalonia": "1.3.1",
|
"Live.Avalonia": "1.3.1",
|
||||||
"Material.Icons.Avalonia": "1.0.2",
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
"Splat.Ninject": "13.1.30"
|
"ReactiveUI.Validation": "2.2.1",
|
||||||
|
"Splat.Ninject": "13.1.63"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"artemis.ui.shared": {
|
"artemis.ui.shared": {
|
||||||
@ -1707,12 +1705,13 @@
|
|||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.ReactiveUI": "0.10.10",
|
"Avalonia.ReactiveUI": "0.10.10",
|
||||||
"Avalonia.Svg.Skia": "0.10.8.3",
|
"Avalonia.Svg.Skia": "0.10.10",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.10",
|
"Avalonia.Xaml.Behaviors": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.10",
|
"Avalonia.Xaml.Interactions": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10",
|
"Avalonia.Xaml.Interactivity": "0.10.10.4",
|
||||||
"FluentAvaloniaUI": "1.1.5",
|
"FluentAvaloniaUI": "1.1.6",
|
||||||
"Material.Icons.Avalonia": "1.0.2"
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
|
"ReactiveUI.Validation": "2.2.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,16 +14,17 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="0.10.10" />
|
<PackageReference Include="Avalonia" Version="0.10.10" />
|
||||||
<PackageReference Include="Avalonia.Controls.PanAndZoom" Version="4.2.0" />
|
<PackageReference Include="Avalonia.Controls.PanAndZoom" Version="4.3.0" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="0.10.10" />
|
<PackageReference Include="Avalonia.Desktop" Version="0.10.10" />
|
||||||
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.10" />
|
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.10" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.10" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.10" />
|
||||||
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.8.3" />
|
<PackageReference Include="Avalonia.Svg.Skia" Version="0.10.10" />
|
||||||
<PackageReference Include="FluentAvaloniaUI" Version="1.1.5" />
|
<PackageReference Include="FluentAvaloniaUI" Version="1.1.6" />
|
||||||
<PackageReference Include="Flurl.Http" Version="3.2.0" />
|
<PackageReference Include="Flurl.Http" Version="3.2.0" />
|
||||||
<PackageReference Include="Live.Avalonia" Version="1.3.1" />
|
<PackageReference Include="Live.Avalonia" Version="1.3.1" />
|
||||||
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
<PackageReference Include="Material.Icons.Avalonia" Version="1.0.2" />
|
||||||
<PackageReference Include="Splat.Ninject" Version="13.1.30" />
|
<PackageReference Include="ReactiveUI.Validation" Version="2.2.1" />
|
||||||
|
<PackageReference Include="Splat.Ninject" Version="13.1.63" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
<ProjectReference Include="..\..\Artemis.Core\Artemis.Core.csproj" />
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<NativeMenu x:Key="TrayIconMenu">
|
<NativeMenu x:Key="TrayIconMenu">
|
||||||
<NativeMenuItem Header="Home" Command="{Binding OpenScreen}" CommandParameter="Home" />
|
<NativeMenuItem Header="Home" Command="{Binding OpenScreen}" CommandParameter="Home" />
|
||||||
<NativeMenuItem Header="Workshop" Command="{Binding OpenScreen}" CommandParameter="Workshop" />
|
<NativeMenuItem Header="Workshop" Command="{Binding OpenScreen}" CommandParameter="Workshop" />
|
||||||
<NativeMenuItem Header="Surface Editor" Command="{Binding OpenScreen}" CommandParameter="SurfaceEditor" />
|
<NativeMenuItem Header="Surface Editor" Command="{Binding OpenScreen}" CommandParameter="Surface Editor" />
|
||||||
<NativeMenuItem Header="Settings" Command="{Binding OpenScreen}" CommandParameter="Settings" />
|
<NativeMenuItem Header="Settings" Command="{Binding OpenScreen}" CommandParameter="Settings" />
|
||||||
<NativeMenuItemSeparator />
|
<NativeMenuItemSeparator />
|
||||||
<NativeMenuItem Header="Debugger" Command="{Binding OpenDebugger}" />
|
<NativeMenuItem Header="Debugger" Command="{Binding OpenDebugger}" />
|
||||||
|
|||||||
@ -6,5 +6,8 @@
|
|||||||
x:Class="Artemis.UI.MainWindow"
|
x:Class="Artemis.UI.MainWindow"
|
||||||
Icon="/Assets/Images/Logo/bow.ico"
|
Icon="/Assets/Images/Logo/bow.ico"
|
||||||
Title="Artemis 2.0">
|
Title="Artemis 2.0">
|
||||||
<ContentControl Content="{Binding}" />
|
<!-- Use a panel here so the main window can host ContentDialogs -->
|
||||||
|
<Panel>
|
||||||
|
<ContentControl Content="{Binding}" />
|
||||||
|
</Panel>
|
||||||
</Window>
|
</Window>
|
||||||
@ -35,7 +35,7 @@ namespace Artemis.UI.Ninject.Factories
|
|||||||
public interface ISidebarVmFactory : IVmFactory
|
public interface ISidebarVmFactory : IVmFactory
|
||||||
{
|
{
|
||||||
SidebarViewModel? SidebarViewModel(IScreen hostScreen);
|
SidebarViewModel? SidebarViewModel(IScreen hostScreen);
|
||||||
SidebarCategoryViewModel SidebarCategoryViewModel(ProfileCategory profileCategory);
|
SidebarCategoryViewModel SidebarCategoryViewModel(SidebarViewModel sidebarViewModel, ProfileCategory profileCategory);
|
||||||
SidebarProfileConfigurationViewModel SidebarProfileConfigurationViewModel(ProfileConfiguration profileConfiguration);
|
SidebarProfileConfigurationViewModel SidebarProfileConfigurationViewModel(ProfileConfiguration profileConfiguration);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
|
using System.Reactive.Linq;
|
||||||
using Artemis.UI.Shared.Events;
|
using Artemis.UI.Shared.Events;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Markup.Xaml;
|
using Avalonia.Markup.Xaml;
|
||||||
@ -12,19 +13,20 @@ namespace Artemis.UI.Screens.Debugger
|
|||||||
{
|
{
|
||||||
public class DebugView : ReactiveWindow<DebugViewModel>
|
public class DebugView : ReactiveWindow<DebugViewModel>
|
||||||
{
|
{
|
||||||
private readonly NavigationView _navigation;
|
|
||||||
|
|
||||||
public DebugView()
|
public DebugView()
|
||||||
{
|
{
|
||||||
Activated += OnActivated;
|
|
||||||
Deactivated += OnDeactivated;
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
NavigationView navigation = this.Get<NavigationView>("Navigation");
|
||||||
|
|
||||||
_navigation = this.Get<NavigationView>("Navigation");
|
|
||||||
this.WhenActivated(d =>
|
this.WhenActivated(d =>
|
||||||
{
|
{
|
||||||
ViewModel!.WhenAnyValue(vm => vm!.IsActive).Subscribe(_ => Activate()).DisposeWith(d);
|
Observable.FromEventPattern(x => ViewModel!.ActivationRequested += x, x => ViewModel!.ActivationRequested -= x).Subscribe(_ =>
|
||||||
ViewModel!.SelectedItem = (NavigationViewItem) _navigation.MenuItems.ElementAt(0);
|
{
|
||||||
|
WindowState = WindowState.Normal;
|
||||||
|
Activate();
|
||||||
|
|
||||||
|
}).DisposeWith(d);
|
||||||
|
ViewModel!.SelectedItem = (NavigationViewItem) navigation.MenuItems.ElementAt(0);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,21 +35,8 @@ namespace Artemis.UI.Screens.Debugger
|
|||||||
AvaloniaXamlLoader.Load(this);
|
AvaloniaXamlLoader.Load(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDeactivated(object? sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (ViewModel != null)
|
|
||||||
ViewModel.IsActive = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnActivated(object? sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if (ViewModel != null)
|
|
||||||
ViewModel.IsActive = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DeviceVisualizer_OnLedClicked(object? sender, LedClickedEventArgs e)
|
private void DeviceVisualizer_OnLedClicked(object? sender, LedClickedEventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -18,7 +18,6 @@ namespace Artemis.UI.Screens.Debugger
|
|||||||
{
|
{
|
||||||
private readonly IKernel _kernel;
|
private readonly IKernel _kernel;
|
||||||
private readonly IDebugService _debugService;
|
private readonly IDebugService _debugService;
|
||||||
private bool _isActive;
|
|
||||||
private NavigationViewItem? _selectedItem;
|
private NavigationViewItem? _selectedItem;
|
||||||
|
|
||||||
public DebugViewModel(IKernel kernel, IDebugService debugService)
|
public DebugViewModel(IKernel kernel, IDebugService debugService)
|
||||||
@ -35,11 +34,6 @@ namespace Artemis.UI.Screens.Debugger
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsActive
|
|
||||||
{
|
|
||||||
get => _isActive;
|
|
||||||
set => this.RaiseAndSetIfChanged(ref _isActive, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public NavigationViewItem? SelectedItem
|
public NavigationViewItem? SelectedItem
|
||||||
{
|
{
|
||||||
@ -77,5 +71,17 @@ namespace Artemis.UI.Screens.Debugger
|
|||||||
}
|
}
|
||||||
|
|
||||||
public RoutingState Router { get; } = new();
|
public RoutingState Router { get; } = new();
|
||||||
|
|
||||||
|
public void Activate()
|
||||||
|
{
|
||||||
|
OnActivationRequested();
|
||||||
|
}
|
||||||
|
|
||||||
|
public event EventHandler? ActivationRequested;
|
||||||
|
|
||||||
|
protected virtual void OnActivationRequested()
|
||||||
|
{
|
||||||
|
ActivationRequested?.Invoke(this, EventArgs.Empty);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -12,7 +12,7 @@ using RGB.NET.Core;
|
|||||||
|
|
||||||
namespace Artemis.UI.Screens.Device
|
namespace Artemis.UI.Screens.Device
|
||||||
{
|
{
|
||||||
public class DeviceDetectInputViewModel : ActivatableViewModelBase
|
public class DeviceDetectInputViewModel : ContentDialogViewModelBase
|
||||||
{
|
{
|
||||||
private readonly IInputService _inputService;
|
private readonly IInputService _inputService;
|
||||||
private readonly INotificationService _notificationService;
|
private readonly INotificationService _notificationService;
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:svg="clr-namespace:Avalonia.Svg.Skia;assembly=Avalonia.Svg.Skia"
|
|
||||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||||
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
|
||||||
mc:Ignorable="d" d:DesignWidth="1200" d:DesignHeight="900"
|
mc:Ignorable="d" d:DesignWidth="1200" d:DesignHeight="900"
|
||||||
@ -29,7 +28,7 @@
|
|||||||
Text=" Welcome to Artemis, the unified RGB platform." />
|
Text=" Welcome to Artemis, the unified RGB platform." />
|
||||||
|
|
||||||
<Grid Grid.Row="1" MaxWidth="840" Margin="30" VerticalAlignment="Bottom" ColumnDefinitions="*,*" RowDefinitions="*,*">
|
<Grid Grid.Row="1" MaxWidth="840" Margin="30" VerticalAlignment="Bottom" ColumnDefinitions="*,*" RowDefinitions="*,*">
|
||||||
<Border Classes="card" Margin="8" Grid.ColumnSpan="2">
|
<Border Classes="card" Margin="8" Grid.ColumnSpan="2" ClipToBounds="True">
|
||||||
<Grid VerticalAlignment="Stretch" RowDefinitions="Auto,Auto" ColumnDefinitions="150,*">
|
<Grid VerticalAlignment="Stretch" RowDefinitions="Auto,Auto" ColumnDefinitions="150,*">
|
||||||
<avalonia:MaterialIcon Kind="Plug" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
<avalonia:MaterialIcon Kind="Plug" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1">
|
<StackPanel Grid.Row="0" Grid.Column="1">
|
||||||
@ -55,7 +54,7 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<Border Classes="card" Margin="8" Grid.Row="1" Grid.Column="0">
|
<Border Classes="card" Margin="8" Grid.Row="1" Grid.Column="0" ClipToBounds="True">
|
||||||
<Grid VerticalAlignment="Stretch" RowDefinitions="150,95" ColumnDefinitions="150,*">
|
<Grid VerticalAlignment="Stretch" RowDefinitions="150,95" ColumnDefinitions="150,*">
|
||||||
<avalonia:MaterialIcon Kind="Discord" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Center" />
|
<avalonia:MaterialIcon Kind="Discord" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Center" />
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1">
|
<StackPanel Grid.Row="0" Grid.Column="1">
|
||||||
@ -95,7 +94,7 @@
|
|||||||
</DockPanel>
|
</DockPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
<Border Classes="card" Margin="8" Grid.Row="1" Grid.Column="1">
|
<Border Classes="card" Margin="8" Grid.Row="1" Grid.Column="1" ClipToBounds="True">
|
||||||
<Grid VerticalAlignment="Stretch" RowDefinitions="150,95" ColumnDefinitions="150,*">
|
<Grid VerticalAlignment="Stretch" RowDefinitions="150,95" ColumnDefinitions="150,*">
|
||||||
<avalonia:MaterialIcon Kind="Github" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Center" />
|
<avalonia:MaterialIcon Kind="Github" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Center" />
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1">
|
<StackPanel Grid.Row="0" Grid.Column="1">
|
||||||
|
|||||||
@ -4,7 +4,11 @@ using System.Threading.Tasks;
|
|||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.Core.Services;
|
using Artemis.Core.Services;
|
||||||
using Artemis.UI.Ninject.Factories;
|
using Artemis.UI.Ninject.Factories;
|
||||||
|
using Artemis.UI.Screens.Home;
|
||||||
using Artemis.UI.Screens.Root.Sidebar;
|
using Artemis.UI.Screens.Root.Sidebar;
|
||||||
|
using Artemis.UI.Screens.Settings;
|
||||||
|
using Artemis.UI.Screens.SurfaceEditor;
|
||||||
|
using Artemis.UI.Screens.Workshop;
|
||||||
using Artemis.UI.Services.Interfaces;
|
using Artemis.UI.Services.Interfaces;
|
||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
using Artemis.UI.Shared.Services.Interfaces;
|
using Artemis.UI.Shared.Services.Interfaces;
|
||||||
@ -14,6 +18,8 @@ using Avalonia.Controls;
|
|||||||
using Avalonia.Controls.ApplicationLifetimes;
|
using Avalonia.Controls.ApplicationLifetimes;
|
||||||
using Avalonia.Platform;
|
using Avalonia.Platform;
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
|
using Ninject;
|
||||||
|
using Ninject.Parameters;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.Root
|
namespace Artemis.UI.Screens.Root
|
||||||
@ -24,6 +30,7 @@ namespace Artemis.UI.Screens.Root
|
|||||||
private readonly ICoreService _coreService;
|
private readonly ICoreService _coreService;
|
||||||
private readonly ISettingsService _settingsService;
|
private readonly ISettingsService _settingsService;
|
||||||
private readonly IWindowService _windowService;
|
private readonly IWindowService _windowService;
|
||||||
|
private readonly IDebugService _debugService;
|
||||||
private readonly IAssetLoader _assetLoader;
|
private readonly IAssetLoader _assetLoader;
|
||||||
private readonly ISidebarVmFactory _sidebarVmFactory;
|
private readonly ISidebarVmFactory _sidebarVmFactory;
|
||||||
private SidebarViewModel? _sidebarViewModel;
|
private SidebarViewModel? _sidebarViewModel;
|
||||||
@ -35,6 +42,7 @@ namespace Artemis.UI.Screens.Root
|
|||||||
IRegistrationService registrationService,
|
IRegistrationService registrationService,
|
||||||
IWindowService windowService,
|
IWindowService windowService,
|
||||||
IMainWindowService mainWindowService,
|
IMainWindowService mainWindowService,
|
||||||
|
IDebugService debugService,
|
||||||
IAssetLoader assetLoader,
|
IAssetLoader assetLoader,
|
||||||
ISidebarVmFactory sidebarVmFactory)
|
ISidebarVmFactory sidebarVmFactory)
|
||||||
{
|
{
|
||||||
@ -43,6 +51,7 @@ namespace Artemis.UI.Screens.Root
|
|||||||
_coreService = coreService;
|
_coreService = coreService;
|
||||||
_settingsService = settingsService;
|
_settingsService = settingsService;
|
||||||
_windowService = windowService;
|
_windowService = windowService;
|
||||||
|
_debugService = debugService;
|
||||||
_assetLoader = assetLoader;
|
_assetLoader = assetLoader;
|
||||||
_sidebarVmFactory = sidebarVmFactory;
|
_sidebarVmFactory = sidebarVmFactory;
|
||||||
_lifeTime = (IClassicDesktopStyleApplicationLifetime) Application.Current.ApplicationLifetime;
|
_lifeTime = (IClassicDesktopStyleApplicationLifetime) Application.Current.ApplicationLifetime;
|
||||||
@ -64,13 +73,6 @@ namespace Artemis.UI.Screens.Root
|
|||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public RoutingState Router { get; }
|
public RoutingState Router { get; }
|
||||||
|
|
||||||
public async Task Exit()
|
|
||||||
{
|
|
||||||
// Don't freeze the UI right after clicking
|
|
||||||
await Task.Delay(200);
|
|
||||||
Utilities.Shutdown();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CurrentMainWindowOnClosed(object? sender, EventArgs e)
|
private void CurrentMainWindowOnClosed(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_lifeTime.MainWindow = null;
|
_lifeTime.MainWindow = null;
|
||||||
@ -109,7 +111,11 @@ namespace Artemis.UI.Screens.Root
|
|||||||
|
|
||||||
private void ShowTrayIcon()
|
private void ShowTrayIcon()
|
||||||
{
|
{
|
||||||
_trayIcon = new TrayIcon {Icon = new WindowIcon(_assetLoader.Open(new Uri("avares://Artemis.UI/Assets/Images/Logo/bow.ico")))};
|
_trayIcon = new TrayIcon
|
||||||
|
{
|
||||||
|
Icon = new WindowIcon(_assetLoader.Open(new Uri("avares://Artemis.UI/Assets/Images/Logo/bow.ico"))),
|
||||||
|
Command = ReactiveCommand.Create(OpenMainWindow)
|
||||||
|
};
|
||||||
_trayIcon.Menu = (NativeMenu?) Application.Current.FindResource("TrayIconMenu");
|
_trayIcon.Menu = (NativeMenu?) Application.Current.FindResource("TrayIconMenu");
|
||||||
_trayIcons = new TrayIcons {_trayIcon};
|
_trayIcons = new TrayIcons {_trayIcon};
|
||||||
TrayIcon.SetIcons(Application.Current, _trayIcons);
|
TrayIcon.SetIcons(Application.Current, _trayIcons);
|
||||||
@ -124,6 +130,30 @@ namespace Artemis.UI.Screens.Root
|
|||||||
_trayIcons = null;
|
_trayIcons = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Tray commands
|
||||||
|
|
||||||
|
public void OpenScreen(string displayName)
|
||||||
|
{
|
||||||
|
OpenMainWindow();
|
||||||
|
|
||||||
|
// At this point there is a sidebar VM because the main window was opened
|
||||||
|
SidebarViewModel!.SelectedSidebarScreen = SidebarViewModel.SidebarScreens.FirstOrDefault(s => s.DisplayName == displayName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task OpenDebugger()
|
||||||
|
{
|
||||||
|
await Dispatcher.UIThread.InvokeAsync(() => _debugService.ShowDebugger());
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task Exit()
|
||||||
|
{
|
||||||
|
// Don't freeze the UI right after clicking
|
||||||
|
await Task.Delay(200);
|
||||||
|
Utilities.Shutdown();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region Implementation of IMainWindowProvider
|
#region Implementation of IMainWindowProvider
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
@ -140,8 +170,8 @@ namespace Artemis.UI.Screens.Root
|
|||||||
_lifeTime.MainWindow.Closed += CurrentMainWindowOnClosed;
|
_lifeTime.MainWindow.Closed += CurrentMainWindowOnClosed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_lifeTime.MainWindow.WindowState = WindowState.Normal;
|
||||||
_lifeTime.MainWindow.Activate();
|
_lifeTime.MainWindow.Activate();
|
||||||
|
|
||||||
OnMainWindowOpened();
|
OnMainWindowOpened();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,13 @@
|
|||||||
|
<UserControl xmlns="https://github.com/avaloniaui"
|
||||||
|
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"
|
||||||
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
|
x:Class="Artemis.UI.Screens.Root.Sidebar.Dialogs.SidebarCategoryCreateView">
|
||||||
|
<StackPanel>
|
||||||
|
<StackPanel.KeyBindings>
|
||||||
|
<KeyBinding Gesture="Enter" Command="{Binding Confirm}" />
|
||||||
|
</StackPanel.KeyBindings>
|
||||||
|
<TextBox Text="{Binding CategoryName}" Watermark="Category name"/>
|
||||||
|
</StackPanel>
|
||||||
|
</UserControl>
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
using Artemis.UI.Shared.Extensions;
|
||||||
|
using Avalonia.Markup.Xaml;
|
||||||
|
using Avalonia.ReactiveUI;
|
||||||
|
using ReactiveUI;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Screens.Root.Sidebar.Dialogs
|
||||||
|
{
|
||||||
|
public class SidebarCategoryCreateView : ReactiveUserControl<SidebarCategoryCreateViewModel>
|
||||||
|
{
|
||||||
|
public SidebarCategoryCreateView()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
this.WhenActivated(_ => this.ClearAllDataValidationErrors());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
AvaloniaXamlLoader.Load(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,60 @@
|
|||||||
|
using System.Reactive;
|
||||||
|
using Artemis.Core;
|
||||||
|
using Artemis.Core.Services;
|
||||||
|
using Artemis.UI.Shared;
|
||||||
|
using FluentAvalonia.UI.Controls;
|
||||||
|
using ReactiveUI;
|
||||||
|
using ReactiveUI.Validation.Extensions;
|
||||||
|
|
||||||
|
namespace Artemis.UI.Screens.Root.Sidebar.Dialogs
|
||||||
|
{
|
||||||
|
public class SidebarCategoryCreateViewModel : ContentDialogViewModelBase
|
||||||
|
{
|
||||||
|
private readonly IProfileService _profileService;
|
||||||
|
private readonly ProfileCategory? _category;
|
||||||
|
private string? _categoryName;
|
||||||
|
|
||||||
|
public SidebarCategoryCreateViewModel(IProfileService profileService, ProfileCategory? category)
|
||||||
|
{
|
||||||
|
_profileService = profileService;
|
||||||
|
_category = category;
|
||||||
|
|
||||||
|
if (_category != null)
|
||||||
|
_categoryName = _category.Name;
|
||||||
|
|
||||||
|
Confirm = ReactiveCommand.Create(ExecuteConfirm, ValidationContext.Valid);
|
||||||
|
Delete = ReactiveCommand.Create(ExecuteDelete);
|
||||||
|
|
||||||
|
this.ValidationRule(vm => vm.CategoryName, categoryName => !string.IsNullOrWhiteSpace(categoryName), "You must specify a valid name");
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReactiveCommand<Unit, Unit> Delete { get; set; }
|
||||||
|
|
||||||
|
public string? CategoryName
|
||||||
|
{
|
||||||
|
get => _categoryName;
|
||||||
|
set => this.RaiseAndSetIfChanged(ref _categoryName, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReactiveCommand<Unit, Unit> Confirm { get; }
|
||||||
|
|
||||||
|
private void ExecuteConfirm()
|
||||||
|
{
|
||||||
|
if (_category != null)
|
||||||
|
{
|
||||||
|
_category.Name = CategoryName!;
|
||||||
|
_profileService.SaveProfileCategory(_category);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
_profileService.CreateProfileCategory(CategoryName!);
|
||||||
|
|
||||||
|
ContentDialog?.Hide(ContentDialogResult.Primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ExecuteDelete()
|
||||||
|
{
|
||||||
|
if (_category != null)
|
||||||
|
_profileService.DeleteProfileCategory(_category);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,6 +4,7 @@
|
|||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||||
xmlns:local="clr-namespace:Artemis.UI.Screens.Root.Sidebar"
|
xmlns:local="clr-namespace:Artemis.UI.Screens.Root.Sidebar"
|
||||||
|
xmlns:controls="clr-namespace:Artemis.UI.Shared.Controls;assembly=Artemis.UI.Shared"
|
||||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
x:Class="Artemis.UI.Screens.Root.Sidebar.SidebarCategoryView">
|
x:Class="Artemis.UI.Screens.Root.Sidebar.SidebarCategoryView">
|
||||||
<UserControl.Styles>
|
<UserControl.Styles>
|
||||||
@ -27,19 +28,8 @@
|
|||||||
<Setter Property="Opacity" Value="1" />
|
<Setter Property="Opacity" Value="1" />
|
||||||
</Style>
|
</Style>
|
||||||
</UserControl.Styles>
|
</UserControl.Styles>
|
||||||
<Grid x:Name="ContainerGrid" Margin="0 8 0 0">
|
<Grid x:Name="ContainerGrid" Margin="0 8 0 0" RowDefinitions="Auto,*">
|
||||||
<Grid.RowDefinitions>
|
<Grid Grid.Row="0" Background="Transparent" ColumnDefinitions="Auto,Auto,*,Auto,Auto">
|
||||||
<RowDefinition Height="Auto" />
|
|
||||||
<RowDefinition Height="*" />
|
|
||||||
</Grid.RowDefinitions>
|
|
||||||
<Grid Grid.Row="0" Background="Transparent">
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="Auto" />
|
|
||||||
<ColumnDefinition Width="Auto" />
|
|
||||||
<ColumnDefinition Width="*" />
|
|
||||||
<ColumnDefinition Width="Auto" />
|
|
||||||
<ColumnDefinition Width="Auto" />
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
|
|
||||||
<avalonia:MaterialIcon Classes.chevron-collapsed="{Binding ShowItems}"
|
<avalonia:MaterialIcon Classes.chevron-collapsed="{Binding ShowItems}"
|
||||||
Kind="ChevronUp"
|
Kind="ChevronUp"
|
||||||
@ -87,7 +77,8 @@
|
|||||||
<Button Classes="category-button icon-button icon-button-small"
|
<Button Classes="category-button icon-button icon-button-small"
|
||||||
Grid.Column="2"
|
Grid.Column="2"
|
||||||
ToolTip.Tip="Edit category"
|
ToolTip.Tip="Edit category"
|
||||||
HorizontalAlignment="Right">
|
HorizontalAlignment="Right"
|
||||||
|
Command="{Binding EditCategory}">
|
||||||
<avalonia:MaterialIcon Kind="Cog" />
|
<avalonia:MaterialIcon Kind="Cog" />
|
||||||
</Button>
|
</Button>
|
||||||
<ToggleButton Classes="category-button icon-button icon-button-small"
|
<ToggleButton Classes="category-button icon-button icon-button-small"
|
||||||
@ -105,12 +96,11 @@
|
|||||||
<DataTemplate x:Key="ProfileDragTemplate" DataType="{x:Type local:SidebarProfileConfigurationViewModel}">
|
<DataTemplate x:Key="ProfileDragTemplate" DataType="{x:Type local:SidebarProfileConfigurationViewModel}">
|
||||||
<Border Background="{DynamicResource MaterialDesignDivider}" Padding="10" CornerRadius="4">
|
<Border Background="{DynamicResource MaterialDesignDivider}" Padding="10" CornerRadius="4">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<!-- <shared:ProfileConfigurationIcon ConfigurationIcon="{Binding ProfileConfiguration.Icon}" -->
|
<controls:ProfileConfigurationIcon ConfigurationIcon="{Binding ProfileConfiguration.Icon}"
|
||||||
<!-- Width="20" -->
|
Width="20"
|
||||||
<!-- Height="20" -->
|
Height="20"
|
||||||
<!-- Margin="0 0 10 0" -->
|
Margin="0 0 10 0" />
|
||||||
<!-- Foreground="{DynamicResource MaterialDesignBody}" /> -->
|
<TextBlock Text="{Binding ProfileConfiguration.Name}" VerticalAlignment="Center" />
|
||||||
<TextBlock Text="{Binding ProfileConfiguration.Name}" VerticalAlignment="Center" Foreground="{DynamicResource MaterialDesignBody}" />
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
|
|||||||
@ -1,22 +1,30 @@
|
|||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.Core.Services;
|
using Artemis.Core.Services;
|
||||||
using Artemis.UI.Ninject.Factories;
|
using Artemis.UI.Ninject.Factories;
|
||||||
|
using Artemis.UI.Screens.Root.Sidebar.Dialogs;
|
||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
|
using Artemis.UI.Shared.Services.Interfaces;
|
||||||
|
using FluentAvalonia.UI.Controls;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI.Screens.Root.Sidebar
|
namespace Artemis.UI.Screens.Root.Sidebar
|
||||||
{
|
{
|
||||||
public class SidebarCategoryViewModel : ViewModelBase
|
public class SidebarCategoryViewModel : ViewModelBase
|
||||||
{
|
{
|
||||||
|
private readonly SidebarViewModel _sidebarViewModel;
|
||||||
private readonly IProfileService _profileService;
|
private readonly IProfileService _profileService;
|
||||||
|
private readonly IWindowService _windowService;
|
||||||
private readonly ISidebarVmFactory _vmFactory;
|
private readonly ISidebarVmFactory _vmFactory;
|
||||||
private SidebarProfileConfigurationViewModel? _selectedProfileConfiguration;
|
private SidebarProfileConfigurationViewModel? _selectedProfileConfiguration;
|
||||||
|
|
||||||
public SidebarCategoryViewModel(ProfileCategory profileCategory, IProfileService profileService, ISidebarVmFactory vmFactory)
|
public SidebarCategoryViewModel(SidebarViewModel sidebarViewModel, ProfileCategory profileCategory, IProfileService profileService, IWindowService windowService, ISidebarVmFactory vmFactory)
|
||||||
{
|
{
|
||||||
|
_sidebarViewModel = sidebarViewModel;
|
||||||
_profileService = profileService;
|
_profileService = profileService;
|
||||||
|
_windowService = windowService;
|
||||||
_vmFactory = vmFactory;
|
_vmFactory = vmFactory;
|
||||||
|
|
||||||
ProfileCategory = profileCategory;
|
ProfileCategory = profileCategory;
|
||||||
@ -62,6 +70,19 @@ namespace Artemis.UI.Screens.Root.Sidebar
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task EditCategory()
|
||||||
|
{
|
||||||
|
await _windowService.CreateContentDialog()
|
||||||
|
.WithTitle("Edit category")
|
||||||
|
.WithViewModel<SidebarCategoryCreateViewModel>(out var vm, ("category", ProfileCategory))
|
||||||
|
.HavingPrimaryButton(b => b.WithText("Confirm").WithCommand(vm.Confirm))
|
||||||
|
.HavingSecondaryButton(b => b.WithText("Delete").WithCommand(vm.Delete))
|
||||||
|
.WithDefaultButton(ContentDialogButton.Primary)
|
||||||
|
.ShowAsync();
|
||||||
|
|
||||||
|
_sidebarViewModel.UpdateProfileCategories();
|
||||||
|
}
|
||||||
|
|
||||||
private void CreateProfileViewModels()
|
private void CreateProfileViewModels()
|
||||||
{
|
{
|
||||||
ProfileConfigurations.Clear();
|
ProfileConfigurations.Clear();
|
||||||
|
|||||||
@ -48,7 +48,10 @@
|
|||||||
<ScrollViewer Grid.Row="3" VerticalScrollBarVisibility="Auto">
|
<ScrollViewer Grid.Row="3" VerticalScrollBarVisibility="Auto">
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<ItemsControl Margin="10 2" Items="{Binding SidebarCategories}" />
|
<ItemsControl Margin="10 2" Items="{Binding SidebarCategories}" />
|
||||||
<Button Content="ADD NEW CATEGORY" Margin="10 10 10 0" />
|
<Button Content="Add new category"
|
||||||
|
Margin="10"
|
||||||
|
HorizontalAlignment="Stretch"
|
||||||
|
Command="{Binding AddCategory}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
|
|
||||||
|
|||||||
@ -2,14 +2,18 @@
|
|||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reactive.Disposables;
|
using System.Reactive.Disposables;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using Artemis.Core;
|
using Artemis.Core;
|
||||||
using Artemis.Core.Services;
|
using Artemis.Core.Services;
|
||||||
using Artemis.UI.Ninject.Factories;
|
using Artemis.UI.Ninject.Factories;
|
||||||
using Artemis.UI.Screens.Home;
|
using Artemis.UI.Screens.Home;
|
||||||
|
using Artemis.UI.Screens.Root.Sidebar.Dialogs;
|
||||||
using Artemis.UI.Screens.Settings;
|
using Artemis.UI.Screens.Settings;
|
||||||
using Artemis.UI.Screens.SurfaceEditor;
|
using Artemis.UI.Screens.SurfaceEditor;
|
||||||
using Artemis.UI.Screens.Workshop;
|
using Artemis.UI.Screens.Workshop;
|
||||||
using Artemis.UI.Shared;
|
using Artemis.UI.Shared;
|
||||||
|
using Artemis.UI.Shared.Services.Interfaces;
|
||||||
|
using FluentAvalonia.UI.Controls;
|
||||||
using Material.Icons;
|
using Material.Icons;
|
||||||
using Ninject;
|
using Ninject;
|
||||||
using ReactiveUI;
|
using ReactiveUI;
|
||||||
@ -23,16 +27,18 @@ namespace Artemis.UI.Screens.Root.Sidebar
|
|||||||
private readonly IProfileService _profileService;
|
private readonly IProfileService _profileService;
|
||||||
private readonly IRgbService _rgbService;
|
private readonly IRgbService _rgbService;
|
||||||
private readonly ISidebarVmFactory _sidebarVmFactory;
|
private readonly ISidebarVmFactory _sidebarVmFactory;
|
||||||
|
private readonly IWindowService _windowService;
|
||||||
private ArtemisDevice? _headerDevice;
|
private ArtemisDevice? _headerDevice;
|
||||||
|
|
||||||
private SidebarScreenViewModel? _selectedSidebarScreen;
|
private SidebarScreenViewModel? _selectedSidebarScreen;
|
||||||
|
|
||||||
public SidebarViewModel(IScreen hostScreen, IKernel kernel, IProfileService profileService, IRgbService rgbService, ISidebarVmFactory sidebarVmFactory)
|
public SidebarViewModel(IScreen hostScreen, IKernel kernel, IProfileService profileService, IRgbService rgbService, ISidebarVmFactory sidebarVmFactory, IWindowService windowService)
|
||||||
{
|
{
|
||||||
_hostScreen = hostScreen;
|
_hostScreen = hostScreen;
|
||||||
_profileService = profileService;
|
_profileService = profileService;
|
||||||
_rgbService = rgbService;
|
_rgbService = rgbService;
|
||||||
_sidebarVmFactory = sidebarVmFactory;
|
_sidebarVmFactory = sidebarVmFactory;
|
||||||
|
_windowService = windowService;
|
||||||
|
|
||||||
SidebarScreens = new ObservableCollection<SidebarScreenViewModel>
|
SidebarScreens = new ObservableCollection<SidebarScreenViewModel>
|
||||||
{
|
{
|
||||||
@ -75,12 +81,24 @@ namespace Artemis.UI.Screens.Root.Sidebar
|
|||||||
|
|
||||||
public SidebarCategoryViewModel AddProfileCategoryViewModel(ProfileCategory profileCategory)
|
public SidebarCategoryViewModel AddProfileCategoryViewModel(ProfileCategory profileCategory)
|
||||||
{
|
{
|
||||||
SidebarCategoryViewModel viewModel = _sidebarVmFactory.SidebarCategoryViewModel(profileCategory);
|
SidebarCategoryViewModel viewModel = _sidebarVmFactory.SidebarCategoryViewModel(this, profileCategory);
|
||||||
SidebarCategories.Add(viewModel);
|
SidebarCategories.Add(viewModel);
|
||||||
return viewModel;
|
return viewModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateProfileCategories()
|
public async Task AddCategory()
|
||||||
|
{
|
||||||
|
await _windowService.CreateContentDialog()
|
||||||
|
.WithTitle("Add new category")
|
||||||
|
.WithViewModel<SidebarCategoryCreateViewModel>(out var vm, ("category", null))
|
||||||
|
.HavingPrimaryButton(b => b.WithText("Confirm").WithCommand(vm.Confirm))
|
||||||
|
.WithDefaultButton(ContentDialogButton.Primary)
|
||||||
|
.ShowAsync();
|
||||||
|
|
||||||
|
UpdateProfileCategories();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateProfileCategories()
|
||||||
{
|
{
|
||||||
SidebarCategories.Clear();
|
SidebarCategories.Clear();
|
||||||
foreach (ProfileCategory profileCategory in _profileService.ProfileCategories.OrderBy(p => p.Order))
|
foreach (ProfileCategory profileCategory in _profileService.ProfileCategories.OrderBy(p => p.Order))
|
||||||
|
|||||||
@ -10,12 +10,5 @@
|
|||||||
<TextBlock Text="{Binding DisplayName}" />
|
<TextBlock Text="{Binding DisplayName}" />
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</TabControl.ItemTemplate>
|
</TabControl.ItemTemplate>
|
||||||
<TabControl.ContentTemplate>
|
|
||||||
<DataTemplate>
|
|
||||||
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
|
||||||
<ContentControl Content="{Binding}" />
|
|
||||||
</ScrollViewer>
|
|
||||||
</DataTemplate>
|
|
||||||
</TabControl.ContentTemplate>
|
|
||||||
</TabControl>
|
</TabControl>
|
||||||
</UserControl>
|
</UserControl>
|
||||||
@ -4,22 +4,30 @@
|
|||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||||
x:Class="Artemis.UI.Screens.Settings.Tabs.DevicesTabView">
|
x:Class="Artemis.UI.Screens.Settings.Tabs.DevicesTabView">
|
||||||
<StackPanel MaxWidth="1050">
|
<Grid MaxWidth="1050">
|
||||||
<TextBlock Classes="h4">Device management</TextBlock>
|
<Grid.RowDefinitions>
|
||||||
<TextBlock>
|
<RowDefinition Height="Auto"/>
|
||||||
Below you view and manage the devices that were detected by Artemis.
|
<RowDefinition Height="*"/>
|
||||||
</TextBlock>
|
</Grid.RowDefinitions>
|
||||||
<TextBlock>
|
<StackPanel>
|
||||||
Disabling a device will cause it to stop updating. Some SDKs will even go back to using manufacturer lighting (Artemis restart may be required).
|
<TextBlock Classes="h4">Device management</TextBlock>
|
||||||
</TextBlock>
|
<TextBlock>
|
||||||
|
Below you view and manage the devices that were detected by Artemis.
|
||||||
|
</TextBlock>
|
||||||
|
<TextBlock>
|
||||||
|
Disabling a device will cause it to stop updating. Some SDKs will even go back to using manufacturer lighting (Artemis restart may be required).
|
||||||
|
</TextBlock>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
<ItemsControl Items="{Binding Devices}" Margin="-5 0">
|
<ScrollViewer Grid.Row="1" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
||||||
<ItemsControl.ItemsPanel>
|
<ItemsControl Items="{Binding Devices}" Margin="-5 0">
|
||||||
<ItemsPanelTemplate>
|
<ItemsControl.ItemsPanel>
|
||||||
<WrapPanel />
|
<ItemsPanelTemplate>
|
||||||
</ItemsPanelTemplate>
|
<WrapPanel />
|
||||||
</ItemsControl.ItemsPanel>
|
</ItemsPanelTemplate>
|
||||||
</ItemsControl>
|
</ItemsControl.ItemsPanel>
|
||||||
</StackPanel>
|
</ItemsControl>
|
||||||
|
</ScrollViewer>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
</UserControl>
|
</UserControl>
|
||||||
@ -2,355 +2,357 @@
|
|||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:system="clr-namespace:System;assembly=System.Runtime"
|
|
||||||
xmlns:layerBrushes="clr-namespace:Artemis.Core.LayerBrushes;assembly=Artemis.Core"
|
xmlns:layerBrushes="clr-namespace:Artemis.Core.LayerBrushes;assembly=Artemis.Core"
|
||||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||||
xmlns:controls="clr-namespace:Artemis.UI.Shared.Controls;assembly=Artemis.UI.Shared"
|
xmlns:controls="clr-namespace:Artemis.UI.Shared.Controls;assembly=Artemis.UI.Shared"
|
||||||
mc:Ignorable="d" d:DesignWidth="1000" d:DesignHeight="2400"
|
mc:Ignorable="d" d:DesignWidth="1000" d:DesignHeight="2400"
|
||||||
x:Class="Artemis.UI.Screens.Settings.Tabs.GeneralTabView">
|
x:Class="Artemis.UI.Screens.Settings.Tabs.GeneralTabView">
|
||||||
|
|
||||||
<StackPanel Margin="15" MaxWidth="1000">
|
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
||||||
<!-- General settings -->
|
<StackPanel Margin="15" MaxWidth="1000">
|
||||||
<TextBlock Classes="h4" Margin="0 15">
|
<!-- General settings -->
|
||||||
General
|
<TextBlock Classes="h4" Margin="0 15">
|
||||||
</TextBlock>
|
General
|
||||||
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
</TextBlock>
|
||||||
<StackPanel>
|
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<StackPanel>
|
||||||
<StackPanel Grid.Column="0">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<TextBlock>Auto-run on startup</TextBlock>
|
<StackPanel Grid.Column="0">
|
||||||
</StackPanel>
|
<TextBlock>Auto-run on startup</TextBlock>
|
||||||
<ToggleSwitch Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" IsChecked="{Binding UIAutoRun.Value}" MinWidth="0" Margin="0 -10"/>
|
</StackPanel>
|
||||||
</Grid>
|
<ToggleSwitch Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" IsChecked="{Binding UIAutoRun.Value}" MinWidth="0" Margin="0 -10"/>
|
||||||
<Separator Classes="card-separator" />
|
</Grid>
|
||||||
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>Hide window on auto-run</TextBlock>
|
<TextBlock>Hide window on auto-run</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<ToggleSwitch IsChecked="{Binding !UIShowOnStartup.Value}" IsEnabled="{Binding UIAutoRun.Value}" MinWidth="0" Margin="0 -10"/>
|
<ToggleSwitch IsChecked="{Binding !UIShowOnStartup.Value}" IsEnabled="{Binding UIAutoRun.Value}" MinWidth="0" Margin="0 -10"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator Classes="card-separator" />
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>Startup delay</TextBlock>
|
<TextBlock>Startup delay</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
Set the amount of seconds to wait before auto-running Artemis.
|
Set the amount of seconds to wait before auto-running Artemis.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
If some devices don't work because Artemis starts before the manufacturer's software, try increasing this value.
|
If some devices don't work because Artemis starts before the manufacturer's software, try increasing this value.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Orientation="Horizontal">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Orientation="Horizontal">
|
||||||
<TextBox Text="{Binding UIAutoRunDelay.Value}" IsEnabled="{Binding UIAutoRun.Value}" Width="120" />
|
<TextBox Text="{Binding UIAutoRunDelay.Value}" IsEnabled="{Binding UIAutoRun.Value}" Width="120" />
|
||||||
<TextBlock VerticalAlignment="Center" TextAlignment="Right" Width="30">sec</TextBlock>
|
<TextBlock VerticalAlignment="Center" TextAlignment="Right" Width="30">sec</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator Classes="card-separator" />
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>Color scheme</TextBlock>
|
<TextBlock>Color scheme</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
Pick between a light and dark color scheme, the automatic option copies your system settings.
|
Pick between a light and dark color scheme, the automatic option copies your system settings.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<controls:EnumComboBox Width="150" Value="{Binding UIColorScheme.Value}" />
|
<controls:EnumComboBox Width="150" Value="{Binding UIColorScheme.Value}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator Classes="card-separator" />
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Log level
|
Log level
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
Sets the logging level, a higher logging level will result in more log files.
|
Sets the logging level, a higher logging level will result in more log files.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<controls:EnumComboBox Width="150" Value="{Binding CoreLoggingLevel.Value}" />
|
<controls:EnumComboBox Width="150" Value="{Binding CoreLoggingLevel.Value}" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator Classes="card-separator" />
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Logs
|
Logs
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle">
|
<TextBlock Classes="subtitle">
|
||||||
Opens the directory where logs are stored.
|
Opens the directory where logs are stored.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<Button Command="{Binding ShowLogs}" Width="150" Content="Show logs" />
|
<Button Command="{Binding ShowLogs}" Width="150" Content="Show logs" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<!-- Web server settings -->
|
<!-- Web server settings -->
|
||||||
<TextBlock Classes="h4" Margin="0 15">
|
<TextBlock Classes="h4" Margin="0 15">
|
||||||
Web server
|
Web server
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Web server port
|
Web server port
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
Artemis runs a local web server that can be used to externally interact with the application.
|
Artemis runs a local web server that can be used to externally interact with the application.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
This web server can only be accessed by applications running on your own computer, e.g. supported games.
|
This web server can only be accessed by applications running on your own computer, e.g. supported games.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<TextBox Text="{Binding WebServerPort.Value}" Width="150" />
|
<TextBox Text="{Binding WebServerPort.Value}" Width="150" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<!-- Update settings -->
|
<!-- Update settings -->
|
||||||
<TextBlock Classes="h4" Margin="0 15">
|
<TextBlock Classes="h4" Margin="0 15">
|
||||||
Updating
|
Updating
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Check for updates
|
Check for updates
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
If enabled, we'll check for updates on startup and periodically while running.
|
If enabled, we'll check for updates on startup and periodically while running.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<ToggleSwitch IsChecked="{Binding UICheckForUpdates.Value}" MinWidth="0" />
|
<ToggleSwitch IsChecked="{Binding UICheckForUpdates.Value}" MinWidth="0" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator Classes="card-separator" />
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Update
|
Update
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle">
|
<TextBlock Classes="subtitle">
|
||||||
Use the button on the right to check for updates now.
|
Use the button on the right to check for updates now.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<Button Command="{Binding OfferUpdatesIfFound}" Width="150" Content="Check now" />
|
<Button Command="{Binding OfferUpdatesIfFound}" Width="150" Content="Check now" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<!-- Profile editor settings -->
|
<!-- Profile editor settings -->
|
||||||
<TextBlock Classes="h4" Margin="0 15">
|
<TextBlock Classes="h4" Margin="0 15">
|
||||||
Profile editor
|
Profile editor
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Show condition data model values
|
Show condition data model values
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
While selecting a condition target, show the current values of the data model.
|
While selecting a condition target, show the current values of the data model.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<ToggleSwitch IsChecked="{Binding ProfileEditorShowDataModelValues.Value}" MinWidth="0" />
|
<ToggleSwitch IsChecked="{Binding ProfileEditorShowDataModelValues.Value}" MinWidth="0" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator Classes="card-separator" />
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Default brush
|
Default brush
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
Sets the default brush that is applied to new layers
|
Sets the default brush that is applied to new layers
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<StackPanel.Styles>
|
<StackPanel.Styles>
|
||||||
<Style Selector="ComboBox.brush /template/ ContentControl#ContentPresenter">
|
<Style Selector="ComboBox.brush /template/ ContentControl#ContentPresenter">
|
||||||
<Setter Property="ContentTemplate">
|
<Setter Property="ContentTemplate">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<DataTemplate DataType="{x:Type layerBrushes:LayerBrushDescriptor}">
|
<DataTemplate DataType="{x:Type layerBrushes:LayerBrushDescriptor}">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<avalonia:MaterialIcon Kind="{Binding Icon}" Height="20" Width="20" VerticalAlignment="Center" Margin="0 0 5 0"/>
|
<avalonia:MaterialIcon Kind="{Binding Icon}" Height="20" Width="20" VerticalAlignment="Center" Margin="0 0 5 0"/>
|
||||||
<TextBlock Text="{Binding DisplayName}" VerticalAlignment="Center" />
|
<TextBlock Text="{Binding DisplayName}" VerticalAlignment="Center" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
</StackPanel.Styles>
|
</StackPanel.Styles>
|
||||||
<ComboBox Classes="brush"
|
<ComboBox Classes="brush"
|
||||||
Width="200"
|
Width="200"
|
||||||
HorizontalAlignment="Left"
|
HorizontalAlignment="Left"
|
||||||
Items="{Binding LayerBrushDescriptors}"
|
Items="{Binding LayerBrushDescriptors}"
|
||||||
SelectedItem="{Binding SelectedLayerBrushDescriptor}">
|
SelectedItem="{Binding SelectedLayerBrushDescriptor}">
|
||||||
<ComboBox.ItemTemplate>
|
<ComboBox.ItemTemplate>
|
||||||
<DataTemplate DataType="{x:Type layerBrushes:LayerBrushDescriptor}">
|
<DataTemplate DataType="{x:Type layerBrushes:LayerBrushDescriptor}">
|
||||||
<Grid ColumnDefinitions="30,*" RowDefinitions="Auto,Auto">
|
<Grid ColumnDefinitions="30,*" RowDefinitions="Auto,Auto">
|
||||||
<avalonia:MaterialIcon Grid.Row="0"
|
<avalonia:MaterialIcon Grid.Row="0"
|
||||||
Grid.RowSpan="2"
|
Grid.RowSpan="2"
|
||||||
Kind="{Binding Icon}"
|
Kind="{Binding Icon}"
|
||||||
Height="20"
|
Height="20"
|
||||||
Width="20"
|
Width="20"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
HorizontalAlignment="Left" />
|
HorizontalAlignment="Left" />
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding DisplayName}" TextWrapping="Wrap" MaxWidth="350" />
|
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding DisplayName}" TextWrapping="Wrap" MaxWidth="350" />
|
||||||
<TextBlock Classes="subtitle" Grid.Row="1" Grid.Column="1" Text="{Binding Description}" TextWrapping="Wrap" MaxWidth="350" />
|
<TextBlock Classes="subtitle" Grid.Row="1" Grid.Column="1" Text="{Binding Description}" TextWrapping="Wrap" MaxWidth="350" />
|
||||||
</Grid>
|
</Grid>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</ComboBox.ItemTemplate>
|
</ComboBox.ItemTemplate>
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<!-- Rendering settings -->
|
<!-- Rendering settings -->
|
||||||
<TextBlock Classes="h4" Margin="0 15">
|
<TextBlock Classes="h4" Margin="0 15">
|
||||||
Rendering
|
Rendering
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Preferred render method
|
Preferred render method
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
Software-based rendering is done purely on the CPU while Vulkan uses GPU-acceleration.
|
Software-based rendering is done purely on the CPU while Vulkan uses GPU-acceleration.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<ComboBox Width="150"
|
<ComboBox Width="150"
|
||||||
SelectedItem="{Binding CorePreferredGraphicsContext.Value}"
|
SelectedItem="{Binding CorePreferredGraphicsContext.Value}"
|
||||||
Items="{Binding GraphicsContexts}"/>
|
Items="{Binding GraphicsContexts}"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator Classes="card-separator" />
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Render scale
|
Render scale
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
Sets the resolution Artemis renders at, higher scale means more CPU-usage, especially on large surfaces.
|
Sets the resolution Artemis renders at, higher scale means more CPU-usage, especially on large surfaces.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<ComboBox Width="150"
|
<ComboBox Width="150"
|
||||||
SelectedItem="{Binding SelectedRenderScale}"
|
SelectedItem="{Binding SelectedRenderScale}"
|
||||||
Items="{Binding RenderScales}">
|
Items="{Binding RenderScales}">
|
||||||
<ComboBox.ItemTemplate>
|
<ComboBox.ItemTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<TextBlock Text="{Binding [0]}" />
|
<TextBlock Text="{Binding [0]}" />
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</ComboBox.ItemTemplate>
|
</ComboBox.ItemTemplate>
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator Classes="card-separator" />
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Target frame rate
|
Target frame rate
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
Sets the FPS Artemis tries to render at, higher FPS means more CPU-usage but smoother animations.
|
Sets the FPS Artemis tries to render at, higher FPS means more CPU-usage but smoother animations.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
<TextBlock Classes="subtitle" TextWrapping="Wrap">
|
||||||
The options past 45 FPS are mostly useless unless you are using a custom device.
|
The options past 45 FPS are mostly useless unless you are using a custom device.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<ComboBox Width="150"
|
<ComboBox Width="150"
|
||||||
SelectedItem="{Binding SelectedTargetFrameRate}"
|
SelectedItem="{Binding SelectedTargetFrameRate}"
|
||||||
Items="{Binding TargetFrameRates}">
|
Items="{Binding TargetFrameRates}">
|
||||||
<ComboBox.ItemTemplate>
|
<ComboBox.ItemTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<TextBlock Text="{Binding [0]}" />
|
<TextBlock Text="{Binding [0]}" />
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</ComboBox.ItemTemplate>
|
</ComboBox.ItemTemplate>
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<!-- Tools -->
|
<!-- Tools -->
|
||||||
<TextBlock Classes="h4" Margin="0 15">
|
<TextBlock Classes="h4" Margin="0 15">
|
||||||
Tools
|
Tools
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
<Border Classes="card" VerticalAlignment="Stretch" Margin="0,0,5,0">
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Setup wizard
|
Setup wizard
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle">
|
<TextBlock Classes="subtitle">
|
||||||
Opens the startup wizard usually shown when Artemis first starts.
|
Opens the startup wizard usually shown when Artemis first starts.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<Button Command="{Binding ShowSetupWizard}" Width="150" Content="Show wizard" />
|
<Button Command="{Binding ShowSetupWizard}" Width="150" Content="Show wizard" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator Classes="card-separator" />
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
||||||
<TextBlock>
|
<TextBlock>
|
||||||
Debugger
|
Debugger
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<TextBlock Classes="subtitle">
|
<TextBlock Classes="subtitle">
|
||||||
Use the debugger to see the raw image Artemis is rendering on the surface.
|
Use the debugger to see the raw image Artemis is rendering on the surface.
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
<Button Command="{Binding ShowDebugger}" Width="150" Content="Show debugger" />
|
<Button Command="{Binding ShowDebugger}" Width="150" Content="Show debugger" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator Classes="card-separator" />
|
<Separator Classes="card-separator" />
|
||||||
|
|
||||||
|
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
||||||
|
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
||||||
|
<TextBlock>
|
||||||
|
Application files
|
||||||
|
</TextBlock>
|
||||||
|
<TextBlock Classes="subtitle">
|
||||||
|
Opens the directory where application files like plugins and settings are stored.
|
||||||
|
</TextBlock>
|
||||||
|
</StackPanel>
|
||||||
|
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||||
|
<Button Command="{Binding ShowDataFolder}" Width="150" Content="Show app files" />
|
||||||
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
|
</StackPanel>
|
||||||
|
</Border>
|
||||||
|
</StackPanel>
|
||||||
|
</ScrollViewer>
|
||||||
|
|
||||||
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">
|
|
||||||
<StackPanel Grid.Column="0" VerticalAlignment="Center">
|
|
||||||
<TextBlock>
|
|
||||||
Application files
|
|
||||||
</TextBlock>
|
|
||||||
<TextBlock Classes="subtitle">
|
|
||||||
Opens the directory where application files like plugins and settings are stored.
|
|
||||||
</TextBlock>
|
|
||||||
</StackPanel>
|
|
||||||
<StackPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
|
||||||
<Button Command="{Binding ShowDataFolder}" Width="150" Content="Show app files" />
|
|
||||||
</StackPanel>
|
|
||||||
</Grid>
|
|
||||||
</StackPanel>
|
|
||||||
</Border>
|
|
||||||
</StackPanel>
|
|
||||||
</UserControl>
|
</UserControl>
|
||||||
@ -6,6 +6,8 @@
|
|||||||
x:Class="Artemis.UI.Screens.Settings.Tabs.PluginsTabView">
|
x:Class="Artemis.UI.Screens.Settings.Tabs.PluginsTabView">
|
||||||
<Grid RowDefinitions="Auto,*" ColumnDefinitions="*,*" Width="900">
|
<Grid RowDefinitions="Auto,*" ColumnDefinitions="*,*" Width="900">
|
||||||
<TextBox Grid.Row="0" Grid.Column="0" Text="{Binding SearchPluginInput}" Watermark="Search plugins" Margin="0 10" />
|
<TextBox Grid.Row="0" Grid.Column="0" Text="{Binding SearchPluginInput}" Watermark="Search plugins" Margin="0 10" />
|
||||||
<ItemsControl Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Items="{Binding Plugins}" />
|
<ScrollViewer Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
||||||
|
<ItemsControl Items="{Binding Plugins}" />
|
||||||
|
</ScrollViewer>
|
||||||
</Grid>
|
</Grid>
|
||||||
</UserControl>
|
</UserControl>
|
||||||
@ -22,7 +22,7 @@ namespace Artemis.UI.Services
|
|||||||
private void BringDebuggerToForeground()
|
private void BringDebuggerToForeground()
|
||||||
{
|
{
|
||||||
if (_debugViewModel != null)
|
if (_debugViewModel != null)
|
||||||
_debugViewModel.IsActive = true;
|
_debugViewModel.Activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CreateDebugger()
|
private void CreateDebugger()
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using Artemis.UI.Shared;
|
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Controls.Templates;
|
using Avalonia.Controls.Templates;
|
||||||
|
using ReactiveUI;
|
||||||
|
|
||||||
namespace Artemis.UI
|
namespace Artemis.UI
|
||||||
{
|
{
|
||||||
@ -22,7 +22,7 @@ namespace Artemis.UI
|
|||||||
|
|
||||||
public bool Match(object data)
|
public bool Match(object data)
|
||||||
{
|
{
|
||||||
return data is ViewModelBase;
|
return data is ReactiveObject;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -19,11 +19,11 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Controls.PanAndZoom": {
|
"Avalonia.Controls.PanAndZoom": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[4.2.0, )",
|
"requested": "[4.3.0, )",
|
||||||
"resolved": "4.2.0",
|
"resolved": "4.3.0",
|
||||||
"contentHash": "zIQhp86CdV7xmFXFkaQBDNDr0WSyumEdJvqvIrywG5SEQK3HzACt0gR85KX19DHTlkJlnUVjmfkTEiPjwvgGtA==",
|
"contentHash": "oUpQm2frhjWll5QWLx8Uzc2VWDNXgPqONlNBLu2gFBis1lkce1jjZvu423U7RNfvg1rOMeZoeiodZq7xZ02STA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.8"
|
"Avalonia": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Desktop": {
|
"Avalonia.Desktop": {
|
||||||
@ -64,25 +64,25 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Svg.Skia": {
|
"Avalonia.Svg.Skia": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[0.10.8.3, )",
|
"requested": "[0.10.10, )",
|
||||||
"resolved": "0.10.8.3",
|
"resolved": "0.10.10",
|
||||||
"contentHash": "w7RYf+8+gOI3uVZZJ59S0EP49LVsyr1jpnZQzVFQqKa3y/c/i2jT/EUoKOeaqPMhFIsQZyEF4iluqoo6aZ05Tw==",
|
"contentHash": "7xQkg3b/djGjGQe6ODxCY+LxMeZ0MtSFUOeEu8IMMUG89gueptuS84GZMRY27xG8lvjP3Mu8B1p3/YY5u7UiDg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.8",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Skia": "0.10.8",
|
"Avalonia.Skia": "0.10.10",
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
"Svg.Skia": "0.5.8.3"
|
"Svg.Skia": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FluentAvaloniaUI": {
|
"FluentAvaloniaUI": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[1.1.5, )",
|
"requested": "[1.1.6, )",
|
||||||
"resolved": "1.1.5",
|
"resolved": "1.1.6",
|
||||||
"contentHash": "1W1VZQaCeH4/kzNM2c9yPHAVVs9lW9/09bzz1lqu7Tvu79u9JCOjwkZmR8rGC0KbyOA7twwVr2/VvB84zDZYvA==",
|
"contentHash": "EJukyiTmEVhaYlHdntFMyQKI4+u772rSClKYQqJRfkTb1NoJXLqiIVqMjx8ZQ0pxnfih+6CZ7+x82lfrGHIPUw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.9",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Desktop": "0.10.9",
|
"Avalonia.Desktop": "0.10.10",
|
||||||
"Avalonia.Diagnostics": "0.10.9"
|
"Avalonia.Diagnostics": "0.10.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Flurl.Http": {
|
"Flurl.Http": {
|
||||||
@ -115,14 +115,23 @@
|
|||||||
"Material.Icons": "1.0.2"
|
"Material.Icons": "1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ReactiveUI.Validation": {
|
||||||
|
"type": "Direct",
|
||||||
|
"requested": "[2.2.1, )",
|
||||||
|
"resolved": "2.2.1",
|
||||||
|
"contentHash": "rhEphZ4ErbGfNtbBQ/tYMsLJYHyLVyqidU+sgZ3kXKbS7QrNoM4j6PPxCwLMKsJUuvVL8JN45xgmB9tSwm7+lg==",
|
||||||
|
"dependencies": {
|
||||||
|
"ReactiveUI": "16.2.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"Splat.Ninject": {
|
"Splat.Ninject": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[13.1.30, )",
|
"requested": "[13.1.63, )",
|
||||||
"resolved": "13.1.30",
|
"resolved": "13.1.63",
|
||||||
"contentHash": "hYgyD12Syt2l8U/KccMzNUj4nmrdULjoRTF4g5Q9XtVWPrcdTYmLEdcX/prZEWaFT7vGNP6x9uFXvOlM7Jc+gg==",
|
"contentHash": "rTF0HSa6p8nxrXj2hwVgkutcTDJUXY34sY+zYK4ky65b7a0ROL8kdiYyxVVLE4Lq31N5Rcd4bBbqlPkgwZguww==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
"Splat": "13.1.30"
|
"Splat": "13.1.63"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Angle.Windows.Natives": {
|
"Avalonia.Angle.Windows.Natives": {
|
||||||
@ -198,27 +207,27 @@
|
|||||||
},
|
},
|
||||||
"Avalonia.Xaml.Behaviors": {
|
"Avalonia.Xaml.Behaviors": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "rHDkieWZDTjG+PVGQzronzknmH24r2VDtzbNfC3O8FLZGqREsBoCRDrqW4R4bmtD6CqpDPBey5soBYnnDE1m3Q==",
|
"contentHash": "iSVOObfXch8vFzhYFvwGntRt4l4kg+dxXYc4C4RDhnoyPh60BCMUzdk2gYUYySv9UVSGAhqH4dQPWZ0l9USmYA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.10",
|
"Avalonia.Xaml.Interactions": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10"
|
"Avalonia.Xaml.Interactivity": "0.10.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactions": {
|
"Avalonia.Xaml.Interactions": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "bOJvciyk6kUjPx+mg6n+bwHQqRqgNiTDzTBkpokfkcWl9pMAlKvqqUe6YXWVCpKIDBjbzvkAbYa29S0ajqwFxw==",
|
"contentHash": "OAwrl0tzsz+iX2z3T5wdsEG/JkbnlylfXUjCfbgQlQqODUBO0kk02RpCHJMnV86apkVXjeLV+S5+yA1yX+DT6g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10"
|
"Avalonia.Xaml.Interactivity": "0.10.10.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Avalonia.Xaml.Interactivity": {
|
"Avalonia.Xaml.Interactivity": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.10.10",
|
"resolved": "0.10.10.4",
|
||||||
"contentHash": "xxWrpi0HsySczpU3Zl6c2ugbkTOs9qwqbvClfi/AKncoVbWpXv7W6J3kfQcfRlnKFwkTPjLyTYKVERIkb7kNCQ==",
|
"contentHash": "RH33/HboQikon64SCfu1qFpuy4+mox2SEGYbXrrw9mnw3Ogw8PeYTJLtZw8/mNYs6dZAU3NusRBaLIG+0PGisw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Avalonia": "0.10.10"
|
"Avalonia": "0.10.10"
|
||||||
}
|
}
|
||||||
@ -242,8 +251,8 @@
|
|||||||
},
|
},
|
||||||
"DynamicData": {
|
"DynamicData": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "7.1.1",
|
"resolved": "7.3.1",
|
||||||
"contentHash": "Pc6J5bFnSxEa64PV2V67FMcLlDdpv6m+zTBKSnRN3aLon/WtWWy8kuDpHFbJlgXHtqc6Nxloj9ItuvDlvKC/8w==",
|
"contentHash": "E9oTvWlAgzct0MuWt6k+0s+nSDA3LkFVvDwkMUTklIZZnva314KZAEF2vG4XX9I98ia+EpMqjte67jWEBJlsRw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.Reactive": "5.0.0"
|
"System.Reactive": "5.0.0"
|
||||||
}
|
}
|
||||||
@ -302,8 +311,8 @@
|
|||||||
},
|
},
|
||||||
"LiteDB": {
|
"LiteDB": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.10",
|
"resolved": "5.0.11",
|
||||||
"contentHash": "x70WuqMDuP75dajqSLvO+AnI/BbwS6da+ukTO7rueV7VoXoQ5CRA9FV4r7cOS4OUr2NS1Up7LDIutjCxQycRvg=="
|
"contentHash": "6cL4bOmVCUB0gIK+6qIr68HeqjjHZicPDGQjvJ87mIOvkFsEsJWkIps3yoKNeLpHhJQur++yoQ9Q8gxsdos0xQ=="
|
||||||
},
|
},
|
||||||
"Material.Icons": {
|
"Material.Icons": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -521,13 +530,11 @@
|
|||||||
},
|
},
|
||||||
"ReactiveUI": {
|
"ReactiveUI": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.2.10",
|
"resolved": "16.2.6",
|
||||||
"contentHash": "fOCbEZ+RsO2Jhv6vB8VX+ZEvczYJaC95atcSG7oXohJeL/sEwbbqvv9k+tbj2l4bRSj2j5CQvhwA3HNLaxlCAg==",
|
"contentHash": "jf1RvD8HxHuA6CGQtheGHUCHzRrhpvo0z593Npsz7g8KJWXfGR45Dc9bILJHoymBxhdDD1L1WjUfh0fcucIPPg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DynamicData": "7.1.1",
|
"DynamicData": "7.3.1",
|
||||||
"Splat": "10.0.1",
|
"Splat": "13.1.1"
|
||||||
"System.Reactive": "5.0.0",
|
|
||||||
"System.Runtime.Serialization.Primitives": "4.3.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": {
|
||||||
@ -668,8 +675,8 @@
|
|||||||
},
|
},
|
||||||
"ShimSkiaSharp": {
|
"ShimSkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "BWwwsIlYUFF0DUc8Pa9xONIXVDvEL9pOYc9YmWilpHrWC37dcK+H4+tfuxztZxtfJx559HGn+6iZmMDjfFoOxA=="
|
"contentHash": "G1ltdwS5+eMhMCoMx31hHjFIznGAjdUK7xAg8raFMFbN09p2tuxzvK7cKbveWm8SEAGIW7NgDyEqGGJzrPrMrg=="
|
||||||
},
|
},
|
||||||
"SkiaSharp": {
|
"SkiaSharp": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
@ -698,13 +705,13 @@
|
|||||||
},
|
},
|
||||||
"Splat": {
|
"Splat": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "13.1.30",
|
"resolved": "13.1.63",
|
||||||
"contentHash": "yaj3r8CvHQwtvhfTi+dp5LpIb3c4svqe/tL6LdAS8wWP+dXAp3fTCLjYx21TrW1QBFTBJcg9lrJqDPbheSzHbA=="
|
"contentHash": "7iW45RA7AbSlQPCgdokmysva5PGd6iBUhuNkC0XD73LF9dxfTkKeo3wZkohU7nvspDhJ7PJsYHvDtxIt5bMQ8Q=="
|
||||||
},
|
},
|
||||||
"Svg.Custom": {
|
"Svg.Custom": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "6FnbI4T3uCNN7DYJpfPFa4caTTJzp4YbhU3J4c/syX7wQNSeQ/1u7JZZ+dGgrRUauiWP8VsiCLKP8qinc5xI5w==",
|
"contentHash": "Ypi/4NxDxjM24vsK+4Uit08aJUFHcZZpB5Ctb7FLMVevMq0hYeDqzKp6OVLFO5UCX/TxUfRiL1u9F7fvUDA0tQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Fizzler": "1.2.0",
|
"Fizzler": "1.2.0",
|
||||||
"System.Drawing.Common": "5.0.0",
|
"System.Drawing.Common": "5.0.0",
|
||||||
@ -715,22 +722,22 @@
|
|||||||
},
|
},
|
||||||
"Svg.Model": {
|
"Svg.Model": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "F/rimPwV5KF64P8oofXGMwOZ0T7b3z1A9OiC4mv5OdSpLpMpUxpSwGLAOkJ5DFqQgXqVjKKLhPdjIjQBwy0AjA==",
|
"contentHash": "sh5W7VpghtFjDnPOMa+CEiIKpJPmkb7FxNuHnB2sLZwJR2qzyVlZaBWM95VaRAXlOU8c0qbtA5ZNVREOpzLQRw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ShimSkiaSharp": "0.5.8.3",
|
"ShimSkiaSharp": "0.5.10",
|
||||||
"Svg.Custom": "0.5.8.3"
|
"Svg.Custom": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Svg.Skia": {
|
"Svg.Skia": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "0.5.8.3",
|
"resolved": "0.5.10",
|
||||||
"contentHash": "ajQ0aINQtEzWkqEXyJjnwqOFNusWNMHJVGrKa1ISbP21nrWJh+tApydLFVFGGjs91d7K3YOUbWDKlEzzdDQaOg==",
|
"contentHash": "Xz/nd+5dNJAh7IbfjyduWIJAtpHNqMopX+ORg6ZNnW6l1I7lK20KHlSdMNy9c18vALrA95eU8WFo00nloLVUkQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"SkiaSharp": "2.80.2",
|
"SkiaSharp": "2.80.2",
|
||||||
"SkiaSharp.HarfBuzz": "2.80.2",
|
"SkiaSharp.HarfBuzz": "2.80.2",
|
||||||
"Svg.Custom": "0.5.8.3",
|
"Svg.Custom": "0.5.10",
|
||||||
"Svg.Model": "0.5.8.3"
|
"Svg.Model": "0.5.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.AppContext": {
|
"System.AppContext": {
|
||||||
@ -1342,15 +1349,6 @@
|
|||||||
"System.Runtime.Extensions": "4.3.0"
|
"System.Runtime.Extensions": "4.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Runtime.Serialization.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.3.0",
|
|
||||||
"contentHash": "Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Resources.ResourceManager": "4.3.0",
|
|
||||||
"System.Runtime": "4.3.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.AccessControl": {
|
"System.Security.AccessControl": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "5.0.0",
|
"resolved": "5.0.0",
|
||||||
@ -1665,7 +1663,7 @@
|
|||||||
"EmbedIO": "3.4.3",
|
"EmbedIO": "3.4.3",
|
||||||
"HidSharp": "2.1.0",
|
"HidSharp": "2.1.0",
|
||||||
"Humanizer.Core": "2.11.10",
|
"Humanizer.Core": "2.11.10",
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"McMaster.NETCore.Plugins": "1.4.0",
|
"McMaster.NETCore.Plugins": "1.4.0",
|
||||||
"Newtonsoft.Json": "13.0.1",
|
"Newtonsoft.Json": "13.0.1",
|
||||||
"Ninject": "3.3.4",
|
"Ninject": "3.3.4",
|
||||||
@ -1686,7 +1684,7 @@
|
|||||||
"artemis.storage": {
|
"artemis.storage": {
|
||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"LiteDB": "5.0.10",
|
"LiteDB": "5.0.11",
|
||||||
"Serilog": "2.10.0"
|
"Serilog": "2.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1696,12 +1694,13 @@
|
|||||||
"Artemis.Core": "1.0.0",
|
"Artemis.Core": "1.0.0",
|
||||||
"Avalonia": "0.10.10",
|
"Avalonia": "0.10.10",
|
||||||
"Avalonia.ReactiveUI": "0.10.10",
|
"Avalonia.ReactiveUI": "0.10.10",
|
||||||
"Avalonia.Svg.Skia": "0.10.8.3",
|
"Avalonia.Svg.Skia": "0.10.10",
|
||||||
"Avalonia.Xaml.Behaviors": "0.10.10",
|
"Avalonia.Xaml.Behaviors": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactions": "0.10.10",
|
"Avalonia.Xaml.Interactions": "0.10.10.4",
|
||||||
"Avalonia.Xaml.Interactivity": "0.10.10",
|
"Avalonia.Xaml.Interactivity": "0.10.10.4",
|
||||||
"FluentAvaloniaUI": "1.1.5",
|
"FluentAvaloniaUI": "1.1.6",
|
||||||
"Material.Icons.Avalonia": "1.0.2"
|
"Material.Icons.Avalonia": "1.0.2",
|
||||||
|
"ReactiveUI.Validation": "2.2.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user