Compare commits
15 Commits
1.0.2
...
1.1.0-beta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30e76e333c | ||
|
|
f840fb69ad | ||
|
|
ae98c2d5de | ||
|
|
ba6d50cf45 | ||
|
|
6838cb12a8 | ||
|
|
fd2023598b | ||
|
|
e3b1a5dba7 | ||
|
|
25c25c2a1d | ||
|
|
e5386132c3 | ||
|
|
784f0227ee | ||
|
|
fb37faa7bc | ||
|
|
63236769aa | ||
|
|
05a994f562 | ||
|
|
124786dd0d | ||
|
|
e516ded476 |
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\NUnit.3.11.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -12,6 +13,8 @@
|
|||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@@ -31,18 +34,27 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.5.30.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="Moq, Version=4.10.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.5.30\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\Moq.4.10.0\lib\net45\Moq.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
<Reference Include="nunit.framework, Version=3.11.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
|
<HintPath>..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
@@ -53,9 +65,16 @@
|
|||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.11.0\build\NUnit.props'))" />
|
||||||
|
</Target>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|||||||
19
Filtration.Common.Tests/app.config
Normal file
19
Filtration.Common.Tests/app.config
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net461" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="Moq" version="4.5.30" targetFramework="net461" />
|
<package id="Moq" version="4.10.0" targetFramework="net461" />
|
||||||
<package id="NUnit" version="3.6.1" targetFramework="net461" />
|
<package id="NUnit" version="3.11.0" targetFramework="net461" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net461" />
|
||||||
|
<package id="System.Threading.Tasks.Extensions" version="4.5.1" targetFramework="net461" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -31,35 +31,33 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Windsor, Version=3.4.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Windsor, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll</HintPath>
|
<HintPath>..\packages\Castle.Windsor.4.1.1\lib\net45\Castle.Windsor.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight, Version=5.3.0.19026, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
<Reference Include="CommonServiceLocator, Version=2.0.4.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
<HintPath>..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight, Version=5.4.1.0, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.4.1.0, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Practices.ServiceLocation">
|
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.4.1.0, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="PresentationFramework" />
|
<Reference Include="PresentationFramework" />
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Runtime.Remoting" />
|
||||||
|
<Reference Include="System.Web" />
|
||||||
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Xaml" />
|
<Reference Include="System.Xaml" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
@@ -86,6 +84,7 @@
|
|||||||
<Compile Include="WindsorInstallers\ServicesInstaller.cs" />
|
<Compile Include="WindsorInstallers\ServicesInstaller.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
11
Filtration.Common/app.config
Normal file
11
Filtration.Common/app.config
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net451" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="Castle.Windsor" version="3.4.0" targetFramework="net461" />
|
<package id="Castle.Windsor" version="4.1.1" targetFramework="net461" />
|
||||||
<package id="CommonServiceLocator" version="1.3" targetFramework="net451" />
|
<package id="CommonServiceLocator" version="2.0.4" targetFramework="net461" />
|
||||||
<package id="MvvmLightLibs" version="5.3.0.0" targetFramework="net461" />
|
<package id="MvvmLightLibs" version="5.4.1.1" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -31,23 +31,23 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="GalaSoft.MvvmLight, Version=5.3.0.19026, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
<Reference Include="CommonServiceLocator, Version=2.0.4.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
<HintPath>..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight, Version=5.4.1.0, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.4.1.0, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Practices.ServiceLocation, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.4.1.0, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
@@ -62,6 +62,7 @@
|
|||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
|||||||
11
Filtration.Interface/app.config
Normal file
11
Filtration.Interface/app.config
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="CommonServiceLocator" version="1.3" targetFramework="net461" />
|
<package id="CommonServiceLocator" version="2.0.4" targetFramework="net461" />
|
||||||
<package id="MvvmLightLibs" version="5.3.0.0" targetFramework="net461" />
|
<package id="MvvmLightLibs" version="5.4.1.1" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -22,10 +22,18 @@
|
|||||||
<connectionStrings>
|
<connectionStrings>
|
||||||
<add name="FiltrationDbContext" connectionString="data source="D:\C# Projects\Filtration\Filtration.db"" providerName="System.Data.SQLite.EF6" />
|
<add name="FiltrationDbContext" connectionString="data source="D:\C# Projects\Filtration\Filtration.db"" providerName="System.Data.SQLite.EF6" />
|
||||||
</connectionStrings>
|
</connectionStrings>
|
||||||
|
<system.data>
|
||||||
<system.data>
|
|
||||||
<DbProviderFactories>
|
<DbProviderFactories>
|
||||||
<remove invariant="System.Data.SQLite.EF6" />
|
<remove invariant="System.Data.SQLite.EF6" />
|
||||||
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
|
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
|
||||||
<remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
|
<remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
|
||||||
</system.data></configuration>
|
</system.data>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\NUnit.3.11.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
@@ -39,29 +40,24 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
|
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll</HintPath>
|
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
<Reference Include="nunit.framework, Version=3.11.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
|
<HintPath>..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||||
<Reference Include="System.Data.SQLite, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
<Reference Include="System.Data.SQLite, Version=1.0.109.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.102.0\lib\net46\System.Data.SQLite.dll</HintPath>
|
<HintPath>..\packages\System.Data.SQLite.Core.1.0.109.2\lib\net46\System.Data.SQLite.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Data.SQLite.EF6, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
<Reference Include="System.Data.SQLite.EF6, Version=1.0.109.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Data.SQLite.EF6.1.0.102.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath>
|
<HintPath>..\packages\System.Data.SQLite.EF6.1.0.109.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Data.SQLite.Linq, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
<Reference Include="System.Data.SQLite.Linq, Version=1.0.109.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Data.SQLite.Linq.1.0.102.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath>
|
<HintPath>..\packages\System.Data.SQLite.Linq.1.0.109.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Choose>
|
<Choose>
|
||||||
@@ -114,13 +110,14 @@
|
|||||||
</Choose>
|
</Choose>
|
||||||
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
|
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.102.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.102.0\build\net46\System.Data.SQLite.Core.targets')" />
|
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.102.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.102.0\build\net46\System.Data.SQLite.Core.targets'))" />
|
<Error Condition="!Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.11.0\build\NUnit.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
|
<Import Project="..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets')" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="EntityFramework" version="6.1.3" targetFramework="net461" />
|
<package id="EntityFramework" version="6.2.0" targetFramework="net461" />
|
||||||
<package id="NUnit" version="3.6.1" targetFramework="net461" />
|
<package id="NUnit" version="3.11.0" targetFramework="net461" />
|
||||||
<package id="System.Data.SQLite" version="1.0.102.0" targetFramework="net461" />
|
<package id="System.Data.SQLite" version="1.0.109.2" targetFramework="net461" />
|
||||||
<package id="System.Data.SQLite.Core" version="1.0.102.0" targetFramework="net461" />
|
<package id="System.Data.SQLite.Core" version="1.0.109.2" targetFramework="net461" />
|
||||||
<package id="System.Data.SQLite.EF6" version="1.0.102.0" targetFramework="net461" />
|
<package id="System.Data.SQLite.EF6" version="1.0.109.0" targetFramework="net461" />
|
||||||
<package id="System.Data.SQLite.Linq" version="1.0.102.0" targetFramework="net461" />
|
<package id="System.Data.SQLite.Linq" version="1.0.109.0" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<configSections>
|
<configSections>
|
||||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
|
||||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||||
|
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||||
</configSections>
|
</configSections>
|
||||||
<entityFramework>
|
<entityFramework>
|
||||||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
|
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
|
||||||
@@ -11,19 +11,28 @@
|
|||||||
</parameters>
|
</parameters>
|
||||||
</defaultConnectionFactory>
|
</defaultConnectionFactory>
|
||||||
<providers>
|
<providers>
|
||||||
|
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||||
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
|
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
|
||||||
</providers>
|
</providers>
|
||||||
</entityFramework>
|
</entityFramework>
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
||||||
</startup>
|
</startup>
|
||||||
|
<connectionStrings>
|
||||||
<connectionStrings>
|
<add name="FiltrationDbContext" connectionString="data source="D:\C# Projects\Filtration\Filtration.db"" providerName="System.Data.SQLite.EF6" />
|
||||||
<add name="FiltrationDbContext" connectionString="data source="D:\C# Projects\Filtration\Filtration.db"" providerName="System.Data.SQLite.EF6" />
|
|
||||||
</connectionStrings>
|
</connectionStrings>
|
||||||
<system.data>
|
<system.data>
|
||||||
<DbProviderFactories>
|
<DbProviderFactories>
|
||||||
<remove invariant="System.Data.SQLite.EF6" />
|
<remove invariant="System.Data.SQLite.EF6" />
|
||||||
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
|
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
|
||||||
<remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
|
<remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
|
||||||
</system.data></configuration>
|
</system.data>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -34,23 +34,22 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
|
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
|
||||||
<Private>True</Private>
|
</Reference>
|
||||||
|
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Data.SQLite, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
<Reference Include="System.Data.SQLite, Version=1.0.109.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.102.0\lib\net46\System.Data.SQLite.dll</HintPath>
|
<HintPath>..\packages\System.Data.SQLite.Core.1.0.109.2\lib\net46\System.Data.SQLite.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Data.SQLite.EF6, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
<Reference Include="System.Data.SQLite.EF6, Version=1.0.109.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Data.SQLite.EF6.1.0.102.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath>
|
<HintPath>..\packages\System.Data.SQLite.EF6.1.0.109.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Data.SQLite.Linq, Version=1.0.102.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
<Reference Include="System.Data.SQLite.Linq, Version=1.0.109.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Data.SQLite.Linq.1.0.102.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath>
|
<HintPath>..\packages\System.Data.SQLite.Linq.1.0.109.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Runtime.Serialization" />
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
<Reference Include="System.Security" />
|
<Reference Include="System.Security" />
|
||||||
@@ -78,12 +77,12 @@
|
|||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.102.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.102.0\build\net46\System.Data.SQLite.Core.targets')" />
|
<Import Project="..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets')" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.102.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.102.0\build\net46\System.Data.SQLite.Core.targets'))" />
|
<Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.109.2\build\net46\System.Data.SQLite.Core.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="EntityFramework" version="6.1.3" targetFramework="net46" />
|
<package id="EntityFramework" version="6.2.0" targetFramework="net461" />
|
||||||
<package id="System.Data.SQLite" version="1.0.102.0" targetFramework="net461" />
|
<package id="System.Data.SQLite" version="1.0.109.2" targetFramework="net461" />
|
||||||
<package id="System.Data.SQLite.Core" version="1.0.102.0" targetFramework="net461" />
|
<package id="System.Data.SQLite.Core" version="1.0.109.2" targetFramework="net461" />
|
||||||
<package id="System.Data.SQLite.EF6" version="1.0.102.0" targetFramework="net461" />
|
<package id="System.Data.SQLite.EF6" version="1.0.109.0" targetFramework="net461" />
|
||||||
<package id="System.Data.SQLite.Linq" version="1.0.102.0" targetFramework="net461" />
|
<package id="System.Data.SQLite.Linq" version="1.0.109.0" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\NUnit.3.11.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
@@ -23,6 +24,8 @@
|
|||||||
<TestProjectType>CodedUITest</TestProjectType>
|
<TestProjectType>CodedUITest</TestProjectType>
|
||||||
<IsWindowsStoreCodedUITest>True</IsWindowsStoreCodedUITest>
|
<IsWindowsStoreCodedUITest>True</IsWindowsStoreCodedUITest>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@@ -42,29 +45,31 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="FluentAssertions, Version=4.19.2.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
|
<Reference Include="FluentAssertions, Version=5.5.3.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.dll</HintPath>
|
<HintPath>..\packages\FluentAssertions.5.5.3\lib\net45\FluentAssertions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="FluentAssertions.Core, Version=4.19.2.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
|
<Reference Include="Moq, Version=4.10.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.Core.dll</HintPath>
|
<HintPath>..\packages\Moq.4.10.0\lib\net45\Moq.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.5.30.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="nunit.framework, Version=3.11.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.5.30\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
|
||||||
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="YamlDotNet, Version=3.9.0.0, Culture=neutral, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\packages\YamlDotNet.3.9.0\lib\net35\YamlDotNet.dll</HintPath>
|
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
|
<CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
|
||||||
@@ -118,6 +123,12 @@
|
|||||||
<None Include="Resources\MuldiniFilterScript.txt" />
|
<None Include="Resources\MuldiniFilterScript.txt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.11.0\build\NUnit.props'))" />
|
||||||
|
</Target>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|||||||
@@ -1,15 +1,39 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<runtime>
|
<runtime>
|
||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
|
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.0.0" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="ControlzEx" publicKeyToken="f08b075e934b7045" culture="neutral" />
|
<assemblyIdentity name="ControlzEx" publicKeyToken="f08b075e934b7045" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-2.2.0.4" newVersion="2.2.0.4" />
|
<bindingRedirect oldVersion="0.0.0.0-2.2.0.4" newVersion="2.2.0.4" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</assemblyBinding>
|
<dependentAssembly>
|
||||||
</runtime>
|
<assemblyIdentity name="Xceed.Wpf.Toolkit" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Windows.Interactivity" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
</configuration>
|
</configuration>
|
||||||
@@ -1,8 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net461" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="FluentAssertions" version="4.19.2" targetFramework="net461" />
|
<package id="FluentAssertions" version="5.5.3" targetFramework="net461" />
|
||||||
<package id="Moq" version="4.5.30" targetFramework="net461" />
|
<package id="Moq" version="4.10.0" targetFramework="net461" />
|
||||||
<package id="NUnit" version="3.6.1" targetFramework="net461" />
|
<package id="NUnit" version="3.11.0" targetFramework="net461" />
|
||||||
<package id="YamlDotNet" version="3.9.0" targetFramework="net461" />
|
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net461" />
|
||||||
|
<package id="System.Threading.Tasks.Extensions" version="4.5.1" targetFramework="net461" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,6 +1,26 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
||||||
</startup>
|
</startup>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|||||||
@@ -36,37 +36,43 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Windsor, Version=3.4.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Windsor, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll</HintPath>
|
<HintPath>..\packages\Castle.Windsor.4.1.1\lib\net45\Castle.Windsor.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight, Version=5.3.0.19026, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
<Reference Include="CommonServiceLocator, Version=2.0.4.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
<HintPath>..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight, Version=5.4.1.0, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.4.1.0, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Practices.ServiceLocation, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.4.1.0, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.5.30.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="Moq, Version=4.10.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.5.30\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\Moq.4.10.0\lib\net45\Moq.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Remoting" />
|
||||||
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Web" />
|
||||||
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net461" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="Castle.Windsor" version="3.4.0" targetFramework="net461" />
|
<package id="Castle.Windsor" version="4.1.1" targetFramework="net461" />
|
||||||
<package id="CommonServiceLocator" version="1.3" targetFramework="net461" />
|
<package id="CommonServiceLocator" version="2.0.4" targetFramework="net461" />
|
||||||
<package id="Moq" version="4.5.30" targetFramework="net461" />
|
<package id="Moq" version="4.10.0" targetFramework="net461" />
|
||||||
<package id="MvvmLightLibs" version="5.3.0.0" targetFramework="net461" />
|
<package id="MvvmLightLibs" version="5.4.1.1" targetFramework="net461" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net461" />
|
||||||
|
<package id="System.Threading.Tasks.Extensions" version="4.5.1" targetFramework="net461" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\NUnit.3.11.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -12,6 +13,8 @@
|
|||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@@ -31,19 +34,28 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.5.30.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="Moq, Version=4.10.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.5.30\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\Moq.4.10.0\lib\net45\Moq.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
<Reference Include="nunit.framework, Version=3.11.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
|
<HintPath>..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
@@ -64,12 +76,19 @@
|
|||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
|
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.11.0\build\NUnit.props'))" />
|
||||||
|
</Target>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|||||||
27
Filtration.ObjectModel.Tests/app.config
Normal file
27
Filtration.ObjectModel.Tests/app.config
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net461" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="Moq" version="4.5.30" targetFramework="net461" />
|
<package id="Moq" version="4.10.0" targetFramework="net461" />
|
||||||
<package id="NUnit" version="3.6.1" targetFramework="net461" />
|
<package id="NUnit" version="3.11.0" targetFramework="net461" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net461" />
|
||||||
|
<package id="System.Threading.Tasks.Extensions" version="4.5.1" targetFramework="net461" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -31,31 +31,34 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.0\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Windsor, Version=3.4.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Windsor, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll</HintPath>
|
<HintPath>..\packages\Castle.Windsor.4.1.1\lib\net45\Castle.Windsor.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="CommonServiceLocator, Version=2.0.2.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
|
<Reference Include="CommonServiceLocator, Version=2.0.4.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\CommonServiceLocator.2.0.2\lib\net45\CommonServiceLocator.dll</HintPath>
|
<HintPath>..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight, Version=5.3.0.19026, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight, Version=5.4.1.0, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.4.1.0, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.4.1.0, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="PresentationFramework" />
|
<Reference Include="PresentationFramework" />
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Runtime.Remoting" />
|
||||||
|
<Reference Include="System.Web" />
|
||||||
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
@@ -164,6 +167,7 @@
|
|||||||
<Compile Include="WindsorInstallers\ModelsInstaller.cs" />
|
<Compile Include="WindsorInstallers\ModelsInstaller.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
{
|
{
|
||||||
private Color _color;
|
private Color _color;
|
||||||
|
|
||||||
|
private ColorThemeComponent()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public ColorThemeComponent(ThemeComponentType componentType, string componentName, Color componentColor)
|
public ColorThemeComponent(ThemeComponentType componentType, string componentName, Color componentColor)
|
||||||
{
|
{
|
||||||
if (componentName == null || componentColor == null)
|
if (componentName == null || componentColor == null)
|
||||||
@@ -23,7 +27,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
|
|
||||||
public Color Color
|
public Color Color
|
||||||
{
|
{
|
||||||
get { return _color; }
|
get => _color;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_color = value;
|
_color = value;
|
||||||
|
|||||||
@@ -9,22 +9,21 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
private EffectColor _effectColor;
|
private EffectColor _effectColor;
|
||||||
private bool _temporary;
|
private bool _temporary;
|
||||||
|
|
||||||
|
private EffectColorThemeComponent()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public EffectColorThemeComponent(ThemeComponentType componentType, string componentName, EffectColor componentEffectColor, bool componentTemporary)
|
public EffectColorThemeComponent(ThemeComponentType componentType, string componentName, EffectColor componentEffectColor, bool componentTemporary)
|
||||||
{
|
{
|
||||||
if (componentName == null)
|
|
||||||
{
|
|
||||||
throw new ArgumentException("Null parameters not allowed in EffectColorThemeComponent constructor");
|
|
||||||
}
|
|
||||||
|
|
||||||
ComponentType = componentType;
|
ComponentType = componentType;
|
||||||
ComponentName = componentName;
|
ComponentName = componentName ?? throw new ArgumentException("Null parameters not allowed in EffectColorThemeComponent constructor");
|
||||||
EffectColor = componentEffectColor;
|
EffectColor = componentEffectColor;
|
||||||
Temporary = componentTemporary;
|
Temporary = componentTemporary;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EffectColor EffectColor
|
public EffectColor EffectColor
|
||||||
{
|
{
|
||||||
get { return _effectColor; }
|
get => _effectColor;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_effectColor = value;
|
_effectColor = value;
|
||||||
@@ -35,7 +34,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
|
|
||||||
public bool Temporary
|
public bool Temporary
|
||||||
{
|
{
|
||||||
get { return _temporary; }
|
get => _temporary;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_temporary = value;
|
_temporary = value;
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
private IconColor _iconColor;
|
private IconColor _iconColor;
|
||||||
private IconShape _iconShape;
|
private IconShape _iconShape;
|
||||||
|
|
||||||
|
private IconThemeComponent()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public IconThemeComponent(ThemeComponentType componentType, string componentName, IconSize componentIconSize, IconColor componentIconColor, IconShape componentIconShape)
|
public IconThemeComponent(ThemeComponentType componentType, string componentName, IconSize componentIconSize, IconColor componentIconColor, IconShape componentIconShape)
|
||||||
{
|
{
|
||||||
if (componentName == null)
|
if (componentName == null)
|
||||||
@@ -26,7 +30,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
|
|
||||||
public IconSize IconSize
|
public IconSize IconSize
|
||||||
{
|
{
|
||||||
get { return _iconSize; }
|
get => _iconSize;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_iconSize = value;
|
_iconSize = value;
|
||||||
@@ -37,7 +41,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
|
|
||||||
public IconColor IconColor
|
public IconColor IconColor
|
||||||
{
|
{
|
||||||
get { return _iconColor; }
|
get => _iconColor;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_iconColor = value;
|
_iconColor = value;
|
||||||
@@ -48,7 +52,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
|
|
||||||
public IconShape IconShape
|
public IconShape IconShape
|
||||||
{
|
{
|
||||||
get { return _iconShape; }
|
get => _iconShape;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_iconShape = value;
|
_iconShape = value;
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
{
|
{
|
||||||
private int _value;
|
private int _value;
|
||||||
|
|
||||||
|
private IntegerThemeComponent()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public IntegerThemeComponent(ThemeComponentType componentType, string componentName, int componentValue)
|
public IntegerThemeComponent(ThemeComponentType componentType, string componentName, int componentValue)
|
||||||
{
|
{
|
||||||
if (componentName == null)
|
if (componentName == null)
|
||||||
@@ -23,7 +27,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
|
|
||||||
public int Value
|
public int Value
|
||||||
{
|
{
|
||||||
get { return _value; }
|
get => _value;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_value = value;
|
_value = value;
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
private string _value;
|
private string _value;
|
||||||
private int _secondValue;
|
private int _secondValue;
|
||||||
|
|
||||||
|
private StrIntThemeComponent()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public StrIntThemeComponent(ThemeComponentType componentType, string componentName, string componentValue, int componentSecondValue)
|
public StrIntThemeComponent(ThemeComponentType componentType, string componentName, string componentValue, int componentSecondValue)
|
||||||
{
|
{
|
||||||
if (componentName == null || componentValue == null)
|
if (componentName == null || componentValue == null)
|
||||||
@@ -24,7 +28,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
|
|
||||||
public string Value
|
public string Value
|
||||||
{
|
{
|
||||||
get { return _value; }
|
get => _value;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_value = value;
|
_value = value;
|
||||||
@@ -35,7 +39,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
|
|
||||||
public int SecondValue
|
public int SecondValue
|
||||||
{
|
{
|
||||||
get { return _secondValue; }
|
get => _secondValue;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_secondValue = value;
|
_secondValue = value;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Xml.Serialization;
|
||||||
using Filtration.ObjectModel.Enums;
|
using Filtration.ObjectModel.Enums;
|
||||||
using GalaSoft.MvvmLight.Command;
|
using GalaSoft.MvvmLight.Command;
|
||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
@@ -13,6 +14,10 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
private string _value;
|
private string _value;
|
||||||
public static ObservableCollection<string> _customSoundsAvailable;
|
public static ObservableCollection<string> _customSoundsAvailable;
|
||||||
|
|
||||||
|
private StringThemeComponent()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public StringThemeComponent(ThemeComponentType componentType, string componentName, string componentValue)
|
public StringThemeComponent(ThemeComponentType componentType, string componentName, string componentValue)
|
||||||
{
|
{
|
||||||
if (componentName == null || componentValue == null)
|
if (componentName == null || componentValue == null)
|
||||||
@@ -61,13 +66,14 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
CustomSoundFileDialogCommand = new RelayCommand(OnCustomSoundFileDialog);
|
CustomSoundFileDialogCommand = new RelayCommand(OnCustomSoundFileDialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[XmlIgnore]
|
||||||
public RelayCommand CustomSoundFileDialogCommand { get; set; }
|
public RelayCommand CustomSoundFileDialogCommand { get; set; }
|
||||||
|
|
||||||
public ObservableCollection<string> CustomSoundsAvailable => _customSoundsAvailable;
|
public ObservableCollection<string> CustomSoundsAvailable => _customSoundsAvailable;
|
||||||
|
|
||||||
public string Value
|
public string Value
|
||||||
{
|
{
|
||||||
get { return _value; }
|
get => _value;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_value = value;
|
_value = value;
|
||||||
@@ -78,12 +84,11 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
|
|
||||||
private void OnCustomSoundFileDialog()
|
private void OnCustomSoundFileDialog()
|
||||||
{
|
{
|
||||||
OpenFileDialog fileDialog = new OpenFileDialog();
|
OpenFileDialog fileDialog = new OpenFileDialog {DefaultExt = ".mp3"};
|
||||||
fileDialog.DefaultExt = ".mp3";
|
var poePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\My Games\Path of Exile\";
|
||||||
var poePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).ToString() + @"\My Games\Path of Exile\";
|
|
||||||
fileDialog.InitialDirectory = poePath;
|
fileDialog.InitialDirectory = poePath;
|
||||||
|
|
||||||
Nullable<bool> result = fileDialog.ShowDialog();
|
bool? result = fileDialog.ShowDialog();
|
||||||
if (result == true)
|
if (result == true)
|
||||||
{
|
{
|
||||||
var fileName = fileDialog.FileName;
|
var fileName = fileDialog.FileName;
|
||||||
|
|||||||
@@ -7,13 +7,17 @@ using Filtration.ObjectModel.Enums;
|
|||||||
namespace Filtration.ObjectModel.ThemeEditor
|
namespace Filtration.ObjectModel.ThemeEditor
|
||||||
{
|
{
|
||||||
[Serializable]
|
[Serializable]
|
||||||
|
[XmlInclude(typeof(ColorThemeComponent))]
|
||||||
|
[XmlInclude(typeof(EffectColorThemeComponent))]
|
||||||
|
[XmlInclude(typeof(IconThemeComponent))]
|
||||||
|
[XmlInclude(typeof(IntegerThemeComponent))]
|
||||||
|
[XmlInclude(typeof(StringThemeComponent))]
|
||||||
|
[XmlInclude(typeof(StrIntThemeComponent))]
|
||||||
public class Theme
|
public class Theme
|
||||||
{
|
{
|
||||||
private readonly ThemeComponentCollection _components;
|
|
||||||
|
|
||||||
public Theme()
|
public Theme()
|
||||||
{
|
{
|
||||||
_components = new ThemeComponentCollection { IsMasterCollection = false};
|
Components = new ThemeComponentCollection { IsMasterCollection = false};
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
@@ -21,28 +25,28 @@ namespace Filtration.ObjectModel.ThemeEditor
|
|||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
public string FilePath { get; set; }
|
public string FilePath { get; set; }
|
||||||
|
|
||||||
public ThemeComponentCollection Components => _components;
|
public ThemeComponentCollection Components { get; set; }
|
||||||
|
|
||||||
public bool ComponentExists(ThemeComponentType componentType, string componentName)
|
public bool ComponentExists(ThemeComponentType componentType, string componentName)
|
||||||
{
|
{
|
||||||
var componentCount =
|
var componentCount =
|
||||||
_components.Count(c => c.ComponentName == componentName && c.ComponentType == componentType);
|
Components.Count(c => c.ComponentName == componentName && c.ComponentType == componentType);
|
||||||
return componentCount > 0;
|
return componentCount > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddComponent(ThemeComponentType componentType, string componentName, Color componentColor)
|
public void AddComponent(ThemeComponentType componentType, string componentName, Color componentColor)
|
||||||
{
|
{
|
||||||
_components.Add(new ColorThemeComponent(componentType, componentName, componentColor));
|
Components.Add(new ColorThemeComponent(componentType, componentName, componentColor));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddComponent(ThemeComponentType componentType, string componentName, int componentValue)
|
public void AddComponent(ThemeComponentType componentType, string componentName, int componentValue)
|
||||||
{
|
{
|
||||||
_components.Add(new IntegerThemeComponent(componentType, componentName, componentValue));
|
Components.Add(new IntegerThemeComponent(componentType, componentName, componentValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddComponent(ThemeComponentType componentType, string componentName, string componentValue, int componentSecondValue)
|
public void AddComponent(ThemeComponentType componentType, string componentName, string componentValue, int componentSecondValue)
|
||||||
{
|
{
|
||||||
_components.Add(new StrIntThemeComponent(componentType, componentName, componentValue, componentSecondValue));
|
Components.Add(new StrIntThemeComponent(componentType, componentName, componentValue, componentSecondValue));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
11
Filtration.ObjectModel/app.config
Normal file
11
Filtration.ObjectModel/app.config
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="3.3.0" targetFramework="net461" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="Castle.Windsor" version="3.4.0" targetFramework="net461" />
|
<package id="Castle.Windsor" version="4.1.1" targetFramework="net461" />
|
||||||
<package id="CommonServiceLocator" version="2.0.2" targetFramework="net461" />
|
<package id="CommonServiceLocator" version="2.0.4" targetFramework="net461" />
|
||||||
<package id="MvvmLightLibs" version="5.3.0.0" targetFramework="net461" />
|
<package id="MvvmLightLibs" version="5.4.1.1" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -46,7 +46,9 @@
|
|||||||
<Compile Include="Services\IItemFilterBlockTranslator.cs" />
|
<Compile Include="Services\IItemFilterBlockTranslator.cs" />
|
||||||
<Compile Include="Services\IItemFilterScriptTranslator.cs" />
|
<Compile Include="Services\IItemFilterScriptTranslator.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup />
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Filtration.ObjectModel\Filtration.ObjectModel.csproj">
|
<ProjectReference Include="..\Filtration.ObjectModel\Filtration.ObjectModel.csproj">
|
||||||
<Project>{4aac3beb-1dc1-483e-9d11-0e9334e80227}</Project>
|
<Project>{4aac3beb-1dc1-483e-9d11-0e9334e80227}</Project>
|
||||||
|
|||||||
11
Filtration.Parser.Interface/app.config
Normal file
11
Filtration.Parser.Interface/app.config
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\NUnit.3.11.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
@@ -17,6 +18,8 @@
|
|||||||
<IsCodedUITest>False</IsCodedUITest>
|
<IsCodedUITest>False</IsCodedUITest>
|
||||||
<TestProjectType>UnitTest</TestProjectType>
|
<TestProjectType>UnitTest</TestProjectType>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@@ -36,24 +39,30 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="FluentAssertions, Version=4.19.2.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
|
<Reference Include="FluentAssertions, Version=5.5.3.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.dll</HintPath>
|
<HintPath>..\packages\FluentAssertions.5.5.3\lib\net45\FluentAssertions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="FluentAssertions.Core, Version=4.19.2.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
|
<Reference Include="Moq, Version=4.10.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.Core.dll</HintPath>
|
<HintPath>..\packages\Moq.4.10.0\lib\net45\Moq.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.5.30.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="nunit.framework, Version=3.11.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.5.30\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
|
||||||
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -107,6 +116,7 @@
|
|||||||
<EmbeddedResource Include="Resources\testscript.txt" />
|
<EmbeddedResource Include="Resources\testscript.txt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -132,6 +142,12 @@
|
|||||||
</Choose>
|
</Choose>
|
||||||
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
|
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.11.0\build\NUnit.props'))" />
|
||||||
|
</Target>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ namespace Filtration.Parser.Tests.Services
|
|||||||
&& s.ItemFilterScriptSettings == new ItemFilterScriptSettings(new ThemeComponentCollection())
|
&& s.ItemFilterScriptSettings == new ItemFilterScriptSettings(new ThemeComponentCollection())
|
||||||
&& s.Description == "Script description\r\nScript description\r\nScript description\r\nScript description");
|
&& s.Description == "Script description\r\nScript description\r\nScript description\r\nScript description");
|
||||||
|
|
||||||
result.ShouldBeEquivalentTo(expectedResult);
|
result.Should().BeEquivalentTo(expectedResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|||||||
27
Filtration.Parser.Tests/app.config
Normal file
27
Filtration.Parser.Tests/app.config
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,7 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net461" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="FluentAssertions" version="4.19.2" targetFramework="net461" />
|
<package id="FluentAssertions" version="5.5.3" targetFramework="net461" />
|
||||||
<package id="Moq" version="4.5.30" targetFramework="net461" />
|
<package id="Moq" version="4.10.0" targetFramework="net461" />
|
||||||
<package id="NUnit" version="3.6.1" targetFramework="net461" />
|
<package id="NUnit" version="3.11.0" targetFramework="net461" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net461" />
|
||||||
|
<package id="System.Threading.Tasks.Extensions" version="4.5.1" targetFramework="net461" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -31,17 +31,19 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Windsor, Version=3.4.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Windsor, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll</HintPath>
|
<HintPath>..\packages\Castle.Windsor.4.1.1\lib\net45\Castle.Windsor.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="PresentationFramework" />
|
<Reference Include="PresentationFramework" />
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Runtime.Remoting" />
|
||||||
|
<Reference Include="System.Web" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
@@ -68,6 +70,7 @@
|
|||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
11
Filtration.Parser/app.config
Normal file
11
Filtration.Parser/app.config
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net461" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="Castle.Windsor" version="3.4.0" targetFramework="net461" />
|
<package id="Castle.Windsor" version="4.1.1" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\NUnit.3.11.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -12,6 +13,8 @@
|
|||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@@ -31,25 +34,32 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="FluentAssertions, Version=4.19.2.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
|
<Reference Include="FluentAssertions, Version=5.5.3.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.dll</HintPath>
|
<HintPath>..\packages\FluentAssertions.5.5.3\lib\net45\FluentAssertions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="FluentAssertions.Core, Version=4.19.2.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null" />
|
||||||
<HintPath>..\packages\FluentAssertions.4.19.2\lib\net45\FluentAssertions.Core.dll</HintPath>
|
<Reference Include="Moq, Version=4.10.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Moq.4.10.0\lib\net45\Moq.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.5.30.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="nunit.framework, Version=3.11.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.5.30\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
|
||||||
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
@@ -66,6 +76,7 @@
|
|||||||
<Compile Include="Repositories\TestItemFilterScriptRepository.cs" />
|
<Compile Include="Repositories\TestItemFilterScriptRepository.cs" />
|
||||||
<Compile Include="Services\TestHTTPService.cs" />
|
<Compile Include="Services\TestHTTPService.cs" />
|
||||||
<Compile Include="Services\TestItemFilterPersistenceService.cs" />
|
<Compile Include="Services\TestItemFilterPersistenceService.cs" />
|
||||||
|
<Compile Include="Services\TestItemFilterScriptDirectoryService.cs" />
|
||||||
<Compile Include="Services\TestUpdateService.cs" />
|
<Compile Include="Services\TestUpdateService.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -110,6 +121,12 @@
|
|||||||
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
|
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.11.0\build\NUnit.props'))" />
|
||||||
|
</Target>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|||||||
@@ -60,50 +60,7 @@ namespace Filtration.Tests.Repositories
|
|||||||
Func<Task<IItemFilterScriptViewModel>> result = async () => await repository.LoadScriptFromFileAsync(testInputPath);
|
Func<Task<IItemFilterScriptViewModel>> result = async () => await repository.LoadScriptFromFileAsync(testInputPath);
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
result.ShouldThrow<IOException>();
|
result.Should().Throw<IOException>();
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void SetItemFilterScriptDirectory_CallsPersistenceServiceSetItemFilterScriptDirectory()
|
|
||||||
{
|
|
||||||
// Arrange
|
|
||||||
var testInputPath = "C:\\Test\\Path";
|
|
||||||
|
|
||||||
var mockPersistenceService = new Mock<IItemFilterPersistenceService>();
|
|
||||||
mockPersistenceService.Setup(p => p.SetItemFilterScriptDirectory(testInputPath)).Verifiable();
|
|
||||||
|
|
||||||
var mockItemFilterScriptViewModelFactory = new Mock<IItemFilterScriptViewModelFactory>();
|
|
||||||
|
|
||||||
var repository = CreateItemFilterScriptRepository(itemFilterPersistenceService: mockPersistenceService.Object,
|
|
||||||
itemFilterScriptViewModelFactory: mockItemFilterScriptViewModelFactory.Object);
|
|
||||||
|
|
||||||
// Act
|
|
||||||
repository.SetItemFilterScriptDirectory(testInputPath);
|
|
||||||
|
|
||||||
// Assert
|
|
||||||
mockPersistenceService.Verify();
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void GetItemFilterScriptDirectory_ReturnsItemFilterScriptDirectoryFromPersistenceService()
|
|
||||||
{
|
|
||||||
// Arrange
|
|
||||||
var testInputPath = "C:\\Test\\Path";
|
|
||||||
|
|
||||||
var mockPersistenceService = new Mock<IItemFilterPersistenceService>();
|
|
||||||
mockPersistenceService.SetupGet(p => p.ItemFilterScriptDirectory).Returns(testInputPath).Verifiable();
|
|
||||||
|
|
||||||
var mockItemFilterScriptViewModelFactory = new Mock<IItemFilterScriptViewModelFactory>();
|
|
||||||
|
|
||||||
var repository = CreateItemFilterScriptRepository(itemFilterPersistenceService: mockPersistenceService.Object,
|
|
||||||
itemFilterScriptViewModelFactory: mockItemFilterScriptViewModelFactory.Object);
|
|
||||||
|
|
||||||
// Act
|
|
||||||
string result = repository.GetItemFilterScriptDirectory();
|
|
||||||
|
|
||||||
// Assert
|
|
||||||
mockPersistenceService.Verify();
|
|
||||||
Assert.AreEqual(result, testInputPath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|||||||
@@ -0,0 +1,95 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Filtration.Common.Services;
|
||||||
|
using Filtration.Services;
|
||||||
|
using Microsoft.WindowsAPICodePack.Dialogs;
|
||||||
|
using Moq;
|
||||||
|
using NUnit.Framework;
|
||||||
|
|
||||||
|
namespace Filtration.Tests.Services
|
||||||
|
{
|
||||||
|
[TestFixture]
|
||||||
|
public class TestItemFilterScriptDirectoryService
|
||||||
|
{
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void PromptForFilterScriptDirectoryIfRequired_ItemFilterScriptDirectoryNotNull_DoesNotSetItemFilterScriptDirectory()
|
||||||
|
{
|
||||||
|
//Arrange
|
||||||
|
var mockItemFilterPersistenceService = new Mock<IItemFilterPersistenceService>();
|
||||||
|
mockItemFilterPersistenceService.Setup(i => i.ItemFilterScriptDirectory)
|
||||||
|
.Returns("testdir");
|
||||||
|
|
||||||
|
var service = CreateItemFilterScriptDirectoryService(itemFilterPersistenceService: mockItemFilterPersistenceService.Object);
|
||||||
|
|
||||||
|
//Act
|
||||||
|
service.PromptForFilterScriptDirectoryIfRequired();
|
||||||
|
|
||||||
|
//Assert
|
||||||
|
mockItemFilterPersistenceService.Verify(i => i.SetItemFilterScriptDirectory(It.IsAny<string>()), Times.Never);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void PromptForFilterScriptDirectoryIfRequired_NotSet_DefaultDirectoryExists_SetsDirectoryToDefaultDirectory()
|
||||||
|
{
|
||||||
|
//Arrange
|
||||||
|
var mockItemFilterPersistenceService = new Mock<IItemFilterPersistenceService>();
|
||||||
|
var testInputDefaultDirectory = "testdefaultdirectory";
|
||||||
|
mockItemFilterPersistenceService.Setup(i => i.DefaultPathOfExileDirectory())
|
||||||
|
.Returns(testInputDefaultDirectory);
|
||||||
|
|
||||||
|
var mockFileSystemService = new Mock<IFileSystemService>();
|
||||||
|
mockFileSystemService.Setup(f => f.DirectoryExists(testInputDefaultDirectory))
|
||||||
|
.Returns(true);
|
||||||
|
|
||||||
|
var service = CreateItemFilterScriptDirectoryService(fileSystemService: mockFileSystemService.Object,
|
||||||
|
itemFilterPersistenceService: mockItemFilterPersistenceService.Object);
|
||||||
|
|
||||||
|
//Act
|
||||||
|
service.PromptForFilterScriptDirectoryIfRequired();
|
||||||
|
|
||||||
|
//Assert
|
||||||
|
mockItemFilterPersistenceService.Verify(i => i.SetItemFilterScriptDirectory(testInputDefaultDirectory));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test, Timeout(1000)]
|
||||||
|
public void PromptForFilterScriptDirectoryIfRequired_NotSet_DefaultDirectoryDoesNotExist_SetsDirectoryToUserSelected()
|
||||||
|
{
|
||||||
|
//Arrange
|
||||||
|
var testInputUserSelectedDirectory = "blah";
|
||||||
|
|
||||||
|
var mockItemFilterPersistenceService = new Mock<IItemFilterPersistenceService>();
|
||||||
|
var mockDialogService = new Mock<IDialogService>();
|
||||||
|
|
||||||
|
mockDialogService.Setup(d => d.ShowFolderPickerDialog(It.IsAny<string>(), out testInputUserSelectedDirectory))
|
||||||
|
.Returns(CommonFileDialogResult.Ok);
|
||||||
|
|
||||||
|
mockItemFilterPersistenceService.Setup(i => i.SetItemFilterScriptDirectory(testInputUserSelectedDirectory))
|
||||||
|
.Callback(() => mockItemFilterPersistenceService.Setup(f => f.ItemFilterScriptDirectory)
|
||||||
|
.Returns(testInputUserSelectedDirectory));
|
||||||
|
|
||||||
|
var service = CreateItemFilterScriptDirectoryService(dialogService: mockDialogService.Object,
|
||||||
|
itemFilterPersistenceService: mockItemFilterPersistenceService.Object);
|
||||||
|
|
||||||
|
//Act
|
||||||
|
service.PromptForFilterScriptDirectoryIfRequired();
|
||||||
|
|
||||||
|
//Assert
|
||||||
|
mockItemFilterPersistenceService.Verify(i => i.SetItemFilterScriptDirectory(testInputUserSelectedDirectory));
|
||||||
|
}
|
||||||
|
|
||||||
|
private ItemFilterScriptDirectoryService CreateItemFilterScriptDirectoryService(IDialogService dialogService = null,
|
||||||
|
IFileSystemService fileSystemService = null,
|
||||||
|
IItemFilterPersistenceService itemFilterPersistenceService = null,
|
||||||
|
IMessageBoxService messageBoxService = null)
|
||||||
|
{
|
||||||
|
return new ItemFilterScriptDirectoryService(dialogService ?? new Mock<IDialogService>().Object,
|
||||||
|
fileSystemService ?? new Mock<IFileSystemService>().Object,
|
||||||
|
itemFilterPersistenceService ?? new Mock<IItemFilterPersistenceService>().Object,
|
||||||
|
messageBoxService ?? new Mock<IMessageBoxService>().Object);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,15 +1,43 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<runtime>
|
<runtime>
|
||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
|
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.0.0" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="ControlzEx" publicKeyToken="f08b075e934b7045" culture="neutral" />
|
<assemblyIdentity name="ControlzEx" publicKeyToken="f08b075e934b7045" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-2.2.0.4" newVersion="2.2.0.4" />
|
<bindingRedirect oldVersion="0.0.0.0-2.2.0.4" newVersion="2.2.0.4" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</assemblyBinding>
|
<dependentAssembly>
|
||||||
</runtime>
|
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
|
||||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /></startup></configuration>
|
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Xceed.Wpf.Toolkit" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Windows.Interactivity" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /></startup></configuration>
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net461" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="FluentAssertions" version="4.19.2" targetFramework="net461" />
|
<package id="FluentAssertions" version="5.5.3" targetFramework="net461" />
|
||||||
<package id="Moq" version="4.5.30" targetFramework="net461" />
|
<package id="Moq" version="4.10.0" targetFramework="net461" />
|
||||||
<package id="NUnit" version="3.6.1" targetFramework="net461" />
|
<package id="NUnit" version="3.11.0" targetFramework="net461" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net461" />
|
||||||
|
<package id="System.Threading.Tasks.Extensions" version="4.5.1" targetFramework="net461" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\NUnit.3.11.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -12,6 +13,8 @@
|
|||||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@@ -31,19 +34,28 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.5.30.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="Moq, Version=4.10.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.5.30\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\Moq.4.10.0\lib\net45\Moq.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="nunit.framework, Version=3.6.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
<Reference Include="nunit.framework, Version=3.11.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
|
<HintPath>..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
@@ -71,12 +83,19 @@
|
|||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
|
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit.3.11.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.11.0\build\NUnit.props'))" />
|
||||||
|
</Target>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|||||||
27
Filtration.ThemeEditor.Tests/app.config
Normal file
27
Filtration.ThemeEditor.Tests/app.config
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net461" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="Moq" version="4.5.30" targetFramework="net461" />
|
<package id="Moq" version="4.10.0" targetFramework="net461" />
|
||||||
<package id="NUnit" version="3.6.1" targetFramework="net461" />
|
<package id="NUnit" version="3.11.0" targetFramework="net461" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net461" />
|
||||||
|
<package id="System.Threading.Tasks.Extensions" version="4.5.1" targetFramework="net461" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -31,43 +31,48 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="AutoMapper, Version=6.0.2.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
|
<Reference Include="AutoMapper, Version=8.0.0.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\AutoMapper.6.0.2\lib\net45\AutoMapper.dll</HintPath>
|
<HintPath>..\packages\AutoMapper.8.0.0\lib\net461\AutoMapper.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Windsor, Version=3.4.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Windsor, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll</HintPath>
|
<HintPath>..\packages\Castle.Windsor.4.1.1\lib\net45\Castle.Windsor.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight, Version=5.3.0.19026, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
<Reference Include="CommonServiceLocator, Version=2.0.4.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
<HintPath>..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight, Version=5.4.1.0, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.4.1.0, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.Practices.ServiceLocation">
|
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.4.1.0, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NLog.4.4.9\lib\net45\NLog.dll</HintPath>
|
<HintPath>..\packages\NLog.4.5.11\lib\net45\NLog.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="PresentationFramework" />
|
<Reference Include="PresentationFramework" />
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Drawing" />
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.IO.Compression" />
|
||||||
|
<Reference Include="System.Runtime.Remoting" />
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
|
<Reference Include="System.ServiceModel" />
|
||||||
|
<Reference Include="System.Transactions" />
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Web" />
|
||||||
<Reference Include="System.Windows.Forms" />
|
<Reference Include="System.Windows.Forms" />
|
||||||
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Xaml" />
|
<Reference Include="System.Xaml" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
@@ -76,29 +81,23 @@
|
|||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="WindowsBase" />
|
<Reference Include="WindowsBase" />
|
||||||
<Reference Include="Xceed.Wpf.AvalonDock, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.AvalonDock, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.DataGrid, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.DataGrid, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.DataGrid.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.DataGrid.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.Toolkit, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.Toolkit, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -156,6 +155,7 @@
|
|||||||
</Page>
|
</Page>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="app.config" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
|||||||
11
Filtration.ThemeEditor/app.config
Normal file
11
Filtration.ThemeEditor/app.config
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="AutoMapper" version="6.0.2" targetFramework="net461" />
|
<package id="AutoMapper" version="8.0.0" targetFramework="net461" />
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net451" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="Castle.Windsor" version="3.4.0" targetFramework="net461" />
|
<package id="Castle.Windsor" version="4.1.1" targetFramework="net461" />
|
||||||
<package id="CommonServiceLocator" version="1.3" targetFramework="net451" />
|
<package id="CommonServiceLocator" version="2.0.4" targetFramework="net461" />
|
||||||
<package id="Extended.Wpf.Toolkit" version="2.9" targetFramework="net461" />
|
<package id="Extended.Wpf.Toolkit" version="3.4.0" targetFramework="net461" />
|
||||||
<package id="MvvmLightLibs" version="5.3.0.0" targetFramework="net461" />
|
<package id="MvvmLightLibs" version="5.4.1.1" targetFramework="net461" />
|
||||||
<package id="NLog" version="4.4.9" targetFramework="net461" />
|
<package id="NLog" version="4.5.11" targetFramework="net461" />
|
||||||
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,88 +1,95 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<configSections>
|
<configSections>
|
||||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<section name="Filtration.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
<section name="Filtration.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||||
</sectionGroup>
|
</sectionGroup>
|
||||||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<section name="Filtration.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
<section name="Filtration.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||||
</sectionGroup>
|
</sectionGroup>
|
||||||
</configSections>
|
</configSections>
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
||||||
</startup>
|
</startup>
|
||||||
<userSettings>
|
<userSettings>
|
||||||
<Filtration.Properties.Settings>
|
<Filtration.Properties.Settings>
|
||||||
<setting name="DefaultFilterDirectory" serializeAs="String">
|
<setting name="DefaultFilterDirectory" serializeAs="String">
|
||||||
<value />
|
<value />
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="ExtraLineBetweenBlocks" serializeAs="String">
|
<setting name="ExtraLineBetweenBlocks" serializeAs="String">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="SuppressUpdatesUpToVersionMajorPart" serializeAs="String">
|
<setting name="SuppressUpdatesUpToVersionMajorPart" serializeAs="String">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="SuppressUpdates" serializeAs="String">
|
<setting name="SuppressUpdates" serializeAs="String">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="SuppressUpdatesUpToVersionMinorPart" serializeAs="String">
|
<setting name="SuppressUpdatesUpToVersionMinorPart" serializeAs="String">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="StaticDataLastUpdated" serializeAs="String">
|
<setting name="StaticDataLastUpdated" serializeAs="String">
|
||||||
<value>2016-01-01</value>
|
<value>2016-01-01</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="DownloadPrereleaseUpdates" serializeAs="String">
|
<setting name="DownloadPrereleaseUpdates" serializeAs="String">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="ShowSectionBrowser" serializeAs="String">
|
<setting name="ShowSectionBrowser" serializeAs="String">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="ShowBlockGroupBrowser" serializeAs="String">
|
<setting name="ShowBlockGroupBrowser" serializeAs="String">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="ShowBlockOutputPreview" serializeAs="String">
|
<setting name="ShowBlockOutputPreview" serializeAs="String">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="ShowAdvanced" serializeAs="String">
|
<setting name="ShowAdvanced" serializeAs="String">
|
||||||
<value>False</value>
|
<value>False</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="WindowState" serializeAs="String">
|
<setting name="WindowState" serializeAs="String">
|
||||||
<value>Normal</value>
|
<value>Normal</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="WindowWidth" serializeAs="String">
|
<setting name="WindowWidth" serializeAs="String">
|
||||||
<value>1200</value>
|
<value>1200</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="WindowHeight" serializeAs="String">
|
<setting name="WindowHeight" serializeAs="String">
|
||||||
<value>800</value>
|
<value>800</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="LastActiveDocument" serializeAs="String">
|
<setting name="LastOpenScripts" serializeAs="String">
|
||||||
<value />
|
<value />
|
||||||
</setting>
|
</setting>
|
||||||
</Filtration.Properties.Settings>
|
<setting name="BlocksExpandedOnOpen" serializeAs="String">
|
||||||
</userSettings>
|
<value>True</value>
|
||||||
<runtime>
|
</setting>
|
||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
</Filtration.Properties.Settings>
|
||||||
<dependentAssembly>
|
</userSettings>
|
||||||
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
<runtime>
|
||||||
<bindingRedirect oldVersion="0.0.0.0-2.9.0.0" newVersion="2.9.0.0" />
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
</dependentAssembly>
|
<dependentAssembly>
|
||||||
<dependentAssembly>
|
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||||
<assemblyIdentity name="ControlzEx" publicKeyToken="f08b075e934b7045" culture="neutral" />
|
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.0.0" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-2.2.0.4" newVersion="2.2.0.4" />
|
</dependentAssembly>
|
||||||
</dependentAssembly>
|
<dependentAssembly>
|
||||||
</assemblyBinding>
|
<assemblyIdentity name="CommonServiceLocator" publicKeyToken="489b6accfaf20ef0" culture="neutral" />
|
||||||
</runtime>
|
<bindingRedirect oldVersion="0.0.0.0-2.0.4.0" newVersion="2.0.4.0" />
|
||||||
<applicationSettings>
|
</dependentAssembly>
|
||||||
<Filtration.Properties.Settings>
|
<dependentAssembly>
|
||||||
<setting name="ItemBaseTypesStaticDataUrl" serializeAs="String">
|
<assemblyIdentity name="System.Windows.Interactivity" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||||
<value>http://ben-wallis.github.io/Filtration/ItemBaseTypes.txt</value>
|
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||||
</setting>
|
</dependentAssembly>
|
||||||
<setting name="ItemClassesStaticDataUrl" serializeAs="String">
|
</assemblyBinding>
|
||||||
<value>http://ben-wallis.github.io/Filtration/ItemClasses.txt</value>
|
</runtime>
|
||||||
</setting>
|
<applicationSettings>
|
||||||
<setting name="UpdateDataUrl" serializeAs="String">
|
<Filtration.Properties.Settings>
|
||||||
<value>http://ben-wallis.github.io/Filtration/filtration_version.xml</value>
|
<setting name="ItemBaseTypesStaticDataUrl" serializeAs="String">
|
||||||
</setting>
|
<value>http://ben-wallis.github.io/Filtration/ItemBaseTypes.txt</value>
|
||||||
</Filtration.Properties.Settings>
|
</setting>
|
||||||
</applicationSettings>
|
<setting name="ItemClassesStaticDataUrl" serializeAs="String">
|
||||||
</configuration>
|
<value>http://ben-wallis.github.io/Filtration/ItemClasses.txt</value>
|
||||||
|
</setting>
|
||||||
|
<setting name="UpdateDataUrl" serializeAs="String">
|
||||||
|
<value>http://ben-wallis.github.io/Filtration/filtration_version.xml</value>
|
||||||
|
</setting>
|
||||||
|
</Filtration.Properties.Settings>
|
||||||
|
</applicationSettings>
|
||||||
|
</configuration>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<!--<ResourceDictionary Source="pack://application:,,,/Fluent;Component/Themes/Generic.xaml" />-->
|
<!--<ResourceDictionary Source="pack://application:,,,/Fluent;Component/Themes/Generic.xaml" />-->
|
||||||
<!--<ResourceDictionary Source="pack://application:,,,/Fluent;component/Themes/windows8/Generic.xaml" />-->
|
<!--<ResourceDictionary Source="pack://application:,,,/Fluent;component/Themes/windows8/Generic.xaml" />-->
|
||||||
<!--<ResourceDictionary Source="pack://application:,,,/Fluent;component/Themes/windows8/silver.xaml" />-->
|
<!--<ResourceDictionary Source="pack://application:,,,/Fluent;component/Themes/windows8/silver.xaml" />-->
|
||||||
<ResourceDictionary Source="pack://application:,,,/Fluent;Component/Themes/Office2013/Generic.xaml" />
|
<ResourceDictionary Source="pack://application:,,,/Fluent;Component/Themes/Generic.xaml" />
|
||||||
<ResourceDictionary Source="Views/Styles/Colours.xaml" />
|
<ResourceDictionary Source="Views/Styles/Colours.xaml" />
|
||||||
<ResourceDictionary Source="Views/Styles/CheckBox.xaml" />
|
<ResourceDictionary Source="Views/Styles/CheckBox.xaml" />
|
||||||
<ResourceDictionary Source="Views/Styles/ListBoxItem.xaml" />
|
<ResourceDictionary Source="Views/Styles/ListBoxItem.xaml" />
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ namespace Filtration
|
|||||||
cfg.CreateMap<StringThemeComponent, StringThemeComponentViewModel>().ReverseMap();
|
cfg.CreateMap<StringThemeComponent, StringThemeComponentViewModel>().ReverseMap();
|
||||||
cfg.CreateMap<IconThemeComponent, IconThemeComponentViewModel>().ReverseMap();
|
cfg.CreateMap<IconThemeComponent, IconThemeComponentViewModel>().ReverseMap();
|
||||||
cfg.CreateMap<EffectColorThemeComponent, EffectColorThemeComponentViewModel>().ReverseMap();
|
cfg.CreateMap<EffectColorThemeComponent, EffectColorThemeComponentViewModel>().ReverseMap();
|
||||||
cfg.CreateMap<IThemeEditorViewModel, Theme>();
|
cfg.CreateMap<ThemeEditorViewModel, Theme>();
|
||||||
});
|
});
|
||||||
|
|
||||||
Mapper.AssertConfigurationIsValid();
|
Mapper.AssertConfigurationIsValid();
|
||||||
|
|||||||
@@ -52,18 +52,20 @@
|
|||||||
<Prefer32Bit>true</Prefer32Bit>
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="AutoMapper, Version=6.0.2.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
|
<Reference Include="AutoMapper, Version=8.0.0.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\AutoMapper.6.0.2\lib\net45\AutoMapper.dll</HintPath>
|
<HintPath>..\packages\AutoMapper.8.0.0\lib\net461\AutoMapper.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.4.3.1\lib\net45\Castle.Core.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Windsor, Version=3.4.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Windsor, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll</HintPath>
|
<HintPath>..\packages\Castle.Windsor.4.1.1\lib\net45\Castle.Windsor.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ControlzEx, Version=2.2.0.4, Culture=neutral, PublicKeyToken=f08b075e934b7045, processorArchitecture=MSIL">
|
<Reference Include="CommonServiceLocator, Version=2.0.4.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ControlzEx.2.2.0.4\lib\net45\ControlzEx.dll</HintPath>
|
<HintPath>..\packages\CommonServiceLocator.2.0.4\lib\net46\CommonServiceLocator.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="ControlzEx, Version=3.0.2.4, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\ControlzEx.3.0.2.4\lib\net45\ControlzEx.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="DeltaCompressionDotNet, Version=1.1.0.0, Culture=neutral, PublicKeyToken=1d14d6e5194e7f4a, processorArchitecture=MSIL">
|
<Reference Include="DeltaCompressionDotNet, Version=1.1.0.0, Culture=neutral, PublicKeyToken=1d14d6e5194e7f4a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\DeltaCompressionDotNet.1.1.0\lib\net20\DeltaCompressionDotNet.dll</HintPath>
|
<HintPath>..\packages\DeltaCompressionDotNet.1.1.0\lib\net20\DeltaCompressionDotNet.dll</HintPath>
|
||||||
@@ -74,25 +76,23 @@
|
|||||||
<Reference Include="DeltaCompressionDotNet.PatchApi, Version=1.1.0.0, Culture=neutral, PublicKeyToken=3e8888ee913ed789, processorArchitecture=MSIL">
|
<Reference Include="DeltaCompressionDotNet.PatchApi, Version=1.1.0.0, Culture=neutral, PublicKeyToken=3e8888ee913ed789, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\DeltaCompressionDotNet.1.1.0\lib\net20\DeltaCompressionDotNet.PatchApi.dll</HintPath>
|
<HintPath>..\packages\DeltaCompressionDotNet.1.1.0\lib\net20\DeltaCompressionDotNet.PatchApi.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Fluent, Version=4.0.3.394, Culture=neutral, PublicKeyToken=3e436e32a8c5546f, processorArchitecture=MSIL">
|
<Reference Include="DynamicData, Version=6.7.0.2529, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Fluent.Ribbon.4.0.3.394\lib\net45\Fluent.dll</HintPath>
|
<HintPath>..\packages\DynamicData.6.7.0.2529\lib\net46\DynamicData.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight, Version=5.3.0.19026, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
<Reference Include="Fluent, Version=6.1.0.326, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
<HintPath>..\packages\Fluent.Ribbon.6.1.0.326\lib\net45\Fluent.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight, Version=5.4.1.0, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight.Extras, Version=5.4.1.0, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath>
|
||||||
<Private>True</Private>
|
</Reference>
|
||||||
|
<Reference Include="GalaSoft.MvvmLight.Platform, Version=5.4.1.0, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\MvvmLightLibs.5.4.1.1\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MahApps.Metro, Version=1.2.4.0, Culture=neutral, PublicKeyToken=f4fb5a3c4d1e5b4f, processorArchitecture=MSIL">
|
<Reference Include="MahApps.Metro, Version=1.2.4.0, Culture=neutral, PublicKeyToken=f4fb5a3c4d1e5b4f, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MahApps.Metro.1.2.4.0\lib\net45\MahApps.Metro.dll</HintPath>
|
<HintPath>..\packages\MahApps.Metro.1.2.4.0\lib\net45\MahApps.Metro.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
<Reference Include="Microsoft.WindowsAPICodePack, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.WindowsAPICodePack, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
@@ -114,10 +114,10 @@
|
|||||||
<HintPath>..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Rocks.dll</HintPath>
|
<HintPath>..\packages\Mono.Cecil.0.9.6.1\lib\net45\Mono.Cecil.Rocks.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NLog.4.4.9\lib\net45\NLog.dll</HintPath>
|
<HintPath>..\packages\NLog.4.5.11\lib\net45\NLog.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="NuGet.Squirrel, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="NuGet.Squirrel, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\squirrel.windows.1.8.0\lib\Net45\NuGet.Squirrel.dll</HintPath>
|
<HintPath>..\packages\squirrel.windows.1.9.0\lib\Net45\NuGet.Squirrel.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="SharpCompress, Version=0.17.1.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
|
<Reference Include="SharpCompress, Version=0.17.1.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\SharpCompress.0.17.1\lib\net45\SharpCompress.dll</HintPath>
|
<HintPath>..\packages\SharpCompress.0.17.1\lib\net45\SharpCompress.dll</HintPath>
|
||||||
@@ -125,12 +125,26 @@
|
|||||||
<Reference Include="Splat, Version=1.6.2.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Splat, Version=1.6.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Splat.1.6.2\lib\Net45\Splat.dll</HintPath>
|
<HintPath>..\packages\Splat.1.6.2\lib\Net45\Splat.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Squirrel, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="Squirrel, Version=1.9.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\squirrel.windows.1.8.0\lib\Net45\Squirrel.dll</HintPath>
|
<HintPath>..\packages\squirrel.windows.1.9.0\lib\Net45\Squirrel.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Configuration" />
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Drawing" />
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.IO.Compression" />
|
||||||
|
<Reference Include="System.Reactive, Version=4.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Reactive.4.0.0\lib\net46\System.Reactive.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Remoting" />
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
|
<Reference Include="System.ServiceModel" />
|
||||||
|
<Reference Include="System.Transactions" />
|
||||||
|
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Web" />
|
||||||
|
<Reference Include="System.Windows" />
|
||||||
<Reference Include="System.Windows.Controls.Input.Toolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="System.Windows.Controls.Input.Toolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Input.Toolkit.dll</HintPath>
|
<HintPath>..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Input.Toolkit.dll</HintPath>
|
||||||
@@ -141,7 +155,7 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Windows.Forms" />
|
<Reference Include="System.Windows.Forms" />
|
||||||
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ControlzEx.2.2.0.4\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
<HintPath>..\packages\MahApps.Metro.1.2.4.0\lib\net45\System.Windows.Interactivity.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
@@ -152,37 +166,34 @@
|
|||||||
<Reference Include="WindowsBase" />
|
<Reference Include="WindowsBase" />
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="PresentationFramework" />
|
<Reference Include="PresentationFramework" />
|
||||||
<Reference Include="WpfAnimatedGif, Version=1.4.14.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="WpfAnimatedGif, Version=1.4.17.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\WpfAnimatedGif.1.4.14\lib\net\WpfAnimatedGif.dll</HintPath>
|
<HintPath>..\packages\WpfAnimatedGif.1.4.17\lib\net\WpfAnimatedGif.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="WPFToolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="WPFToolkit, Version=3.5.40128.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\WPFToolkit.3.5.50211.1\lib\WPFToolkit.dll</HintPath>
|
<HintPath>..\packages\WPFToolkit.3.5.50211.1\lib\WPFToolkit.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.AvalonDock, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.AvalonDock, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2013, Version=2.0.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2013, Version=2.0.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>libs\Xceed.Wpf.AvalonDock.Themes.VS2013.dll</HintPath>
|
<HintPath>libs\Xceed.Wpf.AvalonDock.Themes.VS2013.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Xceed.Wpf.Toolkit, Version=2.9.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
<Reference Include="Xceed.Wpf.DataGrid, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.DataGrid.dll</HintPath>
|
||||||
<Private>True</Private>
|
</Reference>
|
||||||
|
<Reference Include="Xceed.Wpf.Toolkit, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -209,8 +220,11 @@
|
|||||||
<Compile Include="Repositories\ItemFilterScriptRepository.cs" />
|
<Compile Include="Repositories\ItemFilterScriptRepository.cs" />
|
||||||
<Compile Include="Services\Bootstrapper.cs" />
|
<Compile Include="Services\Bootstrapper.cs" />
|
||||||
<Compile Include="Services\ClipboardService.cs" />
|
<Compile Include="Services\ClipboardService.cs" />
|
||||||
|
<Compile Include="Services\DialogService.cs" />
|
||||||
<Compile Include="Services\HTTPService.cs" />
|
<Compile Include="Services\HTTPService.cs" />
|
||||||
<Compile Include="Services\ItemFilterPersistenceService.cs" />
|
<Compile Include="Services\ItemFilterPersistenceService.cs" />
|
||||||
|
<Compile Include="Services\ItemFilterScriptDirectoryService.cs" />
|
||||||
|
<Compile Include="Services\ScriptLoadingService.cs" />
|
||||||
<Compile Include="Services\SettingsService.cs" />
|
<Compile Include="Services\SettingsService.cs" />
|
||||||
<Compile Include="Services\StaticDataService.cs" />
|
<Compile Include="Services\StaticDataService.cs" />
|
||||||
<Compile Include="Services\UpdateService.cs" />
|
<Compile Include="Services\UpdateService.cs" />
|
||||||
@@ -224,12 +238,16 @@
|
|||||||
<Compile Include="UserControls\EditableListBoxControl.xaml.cs">
|
<Compile Include="UserControls\EditableListBoxControl.xaml.cs">
|
||||||
<DependentUpon>EditableListBoxControl.xaml</DependentUpon>
|
<DependentUpon>EditableListBoxControl.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="UserControls\EnableDisableToggleButton.xaml.cs">
|
||||||
|
<DependentUpon>EnableDisableToggleButton.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="UserControls\ItemPreviewControl.xaml.cs">
|
<Compile Include="UserControls\ItemPreviewControl.xaml.cs">
|
||||||
<DependentUpon>ItemPreviewControl.xaml</DependentUpon>
|
<DependentUpon>ItemPreviewControl.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="UserControls\ThemeComponentSelectionControl.xaml.cs">
|
<Compile Include="UserControls\ThemeComponentSelectionControl.xaml.cs">
|
||||||
<DependentUpon>ThemeComponentSelectionControl.xaml</DependentUpon>
|
<DependentUpon>ThemeComponentSelectionControl.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="ViewModels\DesignTime\DesignTimeItemFilterBlockViewModel.cs" />
|
||||||
<Compile Include="ViewModels\DesignTime\DesignTimeSettingsPageViewModel.cs" />
|
<Compile Include="ViewModels\DesignTime\DesignTimeSettingsPageViewModel.cs" />
|
||||||
<Compile Include="Views\AttachedProperties\SelectedItemsAttachedProperty.cs" />
|
<Compile Include="Views\AttachedProperties\SelectedItemsAttachedProperty.cs" />
|
||||||
<Compile Include="Utility\RoutedCommandHandler.cs" />
|
<Compile Include="Utility\RoutedCommandHandler.cs" />
|
||||||
@@ -268,6 +286,10 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
</Page>
|
</Page>
|
||||||
|
<Page Include="UserControls\EnableDisableToggleButton.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
</Page>
|
||||||
<Page Include="UserControls\ThemeComponentSelectionControl.xaml">
|
<Page Include="UserControls\ThemeComponentSelectionControl.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
|||||||
@@ -9,7 +9,18 @@
|
|||||||
<description>A Path of Exile loot filter script editor</description>
|
<description>A Path of Exile loot filter script editor</description>
|
||||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||||
<copyright>Copyright 2018</copyright>
|
<copyright>Copyright 2018</copyright>
|
||||||
<releaseNotes>* Fixed crash on exit</releaseNotes>
|
<releaseNotes>* All open filter scripts are now remembered on exit and reopened when the application is started rather than just the last opened one (#95)
|
||||||
|
* Filter sections are once again now expanded by default when scripts are opened, unless the new "Auto-expand all sections when opening scripts" setting is disabled
|
||||||
|
* A new Clear Styles button has been added which removes all styles from the selected block (#96)
|
||||||
|
* The Enable/Disable Block toggle button is now visible on both the Regular Block Items and Appearance Block Items views
|
||||||
|
* When there are too many block items to fit horizontally in a block a horizontal scrollbar will now appear
|
||||||
|
* Fixed the application freezing for a long period of time when Ctrl+A (Select All) is performed
|
||||||
|
* Fixed the Switch to Appearance/Regular Block Items text overlapping block items
|
||||||
|
* Fixed theme saving (blank theme files were being saved) (#83)
|
||||||
|
* Fixed checkboxes in Block Group Browser (#97)
|
||||||
|
* Fixed the Select Path of Exile data directory dialog appearing after every upgrade (#94)
|
||||||
|
* Fixed an issue where custom sounds were only populated from the default Path of Exile data directory rather than the configured directory
|
||||||
|
* Clean installs no longer prompt to select the Path of Exile data directory if the default directory exists</releaseNotes>
|
||||||
<dependencies />
|
<dependencies />
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -10,8 +10,8 @@ using System.Runtime.CompilerServices;
|
|||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.0.2")]
|
[assembly: AssemblyVersion("1.1.0")]
|
||||||
[assembly: AssemblyInformationalVersion("1.0.2")]
|
[assembly: AssemblyInformationalVersion("1.1.0-beta3")]
|
||||||
|
|
||||||
[assembly: InternalsVisibleTo("Filtration.Tests")]
|
[assembly: InternalsVisibleTo("Filtration.Tests")]
|
||||||
[assembly: InternalsVisibleTo("Filtration.ItemFilterPreview.Tests")]
|
[assembly: InternalsVisibleTo("Filtration.ItemFilterPreview.Tests")]
|
||||||
|
|||||||
20
Filtration/Properties/Settings.Designer.cs
generated
20
Filtration/Properties/Settings.Designer.cs
generated
@@ -12,7 +12,7 @@ namespace Filtration.Properties {
|
|||||||
|
|
||||||
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.8.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
|
||||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
@@ -221,12 +221,24 @@ namespace Filtration.Properties {
|
|||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||||
public string LastActiveDocument {
|
public string LastOpenScripts {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["LastActiveDocument"]));
|
return ((string)(this["LastOpenScripts"]));
|
||||||
}
|
}
|
||||||
set {
|
set {
|
||||||
this["LastActiveDocument"] = value;
|
this["LastOpenScripts"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("True")]
|
||||||
|
public bool BlocksExpandedOnOpen {
|
||||||
|
get {
|
||||||
|
return ((bool)(this["BlocksExpandedOnOpen"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["BlocksExpandedOnOpen"] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,8 +53,11 @@
|
|||||||
<Setting Name="WindowHeight" Type="System.Int32" Scope="User">
|
<Setting Name="WindowHeight" Type="System.Int32" Scope="User">
|
||||||
<Value Profile="(Default)">800</Value>
|
<Value Profile="(Default)">800</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="LastActiveDocument" Type="System.String" Scope="User">
|
<Setting Name="LastOpenScripts" Type="System.String" Scope="User">
|
||||||
<Value Profile="(Default)" />
|
<Value Profile="(Default)" />
|
||||||
</Setting>
|
</Setting>
|
||||||
|
<Setting Name="BlocksExpandedOnOpen" Type="System.Boolean" Scope="User">
|
||||||
|
<Value Profile="(Default)">True</Value>
|
||||||
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SettingsFile>
|
</SettingsFile>
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Filtration.ObjectModel;
|
|
||||||
using Filtration.ObjectModel.Factories;
|
using Filtration.ObjectModel.Factories;
|
||||||
using Filtration.Services;
|
using Filtration.Services;
|
||||||
using Filtration.ViewModels;
|
using Filtration.ViewModels;
|
||||||
@@ -11,8 +10,6 @@ namespace Filtration.Repositories
|
|||||||
{
|
{
|
||||||
Task<IItemFilterScriptViewModel> LoadScriptFromFileAsync(string path);
|
Task<IItemFilterScriptViewModel> LoadScriptFromFileAsync(string path);
|
||||||
IItemFilterScriptViewModel NewScript();
|
IItemFilterScriptViewModel NewScript();
|
||||||
string GetItemFilterScriptDirectory();
|
|
||||||
void SetItemFilterScriptDirectory(string path);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class ItemFilterScriptRepository : IItemFilterScriptRepository
|
internal class ItemFilterScriptRepository : IItemFilterScriptRepository
|
||||||
@@ -48,15 +45,6 @@ namespace Filtration.Repositories
|
|||||||
|
|
||||||
return newViewModel;
|
return newViewModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetItemFilterScriptDirectory(string path)
|
|
||||||
{
|
|
||||||
_itemFilterPersistenceService.SetItemFilterScriptDirectory(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
public string GetItemFilterScriptDirectory()
|
|
||||||
{
|
|
||||||
return _itemFilterPersistenceService.ItemFilterScriptDirectory;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
;
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
using Filtration.Properties;
|
||||||
using Filtration.Views;
|
using Filtration.Views;
|
||||||
using NLog;
|
using NLog;
|
||||||
|
|
||||||
@@ -15,15 +16,21 @@ namespace Filtration.Services
|
|||||||
{
|
{
|
||||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
|
private readonly IItemFilterScriptDirectoryService _itemFilterScriptDirectoryService;
|
||||||
private readonly IMainWindow _mainWindow;
|
private readonly IMainWindow _mainWindow;
|
||||||
|
private readonly IScriptLoadingService _scriptLoadingService;
|
||||||
private readonly ISettingsService _settingsService;
|
private readonly ISettingsService _settingsService;
|
||||||
private readonly IUpdateService _updateService;
|
private readonly IUpdateService _updateService;
|
||||||
|
|
||||||
public Bootstrapper(IMainWindow mainWindow,
|
public Bootstrapper(IItemFilterScriptDirectoryService itemFilterScriptDirectoryService,
|
||||||
|
IMainWindow mainWindow,
|
||||||
|
IScriptLoadingService scriptLoadingService,
|
||||||
ISettingsService settingsService,
|
ISettingsService settingsService,
|
||||||
IUpdateService updateService)
|
IUpdateService updateService)
|
||||||
{
|
{
|
||||||
|
_itemFilterScriptDirectoryService = itemFilterScriptDirectoryService;
|
||||||
_mainWindow = mainWindow;
|
_mainWindow = mainWindow;
|
||||||
|
_scriptLoadingService = scriptLoadingService;
|
||||||
_settingsService = settingsService;
|
_settingsService = settingsService;
|
||||||
_updateService = updateService;
|
_updateService = updateService;
|
||||||
}
|
}
|
||||||
@@ -37,8 +44,16 @@ namespace Filtration.Services
|
|||||||
// with each update
|
// with each update
|
||||||
_settingsService.RestoreSettings();
|
_settingsService.RestoreSettings();
|
||||||
|
|
||||||
|
_itemFilterScriptDirectoryService.PromptForFilterScriptDirectoryIfRequired();
|
||||||
|
|
||||||
_mainWindow.Show();
|
_mainWindow.Show();
|
||||||
|
|
||||||
|
// If there were scripts open the last time the application was closed, reopen them
|
||||||
|
if (!string.IsNullOrWhiteSpace(Settings.Default.LastOpenScripts))
|
||||||
|
{
|
||||||
|
await _scriptLoadingService.LoadScriptsAsync(Settings.Default.LastOpenScripts.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries));
|
||||||
|
}
|
||||||
|
|
||||||
await _updateService.CheckForUpdatesAsync();
|
await _updateService.CheckForUpdatesAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
25
Filtration/Services/DialogService.cs
Normal file
25
Filtration/Services/DialogService.cs
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
using Microsoft.WindowsAPICodePack.Dialogs;
|
||||||
|
|
||||||
|
namespace Filtration.Services
|
||||||
|
{
|
||||||
|
internal interface IDialogService
|
||||||
|
{
|
||||||
|
CommonFileDialogResult ShowFolderPickerDialog(string dialogTitle, out string folderName);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal sealed class DialogService : IDialogService
|
||||||
|
{
|
||||||
|
public CommonFileDialogResult ShowFolderPickerDialog(string dialogTitle, out string folderName)
|
||||||
|
{
|
||||||
|
using (var dialog = new CommonOpenFileDialog(dialogTitle))
|
||||||
|
{
|
||||||
|
dialog.IsFolderPicker = true;
|
||||||
|
var result = dialog.ShowDialog();
|
||||||
|
|
||||||
|
folderName = result == CommonFileDialogResult.Ok ? dialog.FileName : string.Empty;
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -25,16 +25,6 @@ namespace Filtration.Services
|
|||||||
{
|
{
|
||||||
_fileSystemService = fileSystemService;
|
_fileSystemService = fileSystemService;
|
||||||
_itemFilterScriptTranslator = itemFilterScriptTranslator;
|
_itemFilterScriptTranslator = itemFilterScriptTranslator;
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(Settings.Default.DefaultFilterDirectory))
|
|
||||||
{
|
|
||||||
ItemFilterScriptDirectory = DefaultPathOfExileDirectory();
|
|
||||||
Settings.Default.DefaultFilterDirectory = ItemFilterScriptDirectory;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ItemFilterScriptDirectory = Settings.Default.DefaultFilterDirectory;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ItemFilterScriptDirectory { get; private set; }
|
public string ItemFilterScriptDirectory { get; private set; }
|
||||||
|
|||||||
78
Filtration/Services/ItemFilterScriptDirectoryService.cs
Normal file
78
Filtration/Services/ItemFilterScriptDirectoryService.cs
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
using System.IO;
|
||||||
|
using System.Windows;
|
||||||
|
using Filtration.Common.Services;
|
||||||
|
using Microsoft.WindowsAPICodePack.Dialogs;
|
||||||
|
|
||||||
|
namespace Filtration.Services
|
||||||
|
{
|
||||||
|
internal interface IItemFilterScriptDirectoryService
|
||||||
|
{
|
||||||
|
string ItemFilterScriptDirectory { get; }
|
||||||
|
void PromptForFilterScriptDirectoryIfRequired();
|
||||||
|
void SetItemFilterScriptDirectory();
|
||||||
|
}
|
||||||
|
|
||||||
|
internal sealed class ItemFilterScriptDirectoryService : IItemFilterScriptDirectoryService
|
||||||
|
{
|
||||||
|
private readonly IDialogService _dialogService;
|
||||||
|
private readonly IFileSystemService _fileSystemService;
|
||||||
|
private readonly IItemFilterPersistenceService _itemFilterPersistenceService;
|
||||||
|
private readonly IMessageBoxService _messageBoxService;
|
||||||
|
|
||||||
|
public ItemFilterScriptDirectoryService(IDialogService dialogService,
|
||||||
|
IFileSystemService fileSystemService,
|
||||||
|
IItemFilterPersistenceService itemFilterPersistenceService,
|
||||||
|
IMessageBoxService messageBoxService)
|
||||||
|
{
|
||||||
|
_dialogService = dialogService;
|
||||||
|
_fileSystemService = fileSystemService;
|
||||||
|
_itemFilterPersistenceService = itemFilterPersistenceService;
|
||||||
|
_messageBoxService = messageBoxService;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public string ItemFilterScriptDirectory => _itemFilterPersistenceService.ItemFilterScriptDirectory;
|
||||||
|
|
||||||
|
public void PromptForFilterScriptDirectoryIfRequired()
|
||||||
|
{
|
||||||
|
// If the directory is already set, do nothing
|
||||||
|
if (!string.IsNullOrEmpty(_itemFilterPersistenceService.ItemFilterScriptDirectory))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the directory is not set but the default directory exists, set the directory to the default directory
|
||||||
|
if (_fileSystemService.DirectoryExists(_itemFilterPersistenceService.DefaultPathOfExileDirectory()))
|
||||||
|
{
|
||||||
|
_itemFilterPersistenceService.SetItemFilterScriptDirectory(_itemFilterPersistenceService.DefaultPathOfExileDirectory());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise, prompt the user to select the directory
|
||||||
|
_messageBoxService.Show("Data directory required", @"The Path of Exile user data directory was not found in the default location (Documents\My Games\Path of Exile), please select it manually.", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||||
|
while (string.IsNullOrEmpty(_itemFilterPersistenceService.ItemFilterScriptDirectory))
|
||||||
|
{
|
||||||
|
SetItemFilterScriptDirectory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetItemFilterScriptDirectory()
|
||||||
|
{
|
||||||
|
var result = _dialogService.ShowFolderPickerDialog(@"Select Path of Exile user data directory", out var filepath);
|
||||||
|
if (result != CommonFileDialogResult.Ok)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
_itemFilterPersistenceService.SetItemFilterScriptDirectory(filepath);
|
||||||
|
}
|
||||||
|
catch (DirectoryNotFoundException)
|
||||||
|
{
|
||||||
|
_messageBoxService.Show("Error", "The entered Default Filter Directory is invalid or does not exist.",
|
||||||
|
MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
98
Filtration/Services/ScriptLoadingService.cs
Normal file
98
Filtration/Services/ScriptLoadingService.cs
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using Filtration.Common.Services;
|
||||||
|
using Filtration.Repositories;
|
||||||
|
using Filtration.ThemeEditor.Providers;
|
||||||
|
using Filtration.ThemeEditor.ViewModels;
|
||||||
|
using Filtration.ViewModels;
|
||||||
|
using GalaSoft.MvvmLight.Messaging;
|
||||||
|
using NLog;
|
||||||
|
|
||||||
|
namespace Filtration.Services
|
||||||
|
{
|
||||||
|
internal interface IScriptLoadingService
|
||||||
|
{
|
||||||
|
Task LoadScriptAsync(string scriptFilename);
|
||||||
|
Task LoadScriptsAsync(string[] files);
|
||||||
|
Task LoadThemeAsync(string themeFilename);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal sealed class ScriptLoadingService : IScriptLoadingService
|
||||||
|
{
|
||||||
|
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
|
private readonly IAvalonDockWorkspaceViewModel _avalonDockWorkspaceViewModel;
|
||||||
|
private readonly IMessageBoxService _messageBoxService;
|
||||||
|
private readonly IThemeProvider _themeProvider;
|
||||||
|
private readonly IItemFilterScriptRepository _itemFilterScriptRepository;
|
||||||
|
|
||||||
|
public ScriptLoadingService(IAvalonDockWorkspaceViewModel avalonDockWorkspaceViewModel,
|
||||||
|
IItemFilterScriptRepository itemFilterScriptRepository,
|
||||||
|
IMessageBoxService messageBoxService,
|
||||||
|
IThemeProvider themeProvider)
|
||||||
|
{
|
||||||
|
_avalonDockWorkspaceViewModel = avalonDockWorkspaceViewModel;
|
||||||
|
_messageBoxService = messageBoxService;
|
||||||
|
_themeProvider = themeProvider;
|
||||||
|
_itemFilterScriptRepository = itemFilterScriptRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task LoadScriptsAsync(string[] files)
|
||||||
|
{
|
||||||
|
foreach (var file in files)
|
||||||
|
{
|
||||||
|
if (File.Exists(file))
|
||||||
|
{
|
||||||
|
await LoadScriptAsync(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task LoadScriptAsync(string scriptFilename)
|
||||||
|
{
|
||||||
|
IItemFilterScriptViewModel loadedViewModel;
|
||||||
|
|
||||||
|
Messenger.Default.Send(new NotificationMessage("ShowLoadingBanner"));
|
||||||
|
try
|
||||||
|
{
|
||||||
|
loadedViewModel = await _itemFilterScriptRepository.LoadScriptFromFileAsync(scriptFilename);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Logger.Error(e);
|
||||||
|
_messageBoxService.Show("Script Load Error", "Error loading filter script - " + e.Message,
|
||||||
|
MessageBoxButton.OK,
|
||||||
|
MessageBoxImage.Error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Messenger.Default.Send(new NotificationMessage("HideLoadingBanner"));
|
||||||
|
}
|
||||||
|
|
||||||
|
_avalonDockWorkspaceViewModel.AddDocument(loadedViewModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task LoadThemeAsync(string themeFilename)
|
||||||
|
{
|
||||||
|
IThemeEditorViewModel loadedViewModel;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
loadedViewModel = await _themeProvider.LoadThemeFromFile(themeFilename);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Logger.Error(e);
|
||||||
|
_messageBoxService.Show("Theme Load Error", "Error loading filter theme - " + e.Message,
|
||||||
|
MessageBoxButton.OK,
|
||||||
|
MessageBoxImage.Error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_avalonDockWorkspaceViewModel.AddDocument(loadedViewModel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
30
Filtration/UserControls/EnableDisableToggleButton.xaml
Normal file
30
Filtration/UserControls/EnableDisableToggleButton.xaml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<UserControl x:Class="Filtration.UserControls.EnableDisableToggleButton"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
mc:Ignorable="d"
|
||||||
|
d:DesignHeight="450" d:DesignWidth="800">
|
||||||
|
<ToggleButton Style="{StaticResource ChromelessToggleButton}"
|
||||||
|
IsChecked="{Binding BlockEnabled}"
|
||||||
|
Margin="0,0,5,0"
|
||||||
|
ToolTip="Enable/Disable Block"
|
||||||
|
Cursor="Hand"
|
||||||
|
Width="25"
|
||||||
|
Height="25">
|
||||||
|
<Image RenderOptions.BitmapScalingMode="HighQuality">
|
||||||
|
<Image.Style>
|
||||||
|
<Style TargetType="{x:Type Image}">
|
||||||
|
<Style.Triggers>
|
||||||
|
<DataTrigger Binding="{Binding BlockEnabled}" Value="true">
|
||||||
|
<Setter Property="Source" Value="/Filtration;component/Resources/Icons/standby_enabled_icon.png"/>
|
||||||
|
</DataTrigger>
|
||||||
|
<DataTrigger Binding="{Binding BlockEnabled}" Value="false">
|
||||||
|
<Setter Property="Source" Value="/Filtration;component/Resources/Icons/standby_disabled_icon.png"/>
|
||||||
|
</DataTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
</Image.Style>
|
||||||
|
</Image>
|
||||||
|
</ToggleButton>
|
||||||
|
</UserControl>
|
||||||
28
Filtration/UserControls/EnableDisableToggleButton.xaml.cs
Normal file
28
Filtration/UserControls/EnableDisableToggleButton.xaml.cs
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
|
namespace Filtration.UserControls
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Interaction logic for EnableDisableToggleButton.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class EnableDisableToggleButton : UserControl
|
||||||
|
{
|
||||||
|
public EnableDisableToggleButton()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -75,7 +75,6 @@ namespace Filtration.ViewModels
|
|||||||
if (value.IsScript)
|
if (value.IsScript)
|
||||||
{
|
{
|
||||||
_activeScriptViewModel = (IItemFilterScriptViewModel) value;
|
_activeScriptViewModel = (IItemFilterScriptViewModel) value;
|
||||||
Settings.Default.LastActiveDocument = _activeScriptViewModel.Script.FilePath;
|
|
||||||
}
|
}
|
||||||
else if (value.IsTheme)
|
else if (value.IsTheme)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,158 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using Filtration.ObjectModel;
|
||||||
|
using Filtration.ObjectModel.BlockItemTypes;
|
||||||
|
using Filtration.ObjectModel.Commands;
|
||||||
|
using Filtration.ObjectModel.Enums;
|
||||||
|
using GalaSoft.MvvmLight.CommandWpf;
|
||||||
|
using Xceed.Wpf.Toolkit;
|
||||||
|
|
||||||
|
namespace Filtration.ViewModels.DesignTime
|
||||||
|
{
|
||||||
|
internal class FakeCommandManager : ICommandManagerInternal {
|
||||||
|
public void ExecuteCommand(ICommand command)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Undo(int undoLevels = 1)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Redo(int redoLevels = 1)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetScript(IItemFilterScriptInternal layout)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal class DesignTimeItemFilterBlockViewModel : IItemFilterBlockViewModel
|
||||||
|
{
|
||||||
|
private ItemFilterBlock itemFilterBlock;
|
||||||
|
|
||||||
|
public DesignTimeItemFilterBlockViewModel()
|
||||||
|
{
|
||||||
|
itemFilterBlock = new ItemFilterBlock(new ItemFilterScript(new FakeCommandManager()))
|
||||||
|
{
|
||||||
|
Action = BlockAction.Show,
|
||||||
|
Enabled = true
|
||||||
|
};
|
||||||
|
|
||||||
|
itemFilterBlock.BlockItems.Add(new RarityBlockItem(FilterPredicateOperator.Equal, ItemRarity.Rare));
|
||||||
|
itemFilterBlock.BlockItems.Add(new DropLevelBlockItem(FilterPredicateOperator.GreaterThan, 23));
|
||||||
|
itemFilterBlock.BlockItems.Add(new BaseTypeBlockItem());
|
||||||
|
itemFilterBlock.BlockItems.Add(new BaseTypeBlockItem());
|
||||||
|
itemFilterBlock.BlockItems.Add(new BaseTypeBlockItem());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Initialise(IItemFilterBlockBase itemFilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel)
|
||||||
|
{
|
||||||
|
//throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public IItemFilterBlockBase BaseBlock { get; }
|
||||||
|
public bool IsDirty { get; set; }
|
||||||
|
public bool IsVisible { get; set; }
|
||||||
|
public event EventHandler BlockBecameDirty;
|
||||||
|
|
||||||
|
public bool IsExpanded
|
||||||
|
{
|
||||||
|
get => true;
|
||||||
|
set { }
|
||||||
|
}
|
||||||
|
|
||||||
|
public IItemFilterBlock Block => itemFilterBlock;
|
||||||
|
|
||||||
|
public bool BlockEnabled
|
||||||
|
{
|
||||||
|
get => true;
|
||||||
|
set { }
|
||||||
|
}
|
||||||
|
|
||||||
|
public string BlockDescription { get; set; }
|
||||||
|
public RelayCommand CopyBlockStyleCommand { get; }
|
||||||
|
public RelayCommand PasteBlockStyleCommand { get; }
|
||||||
|
public RelayCommand ToggleBlockActionCommand { get; }
|
||||||
|
public RelayCommand ReplaceColorsCommand { get; }
|
||||||
|
public RelayCommand<Type> AddFilterBlockItemCommand { get; }
|
||||||
|
public RelayCommand<IItemFilterBlockItem> RemoveFilterBlockItemCommand { get; }
|
||||||
|
public RelayCommand PlaySoundCommand { get; }
|
||||||
|
public RelayCommand PlayPositionalSoundCommand { get; }
|
||||||
|
public RelayCommand SwitchBlockItemsViewCommand { get; }
|
||||||
|
public RelayCommand CustomSoundFileDialogCommand { get; }
|
||||||
|
public RelayCommand PlayCustomSoundCommand { get; }
|
||||||
|
public RelayCommand AddBlockGroupCommand { get; }
|
||||||
|
public RelayCommand DeleteBlockGroupCommand { get; }
|
||||||
|
public ObservableCollection<ItemFilterBlockGroup> BlockGroups { get; }
|
||||||
|
public ObservableCollection<string> BlockGroupSuggestions { get; }
|
||||||
|
public string BlockGroupSearch { get; set; }
|
||||||
|
public ObservableCollection<IItemFilterBlockItem> BlockItems => Block.BlockItems;
|
||||||
|
|
||||||
|
public IEnumerable<IItemFilterBlockItem> SummaryBlockItems
|
||||||
|
{
|
||||||
|
get { return Block.BlockItems.Where(b => !(b is IAudioVisualBlockItem)); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerable<IItemFilterBlockItem> RegularBlockItems
|
||||||
|
{
|
||||||
|
get { return Block.BlockItems.Where(b => !(b is IAudioVisualBlockItem)); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerable<IItemFilterBlockItem> AudioVisualBlockItems { get; }
|
||||||
|
public bool AdvancedBlockGroup { get; }
|
||||||
|
public bool AudioVisualBlockItemsGridVisible { get; set; }
|
||||||
|
public bool DisplaySettingsPopupOpen { get; set; }
|
||||||
|
public IEnumerable<string> AutoCompleteItemClasses { get; }
|
||||||
|
public IEnumerable<string> AutoCompleteItemBaseTypes { get; }
|
||||||
|
public IEnumerable<string> AutocompleteItemMods { get; }
|
||||||
|
public List<Type> BlockItemTypesAvailable => new List<Type>
|
||||||
|
{
|
||||||
|
typeof (ItemLevelBlockItem),
|
||||||
|
typeof (DropLevelBlockItem),
|
||||||
|
typeof (QualityBlockItem),
|
||||||
|
typeof (RarityBlockItem),
|
||||||
|
typeof (SocketsBlockItem),
|
||||||
|
typeof (LinkedSocketsBlockItem),
|
||||||
|
typeof (WidthBlockItem),
|
||||||
|
typeof (HeightBlockItem),
|
||||||
|
typeof (SocketGroupBlockItem),
|
||||||
|
typeof (ClassBlockItem),
|
||||||
|
typeof (BaseTypeBlockItem),
|
||||||
|
typeof (IdentifiedBlockItem),
|
||||||
|
typeof (CorruptedBlockItem),
|
||||||
|
typeof (ElderItemBlockItem),
|
||||||
|
typeof (ShaperItemBlockItem),
|
||||||
|
typeof (MapTierBlockItem),
|
||||||
|
typeof (ShapedMapBlockItem),
|
||||||
|
typeof (ElderMapBlockItem),
|
||||||
|
typeof (GemLevelBlockItem),
|
||||||
|
typeof (StackSizeBlockItem),
|
||||||
|
typeof (HasExplicitModBlockItem)
|
||||||
|
};
|
||||||
|
public List<Type> AudioVisualBlockItemTypesAvailable { get; }
|
||||||
|
public ObservableCollection<ColorItem> AvailableColors { get; }
|
||||||
|
public Color DisplayTextColor => Colors.Red;
|
||||||
|
public Color DisplayBackgroundColor => Colors.White;
|
||||||
|
public Color DisplayBorderColor => Colors.GreenYellow;
|
||||||
|
public double DisplayFontSize => 20;
|
||||||
|
public int DisplayIconSize { get; }
|
||||||
|
public int DisplayIconColor { get; }
|
||||||
|
public int DisplayIconShape { get; }
|
||||||
|
public Color DisplayEffectColor { get; }
|
||||||
|
public bool HasSound { get; }
|
||||||
|
public bool HasPositionalSound { get; }
|
||||||
|
public bool HasCustomSound { get; }
|
||||||
|
public bool HasAudioVisualBlockItems { get; }
|
||||||
|
public void RefreshBlockPreview()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,6 +12,8 @@ namespace Filtration.ViewModels.DesignTime
|
|||||||
set { }
|
set { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool BlocksExpandedOnOpen { get; set; }
|
||||||
|
|
||||||
public bool ExtraLineBetweenBlocks
|
public bool ExtraLineBetweenBlocks
|
||||||
{
|
{
|
||||||
get => true;
|
get => true;
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ namespace Filtration.ViewModels
|
|||||||
ParentGroup = parent;
|
ParentGroup = parent;
|
||||||
Advanced = itemFilterBlockGroup.Advanced;
|
Advanced = itemFilterBlockGroup.Advanced;
|
||||||
SourceBlockGroup = itemFilterBlockGroup;
|
SourceBlockGroup = itemFilterBlockGroup;
|
||||||
SourceBlockGroup.ClearStatusChangeSubscribers();
|
|
||||||
SourceBlockGroup.BlockGroupStatusChanged += OnSourceBlockGroupStatusChanged;
|
SourceBlockGroup.BlockGroupStatusChanged += OnSourceBlockGroupStatusChanged;
|
||||||
IsShowChecked = itemFilterBlockGroup.IsShowChecked;
|
IsShowChecked = itemFilterBlockGroup.IsShowChecked;
|
||||||
IsEnableChecked = itemFilterBlockGroup.IsEnableChecked;
|
IsEnableChecked = itemFilterBlockGroup.IsEnableChecked;
|
||||||
@@ -256,5 +255,18 @@ namespace Filtration.ViewModels
|
|||||||
IsEnableChecked = SourceBlockGroup.IsEnableChecked;
|
IsEnableChecked = SourceBlockGroup.IsEnableChecked;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ClearStatusChangeSubscriptions()
|
||||||
|
{
|
||||||
|
if (SourceBlockGroup != null)
|
||||||
|
{
|
||||||
|
SourceBlockGroup.BlockGroupStatusChanged -= OnSourceBlockGroupStatusChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var child in ChildGroups)
|
||||||
|
{
|
||||||
|
child.ClearStatusChangeSubscriptions();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,47 @@ namespace Filtration.ViewModels
|
|||||||
IItemFilterBlock Block { get; }
|
IItemFilterBlock Block { get; }
|
||||||
bool BlockEnabled { get; set; }
|
bool BlockEnabled { get; set; }
|
||||||
string BlockDescription { get; set; }
|
string BlockDescription { get; set; }
|
||||||
|
RelayCommand CopyBlockStyleCommand { get; }
|
||||||
|
RelayCommand PasteBlockStyleCommand { get; }
|
||||||
|
RelayCommand ToggleBlockActionCommand { get; }
|
||||||
|
RelayCommand ReplaceColorsCommand { get; }
|
||||||
|
RelayCommand<Type> AddFilterBlockItemCommand { get; }
|
||||||
|
RelayCommand<IItemFilterBlockItem> RemoveFilterBlockItemCommand { get; }
|
||||||
|
RelayCommand PlaySoundCommand { get; }
|
||||||
|
RelayCommand PlayPositionalSoundCommand { get; }
|
||||||
|
RelayCommand SwitchBlockItemsViewCommand { get; }
|
||||||
|
RelayCommand CustomSoundFileDialogCommand { get; }
|
||||||
|
RelayCommand PlayCustomSoundCommand { get; }
|
||||||
|
RelayCommand AddBlockGroupCommand { get; }
|
||||||
|
RelayCommand DeleteBlockGroupCommand { get; }
|
||||||
|
ObservableCollection<ItemFilterBlockGroup> BlockGroups { get; }
|
||||||
|
ObservableCollection<string> BlockGroupSuggestions { get; }
|
||||||
|
string BlockGroupSearch { get; set; }
|
||||||
|
ObservableCollection<IItemFilterBlockItem> BlockItems { get; }
|
||||||
|
IEnumerable<IItemFilterBlockItem> SummaryBlockItems { get; }
|
||||||
|
IEnumerable<IItemFilterBlockItem> RegularBlockItems { get; }
|
||||||
|
IEnumerable<IItemFilterBlockItem> AudioVisualBlockItems { get; }
|
||||||
|
bool AdvancedBlockGroup { get; }
|
||||||
|
bool AudioVisualBlockItemsGridVisible { get; set; }
|
||||||
|
bool DisplaySettingsPopupOpen { get; set; }
|
||||||
|
IEnumerable<string> AutoCompleteItemClasses { get; }
|
||||||
|
IEnumerable<string> AutoCompleteItemBaseTypes { get; }
|
||||||
|
IEnumerable<string> AutocompleteItemMods { get; }
|
||||||
|
List<Type> BlockItemTypesAvailable { get; }
|
||||||
|
List<Type> AudioVisualBlockItemTypesAvailable { get; }
|
||||||
|
ObservableCollection<ColorItem> AvailableColors { get; }
|
||||||
|
Color DisplayTextColor { get; }
|
||||||
|
Color DisplayBackgroundColor { get; }
|
||||||
|
Color DisplayBorderColor { get; }
|
||||||
|
double DisplayFontSize { get; }
|
||||||
|
int DisplayIconSize { get; }
|
||||||
|
int DisplayIconColor { get; }
|
||||||
|
int DisplayIconShape { get; }
|
||||||
|
Color DisplayEffectColor { get; }
|
||||||
|
bool HasSound { get; }
|
||||||
|
bool HasPositionalSound { get; }
|
||||||
|
bool HasCustomSound { get; }
|
||||||
|
bool HasAudioVisualBlockItems { get; }
|
||||||
void RefreshBlockPreview();
|
void RefreshBlockPreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
internal interface IItemFilterBlockViewModelBase
|
internal interface IItemFilterBlockViewModelBase
|
||||||
{
|
{
|
||||||
void Initialise(IItemFilterBlockBase itemfilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel);
|
void Initialise(IItemFilterBlockBase itemFilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel);
|
||||||
IItemFilterBlockBase BaseBlock { get; }
|
IItemFilterBlockBase BaseBlock { get; }
|
||||||
bool IsDirty { get; set; }
|
bool IsDirty { get; set; }
|
||||||
bool IsVisible { get; set; }
|
bool IsVisible { get; set; }
|
||||||
@@ -25,9 +25,9 @@ namespace Filtration.ViewModels
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public virtual void Initialise(IItemFilterBlockBase itemfilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel)
|
public virtual void Initialise(IItemFilterBlockBase itemFilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel)
|
||||||
{
|
{
|
||||||
BaseBlock = itemfilterBlock;
|
BaseBlock = itemFilterBlock;
|
||||||
_parentScriptViewModel = itemFilterScriptViewModel;
|
_parentScriptViewModel = itemFilterScriptViewModel;
|
||||||
|
|
||||||
CopyBlockCommand = new RelayCommand(OnCopyBlockCommand);
|
CopyBlockCommand = new RelayCommand(OnCopyBlockCommand);
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ namespace Filtration.ViewModels
|
|||||||
IItemFilterCommentBlock ItemFilterCommentBlock { get; }
|
IItemFilterCommentBlock ItemFilterCommentBlock { get; }
|
||||||
string Comment { get; }
|
string Comment { get; }
|
||||||
bool IsExpanded { get; set; }
|
bool IsExpanded { get; set; }
|
||||||
bool HasVisibleChild { get; }
|
bool HasVisibleChild { get; }
|
||||||
|
int ChildCount { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class ItemFilterCommentBlockViewModel : ItemFilterBlockViewModelBase, IItemFilterCommentBlockViewModel
|
internal class ItemFilterCommentBlockViewModel : ItemFilterBlockViewModelBase, IItemFilterCommentBlockViewModel
|
||||||
@@ -28,13 +29,13 @@ namespace Filtration.ViewModels
|
|||||||
ToggleSectionCommand = new RelayCommand(OnToggleSectionCommand);
|
ToggleSectionCommand = new RelayCommand(OnToggleSectionCommand);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Initialise(IItemFilterBlockBase itemfilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel)
|
public override void Initialise(IItemFilterBlockBase itemFilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel)
|
||||||
{
|
{
|
||||||
_parentScriptViewModel = itemFilterScriptViewModel;
|
_parentScriptViewModel = itemFilterScriptViewModel;
|
||||||
ItemFilterCommentBlock = itemfilterBlock as IItemFilterCommentBlock;
|
ItemFilterCommentBlock = itemFilterBlock as IItemFilterCommentBlock;
|
||||||
BaseBlock = ItemFilterCommentBlock;
|
BaseBlock = ItemFilterCommentBlock;
|
||||||
|
|
||||||
base.Initialise(itemfilterBlock, itemFilterScriptViewModel);
|
base.Initialise(itemFilterBlock, itemFilterScriptViewModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RelayCommand ToggleSectionCommand { get; }
|
public RelayCommand ToggleSectionCommand { get; }
|
||||||
@@ -43,10 +44,7 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
public string Comment
|
public string Comment
|
||||||
{
|
{
|
||||||
get
|
get => ItemFilterCommentBlock.Comment;
|
||||||
{
|
|
||||||
return ItemFilterCommentBlock.Comment;
|
|
||||||
}
|
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (ItemFilterCommentBlock.Comment != value)
|
if (ItemFilterCommentBlock.Comment != value)
|
||||||
|
|||||||
@@ -6,17 +6,17 @@ using System.ComponentModel;
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
using System.Reactive.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Data;
|
using System.Windows.Data;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
|
using DynamicData.Binding;
|
||||||
using Filtration.Common.Services;
|
using Filtration.Common.Services;
|
||||||
using Filtration.Common.ViewModels;
|
using Filtration.Common.ViewModels;
|
||||||
using Filtration.Interface;
|
using Filtration.Interface;
|
||||||
using Filtration.ObjectModel;
|
using Filtration.ObjectModel;
|
||||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
|
||||||
using Filtration.ObjectModel.BlockItemTypes;
|
using Filtration.ObjectModel.BlockItemTypes;
|
||||||
using Filtration.ObjectModel.Commands;
|
using Filtration.ObjectModel.Commands;
|
||||||
using Filtration.ObjectModel.Commands.ItemFilterScript;
|
using Filtration.ObjectModel.Commands.ItemFilterScript;
|
||||||
@@ -39,11 +39,11 @@ namespace Filtration.ViewModels
|
|||||||
IEnumerable<IItemFilterCommentBlockViewModel> ItemFilterCommentBlockViewModels { get; }
|
IEnumerable<IItemFilterCommentBlockViewModel> ItemFilterCommentBlockViewModels { get; }
|
||||||
ObservableCollection<string> CustomSoundsAvailable { get; }
|
ObservableCollection<string> CustomSoundsAvailable { get; }
|
||||||
Predicate<IItemFilterBlockViewModel> BlockFilterPredicate { get; set; }
|
Predicate<IItemFilterBlockViewModel> BlockFilterPredicate { get; set; }
|
||||||
|
|
||||||
bool ShowAdvanced { get; }
|
bool ShowAdvanced { get; }
|
||||||
string Description { get; set; }
|
string Description { get; set; }
|
||||||
string DisplayName { get; }
|
string DisplayName { get; }
|
||||||
|
|
||||||
void Initialise(IItemFilterScript itemFilterScript, bool newScript);
|
void Initialise(IItemFilterScript itemFilterScript, bool newScript);
|
||||||
void RemoveDirtyFlag();
|
void RemoveDirtyFlag();
|
||||||
void SetDirtyFlag();
|
void SetDirtyFlag();
|
||||||
@@ -65,7 +65,7 @@ namespace Filtration.ViewModels
|
|||||||
RelayCommand MoveBlockUpCommand { get; }
|
RelayCommand MoveBlockUpCommand { get; }
|
||||||
RelayCommand MoveBlockDownCommand { get; }
|
RelayCommand MoveBlockDownCommand { get; }
|
||||||
RelayCommand MoveBlockToTopCommand { get; }
|
RelayCommand MoveBlockToTopCommand { get; }
|
||||||
RelayCommand MoveBlockToBottomCommand { get;}
|
RelayCommand MoveBlockToBottomCommand { get; }
|
||||||
RelayCommand CopyBlockCommand { get; }
|
RelayCommand CopyBlockCommand { get; }
|
||||||
RelayCommand PasteBlockCommand { get; }
|
RelayCommand PasteBlockCommand { get; }
|
||||||
RelayCommand CopyBlockStyleCommand { get; }
|
RelayCommand CopyBlockStyleCommand { get; }
|
||||||
@@ -76,6 +76,7 @@ namespace Filtration.ViewModels
|
|||||||
RelayCommand CollapseAllSectionsCommand { get; }
|
RelayCommand CollapseAllSectionsCommand { get; }
|
||||||
RelayCommand<bool> ToggleShowAdvancedCommand { get; }
|
RelayCommand<bool> ToggleShowAdvancedCommand { get; }
|
||||||
RelayCommand ClearFilterCommand { get; }
|
RelayCommand ClearFilterCommand { get; }
|
||||||
|
RelayCommand ClearStylesCommand { get; }
|
||||||
|
|
||||||
void AddCommentBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase);
|
void AddCommentBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase);
|
||||||
void AddBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase);
|
void AddBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase);
|
||||||
@@ -106,17 +107,14 @@ namespace Filtration.ViewModels
|
|||||||
private readonly IItemFilterPersistenceService _persistenceService;
|
private readonly IItemFilterPersistenceService _persistenceService;
|
||||||
private readonly IMessageBoxService _messageBoxService;
|
private readonly IMessageBoxService _messageBoxService;
|
||||||
private readonly IClipboardService _clipboardService;
|
private readonly IClipboardService _clipboardService;
|
||||||
private readonly IBlockGroupHierarchyBuilder _blockGroupHierarchyBuilder;
|
|
||||||
|
|
||||||
private bool _isDirty;
|
private bool _isDirty;
|
||||||
private readonly ObservableCollection<IItemFilterBlockViewModelBase> _selectedBlockViewModels;
|
|
||||||
private IItemFilterCommentBlockViewModel _sectionBrowserSelectedBlockViewModel;
|
private IItemFilterCommentBlockViewModel _sectionBrowserSelectedBlockViewModel;
|
||||||
private readonly ObservableCollection<IItemFilterBlockViewModelBase> _itemFilterBlockViewModels;
|
|
||||||
private Predicate<IItemFilterBlockViewModel> _blockFilterPredicate;
|
private Predicate<IItemFilterBlockViewModel> _blockFilterPredicate;
|
||||||
private ICommandManager _scriptCommandManager;
|
private ICommandManager _scriptCommandManager;
|
||||||
|
|
||||||
|
private List<IDisposable> _subscriptions;
|
||||||
private ObservableCollection<string> _customSoundsAvailable;
|
private ObservableCollection<string> _customSoundsAvailable;
|
||||||
private ListCollectionView _viewItemFilterBlockViewModels;
|
|
||||||
private readonly List<IItemFilterBlockViewModelBase> _lastAddedBlocks;
|
private readonly List<IItemFilterBlockViewModelBase> _lastAddedBlocks;
|
||||||
|
|
||||||
public ItemFilterScriptViewModel(IItemFilterBlockBaseViewModelFactory itemFilterBlockBaseViewModelFactory,
|
public ItemFilterScriptViewModel(IItemFilterBlockBaseViewModelFactory itemFilterBlockBaseViewModelFactory,
|
||||||
@@ -125,8 +123,7 @@ namespace Filtration.ViewModels
|
|||||||
IAvalonDockWorkspaceViewModel avalonDockWorkspaceViewModel,
|
IAvalonDockWorkspaceViewModel avalonDockWorkspaceViewModel,
|
||||||
IItemFilterPersistenceService persistenceService,
|
IItemFilterPersistenceService persistenceService,
|
||||||
IMessageBoxService messageBoxService,
|
IMessageBoxService messageBoxService,
|
||||||
IClipboardService clipboardService,
|
IClipboardService clipboardService)
|
||||||
IBlockGroupHierarchyBuilder blockGroupHierarchyBuilder)
|
|
||||||
{
|
{
|
||||||
_itemFilterBlockBaseViewModelFactory = itemFilterBlockBaseViewModelFactory;
|
_itemFilterBlockBaseViewModelFactory = itemFilterBlockBaseViewModelFactory;
|
||||||
_blockTranslator = blockTranslator;
|
_blockTranslator = blockTranslator;
|
||||||
@@ -136,15 +133,20 @@ namespace Filtration.ViewModels
|
|||||||
_persistenceService = persistenceService;
|
_persistenceService = persistenceService;
|
||||||
_messageBoxService = messageBoxService;
|
_messageBoxService = messageBoxService;
|
||||||
_clipboardService = clipboardService;
|
_clipboardService = clipboardService;
|
||||||
_blockGroupHierarchyBuilder = blockGroupHierarchyBuilder;
|
_subscriptions = new List<IDisposable>();
|
||||||
_itemFilterBlockViewModels = new ObservableCollection<IItemFilterBlockViewModelBase>();
|
ItemFilterBlockViewModels = new ObservableCollection<IItemFilterBlockViewModelBase>();
|
||||||
_selectedBlockViewModels = new ObservableCollection<IItemFilterBlockViewModelBase>();
|
SelectedBlockViewModels = new ObservableCollection<IItemFilterBlockViewModelBase>();
|
||||||
_selectedBlockViewModels.CollectionChanged += (s, e) =>
|
|
||||||
{
|
_subscriptions.Add(
|
||||||
RaisePropertyChanged(nameof(SelectedBlockViewModels));
|
SelectedBlockViewModels.ToObservableChangeSet()
|
||||||
RaisePropertyChanged(nameof(LastSelectedBlockViewModel));
|
.Throttle(TimeSpan.FromMilliseconds(30))
|
||||||
Messenger.Default.Send(new NotificationMessage("LastSelectedBlockChanged"));
|
.Subscribe(x => {
|
||||||
};
|
RaisePropertyChanged(nameof(SelectedBlockViewModels));
|
||||||
|
RaisePropertyChanged(nameof(LastSelectedBlockViewModel));
|
||||||
|
Messenger.Default.Send(new NotificationMessage("LastSelectedBlockChanged"));
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
_lastAddedBlocks = new List<IItemFilterBlockViewModelBase>();
|
_lastAddedBlocks = new List<IItemFilterBlockViewModelBase>();
|
||||||
_showAdvanced = Settings.Default.ShowAdvanced;
|
_showAdvanced = Settings.Default.ShowAdvanced;
|
||||||
|
|
||||||
@@ -155,8 +157,9 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
ToggleShowAdvancedCommand = new RelayCommand<bool>(OnToggleShowAdvancedCommand);
|
ToggleShowAdvancedCommand = new RelayCommand<bool>(OnToggleShowAdvancedCommand);
|
||||||
ClearFilterCommand = new RelayCommand(OnClearFilterCommand, () => BlockFilterPredicate != null);
|
ClearFilterCommand = new RelayCommand(OnClearFilterCommand, () => BlockFilterPredicate != null);
|
||||||
|
ClearStylesCommand = new RelayCommand(OnClearStylesCommand, () => SelectedBlockViewModels.OfType<IItemFilterBlockViewModel>().Any());
|
||||||
CloseCommand = new RelayCommand(async () => await OnCloseCommand());
|
CloseCommand = new RelayCommand(async () => await OnCloseCommand());
|
||||||
DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, () => CanModifySelectedBlocks());
|
DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, CanModifySelectedBlocks);
|
||||||
MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand, () => SelectedBlockViewModels.Count > 0 && CanModifySelectedBlocks());
|
MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand, () => SelectedBlockViewModels.Count > 0 && CanModifySelectedBlocks());
|
||||||
MoveBlockToBottomCommand = new RelayCommand(OnMoveBlockToBottomCommand, () => SelectedBlockViewModels.Count > 0 && CanModifySelectedBlocks());
|
MoveBlockToBottomCommand = new RelayCommand(OnMoveBlockToBottomCommand, () => SelectedBlockViewModels.Count > 0 && CanModifySelectedBlocks());
|
||||||
MoveBlockUpCommand = new RelayCommand(OnMoveBlockUpCommand, () => SelectedBlockViewModels.Count == 1 && ViewItemFilterBlockViewModels.IndexOf(LastSelectedBlockViewModel) > 0);
|
MoveBlockUpCommand = new RelayCommand(OnMoveBlockUpCommand, () => SelectedBlockViewModels.Count == 1 && ViewItemFilterBlockViewModels.IndexOf(LastSelectedBlockViewModel) > 0);
|
||||||
@@ -183,23 +186,6 @@ namespace Filtration.ViewModels
|
|||||||
icon.UriSource = new Uri("pack://application:,,,/Filtration;component/Resources/Icons/script_icon.png");
|
icon.UriSource = new Uri("pack://application:,,,/Filtration;component/Resources/Icons/script_icon.png");
|
||||||
icon.EndInit();
|
icon.EndInit();
|
||||||
IconSource = icon;
|
IconSource = icon;
|
||||||
|
|
||||||
_customSoundsAvailable = new ObservableCollection<string>();
|
|
||||||
|
|
||||||
var poeFolderFiles = Directory.GetFiles(persistenceService.DefaultPathOfExileDirectory() + "\\").Where(
|
|
||||||
s => s.EndsWith(".mp3")
|
|
||||||
|| s.EndsWith(".wav")
|
|
||||||
|| s.EndsWith(".wma")
|
|
||||||
|| s.EndsWith(".3gp")
|
|
||||||
|| s.EndsWith(".aag")
|
|
||||||
|| s.EndsWith(".m4a")
|
|
||||||
|| s.EndsWith(".ogg")
|
|
||||||
).OrderBy(f => f);
|
|
||||||
|
|
||||||
foreach(var file in poeFolderFiles)
|
|
||||||
{
|
|
||||||
_customSoundsAvailable.Add(file.Replace(persistenceService.DefaultPathOfExileDirectory() + "\\", ""));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Initialise(IItemFilterScript itemFilterScript, bool newScript)
|
public void Initialise(IItemFilterScript itemFilterScript, bool newScript)
|
||||||
@@ -208,6 +194,8 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
Script = itemFilterScript;
|
Script = itemFilterScript;
|
||||||
_scriptCommandManager = Script.CommandManager;
|
_scriptCommandManager = Script.CommandManager;
|
||||||
|
InitialiseCustomSounds();
|
||||||
|
|
||||||
AddItemFilterBlockViewModels(Script.ItemFilterBlocks, -1);
|
AddItemFilterBlockViewModels(Script.ItemFilterBlocks, -1);
|
||||||
|
|
||||||
UpdateChildCount();
|
UpdateChildCount();
|
||||||
@@ -223,9 +211,8 @@ namespace Filtration.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Script.ItemFilterBlocks.CollectionChanged += ItemFilterBlocksOnCollectionChanged;
|
Script.ItemFilterBlocks.CollectionChanged += ItemFilterBlocksOnCollectionChanged;
|
||||||
_customSoundsAvailable.CollectionChanged += CustomSoundsAvailableOnCollectionChanged;
|
|
||||||
|
|
||||||
_filenameIsFake = newScript;
|
_filenameIsFake = newScript;
|
||||||
|
|
||||||
@@ -233,11 +220,35 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
Script.FilePath = "Untitled.filter";
|
Script.FilePath = "Untitled.filter";
|
||||||
}
|
}
|
||||||
|
|
||||||
Title = Filename;
|
Title = Filename;
|
||||||
ContentId = "ScriptContentId";
|
ContentId = "ScriptContentId";
|
||||||
|
|
||||||
CollapseAllSections();
|
if (!Settings.Default.BlocksExpandedOnOpen)
|
||||||
|
{
|
||||||
|
CollapseAllSections();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitialiseCustomSounds()
|
||||||
|
{
|
||||||
|
_customSoundsAvailable = new ObservableCollection<string>();
|
||||||
|
_customSoundsAvailable.CollectionChanged += CustomSoundsAvailableOnCollectionChanged;
|
||||||
|
|
||||||
|
var poeFolderFiles = Directory.GetFiles(_persistenceService.ItemFilterScriptDirectory + "\\").Where(
|
||||||
|
s => s.EndsWith(".mp3")
|
||||||
|
|| s.EndsWith(".wav")
|
||||||
|
|| s.EndsWith(".wma")
|
||||||
|
|| s.EndsWith(".3gp")
|
||||||
|
|| s.EndsWith(".aag")
|
||||||
|
|| s.EndsWith(".m4a")
|
||||||
|
|| s.EndsWith(".ogg")
|
||||||
|
).OrderBy(f => f);
|
||||||
|
|
||||||
|
foreach (var file in poeFolderFiles)
|
||||||
|
{
|
||||||
|
_customSoundsAvailable.Add(file.Replace(_persistenceService.ItemFilterScriptDirectory + "\\", ""));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ItemFilterBlocksOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs notifyCollectionChangedEventArgs)
|
private void ItemFilterBlocksOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs notifyCollectionChangedEventArgs)
|
||||||
@@ -245,20 +256,20 @@ namespace Filtration.ViewModels
|
|||||||
switch (notifyCollectionChangedEventArgs.Action)
|
switch (notifyCollectionChangedEventArgs.Action)
|
||||||
{
|
{
|
||||||
case NotifyCollectionChangedAction.Add:
|
case NotifyCollectionChangedAction.Add:
|
||||||
{
|
{
|
||||||
AddItemFilterBlockViewModels(notifyCollectionChangedEventArgs.NewItems.Cast<IItemFilterBlockBase>(), notifyCollectionChangedEventArgs.NewStartingIndex);
|
AddItemFilterBlockViewModels(notifyCollectionChangedEventArgs.NewItems.Cast<IItemFilterBlockBase>(), notifyCollectionChangedEventArgs.NewStartingIndex);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case NotifyCollectionChangedAction.Remove:
|
case NotifyCollectionChangedAction.Remove:
|
||||||
{
|
{
|
||||||
RemoveItemFilterBlockviewModels(notifyCollectionChangedEventArgs.OldItems.Cast<IItemFilterBlockBase>());
|
RemoveItemFilterBlockViewModels(notifyCollectionChangedEventArgs.OldItems.Cast<IItemFilterBlockBase>());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
Debugger.Break(); // Unhandled NotifyCollectionChangedAction
|
Debugger.Break(); // Unhandled NotifyCollectionChangedAction
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateChildCount();
|
UpdateChildCount();
|
||||||
@@ -289,8 +300,7 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
_lastAddedBlocks.Add(vm);
|
_lastAddedBlocks.Add(vm);
|
||||||
|
|
||||||
var itemBlock = itemFilterBlock as IItemFilterBlock;
|
if (itemFilterBlock is IItemFilterBlock itemBlock)
|
||||||
if (itemBlock != null)
|
|
||||||
{
|
{
|
||||||
foreach (var customSoundBlockItem in itemBlock.BlockItems.OfType<CustomSoundBlockItem>())
|
foreach (var customSoundBlockItem in itemBlock.BlockItems.OfType<CustomSoundBlockItem>())
|
||||||
{
|
{
|
||||||
@@ -303,7 +313,7 @@ namespace Filtration.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RemoveItemFilterBlockviewModels(IEnumerable<IItemFilterBlockBase> itemFilterBlocks)
|
private void RemoveItemFilterBlockViewModels(IEnumerable<IItemFilterBlockBase> itemFilterBlocks)
|
||||||
{
|
{
|
||||||
foreach (var itemFilterBlock in itemFilterBlocks)
|
foreach (var itemFilterBlock in itemFilterBlocks)
|
||||||
{
|
{
|
||||||
@@ -319,7 +329,7 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
private void UpdateFilteredBlockList()
|
private void UpdateFilteredBlockList()
|
||||||
{
|
{
|
||||||
ICollectionView filteredBlocks = CollectionViewSource.GetDefaultView(_itemFilterBlockViewModels);
|
ICollectionView filteredBlocks = CollectionViewSource.GetDefaultView(ItemFilterBlockViewModels);
|
||||||
filteredBlocks.Filter = BlockFilter;
|
filteredBlocks.Filter = BlockFilter;
|
||||||
|
|
||||||
ItemFilterCommentBlockViewModel previousSection = new ItemFilterCommentBlockViewModel();
|
ItemFilterCommentBlockViewModel previousSection = new ItemFilterCommentBlockViewModel();
|
||||||
@@ -329,16 +339,16 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
previousSection.VisibleChildCount++;
|
previousSection.VisibleChildCount++;
|
||||||
}
|
}
|
||||||
else if (block is ItemFilterCommentBlockViewModel)
|
else if (block is ItemFilterCommentBlockViewModel model)
|
||||||
{
|
{
|
||||||
previousSection = block as ItemFilterCommentBlockViewModel;
|
previousSection = model;
|
||||||
previousSection.VisibleChildCount = 0;
|
previousSection.VisibleChildCount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_viewItemFilterBlockViewModels = (ListCollectionView)CollectionViewSource.GetDefaultView(
|
ViewItemFilterBlockViewModels = (ListCollectionView)CollectionViewSource.GetDefaultView(
|
||||||
filteredBlocks.Cast<IItemFilterBlockViewModelBase>().ToList());
|
filteredBlocks.Cast<IItemFilterBlockViewModelBase>().ToList());
|
||||||
_viewItemFilterBlockViewModels.Filter = BlockVisibilityFilter;
|
ViewItemFilterBlockViewModels.Filter = BlockVisibilityFilter;
|
||||||
|
|
||||||
Messenger.Default.Send(new NotificationMessage("SectionsChanged"));
|
Messenger.Default.Send(new NotificationMessage("SectionsChanged"));
|
||||||
SelectedBlockViewModels.Clear();
|
SelectedBlockViewModels.Clear();
|
||||||
@@ -355,24 +365,24 @@ namespace Filtration.ViewModels
|
|||||||
previousSection.ChildCount++;
|
previousSection.ChildCount++;
|
||||||
block.IsVisible = previousSection.IsExpanded;
|
block.IsVisible = previousSection.IsExpanded;
|
||||||
}
|
}
|
||||||
else if (block is ItemFilterCommentBlockViewModel)
|
else if (block is ItemFilterCommentBlockViewModel model)
|
||||||
{
|
{
|
||||||
previousSection = block as ItemFilterCommentBlockViewModel;
|
previousSection = model;
|
||||||
previousSection.ChildCount = 0;
|
previousSection.ChildCount = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<IItemFilterBlockViewModelBase> getChildren(IItemFilterCommentBlockViewModel targetBlockViewModel)
|
private List<IItemFilterBlockViewModelBase> GetChildren(IItemFilterCommentBlockViewModel targetBlockViewModel)
|
||||||
{
|
{
|
||||||
return ItemFilterBlockViewModels.ToList().GetRange(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1,
|
return ItemFilterBlockViewModels.ToList().GetRange(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1,
|
||||||
(targetBlockViewModel as ItemFilterCommentBlockViewModel).ChildCount);
|
targetBlockViewModel.ChildCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<int> getChildrenIndexes(IItemFilterCommentBlockViewModel targetBlockViewModel)
|
private List<int> GetChildrenIndexes(IItemFilterCommentBlockViewModel targetBlockViewModel)
|
||||||
{
|
{
|
||||||
return Enumerable.Range(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1,
|
return Enumerable.Range(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1,
|
||||||
(targetBlockViewModel as ItemFilterCommentBlockViewModel).ChildCount).ToList();
|
targetBlockViewModel.ChildCount).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ValidateSelectedBlocks()
|
private void ValidateSelectedBlocks()
|
||||||
@@ -388,6 +398,7 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
public RelayCommand<bool> ToggleShowAdvancedCommand { get; }
|
public RelayCommand<bool> ToggleShowAdvancedCommand { get; }
|
||||||
public RelayCommand ClearFilterCommand { get; }
|
public RelayCommand ClearFilterCommand { get; }
|
||||||
|
public RelayCommand ClearStylesCommand { get; }
|
||||||
public RelayCommand CloseCommand { get; }
|
public RelayCommand CloseCommand { get; }
|
||||||
public RelayCommand DeleteBlockCommand { get; }
|
public RelayCommand DeleteBlockCommand { get; }
|
||||||
public RelayCommand MoveBlockToTopCommand { get; }
|
public RelayCommand MoveBlockToTopCommand { get; }
|
||||||
@@ -426,25 +437,16 @@ namespace Filtration.ViewModels
|
|||||||
public ObservableCollection<string> CustomSoundsAvailable
|
public ObservableCollection<string> CustomSoundsAvailable
|
||||||
{
|
{
|
||||||
get => _customSoundsAvailable;
|
get => _customSoundsAvailable;
|
||||||
set
|
private set
|
||||||
{
|
{
|
||||||
_customSoundsAvailable = value;
|
_customSoundsAvailable = value;
|
||||||
RaisePropertyChanged();
|
RaisePropertyChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ListCollectionView ViewItemFilterBlockViewModels
|
public ListCollectionView ViewItemFilterBlockViewModels { get; private set; }
|
||||||
{
|
|
||||||
get => _viewItemFilterBlockViewModels;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ObservableCollection<IItemFilterBlockViewModelBase> ItemFilterBlockViewModels
|
public ObservableCollection<IItemFilterBlockViewModelBase> ItemFilterBlockViewModels { get; }
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return _itemFilterBlockViewModels;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool BlockFilter(object item)
|
private bool BlockFilter(object item)
|
||||||
{
|
{
|
||||||
@@ -549,7 +551,7 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
public bool HasSelectedCommentBlock()
|
public bool HasSelectedCommentBlock()
|
||||||
{
|
{
|
||||||
return SelectedBlockViewModels.OfType<IItemFilterCommentBlockViewModel>().Count() > 0;
|
return SelectedBlockViewModels.OfType<IItemFilterCommentBlockViewModel>().Any();
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool CanModifySelectedBlocks()
|
public bool CanModifySelectedBlocks()
|
||||||
@@ -580,18 +582,9 @@ namespace Filtration.ViewModels
|
|||||||
return itemFilterCommentBlock.ChildCount == itemFilterCommentBlock.VisibleChildCount;
|
return itemFilterCommentBlock.ChildCount == itemFilterCommentBlock.VisibleChildCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObservableCollection<IItemFilterBlockViewModelBase> SelectedBlockViewModels
|
public ObservableCollection<IItemFilterBlockViewModelBase> SelectedBlockViewModels { get; }
|
||||||
{
|
|
||||||
get => _selectedBlockViewModels;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IItemFilterBlockViewModelBase LastSelectedBlockViewModel
|
public IItemFilterBlockViewModelBase LastSelectedBlockViewModel => SelectedBlockViewModels.Count > 0 ? SelectedBlockViewModels.Last() : null;
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return SelectedBlockViewModels.Count > 0 ? SelectedBlockViewModels.Last() : null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public IItemFilterCommentBlockViewModel CommentBlockBrowserBrowserSelectedBlockViewModel
|
public IItemFilterCommentBlockViewModel CommentBlockBrowserBrowserSelectedBlockViewModel
|
||||||
{
|
{
|
||||||
@@ -651,7 +644,7 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
private bool _filenameIsFake;
|
private bool _filenameIsFake;
|
||||||
private bool _showAdvanced;
|
private bool _showAdvanced;
|
||||||
|
|
||||||
public async Task SaveAsync()
|
public async Task SaveAsync()
|
||||||
{
|
{
|
||||||
if (!ValidateScript()) return;
|
if (!ValidateScript()) return;
|
||||||
@@ -700,7 +693,7 @@ namespace Filtration.ViewModels
|
|||||||
var result = saveDialog.ShowDialog();
|
var result = saveDialog.ShowDialog();
|
||||||
|
|
||||||
if (result != DialogResult.OK) return;
|
if (result != DialogResult.OK) return;
|
||||||
|
|
||||||
Messenger.Default.Send(new NotificationMessage("ShowLoadingBanner"));
|
Messenger.Default.Send(new NotificationMessage("ShowLoadingBanner"));
|
||||||
|
|
||||||
var previousFilePath = Script.FilePath;
|
var previousFilePath = Script.FilePath;
|
||||||
@@ -796,7 +789,7 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
await Close();
|
await Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task Close()
|
public async Task Close()
|
||||||
{
|
{
|
||||||
if (!IsDirty)
|
if (!IsDirty)
|
||||||
@@ -811,26 +804,33 @@ namespace Filtration.ViewModels
|
|||||||
switch (result)
|
switch (result)
|
||||||
{
|
{
|
||||||
case MessageBoxResult.Yes:
|
case MessageBoxResult.Yes:
|
||||||
{
|
{
|
||||||
await SaveAsync();
|
await SaveAsync();
|
||||||
CloseScript();
|
CloseScript();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MessageBoxResult.No:
|
case MessageBoxResult.No:
|
||||||
{
|
{
|
||||||
CloseScript();
|
CloseScript();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MessageBoxResult.Cancel:
|
case MessageBoxResult.Cancel:
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CloseScript()
|
private void CloseScript()
|
||||||
{
|
{
|
||||||
|
foreach (var disposable in Enumerable.Reverse(_subscriptions))
|
||||||
|
{
|
||||||
|
disposable.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
_subscriptions.Clear();
|
||||||
|
|
||||||
var openMasterThemForScript =
|
var openMasterThemForScript =
|
||||||
_avalonDockWorkspaceViewModel.OpenMasterThemeForScript(this);
|
_avalonDockWorkspaceViewModel.OpenMasterThemeForScript(this);
|
||||||
if (openMasterThemForScript != null)
|
if (openMasterThemForScript != null)
|
||||||
@@ -853,15 +853,32 @@ namespace Filtration.ViewModels
|
|||||||
BlockFilterPredicate = null;
|
BlockFilterPredicate = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnClearStylesCommand()
|
||||||
|
{
|
||||||
|
ValidateSelectedBlocks();
|
||||||
|
foreach (var block in SelectedBlockViewModels.OfType<IItemFilterBlockViewModel>())
|
||||||
|
{
|
||||||
|
var blockItems = block.Block.BlockItems;
|
||||||
|
for (var i = 0; i < blockItems.Count; i++)
|
||||||
|
{
|
||||||
|
if (blockItems[i] is IAudioVisualBlockItem)
|
||||||
|
{
|
||||||
|
blockItems.RemoveAt(i--);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
block.RefreshBlockPreview();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void OnCopyBlockCommand()
|
private void OnCopyBlockCommand()
|
||||||
{
|
{
|
||||||
var blocksToCopy = new List<IItemFilterBlockViewModelBase>();
|
var blocksToCopy = new List<IItemFilterBlockViewModelBase>();
|
||||||
foreach (var block in SelectedBlockViewModels.OfType<IItemFilterBlockViewModelBase>())
|
foreach (var block in SelectedBlockViewModels.OfType<IItemFilterBlockViewModelBase>())
|
||||||
{
|
{
|
||||||
blocksToCopy.Add(block);
|
blocksToCopy.Add(block);
|
||||||
if (block is IItemFilterCommentBlockViewModel && !(block as IItemFilterCommentBlockViewModel).IsExpanded)
|
if (block is IItemFilterCommentBlockViewModel model && !model.IsExpanded)
|
||||||
{
|
{
|
||||||
blocksToCopy.AddRange(getChildren(block as IItemFilterCommentBlockViewModel));
|
blocksToCopy.AddRange(GetChildren(model));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -878,14 +895,14 @@ namespace Filtration.ViewModels
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var blocksToCopy = new List<IItemFilterBlockViewModelBase> { targetBlockViewModelBase };
|
var blocksToCopy = new List<IItemFilterBlockViewModelBase> { targetBlockViewModelBase };
|
||||||
blocksToCopy.AddRange(getChildren(targetBlockViewModelBase as IItemFilterCommentBlockViewModel));
|
blocksToCopy.AddRange(GetChildren((IItemFilterCommentBlockViewModel)targetBlockViewModelBase));
|
||||||
CopyBlocks(blocksToCopy);
|
CopyBlocks(blocksToCopy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CopyBlocks(IEnumerable<IItemFilterBlockViewModelBase> targetBlockViewModels)
|
public void CopyBlocks(IEnumerable<IItemFilterBlockViewModelBase> targetBlockViewModels)
|
||||||
{
|
{
|
||||||
if (targetBlockViewModels.Count() < 1)
|
if (!targetBlockViewModels.Any())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -908,8 +925,7 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
private void OnCopyBlockStyleCommand()
|
private void OnCopyBlockStyleCommand()
|
||||||
{
|
{
|
||||||
var selectedBlockViewModel = LastSelectedBlockViewModel as IItemFilterBlockViewModel;
|
if (LastSelectedBlockViewModel is IItemFilterBlockViewModel selectedBlockViewModel)
|
||||||
if (selectedBlockViewModel != null)
|
|
||||||
{
|
{
|
||||||
CopyBlockStyle(selectedBlockViewModel);
|
CopyBlockStyle(selectedBlockViewModel);
|
||||||
}
|
}
|
||||||
@@ -940,8 +956,7 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
private void OnPasteBlockStyleCommand()
|
private void OnPasteBlockStyleCommand()
|
||||||
{
|
{
|
||||||
var selectedBlockViewModel = LastSelectedBlockViewModel as IItemFilterBlockViewModel;
|
if (LastSelectedBlockViewModel is IItemFilterBlockViewModel selectedBlockViewModel)
|
||||||
if (selectedBlockViewModel != null)
|
|
||||||
{
|
{
|
||||||
PasteBlockStyle(selectedBlockViewModel);
|
PasteBlockStyle(selectedBlockViewModel);
|
||||||
}
|
}
|
||||||
@@ -970,7 +985,7 @@ namespace Filtration.ViewModels
|
|||||||
if (commentBlock != null && !commentBlock.IsExpanded)
|
if (commentBlock != null && !commentBlock.IsExpanded)
|
||||||
{
|
{
|
||||||
targetBlockViewModelBase = ItemFilterBlockViewModels[ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase) +
|
targetBlockViewModelBase = ItemFilterBlockViewModels[ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase) +
|
||||||
(commentBlock as ItemFilterCommentBlockViewModel).ChildCount];
|
commentBlock.ChildCount];
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -1028,12 +1043,12 @@ namespace Filtration.ViewModels
|
|||||||
var indexToMove = ItemFilterBlockViewModels.IndexOf(
|
var indexToMove = ItemFilterBlockViewModels.IndexOf(
|
||||||
ViewItemFilterBlockViewModels.GetItemAt(blockIndex - 1) as IItemFilterBlockViewModelBase);
|
ViewItemFilterBlockViewModels.GetItemAt(blockIndex - 1) as IItemFilterBlockViewModelBase);
|
||||||
|
|
||||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel &&
|
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel model &&
|
||||||
!(targetBlockViewModelBase as IItemFilterCommentBlockViewModel).IsExpanded)
|
!model.IsExpanded)
|
||||||
{
|
{
|
||||||
ExecuteCommandAndSelectAdded(new MoveBlocksToIndexCommand(Script,
|
ExecuteCommandAndSelectAdded(new MoveBlocksToIndexCommand(Script,
|
||||||
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase),
|
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(model),
|
||||||
(targetBlockViewModelBase as ItemFilterCommentBlockViewModel).ChildCount + 1).ToList(), indexToMove));
|
model.ChildCount + 1).ToList(), indexToMove));
|
||||||
if (_lastAddedBlocks.Count > 0)
|
if (_lastAddedBlocks.Count > 0)
|
||||||
{
|
{
|
||||||
ToggleSection(_lastAddedBlocks[0] as IItemFilterCommentBlockViewModel);
|
ToggleSection(_lastAddedBlocks[0] as IItemFilterCommentBlockViewModel);
|
||||||
@@ -1049,8 +1064,8 @@ namespace Filtration.ViewModels
|
|||||||
ExecuteCommandAndSelectAdded(new MoveBlocksToIndexCommand(Script, targetBlockViewModelBase.BaseBlock, indexToMove));
|
ExecuteCommandAndSelectAdded(new MoveBlocksToIndexCommand(Script, targetBlockViewModelBase.BaseBlock, indexToMove));
|
||||||
}
|
}
|
||||||
|
|
||||||
SetDirtyFlag();
|
SetDirtyFlag();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnMoveBlockDownCommand()
|
private void OnMoveBlockDownCommand()
|
||||||
{
|
{
|
||||||
@@ -1070,13 +1085,13 @@ namespace Filtration.ViewModels
|
|||||||
indexToMove += (belowBlock as ItemFilterCommentBlockViewModel).ChildCount;
|
indexToMove += (belowBlock as ItemFilterCommentBlockViewModel).ChildCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel &&
|
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel model &&
|
||||||
!(targetBlockViewModelBase as IItemFilterCommentBlockViewModel).IsExpanded)
|
!model.IsExpanded)
|
||||||
{
|
{
|
||||||
indexToMove -= (targetBlockViewModelBase as ItemFilterCommentBlockViewModel).ChildCount;
|
indexToMove -= model.ChildCount;
|
||||||
ExecuteCommandAndSelectAdded(new MoveBlocksToIndexCommand(Script,
|
ExecuteCommandAndSelectAdded(new MoveBlocksToIndexCommand(Script,
|
||||||
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase),
|
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(model),
|
||||||
(targetBlockViewModelBase as ItemFilterCommentBlockViewModel).ChildCount + 1).ToList(), indexToMove));
|
model.ChildCount + 1).ToList(), indexToMove));
|
||||||
if (_lastAddedBlocks.Count > 0)
|
if (_lastAddedBlocks.Count > 0)
|
||||||
{
|
{
|
||||||
ToggleSection(_lastAddedBlocks[0] as IItemFilterCommentBlockViewModel);
|
ToggleSection(_lastAddedBlocks[0] as IItemFilterCommentBlockViewModel);
|
||||||
@@ -1101,15 +1116,14 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
public void AddBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase)
|
public void AddBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase)
|
||||||
{
|
{
|
||||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel && !(targetBlockViewModelBase as IItemFilterCommentBlockViewModel).IsExpanded)
|
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel model && !model.IsExpanded)
|
||||||
{
|
{
|
||||||
ToggleSection(targetBlockViewModelBase as IItemFilterCommentBlockViewModel);
|
ToggleSection(model);
|
||||||
targetBlockViewModelBase = ItemFilterBlockViewModels[ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase) +
|
targetBlockViewModelBase = ItemFilterBlockViewModels[ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase) + model.ChildCount];
|
||||||
(targetBlockViewModelBase as ItemFilterCommentBlockViewModel).ChildCount];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ExecuteCommandAndSelectAdded(new AddBlockCommand(Script, targetBlockViewModelBase?.BaseBlock));
|
ExecuteCommandAndSelectAdded(new AddBlockCommand(Script, targetBlockViewModelBase?.BaseBlock));
|
||||||
SetDirtyFlag();
|
SetDirtyFlag();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnAddCommentBlockCommand()
|
private void OnAddCommentBlockCommand()
|
||||||
@@ -1137,7 +1151,7 @@ namespace Filtration.ViewModels
|
|||||||
blocksToDelete.Add(block);
|
blocksToDelete.Add(block);
|
||||||
if (block is IItemFilterCommentBlockViewModel && !(block as IItemFilterCommentBlockViewModel).IsExpanded)
|
if (block is IItemFilterCommentBlockViewModel && !(block as IItemFilterCommentBlockViewModel).IsExpanded)
|
||||||
{
|
{
|
||||||
blocksToDelete.AddRange(getChildren(block as IItemFilterCommentBlockViewModel));
|
blocksToDelete.AddRange(GetChildren(block as IItemFilterCommentBlockViewModel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1193,8 +1207,8 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
_scriptCommandManager.ExecuteCommand(new MoveBlocksToBottomCommand(Script, targetBlockViewModelBase.BaseBlock));
|
_scriptCommandManager.ExecuteCommand(new MoveBlocksToBottomCommand(Script, targetBlockViewModelBase.BaseBlock));
|
||||||
}
|
}
|
||||||
|
|
||||||
SetDirtyFlag();
|
SetDirtyFlag();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void MoveBlocksToBottom(IEnumerable<IItemFilterBlockViewModelBase> targetCommentBlockViewModels)
|
public void MoveBlocksToBottom(IEnumerable<IItemFilterBlockViewModelBase> targetCommentBlockViewModels)
|
||||||
@@ -1205,7 +1219,7 @@ namespace Filtration.ViewModels
|
|||||||
sourceIndexes.Add(ItemFilterBlockViewModels.IndexOf(block));
|
sourceIndexes.Add(ItemFilterBlockViewModels.IndexOf(block));
|
||||||
if (block is IItemFilterCommentBlockViewModel && !(block as IItemFilterCommentBlockViewModel).IsExpanded)
|
if (block is IItemFilterCommentBlockViewModel && !(block as IItemFilterCommentBlockViewModel).IsExpanded)
|
||||||
{
|
{
|
||||||
sourceIndexes.AddRange(getChildrenIndexes(block as IItemFilterCommentBlockViewModel));
|
sourceIndexes.AddRange(GetChildrenIndexes(block as IItemFilterCommentBlockViewModel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1228,11 +1242,11 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
public void MoveBlockToTop(IItemFilterBlockViewModelBase targetBlockViewModelBase)
|
public void MoveBlockToTop(IItemFilterBlockViewModelBase targetBlockViewModelBase)
|
||||||
{
|
{
|
||||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel && !(targetBlockViewModelBase as IItemFilterCommentBlockViewModel).IsExpanded)
|
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel model && !model.IsExpanded)
|
||||||
{
|
{
|
||||||
ExecuteCommandAndSelectAdded(new MoveBlocksToTopCommand(Script,
|
ExecuteCommandAndSelectAdded(new MoveBlocksToTopCommand(Script,
|
||||||
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase),
|
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(model),
|
||||||
(targetBlockViewModelBase as ItemFilterCommentBlockViewModel).ChildCount + 1).ToList()));
|
model.ChildCount + 1).ToList()));
|
||||||
if (_lastAddedBlocks.Count > 0)
|
if (_lastAddedBlocks.Count > 0)
|
||||||
{
|
{
|
||||||
ToggleSection(_lastAddedBlocks[0] as IItemFilterCommentBlockViewModel);
|
ToggleSection(_lastAddedBlocks[0] as IItemFilterCommentBlockViewModel);
|
||||||
@@ -1252,23 +1266,23 @@ namespace Filtration.ViewModels
|
|||||||
foreach (var block in targetCommentBlockViewModels)
|
foreach (var block in targetCommentBlockViewModels)
|
||||||
{
|
{
|
||||||
sourceIndexes.Add(ItemFilterBlockViewModels.IndexOf(block));
|
sourceIndexes.Add(ItemFilterBlockViewModels.IndexOf(block));
|
||||||
if (block is IItemFilterCommentBlockViewModel && !(block as IItemFilterCommentBlockViewModel).IsExpanded)
|
if (block is IItemFilterCommentBlockViewModel model && !model.IsExpanded)
|
||||||
{
|
{
|
||||||
sourceIndexes.AddRange(getChildrenIndexes(block as IItemFilterCommentBlockViewModel));
|
sourceIndexes.AddRange(GetChildrenIndexes(model));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ExecuteCommandAndSelectAdded(new MoveBlocksToTopCommand(Script, sourceIndexes));
|
ExecuteCommandAndSelectAdded(new MoveBlocksToTopCommand(Script, sourceIndexes));
|
||||||
for (var i = 0; i < sourceIndexes.Count; i++)
|
for (var i = 0; i < sourceIndexes.Count; i++)
|
||||||
{
|
{
|
||||||
if (ItemFilterBlockViewModels[i] as IItemFilterCommentBlockViewModel != null)
|
if (ItemFilterBlockViewModels[i] is IItemFilterCommentBlockViewModel model)
|
||||||
{
|
{
|
||||||
ToggleSection(ItemFilterBlockViewModels[i] as IItemFilterCommentBlockViewModel);
|
ToggleSection(model);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetDirtyFlag();
|
SetDirtyFlag();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnBlockBecameDirty(object sender, EventArgs e)
|
private void OnBlockBecameDirty(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -1295,11 +1309,11 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
foreach (var block in SelectedBlockViewModels)
|
foreach (var block in SelectedBlockViewModels)
|
||||||
{
|
{
|
||||||
if (block is IItemFilterCommentBlockViewModel)
|
if (block is IItemFilterCommentBlockViewModel model)
|
||||||
{
|
{
|
||||||
if (!(block as IItemFilterCommentBlockViewModel).IsExpanded)
|
if (!model.IsExpanded)
|
||||||
{
|
{
|
||||||
foreach (var child in getChildren(block as IItemFilterCommentBlockViewModel))
|
foreach (var child in GetChildren(model))
|
||||||
{
|
{
|
||||||
((IItemFilterBlockViewModel)child).BlockEnabled = false;
|
((IItemFilterBlockViewModel)child).BlockEnabled = false;
|
||||||
}
|
}
|
||||||
@@ -1316,11 +1330,11 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
foreach (var block in SelectedBlockViewModels)
|
foreach (var block in SelectedBlockViewModels)
|
||||||
{
|
{
|
||||||
if (block is IItemFilterCommentBlockViewModel)
|
if (block is IItemFilterCommentBlockViewModel model)
|
||||||
{
|
{
|
||||||
if (!(block as IItemFilterCommentBlockViewModel).IsExpanded)
|
if (!model.IsExpanded)
|
||||||
{
|
{
|
||||||
foreach (var child in getChildren(block as IItemFilterCommentBlockViewModel))
|
foreach (var child in GetChildren(model))
|
||||||
{
|
{
|
||||||
((IItemFilterBlockViewModel)child).BlockEnabled = true;
|
((IItemFilterBlockViewModel)child).BlockEnabled = true;
|
||||||
}
|
}
|
||||||
@@ -1337,7 +1351,7 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
foreach (var block in SelectedBlockViewModels.OfType<IItemFilterCommentBlockViewModel>())
|
foreach (var block in SelectedBlockViewModels.OfType<IItemFilterCommentBlockViewModel>())
|
||||||
{
|
{
|
||||||
foreach (var child in getChildren(block as IItemFilterCommentBlockViewModel))
|
foreach (var child in GetChildren(block))
|
||||||
{
|
{
|
||||||
((IItemFilterBlockViewModel)child).BlockEnabled = false;
|
((IItemFilterBlockViewModel)child).BlockEnabled = false;
|
||||||
}
|
}
|
||||||
@@ -1348,7 +1362,7 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
foreach (var block in SelectedBlockViewModels.OfType<IItemFilterCommentBlockViewModel>())
|
foreach (var block in SelectedBlockViewModels.OfType<IItemFilterCommentBlockViewModel>())
|
||||||
{
|
{
|
||||||
foreach (var child in getChildren(block as IItemFilterCommentBlockViewModel))
|
foreach (var child in GetChildren(block))
|
||||||
{
|
{
|
||||||
((IItemFilterBlockViewModel)child).BlockEnabled = true;
|
((IItemFilterBlockViewModel)child).BlockEnabled = true;
|
||||||
}
|
}
|
||||||
@@ -1381,7 +1395,7 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
var newState = !targetCommentBlockViewModelBase.IsExpanded;
|
var newState = !targetCommentBlockViewModelBase.IsExpanded;
|
||||||
targetCommentBlockViewModelBase.IsExpanded = newState;
|
targetCommentBlockViewModelBase.IsExpanded = newState;
|
||||||
foreach (var child in getChildren(targetCommentBlockViewModelBase))
|
foreach (var child in GetChildren(targetCommentBlockViewModelBase))
|
||||||
{
|
{
|
||||||
child.IsVisible = newState;
|
child.IsVisible = newState;
|
||||||
}
|
}
|
||||||
@@ -1396,15 +1410,11 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
private void CollapseAllSections()
|
private void CollapseAllSections()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < ItemFilterBlockViewModels.Count; i++)
|
foreach (var model in ItemFilterBlockViewModels.OfType<IItemFilterCommentBlockViewModel>())
|
||||||
{
|
{
|
||||||
var block = ItemFilterBlockViewModels[i] as IItemFilterCommentBlockViewModel;
|
if (model.IsExpanded)
|
||||||
if (block != null)
|
|
||||||
{
|
{
|
||||||
if(block.IsExpanded)
|
ToggleSection(model, true);
|
||||||
{
|
|
||||||
ToggleSection(block, true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1415,12 +1425,11 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
private void ExpandAllSections()
|
private void ExpandAllSections()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < ItemFilterBlockViewModels.Count; i++)
|
foreach (var model in ItemFilterBlockViewModels.OfType<IItemFilterCommentBlockViewModel>())
|
||||||
{
|
{
|
||||||
var block = ItemFilterBlockViewModels[i] as IItemFilterCommentBlockViewModel;
|
if (!model.IsExpanded)
|
||||||
if (block != null && !block.IsExpanded)
|
|
||||||
{
|
{
|
||||||
ToggleSection(block, true);
|
ToggleSection(model, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ using System.Linq;
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Forms;
|
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
using Filtration.Common.Services;
|
using Filtration.Common.Services;
|
||||||
@@ -45,10 +44,12 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
|
private readonly IItemFilterScriptDirectoryService _itemFilterScriptDirectoryService;
|
||||||
private readonly IItemFilterScriptRepository _itemFilterScriptRepository;
|
private readonly IItemFilterScriptRepository _itemFilterScriptRepository;
|
||||||
private readonly IItemFilterScriptTranslator _itemFilterScriptTranslator;
|
private readonly IItemFilterScriptTranslator _itemFilterScriptTranslator;
|
||||||
private readonly IReplaceColorsViewModel _replaceColorsViewModel;
|
private readonly IReplaceColorsViewModel _replaceColorsViewModel;
|
||||||
private readonly IAvalonDockWorkspaceViewModel _avalonDockWorkspaceViewModel;
|
private readonly IAvalonDockWorkspaceViewModel _avalonDockWorkspaceViewModel;
|
||||||
|
private readonly IScriptLoadingService _scriptLoadingService;
|
||||||
private readonly IThemeProvider _themeProvider;
|
private readonly IThemeProvider _themeProvider;
|
||||||
private readonly IThemeService _themeService;
|
private readonly IThemeService _themeService;
|
||||||
private readonly IMessageBoxService _messageBoxService;
|
private readonly IMessageBoxService _messageBoxService;
|
||||||
@@ -58,10 +59,12 @@ namespace Filtration.ViewModels
|
|||||||
private int _windowWidth;
|
private int _windowWidth;
|
||||||
private int _windowHeight;
|
private int _windowHeight;
|
||||||
|
|
||||||
public MainWindowViewModel(IItemFilterScriptRepository itemFilterScriptRepository,
|
public MainWindowViewModel(IItemFilterScriptDirectoryService itemFilterScriptDirectoryService,
|
||||||
|
IItemFilterScriptRepository itemFilterScriptRepository,
|
||||||
IItemFilterScriptTranslator itemFilterScriptTranslator,
|
IItemFilterScriptTranslator itemFilterScriptTranslator,
|
||||||
IReplaceColorsViewModel replaceColorsViewModel,
|
IReplaceColorsViewModel replaceColorsViewModel,
|
||||||
IAvalonDockWorkspaceViewModel avalonDockWorkspaceViewModel,
|
IAvalonDockWorkspaceViewModel avalonDockWorkspaceViewModel,
|
||||||
|
IScriptLoadingService scriptLoadingService,
|
||||||
ISettingsPageViewModel settingsPageViewModel,
|
ISettingsPageViewModel settingsPageViewModel,
|
||||||
IThemeProvider themeProvider,
|
IThemeProvider themeProvider,
|
||||||
IThemeService themeService,
|
IThemeService themeService,
|
||||||
@@ -69,10 +72,12 @@ namespace Filtration.ViewModels
|
|||||||
IClipboardService clipboardService,
|
IClipboardService clipboardService,
|
||||||
IUpdateViewModel updateViewModel)
|
IUpdateViewModel updateViewModel)
|
||||||
{
|
{
|
||||||
|
_itemFilterScriptDirectoryService = itemFilterScriptDirectoryService;
|
||||||
_itemFilterScriptRepository = itemFilterScriptRepository;
|
_itemFilterScriptRepository = itemFilterScriptRepository;
|
||||||
_itemFilterScriptTranslator = itemFilterScriptTranslator;
|
_itemFilterScriptTranslator = itemFilterScriptTranslator;
|
||||||
_replaceColorsViewModel = replaceColorsViewModel;
|
_replaceColorsViewModel = replaceColorsViewModel;
|
||||||
_avalonDockWorkspaceViewModel = avalonDockWorkspaceViewModel;
|
_avalonDockWorkspaceViewModel = avalonDockWorkspaceViewModel;
|
||||||
|
_scriptLoadingService = scriptLoadingService;
|
||||||
SettingsPageViewModel = settingsPageViewModel;
|
SettingsPageViewModel = settingsPageViewModel;
|
||||||
_themeProvider = themeProvider;
|
_themeProvider = themeProvider;
|
||||||
_themeService = themeService;
|
_themeService = themeService;
|
||||||
@@ -142,11 +147,7 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
ToggleShowAdvancedCommand = new RelayCommand<bool>(OnToggleShowAdvancedCommand, s => ActiveDocumentIsScript);
|
ToggleShowAdvancedCommand = new RelayCommand<bool>(OnToggleShowAdvancedCommand, s => ActiveDocumentIsScript);
|
||||||
ClearFiltersCommand = new RelayCommand(OnClearFiltersCommand, () => ActiveDocumentIsScript);
|
ClearFiltersCommand = new RelayCommand(OnClearFiltersCommand, () => ActiveDocumentIsScript);
|
||||||
|
ClearStylesCommand = new RelayCommand(OnClearStylesCommand, () => ActiveDocumentIsScript);
|
||||||
if (string.IsNullOrEmpty(_itemFilterScriptRepository.GetItemFilterScriptDirectory()))
|
|
||||||
{
|
|
||||||
SetItemFilterScriptDirectory();
|
|
||||||
}
|
|
||||||
|
|
||||||
var icon = new BitmapImage();
|
var icon = new BitmapImage();
|
||||||
icon.BeginInit();
|
icon.BeginInit();
|
||||||
@@ -206,10 +207,6 @@ namespace Filtration.ViewModels
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(Settings.Default.LastActiveDocument) && File.Exists(Settings.Default.LastActiveDocument))
|
|
||||||
{
|
|
||||||
LoadScriptAsync(Settings.Default.LastActiveDocument);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public RelayCommand OpenScriptCommand { get; }
|
public RelayCommand OpenScriptCommand { get; }
|
||||||
@@ -266,6 +263,7 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
public RelayCommand<bool> ToggleShowAdvancedCommand { get; }
|
public RelayCommand<bool> ToggleShowAdvancedCommand { get; }
|
||||||
public RelayCommand ClearFiltersCommand { get; }
|
public RelayCommand ClearFiltersCommand { get; }
|
||||||
|
public RelayCommand ClearStylesCommand { get; }
|
||||||
|
|
||||||
public ImageSource Icon { get; private set; }
|
public ImageSource Icon { get; private set; }
|
||||||
|
|
||||||
@@ -370,12 +368,12 @@ namespace Filtration.ViewModels
|
|||||||
{
|
{
|
||||||
case ".FILTER":
|
case ".FILTER":
|
||||||
{
|
{
|
||||||
await LoadScriptAsync(filename);
|
await _scriptLoadingService.LoadScriptAsync(filename);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ".FILTERTHEME":
|
case ".FILTERTHEME":
|
||||||
{
|
{
|
||||||
await LoadThemeAsync(filename);
|
await _scriptLoadingService.LoadThemeAsync(filename);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -432,32 +430,7 @@ namespace Filtration.ViewModels
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await LoadScriptAsync(filePath); // TODO: fix crash
|
await _scriptLoadingService.LoadScriptAsync(filePath);
|
||||||
}
|
|
||||||
|
|
||||||
private async Task LoadScriptAsync(string scriptFilename)
|
|
||||||
{
|
|
||||||
IItemFilterScriptViewModel loadedViewModel;
|
|
||||||
|
|
||||||
Messenger.Default.Send(new NotificationMessage("ShowLoadingBanner"));
|
|
||||||
try
|
|
||||||
{
|
|
||||||
loadedViewModel = await _itemFilterScriptRepository.LoadScriptFromFileAsync(scriptFilename);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
Logger.Error(e);
|
|
||||||
_messageBoxService.Show("Script Load Error", "Error loading filter script - " + e.Message,
|
|
||||||
MessageBoxButton.OK,
|
|
||||||
MessageBoxImage.Error);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
Messenger.Default.Send(new NotificationMessage("HideLoadingBanner"));
|
|
||||||
}
|
|
||||||
|
|
||||||
_avalonDockWorkspaceViewModel.AddDocument(loadedViewModel);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task OnOpenThemeCommandAsync()
|
private async Task OnOpenThemeCommandAsync()
|
||||||
@@ -468,27 +441,7 @@ namespace Filtration.ViewModels
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await LoadThemeAsync(filePath);
|
await _scriptLoadingService.LoadThemeAsync(filePath);
|
||||||
}
|
|
||||||
|
|
||||||
private async Task LoadThemeAsync(string themeFilename)
|
|
||||||
{
|
|
||||||
IThemeEditorViewModel loadedViewModel;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
loadedViewModel = await _themeProvider.LoadThemeFromFile(themeFilename);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
Logger.Error(e);
|
|
||||||
_messageBoxService.Show("Theme Load Error", "Error loading filter theme - " + e.Message,
|
|
||||||
MessageBoxButton.OK,
|
|
||||||
MessageBoxImage.Error);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_avalonDockWorkspaceViewModel.AddDocument(loadedViewModel);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task OnApplyThemeToScriptCommandAsync()
|
private async Task OnApplyThemeToScriptCommandAsync()
|
||||||
@@ -534,7 +487,7 @@ namespace Filtration.ViewModels
|
|||||||
var openFileDialog = new OpenFileDialog
|
var openFileDialog = new OpenFileDialog
|
||||||
{
|
{
|
||||||
Filter = "Filter Files (*.filter)|*.filter|All Files (*.*)|*.*",
|
Filter = "Filter Files (*.filter)|*.filter|All Files (*.*)|*.*",
|
||||||
InitialDirectory = _itemFilterScriptRepository.GetItemFilterScriptDirectory()
|
InitialDirectory = _itemFilterScriptDirectoryService.ItemFilterScriptDirectory
|
||||||
};
|
};
|
||||||
|
|
||||||
return openFileDialog.ShowDialog() != true ? string.Empty : openFileDialog.FileName;
|
return openFileDialog.ShowDialog() != true ? string.Empty : openFileDialog.FileName;
|
||||||
@@ -545,27 +498,12 @@ namespace Filtration.ViewModels
|
|||||||
var openFileDialog = new OpenFileDialog
|
var openFileDialog = new OpenFileDialog
|
||||||
{
|
{
|
||||||
Filter = "Filter Theme Files (*.filtertheme)|*.filtertheme|All Files (*.*)|*.*",
|
Filter = "Filter Theme Files (*.filtertheme)|*.filtertheme|All Files (*.*)|*.*",
|
||||||
InitialDirectory = _itemFilterScriptRepository.GetItemFilterScriptDirectory()
|
InitialDirectory = _itemFilterScriptDirectoryService.ItemFilterScriptDirectory
|
||||||
};
|
};
|
||||||
|
|
||||||
return openFileDialog.ShowDialog() != true ? string.Empty : openFileDialog.FileName;
|
return openFileDialog.ShowDialog() != true ? string.Empty : openFileDialog.FileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetItemFilterScriptDirectory()
|
|
||||||
{
|
|
||||||
var dlg = new FolderBrowserDialog
|
|
||||||
{
|
|
||||||
Description = @"Select your Path of Exile data directory, usually in Documents\My Games",
|
|
||||||
ShowNewFolderButton = false
|
|
||||||
};
|
|
||||||
var result = dlg.ShowDialog();
|
|
||||||
|
|
||||||
if (result == DialogResult.OK)
|
|
||||||
{
|
|
||||||
_itemFilterScriptRepository.SetItemFilterScriptDirectory(dlg.SelectedPath);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task OnSaveDocumentCommandAsync()
|
private async Task OnSaveDocumentCommandAsync()
|
||||||
{
|
{
|
||||||
await ((IEditableDocument)_avalonDockWorkspaceViewModel.ActiveDocument).SaveAsync();
|
await ((IEditableDocument)_avalonDockWorkspaceViewModel.ActiveDocument).SaveAsync();
|
||||||
@@ -637,7 +575,6 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
private void OnCloseDocumentCommand()
|
private void OnCloseDocumentCommand()
|
||||||
{
|
{
|
||||||
Settings.Default.LastActiveDocument = "";
|
|
||||||
_avalonDockWorkspaceViewModel.ActiveDocument.Close();
|
_avalonDockWorkspaceViewModel.ActiveDocument.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -736,6 +673,11 @@ namespace Filtration.ViewModels
|
|||||||
_avalonDockWorkspaceViewModel.ActiveScriptViewModel.ClearFilterCommand.Execute(null);
|
_avalonDockWorkspaceViewModel.ActiveScriptViewModel.ClearFilterCommand.Execute(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnClearStylesCommand()
|
||||||
|
{
|
||||||
|
_avalonDockWorkspaceViewModel.ActiveScriptViewModel.ClearStylesCommand.Execute(null);
|
||||||
|
}
|
||||||
|
|
||||||
private void OnAddTextColorThemeComponentCommand()
|
private void OnAddTextColorThemeComponentCommand()
|
||||||
{
|
{
|
||||||
_avalonDockWorkspaceViewModel.ActiveThemeViewModel.AddThemeComponentCommand.Execute(ThemeComponentType.TextColor);
|
_avalonDockWorkspaceViewModel.ActiveThemeViewModel.AddThemeComponentCommand.Execute(ThemeComponentType.TextColor);
|
||||||
@@ -784,16 +726,17 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
public async Task<bool> CloseAllDocumentsAsync()
|
public async Task<bool> CloseAllDocumentsAsync()
|
||||||
{
|
{
|
||||||
|
Settings.Default.LastOpenScripts = string.Join("|", _avalonDockWorkspaceViewModel.OpenDocuments.OfType<IItemFilterScriptViewModel>().Select(sc => sc.Script.FilePath));
|
||||||
var openDocuments = _avalonDockWorkspaceViewModel.OpenDocuments.OfType<IEditableDocument>().ToList();
|
var openDocuments = _avalonDockWorkspaceViewModel.OpenDocuments.OfType<IEditableDocument>().ToList();
|
||||||
|
|
||||||
foreach (var document in openDocuments)
|
foreach (var document in openDocuments)
|
||||||
{
|
{
|
||||||
var docCount = _avalonDockWorkspaceViewModel.OpenDocuments.OfType<IEditableDocument>().Count();
|
if (!_avalonDockWorkspaceViewModel.OpenDocuments.Contains(document))
|
||||||
await document.Close();
|
|
||||||
if (_avalonDockWorkspaceViewModel.OpenDocuments.OfType<IEditableDocument>().Count() == docCount)
|
|
||||||
{
|
{
|
||||||
return false;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await document.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
using System.IO;
|
using Filtration.Properties;
|
||||||
using System.Windows;
|
|
||||||
using Filtration.Common.Services;
|
|
||||||
using Filtration.Properties;
|
|
||||||
using Filtration.Services;
|
using Filtration.Services;
|
||||||
using GalaSoft.MvvmLight;
|
using GalaSoft.MvvmLight;
|
||||||
using GalaSoft.MvvmLight.CommandWpf;
|
using GalaSoft.MvvmLight.CommandWpf;
|
||||||
using Microsoft.WindowsAPICodePack.Dialogs;
|
|
||||||
|
|
||||||
namespace Filtration.ViewModels
|
namespace Filtration.ViewModels
|
||||||
{
|
{
|
||||||
@@ -14,19 +10,18 @@ namespace Filtration.ViewModels
|
|||||||
RelayCommand SetItemFilterScriptDirectoryCommand { get; }
|
RelayCommand SetItemFilterScriptDirectoryCommand { get; }
|
||||||
|
|
||||||
string DefaultFilterDirectory { get; }
|
string DefaultFilterDirectory { get; }
|
||||||
bool ExtraLineBetweenBlocks { get; set; }
|
bool BlocksExpandedOnOpen { get; set; }
|
||||||
bool DownloadPrereleaseUpdates { get; set; }
|
bool DownloadPrereleaseUpdates { get; set; }
|
||||||
|
bool ExtraLineBetweenBlocks { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class SettingsPageViewModel : ViewModelBase, ISettingsPageViewModel
|
internal class SettingsPageViewModel : ViewModelBase, ISettingsPageViewModel
|
||||||
{
|
{
|
||||||
private readonly IItemFilterPersistenceService _itemFilterPersistenceService;
|
private readonly IItemFilterScriptDirectoryService _itemFilterScriptDirectoryService;
|
||||||
private readonly IMessageBoxService _messageBoxService;
|
|
||||||
|
|
||||||
public SettingsPageViewModel(IItemFilterPersistenceService itemFilterPersistenceService, IMessageBoxService messageBoxService)
|
public SettingsPageViewModel(IItemFilterScriptDirectoryService itemFilterScriptDirectoryService)
|
||||||
{
|
{
|
||||||
_itemFilterPersistenceService = itemFilterPersistenceService;
|
_itemFilterScriptDirectoryService = itemFilterScriptDirectoryService;
|
||||||
_messageBoxService = messageBoxService;
|
|
||||||
SetItemFilterScriptDirectoryCommand = new RelayCommand(OnSetItemFilterScriptDirectoryCommand);
|
SetItemFilterScriptDirectoryCommand = new RelayCommand(OnSetItemFilterScriptDirectoryCommand);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,10 +29,10 @@ namespace Filtration.ViewModels
|
|||||||
|
|
||||||
public string DefaultFilterDirectory => Settings.Default.DefaultFilterDirectory;
|
public string DefaultFilterDirectory => Settings.Default.DefaultFilterDirectory;
|
||||||
|
|
||||||
public bool ExtraLineBetweenBlocks
|
public bool BlocksExpandedOnOpen
|
||||||
{
|
{
|
||||||
get => Settings.Default.ExtraLineBetweenBlocks;
|
get => Settings.Default.BlocksExpandedOnOpen;
|
||||||
set => Settings.Default.ExtraLineBetweenBlocks = value;
|
set => Settings.Default.BlocksExpandedOnOpen = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool DownloadPrereleaseUpdates
|
public bool DownloadPrereleaseUpdates
|
||||||
@@ -46,26 +41,16 @@ namespace Filtration.ViewModels
|
|||||||
set => Settings.Default.DownloadPrereleaseUpdates = value;
|
set => Settings.Default.DownloadPrereleaseUpdates = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool ExtraLineBetweenBlocks
|
||||||
|
{
|
||||||
|
get => Settings.Default.ExtraLineBetweenBlocks;
|
||||||
|
set => Settings.Default.ExtraLineBetweenBlocks = value;
|
||||||
|
}
|
||||||
|
|
||||||
private void OnSetItemFilterScriptDirectoryCommand()
|
private void OnSetItemFilterScriptDirectoryCommand()
|
||||||
{
|
{
|
||||||
using (var dialog = new CommonOpenFileDialog())
|
_itemFilterScriptDirectoryService.SetItemFilterScriptDirectory();
|
||||||
{
|
RaisePropertyChanged(nameof(DefaultFilterDirectory));
|
||||||
dialog.IsFolderPicker = true;
|
|
||||||
var result = dialog.ShowDialog();
|
|
||||||
if (result == CommonFileDialogResult.Ok)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
_itemFilterPersistenceService.SetItemFilterScriptDirectory(dialog.FileName);
|
|
||||||
RaisePropertyChanged(nameof(DefaultFilterDirectory));
|
|
||||||
}
|
|
||||||
catch (DirectoryNotFoundException)
|
|
||||||
{
|
|
||||||
_messageBoxService.Show("Error", "The entered Default Filter Directory is invalid or does not exist.",
|
|
||||||
MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,6 +107,14 @@ namespace Filtration.ViewModels.ToolPanes
|
|||||||
|
|
||||||
private ObservableCollection<ItemFilterBlockGroupViewModel> RebuildBlockGroupViewModels(bool showAdvanced)
|
private ObservableCollection<ItemFilterBlockGroupViewModel> RebuildBlockGroupViewModels(bool showAdvanced)
|
||||||
{
|
{
|
||||||
|
if (BlockGroupViewModels != null)
|
||||||
|
{
|
||||||
|
foreach (var viewModel in BlockGroupViewModels)
|
||||||
|
{
|
||||||
|
viewModel.ClearStatusChangeSubscriptions();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// This assumes that there will only ever be a single root node.
|
// This assumes that there will only ever be a single root node.
|
||||||
return new ObservableCollection<ItemFilterBlockGroupViewModel>
|
return new ObservableCollection<ItemFilterBlockGroupViewModel>
|
||||||
(
|
(
|
||||||
|
|||||||
@@ -3,43 +3,39 @@
|
|||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
|
||||||
xmlns:userControls="clr-namespace:Filtration.UserControls"
|
xmlns:userControls="clr-namespace:Filtration.UserControls"
|
||||||
xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit"
|
xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit"
|
||||||
xmlns:views="clr-namespace:Filtration.Views"
|
xmlns:views="clr-namespace:Filtration.Views"
|
||||||
xmlns:converters="clr-namespace:Filtration.Converters"
|
xmlns:converters="clr-namespace:Filtration.Converters"
|
||||||
xmlns:blockItemBaseTypes="clr-namespace:Filtration.ObjectModel.BlockItemBaseTypes;assembly=Filtration.ObjectModel"
|
xmlns:blockItemBaseTypes="clr-namespace:Filtration.ObjectModel.BlockItemBaseTypes;assembly=Filtration.ObjectModel"
|
||||||
xmlns:componentModel="clr-namespace:System.ComponentModel;assembly=WindowsBase"
|
xmlns:componentModel="clr-namespace:System.ComponentModel;assembly=WindowsBase"
|
||||||
|
xmlns:designTime="clr-namespace:Filtration.ViewModels.DesignTime"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterBlockViewModel}"
|
d:DataContext="{d:DesignInstance Type=designTime:DesignTimeItemFilterBlockViewModel, IsDesignTimeCreatable=True}"
|
||||||
d:DesignHeight="200" d:DesignWidth="800">
|
d:DesignHeight="400" d:DesignWidth="817">
|
||||||
<UserControl.Resources>
|
<UserControl.Resources>
|
||||||
<ResourceDictionary>
|
<ResourceDictionary>
|
||||||
<ResourceDictionary.MergedDictionaries>
|
<views:BindingProxy x:Key="Proxy" Data="{Binding}" />
|
||||||
<ResourceDictionary>
|
<converters:BlockGroupAdvancedFillColorConverter x:Key="BlockGroupAdvancedFillColorConverter" />
|
||||||
<views:BindingProxy x:Key="Proxy" Data="{Binding}" />
|
<converters:MinimapIconToCroppedBitmapConverter x:Key="MinimapIconToCroppedBitmapConverter"/>
|
||||||
<converters:BlockGroupAdvancedFillColorConverter x:Key="BlockGroupAdvancedFillColorConverter" />
|
<Style TargetType="{x:Type ContentPresenter}" x:Key="BlockItemFadeInStyle">
|
||||||
<converters:MinimapIconToCroppedBitmapConverter x:Key="MinimapIconToCroppedBitmapConverter"/>
|
<Setter Property="LayoutTransform">
|
||||||
<Style TargetType="{x:Type ContentPresenter}" x:Key="BlockItemFadeInStyle">
|
<Setter.Value>
|
||||||
<Setter Property="LayoutTransform">
|
<ScaleTransform x:Name="transform" />
|
||||||
<Setter.Value>
|
</Setter.Value>
|
||||||
<ScaleTransform x:Name="transform" />
|
</Setter>
|
||||||
</Setter.Value>
|
<Style.Triggers>
|
||||||
</Setter>
|
<EventTrigger RoutedEvent="Loaded">
|
||||||
<Style.Triggers>
|
<EventTrigger.Actions>
|
||||||
<EventTrigger RoutedEvent="Loaded">
|
<BeginStoryboard>
|
||||||
<EventTrigger.Actions>
|
<Storyboard>
|
||||||
<BeginStoryboard>
|
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.5" />
|
||||||
<Storyboard>
|
</Storyboard>
|
||||||
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.5" />
|
</BeginStoryboard>
|
||||||
</Storyboard>
|
</EventTrigger.Actions>
|
||||||
</BeginStoryboard>
|
</EventTrigger>
|
||||||
</EventTrigger.Actions>
|
</Style.Triggers>
|
||||||
</EventTrigger>
|
</Style>
|
||||||
</Style.Triggers>
|
|
||||||
</Style>
|
|
||||||
</ResourceDictionary>
|
|
||||||
</ResourceDictionary.MergedDictionaries>
|
|
||||||
</ResourceDictionary>
|
</ResourceDictionary>
|
||||||
</UserControl.Resources>
|
</UserControl.Resources>
|
||||||
<Grid x:Name="TopLevelGrid">
|
<Grid x:Name="TopLevelGrid">
|
||||||
@@ -99,7 +95,7 @@
|
|||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="Auto" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<!-- BlockItems Summary Panel -->
|
<!-- BlockItems Summary Panel -->
|
||||||
<StackPanel Grid.Row="0" Grid.Column="0" VerticalAlignment="Center">
|
<StackPanel Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Margin="0,5">
|
||||||
<StackPanel.Resources>
|
<StackPanel.Resources>
|
||||||
<CollectionViewSource Source="{Binding SummaryBlockItems}" x:Key="SummaryBlockItemsCollectionViewSource">
|
<CollectionViewSource Source="{Binding SummaryBlockItems}" x:Key="SummaryBlockItemsCollectionViewSource">
|
||||||
<CollectionViewSource.SortDescriptions>
|
<CollectionViewSource.SortDescriptions>
|
||||||
@@ -121,9 +117,9 @@
|
|||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
<DataTemplate DataType="{x:Type blockItemBaseTypes:ActionBlockItem}">
|
<DataTemplate DataType="{x:Type blockItemBaseTypes:ActionBlockItem}">
|
||||||
<Button Command="{Binding ElementName=TopLevelGrid, Path=DataContext.ToggleBlockActionCommand}" Style="{StaticResource ChromelessButton}">
|
<Button Command="{Binding ElementName=TopLevelGrid, Path=DataContext.ToggleBlockActionCommand}" Style="{StaticResource ChromelessButton}">
|
||||||
<Border BorderBrush="Black" CornerRadius="4" Margin="0,2,2,2" BorderThickness="1" Background="{Binding SummaryBackgroundColor, Converter={StaticResource ColorToSolidColorBrushConverter}}">
|
<Border BorderBrush="Black" CornerRadius="4" Margin="0,2,2,2" BorderThickness="1" Background="{Binding SummaryBackgroundColor, Converter={StaticResource ColorToSolidColorBrushConverter}}">
|
||||||
<TextBlock Text="{Binding SummaryText}" Margin="5,1,5,1" Foreground="{Binding SummaryTextColor, Converter={StaticResource ColorToSolidColorBrushConverter}}" />
|
<TextBlock Text="{Binding SummaryText}" Margin="5,1,5,1" Foreground="{Binding SummaryTextColor, Converter={StaticResource ColorToSolidColorBrushConverter}}" />
|
||||||
</Border>
|
</Border>
|
||||||
</Button>
|
</Button>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</ItemsControl.Resources>
|
</ItemsControl.Resources>
|
||||||
@@ -199,9 +195,9 @@
|
|||||||
</Expander.Header>
|
</Expander.Header>
|
||||||
<Grid Margin="10,5,10,5" x:Name="BlockItemsGrid">
|
<Grid Margin="10,5,10,5" x:Name="BlockItemsGrid">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition />
|
<RowDefinition Height="*" />
|
||||||
<RowDefinition />
|
<RowDefinition Height="Auto" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<WrapPanel Grid.Row="0">
|
<WrapPanel Grid.Row="0">
|
||||||
@@ -240,24 +236,78 @@
|
|||||||
<Button Height="12" Command="{Binding AddBlockGroupCommand}" Content="{StaticResource AddIcon}"
|
<Button Height="12" Command="{Binding AddBlockGroupCommand}" Content="{StaticResource AddIcon}"
|
||||||
ToolTip="Add" Background="Transparent" BorderThickness="0" Margin="3,0,0,0" />
|
ToolTip="Add" Background="Transparent" BorderThickness="0" Margin="3,0,0,0" />
|
||||||
</WrapPanel>
|
</WrapPanel>
|
||||||
|
|
||||||
|
<!-- Regular Block Items-->
|
||||||
<Grid Grid.Row="1" Visibility="{Binding AudioVisualBlockItemsGridVisible, Converter={StaticResource InverseBooleanVisibilityConverter}}">
|
<Grid Grid.Row="1" Visibility="{Binding AudioVisualBlockItemsGridVisible, Converter={StaticResource InverseBooleanVisibilityConverter}}">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition />
|
<RowDefinition Height="*" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="*" />
|
<ColumnDefinition Width="*" />
|
||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="Auto" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<TextBlock Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Right">
|
|
||||||
<Hyperlink Command="{Binding SwitchBlockItemsViewCommand}">
|
|
||||||
Switch to Appearance Block Items
|
|
||||||
</Hyperlink>
|
|
||||||
</TextBlock>
|
|
||||||
|
|
||||||
<!-- Add Block Item Links -->
|
<!-- Add Block Item Links -->
|
||||||
<ItemsControl Grid.Column="0" ItemsSource="{Binding BlockItemTypesAvailable}" Grid.Row="0" Margin="0,0,0,10">
|
<ItemsControl Grid.Column="0" ItemsSource="{Binding BlockItemTypesAvailable}" Grid.Row="0" Margin="0,0,0,10">
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<WrapPanel />
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Margin="0,0,3,0">
|
||||||
|
<Hyperlink Command="{Binding ElementName=TopLevelGrid, Path=DataContext.AddFilterBlockItemCommand}" CommandParameter="{Binding}">
|
||||||
|
<TextBlock>+</TextBlock><TextBlock Text="{Binding Path=., Converter={StaticResource BlockItemTypeToStringConverter}}" />
|
||||||
|
</Hyperlink>
|
||||||
|
</TextBlock>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
|
||||||
|
<!-- Enable/Disable Block Button -->
|
||||||
|
<userControls:EnableDisableToggleButton Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" />
|
||||||
|
|
||||||
|
<!-- Block Items -->
|
||||||
|
<Grid Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" MaxHeight="200">
|
||||||
|
<Grid.Resources>
|
||||||
|
<CollectionViewSource Source="{Binding RegularBlockItems}" x:Key="BlockItemsCollectionViewSource">
|
||||||
|
<CollectionViewSource.SortDescriptions>
|
||||||
|
<componentModel:SortDescription PropertyName="SortOrder"/>
|
||||||
|
</CollectionViewSource.SortDescriptions>
|
||||||
|
</CollectionViewSource>
|
||||||
|
</Grid.Resources>
|
||||||
|
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
|
||||||
|
<ItemsControl ItemsSource="{Binding Source={StaticResource BlockItemsCollectionViewSource}}"
|
||||||
|
ItemContainerStyle="{StaticResource BlockItemFadeInStyle}">
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<WrapPanel Orientation="Vertical" />
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<userControls:BlockItemControl BlockItem="{Binding}" RemoveItemCommand="{Binding ElementName=TopLevelGrid, Path=DataContext.RemoveFilterBlockItemCommand}" RemoveEnabled="{Binding Path=., Converter={StaticResource BlockItemToRemoveEnabledVisibilityConverter}}" />
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
</ScrollViewer>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
<!-- Audio/Visual Block Items-->
|
||||||
|
<Grid Grid.Row="1" Visibility="{Binding AudioVisualBlockItemsGridVisible, Converter={StaticResource BooleanVisibilityConverter}}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="*" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<!-- Add AudioVisual Block Item Links -->
|
||||||
|
<ItemsControl Grid.Column="0" ItemsSource="{Binding AudioVisualBlockItemTypesAvailable}" Grid.Row="0" Margin="0,0,0,10">
|
||||||
<ItemsControl.ItemsPanel>
|
<ItemsControl.ItemsPanel>
|
||||||
<ItemsPanelTemplate>
|
<ItemsPanelTemplate>
|
||||||
<WrapPanel></WrapPanel>
|
<WrapPanel></WrapPanel>
|
||||||
@@ -275,116 +325,56 @@
|
|||||||
</ItemsControl>
|
</ItemsControl>
|
||||||
|
|
||||||
<!-- Enable/Disable Block Button -->
|
<!-- Enable/Disable Block Button -->
|
||||||
<ToggleButton Grid.Row="0"
|
<userControls:EnableDisableToggleButton Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" />
|
||||||
Grid.Column="1"
|
|
||||||
Style="{StaticResource ChromelessToggleButton}"
|
<TextBlock Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" FontStyle="Italic" HorizontalAlignment="Left" Visibility="{Binding HasAudioVisualBlockItems, Converter={StaticResource InverseBooleanVisibilityConverter}}">To change the appearance of this block, add a Text, Background or Border Block Item above.</TextBlock>
|
||||||
IsChecked="{Binding BlockEnabled}"
|
|
||||||
Margin="0,0,5,0"
|
|
||||||
ToolTip="Enable/Disable Block"
|
|
||||||
Cursor="Hand"
|
|
||||||
Width="25"
|
|
||||||
Height="25">
|
|
||||||
<Image RenderOptions.BitmapScalingMode="HighQuality">
|
|
||||||
<Image.Style>
|
|
||||||
<Style TargetType="{x:Type Image}">
|
|
||||||
<Style.Triggers>
|
|
||||||
<DataTrigger Binding="{Binding BlockEnabled}" Value="true">
|
|
||||||
<Setter Property="Source" Value="/Filtration;component/Resources/Icons/standby_enabled_icon.png"/>
|
|
||||||
</DataTrigger>
|
|
||||||
<DataTrigger Binding="{Binding BlockEnabled}" Value="false">
|
|
||||||
<Setter Property="Source" Value="/Filtration;component/Resources/Icons/standby_disabled_icon.png"/>
|
|
||||||
</DataTrigger>
|
|
||||||
</Style.Triggers>
|
|
||||||
</Style>
|
|
||||||
</Image.Style>
|
|
||||||
</Image>
|
|
||||||
</ToggleButton>
|
|
||||||
|
|
||||||
<!-- Block Items -->
|
|
||||||
<WrapPanel Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" MaxHeight="200">
|
|
||||||
<WrapPanel.Resources>
|
|
||||||
<CollectionViewSource Source="{Binding RegularBlockItems}" x:Key="BlockItemsCollectionViewSource">
|
|
||||||
<CollectionViewSource.SortDescriptions>
|
|
||||||
<componentModel:SortDescription PropertyName="SortOrder"/>
|
|
||||||
</CollectionViewSource.SortDescriptions>
|
|
||||||
</CollectionViewSource>
|
|
||||||
</WrapPanel.Resources>
|
|
||||||
<ItemsControl ItemsSource="{Binding Source={StaticResource BlockItemsCollectionViewSource}}"
|
|
||||||
ItemContainerStyle="{StaticResource BlockItemFadeInStyle}">
|
|
||||||
<ItemsControl.ItemsPanel>
|
|
||||||
<ItemsPanelTemplate>
|
|
||||||
<WrapPanel Orientation="Vertical" />
|
|
||||||
</ItemsPanelTemplate>
|
|
||||||
</ItemsControl.ItemsPanel>
|
|
||||||
<ItemsControl.ItemTemplate>
|
|
||||||
<DataTemplate>
|
|
||||||
<userControls:BlockItemControl BlockItem="{Binding}" RemoveItemCommand="{Binding ElementName=TopLevelGrid, Path=DataContext.RemoveFilterBlockItemCommand}" RemoveEnabled="{Binding Path=., Converter={StaticResource BlockItemToRemoveEnabledVisibilityConverter}}" />
|
|
||||||
</DataTemplate>
|
|
||||||
</ItemsControl.ItemTemplate>
|
|
||||||
</ItemsControl>
|
|
||||||
</WrapPanel>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="1" Visibility="{Binding AudioVisualBlockItemsGridVisible, Converter={StaticResource BooleanVisibilityConverter}}">
|
|
||||||
<Grid.RowDefinitions>
|
|
||||||
<RowDefinition />
|
|
||||||
<RowDefinition />
|
|
||||||
</Grid.RowDefinitions>
|
|
||||||
<TextBlock Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Right">
|
|
||||||
<Hyperlink Command="{Binding SwitchBlockItemsViewCommand}">
|
|
||||||
Switch to Regular Block Items
|
|
||||||
</Hyperlink>
|
|
||||||
</TextBlock>
|
|
||||||
<!-- Add AudioVisual Block Item Links -->
|
|
||||||
<ItemsControl ItemsSource="{Binding AudioVisualBlockItemTypesAvailable}" Grid.Row="0" Margin="0,0,0,10">
|
|
||||||
<ItemsControl.ItemsPanel>
|
|
||||||
<ItemsPanelTemplate>
|
|
||||||
<WrapPanel></WrapPanel>
|
|
||||||
</ItemsPanelTemplate>
|
|
||||||
</ItemsControl.ItemsPanel>
|
|
||||||
<ItemsControl.ItemTemplate>
|
|
||||||
<DataTemplate>
|
|
||||||
<TextBlock Margin="0,0,3,0">
|
|
||||||
<Hyperlink Command="{Binding ElementName=TopLevelGrid, Path=DataContext.AddFilterBlockItemCommand}" CommandParameter="{Binding}">
|
|
||||||
<TextBlock>+</TextBlock><TextBlock Text="{Binding Path=., Converter={StaticResource BlockItemTypeToStringConverter}}" />
|
|
||||||
</Hyperlink>
|
|
||||||
</TextBlock>
|
|
||||||
</DataTemplate>
|
|
||||||
</ItemsControl.ItemTemplate>
|
|
||||||
</ItemsControl>
|
|
||||||
|
|
||||||
<TextBlock Grid.Row="1" FontStyle="Italic" HorizontalAlignment="Left" Visibility="{Binding HasAudioVisualBlockItems, Converter={StaticResource InverseBooleanVisibilityConverter}}">To change the appearance of this block, add a Text, Background or Border Block Item above.</TextBlock>
|
|
||||||
|
|
||||||
<!-- Block Items -->
|
<!-- Block Items -->
|
||||||
<WrapPanel Grid.Row="1" MaxHeight="200">
|
<Grid Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" MaxHeight="200">
|
||||||
<WrapPanel.Resources>
|
<Grid.Resources>
|
||||||
<CollectionViewSource Source="{Binding AudioVisualBlockItems}" x:Key="BlockItemsCollectionViewSource">
|
<CollectionViewSource Source="{Binding AudioVisualBlockItems}" x:Key="BlockItemsCollectionViewSource">
|
||||||
<CollectionViewSource.SortDescriptions>
|
<CollectionViewSource.SortDescriptions>
|
||||||
<componentModel:SortDescription PropertyName="SortOrder"/>
|
<componentModel:SortDescription PropertyName="SortOrder"/>
|
||||||
</CollectionViewSource.SortDescriptions>
|
</CollectionViewSource.SortDescriptions>
|
||||||
</CollectionViewSource>
|
</CollectionViewSource>
|
||||||
</WrapPanel.Resources>
|
</Grid.Resources>
|
||||||
<ItemsControl ItemsSource="{Binding Source={StaticResource BlockItemsCollectionViewSource}}"
|
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
|
||||||
|
<ItemsControl ItemsSource="{Binding Source={StaticResource BlockItemsCollectionViewSource}}"
|
||||||
ItemContainerStyle="{StaticResource BlockItemFadeInStyle}">
|
ItemContainerStyle="{StaticResource BlockItemFadeInStyle}">
|
||||||
<ItemsControl.ItemsPanel>
|
<ItemsControl.ItemsPanel>
|
||||||
<ItemsPanelTemplate>
|
<ItemsPanelTemplate>
|
||||||
<WrapPanel Orientation="Vertical" />
|
<WrapPanel Orientation="Vertical" />
|
||||||
</ItemsPanelTemplate>
|
</ItemsPanelTemplate>
|
||||||
</ItemsControl.ItemsPanel>
|
</ItemsControl.ItemsPanel>
|
||||||
<ItemsControl.ItemTemplate>
|
<ItemsControl.ItemTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<userControls:BlockItemControl BlockItem="{Binding}" RemoveItemCommand="{Binding ElementName=TopLevelGrid, Path=DataContext.RemoveFilterBlockItemCommand}" />
|
<userControls:BlockItemControl BlockItem="{Binding}" RemoveItemCommand="{Binding ElementName=TopLevelGrid, Path=DataContext.RemoveFilterBlockItemCommand}" />
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
</ItemsControl.ItemTemplate>
|
</ItemsControl.ItemTemplate>
|
||||||
</ItemsControl>
|
</ItemsControl>
|
||||||
</WrapPanel>
|
</ScrollViewer>
|
||||||
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid Grid.Row="2" Margin="0,5,0,5">
|
<Grid Grid.Row="2" Margin="0,5,0,5">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="*" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="Auto" />
|
||||||
<ColumnDefinition Width="*" />
|
<ColumnDefinition Width="*" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<TextBlock Grid.Column="0" Margin="0,0,5,0" Text="Description:" VerticalAlignment="Center" />
|
|
||||||
<TextBox Grid.Column="1" Text="{Binding BlockDescription}" />
|
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="0,0,0,8">
|
||||||
|
<Hyperlink Command="{Binding SwitchBlockItemsViewCommand}">
|
||||||
|
<Grid>
|
||||||
|
<TextBlock Text="Switch to Regular Block Items" Visibility="{Binding AudioVisualBlockItemsGridVisible, Converter={StaticResource BooleanVisibilityConverter}}" />
|
||||||
|
<TextBlock Text="Switch to Appearance Block Items" Visibility="{Binding AudioVisualBlockItemsGridVisible, Converter={StaticResource InverseBooleanVisibilityConverter}}" />
|
||||||
|
</Grid>
|
||||||
|
</Hyperlink>
|
||||||
|
</TextBlock>
|
||||||
|
<TextBlock Grid.Row="1" Grid.Column="0" Margin="0,0,5,0" Text="Description:" VerticalAlignment="Center" />
|
||||||
|
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding BlockDescription}" />
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Expander>
|
</Expander>
|
||||||
|
|||||||
@@ -114,9 +114,10 @@
|
|||||||
<fluent:Button Header="Expand All" Command="{Binding ExpandAllBlocksCommand}" SizeDefinition="Middle" Icon="{StaticResource ExpandIcon}" />
|
<fluent:Button Header="Expand All" Command="{Binding ExpandAllBlocksCommand}" SizeDefinition="Middle" Icon="{StaticResource ExpandIcon}" />
|
||||||
<fluent:Button Header="Collapse All" Command="{Binding CollapseAllBlocksCommand}" SizeDefinition="Middle" Icon="{StaticResource CollapseIcon}" />
|
<fluent:Button Header="Collapse All" Command="{Binding CollapseAllBlocksCommand}" SizeDefinition="Middle" Icon="{StaticResource CollapseIcon}" />
|
||||||
</fluent:RibbonGroupBox>
|
</fluent:RibbonGroupBox>
|
||||||
<fluent:RibbonGroupBox Header="Filters">
|
<fluent:RibbonGroupBox Header="Filters & Styles">
|
||||||
<fluent:ToggleButton Command="{Binding ToggleShowAdvancedCommand}" CommandParameter="{Binding Path=IsChecked, RelativeSource={RelativeSource Self}}" Header="Show Advanced Blocks" SizeDefinition="Middle" Icon="{StaticResource ShowAdvancedIcon}" IsChecked="{Binding ShowAdvancedStatus, Mode=OneWay}" />
|
<fluent:ToggleButton Command="{Binding ToggleShowAdvancedCommand}" CommandParameter="{Binding Path=IsChecked, RelativeSource={RelativeSource Self}}" Header="Show Advanced Blocks" SizeDefinition="Middle" Icon="{StaticResource ShowAdvancedIcon}" IsChecked="{Binding ShowAdvancedStatus, Mode=OneWay}" />
|
||||||
<fluent:Button Header="Clear All Filters" Command="{Binding ClearFiltersCommand}" SizeDefinition="Middle" Icon="{StaticResource ClearFilterIcon}" />
|
<fluent:Button Header="Clear All Filters" Command="{Binding ClearFiltersCommand}" SizeDefinition="Middle" Icon="{StaticResource ClearFilterIcon}" />
|
||||||
|
<fluent:Button Header="Clear Styles" Command="{Binding ClearStylesCommand}" SizeDefinition="Middle" Icon="{StaticResource PasteStyleIcon}" />
|
||||||
</fluent:RibbonGroupBox>
|
</fluent:RibbonGroupBox>
|
||||||
<fluent:RibbonGroupBox Header="Themes">
|
<fluent:RibbonGroupBox Header="Themes">
|
||||||
<fluent:Button Header="Edit Master Theme" Command="{Binding EditMasterThemeCommand}" Icon="{StaticResource ThemeIcon}" LargeIcon="{StaticResource ThemeIcon}" />
|
<fluent:Button Header="Edit Master Theme" Command="{Binding EditMasterThemeCommand}" Icon="{StaticResource ThemeIcon}" LargeIcon="{StaticResource ThemeIcon}" />
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:designTime="clr-namespace:Filtration.ViewModels.DesignTime"
|
xmlns:designTime="clr-namespace:Filtration.ViewModels.DesignTime"
|
||||||
mc:Ignorable="d" d:DesignWidth="1200"
|
mc:Ignorable="d" d:DesignWidth="1200" d:DesignHeight="400"
|
||||||
d:DataContext="{d:DesignInstance Type=designTime:DesignTimeSettingsPageViewModel, IsDesignTimeCreatable=True}">
|
d:DataContext="{d:DesignInstance Type=designTime:DesignTimeSettingsPageViewModel, IsDesignTimeCreatable=True}">
|
||||||
<Border BorderBrush="Black" BorderThickness="1">
|
<Border BorderBrush="Black" BorderThickness="1">
|
||||||
<DockPanel Margin="10" MaxWidth="600" HorizontalAlignment="Left">
|
<DockPanel Margin="10" MaxWidth="600" HorizontalAlignment="Left">
|
||||||
@@ -22,8 +22,8 @@
|
|||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="5" />
|
<RowDefinition Height="5" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition x:Name="BlankLineBetweenBlocks" Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition x:Name="DownloadPreReleases" Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
@@ -40,8 +40,10 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
<TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center">Add blank line between blocks when saving</TextBlock>
|
<TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center">Add blank line between blocks when saving</TextBlock>
|
||||||
<CheckBox Grid.Row="2" Grid.Column="2" IsChecked="{Binding ExtraLineBetweenBlocks}" />
|
<CheckBox Grid.Row="2" Grid.Column="2" IsChecked="{Binding ExtraLineBetweenBlocks}" />
|
||||||
<TextBlock Grid.Row="4" Grid.Column="0" VerticalAlignment="Center">Download pre-release updates (use with caution)</TextBlock>
|
<TextBlock Grid.Row="3" Grid.Column="0" VerticalAlignment="Center">Download pre-release updates (use with caution)</TextBlock>
|
||||||
<CheckBox Grid.Row="4" Grid.Column="2" IsChecked="{Binding DownloadPrereleaseUpdates}" />
|
<CheckBox Grid.Row="3" Grid.Column="2" IsChecked="{Binding DownloadPrereleaseUpdates}" />
|
||||||
|
<TextBlock Grid.Row="4" Grid.Column="0" VerticalAlignment="Center">Auto-expand all sections when opening scripts</TextBlock>
|
||||||
|
<CheckBox Grid.Row="4" Grid.Column="2" IsChecked="{Binding BlocksExpandedOnOpen}" />
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
</DockPanel>
|
</DockPanel>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ using Filtration.Services;
|
|||||||
|
|
||||||
namespace Filtration.WindsorInstallers
|
namespace Filtration.WindsorInstallers
|
||||||
{
|
{
|
||||||
public class ServicesInstaller :IWindsorInstaller
|
public class ServicesInstaller : IWindsorInstaller
|
||||||
{
|
{
|
||||||
public void Install(IWindsorContainer container, IConfigurationStore store)
|
public void Install(IWindsorContainer container, IConfigurationStore store)
|
||||||
{
|
{
|
||||||
@@ -14,6 +14,16 @@ namespace Filtration.WindsorInstallers
|
|||||||
.ImplementedBy<ItemFilterPersistenceService>()
|
.ImplementedBy<ItemFilterPersistenceService>()
|
||||||
.LifeStyle.Singleton);
|
.LifeStyle.Singleton);
|
||||||
|
|
||||||
|
container.Register(
|
||||||
|
Component.For<IItemFilterScriptDirectoryService>()
|
||||||
|
.ImplementedBy<ItemFilterScriptDirectoryService>()
|
||||||
|
.LifeStyle.Singleton);
|
||||||
|
|
||||||
|
container.Register(
|
||||||
|
Component.For<IScriptLoadingService>()
|
||||||
|
.ImplementedBy<ScriptLoadingService>()
|
||||||
|
.LifeStyle.Singleton);
|
||||||
|
|
||||||
container.Register(
|
container.Register(
|
||||||
Component.For<IStaticDataService>()
|
Component.For<IStaticDataService>()
|
||||||
.ImplementedBy<StaticDataService>()
|
.ImplementedBy<StaticDataService>()
|
||||||
@@ -43,6 +53,11 @@ namespace Filtration.WindsorInstallers
|
|||||||
Component.For<ISettingsService>()
|
Component.For<ISettingsService>()
|
||||||
.ImplementedBy<SettingsService>()
|
.ImplementedBy<SettingsService>()
|
||||||
.LifeStyle.Singleton);
|
.LifeStyle.Singleton);
|
||||||
|
|
||||||
|
container.Register(
|
||||||
|
Component.For<IDialogService>()
|
||||||
|
.ImplementedBy<DialogService>()
|
||||||
|
.LifeStyle.Singleton);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,27 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="AutoMapper" version="6.0.2" targetFramework="net461" />
|
<package id="AutoMapper" version="8.0.0" targetFramework="net461" />
|
||||||
<package id="Castle.Core" version="3.3.3" targetFramework="net451" />
|
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||||
<package id="Castle.Windsor" version="3.4.0" targetFramework="net461" />
|
<package id="Castle.Windsor" version="4.1.1" targetFramework="net461" />
|
||||||
<package id="CommonServiceLocator" version="1.3" targetFramework="net451" />
|
<package id="CommonServiceLocator" version="2.0.4" targetFramework="net461" />
|
||||||
<package id="ControlzEx" version="2.2.0.4" targetFramework="net461" />
|
<package id="ControlzEx" version="3.0.2.4" targetFramework="net461" />
|
||||||
<package id="DeltaCompressionDotNet" version="1.1.0" targetFramework="net461" />
|
<package id="DeltaCompressionDotNet" version="1.1.0" targetFramework="net461" />
|
||||||
<package id="Extended.Wpf.Toolkit" version="2.9" targetFramework="net461" />
|
<package id="DynamicData" version="6.7.0.2529" targetFramework="net461" />
|
||||||
<package id="Fluent.Ribbon" version="4.0.3.394" targetFramework="net461" />
|
<package id="Extended.Wpf.Toolkit" version="3.4.0" targetFramework="net461" />
|
||||||
<package id="MahApps.Metro" version="1.2.4.0" targetFramework="net461" />
|
<package id="Fluent.Ribbon" version="6.1.0.326" targetFramework="net461" />
|
||||||
<package id="Mono.Cecil" version="0.9.6.1" targetFramework="net461" />
|
<package id="MahApps.Metro" version="1.2.4.0" targetFramework="net461" />
|
||||||
<package id="MvvmLightLibs" version="5.3.0.0" targetFramework="net461" />
|
<package id="Mono.Cecil" version="0.9.6.1" targetFramework="net461" />
|
||||||
<package id="NLog" version="4.4.9" targetFramework="net461" />
|
<package id="MvvmLightLibs" version="5.4.1.1" targetFramework="net461" />
|
||||||
<package id="NLog.Config" version="4.3.7" targetFramework="net461" />
|
<package id="NLog" version="4.5.11" targetFramework="net461" />
|
||||||
<package id="NLog.Schema" version="4.4.9" targetFramework="net461" />
|
<package id="NLog.Schema" version="4.5.11" targetFramework="net461" />
|
||||||
<package id="NuGet.CommandLine" version="4.7.1" targetFramework="net461" developmentDependency="true" />
|
<package id="NuGet.CommandLine" version="4.7.1" targetFramework="net461" developmentDependency="true" />
|
||||||
<package id="SharpCompress" version="0.17.1" targetFramework="net461" />
|
<package id="SharpCompress" version="0.17.1" targetFramework="net461" />
|
||||||
<package id="Splat" version="1.6.2" targetFramework="net461" />
|
<package id="Splat" version="1.6.2" targetFramework="net461" />
|
||||||
<package id="squirrel.windows" version="1.8.0" targetFramework="net461" />
|
<package id="squirrel.windows" version="1.9.0" targetFramework="net461" />
|
||||||
<package id="WindowsAPICodePack-Core" version="1.1.2" targetFramework="net461" />
|
<package id="System.Reactive" version="4.0.0" targetFramework="net461" />
|
||||||
<package id="WindowsAPICodePack-Shell" version="1.1.1" targetFramework="net461" />
|
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
|
||||||
<package id="WpfAnimatedGif" version="1.4.14" targetFramework="net461" />
|
<package id="WindowsAPICodePack-Core" version="1.1.2" targetFramework="net461" />
|
||||||
<package id="WPFToolkit" version="3.5.50211.1" targetFramework="net451" />
|
<package id="WindowsAPICodePack-Shell" version="1.1.1" targetFramework="net461" />
|
||||||
|
<package id="WpfAnimatedGif" version="1.4.17" targetFramework="net461" />
|
||||||
|
<package id="WPFToolkit" version="3.5.50211.1" targetFramework="net451" />
|
||||||
</packages>
|
</packages>
|
||||||
Reference in New Issue
Block a user