Compare commits
27 Commits
1.1.0-beta
...
1.1.0-beta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad1b46f975 | ||
|
|
9f17d84a7f | ||
|
|
0fe21336e6 | ||
|
|
2ba1b8adac | ||
|
|
2415be089b | ||
|
|
892b2f15f2 | ||
|
|
042e5b41f9 | ||
|
|
5fc260dbb2 | ||
|
|
3de33e9447 | ||
|
|
37ad9ac42e | ||
|
|
fbd02702b0 | ||
|
|
a20c988380 | ||
|
|
7ce5aaa861 | ||
|
|
4b6cee9d94 | ||
|
|
6fb0ec8084 | ||
|
|
a13dc44a7d | ||
|
|
05b729edf8 | ||
|
|
876e98437e | ||
|
|
30e76e333c | ||
|
|
f840fb69ad | ||
|
|
ae98c2d5de | ||
|
|
ba6d50cf45 | ||
|
|
6838cb12a8 | ||
|
|
fd2023598b | ||
|
|
e3b1a5dba7 | ||
|
|
25c25c2a1d | ||
|
|
e5386132c3 |
@@ -66,6 +66,24 @@
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="Xceed.Wpf.AvalonDock, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Xceed.Wpf.DataGrid, Version=3.4.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Extended.Wpf.Toolkit.3.4.0\lib\net40\Xceed.Wpf.DataGrid.dll</HintPath>
|
||||
</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>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Converters\BooleanInverterConverter.cs" />
|
||||
@@ -80,6 +98,8 @@
|
||||
<Compile Include="Services\FileSystemService.cs" />
|
||||
<Compile Include="Services\MessageBoxService.cs" />
|
||||
<Compile Include="Utilities\LineReader.cs" />
|
||||
<Compile Include="Utilities\PathOfExileColors.cs" />
|
||||
<Compile Include="Utilities\VisualTreeUtility.cs" />
|
||||
<Compile Include="ViewModels\PaneViewModel.cs" />
|
||||
<Compile Include="WindsorInstallers\ServicesInstaller.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
using System.Windows.Media;
|
||||
using Xceed.Wpf.Toolkit;
|
||||
|
||||
namespace Filtration.Views
|
||||
namespace Filtration.Common.Utilities
|
||||
{
|
||||
internal static class PathOfExileColors
|
||||
public static class PathOfExileColors
|
||||
{
|
||||
static PathOfExileColors()
|
||||
{
|
||||
26
Filtration.Common/Utilities/VisualTreeUtility.cs
Normal file
26
Filtration.Common/Utilities/VisualTreeUtility.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace Filtration.Common.Utilities
|
||||
{
|
||||
public class VisualTreeUtility
|
||||
{
|
||||
public static T FindParent<T>(DependencyObject child)
|
||||
where T : DependencyObject
|
||||
{
|
||||
//get parent item
|
||||
var parentObject = VisualTreeHelper.GetParent(child);
|
||||
|
||||
//we've reached the end of the tree
|
||||
if (parentObject == null) return null;
|
||||
|
||||
//check if the parent matches the type we're looking for
|
||||
if (parentObject is T parent)
|
||||
{
|
||||
return parent;
|
||||
}
|
||||
|
||||
return FindParent<T>(parentObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,5 +3,6 @@
|
||||
<package id="Castle.Core" version="4.3.1" targetFramework="net461" />
|
||||
<package id="Castle.Windsor" version="4.1.1" targetFramework="net461" />
|
||||
<package id="CommonServiceLocator" version="2.0.4" targetFramework="net461" />
|
||||
<package id="Extended.Wpf.Toolkit" version="3.4.0" targetFramework="net461" />
|
||||
<package id="MvvmLightLibs" version="5.4.1.1" targetFramework="net461" />
|
||||
</packages>
|
||||
@@ -1,39 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="ControlzEx" publicKeyToken="f08b075e934b7045" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.0.4" newVersion="2.2.0.4" />
|
||||
</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="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>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="ControlzEx" publicKeyToken="f08b075e934b7045" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.0.4" newVersion="2.2.0.4" />
|
||||
</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="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>
|
||||
@@ -41,8 +41,8 @@ namespace Filtration.ObjectModel.BlockItemBaseTypes
|
||||
|
||||
public override Color SummaryTextColor => Action == BlockAction.Show ? Colors.Black : Colors.White;
|
||||
|
||||
public override int SortOrder => 0;
|
||||
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Action;
|
||||
|
||||
public void ToggleAction()
|
||||
{
|
||||
Action = Action == BlockAction.Show ? BlockAction.Hide : BlockAction.Show;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.Annotations;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemBaseTypes
|
||||
{
|
||||
@@ -16,7 +17,7 @@ namespace Filtration.ObjectModel.BlockItemBaseTypes
|
||||
public abstract string SummaryText { get; }
|
||||
public abstract Color SummaryBackgroundColor { get; }
|
||||
public abstract Color SummaryTextColor { get; }
|
||||
public abstract int SortOrder { get; }
|
||||
public abstract BlockItemOrdering SortOrder { get; }
|
||||
public string Comment { get; set; }
|
||||
|
||||
public bool IsDirty
|
||||
@@ -30,7 +31,7 @@ namespace Filtration.ObjectModel.BlockItemBaseTypes
|
||||
}
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
|
||||
|
||||
[NotifyPropertyChangedInvocator]
|
||||
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
|
||||
{
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
}
|
||||
|
||||
public override string OutputText => PrefixText + " " + BooleanValue;
|
||||
public override string SummaryText => PrefixText + " = " + BooleanValue;
|
||||
public override string SummaryText => DisplayHeading + " = " + BooleanValue;
|
||||
public override int MaximumAllowed => 1;
|
||||
|
||||
public void ToggleValue()
|
||||
|
||||
16
Filtration.ObjectModel/BlockItemBaseTypes/NilBlockItem.cs
Normal file
16
Filtration.ObjectModel/BlockItemBaseTypes/NilBlockItem.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
namespace Filtration.ObjectModel.BlockItemBaseTypes
|
||||
{
|
||||
public abstract class NilBlockItem : BlockItemBase
|
||||
{
|
||||
protected NilBlockItem()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override string OutputText => PrefixText;
|
||||
public override string SummaryText => DisplayHeading;
|
||||
public override int MaximumAllowed => 1;
|
||||
|
||||
public abstract string Description { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
@@ -17,6 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string PrefixText => "SetBackgroundColor";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Background Color";
|
||||
public override int SortOrder => 23;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.SetBackgroundColor;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Linq;
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -16,23 +17,23 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
if (Items.Count > 0 && Items.Count < 4)
|
||||
{
|
||||
return "Item Base Types: " +
|
||||
return "Base Types: " +
|
||||
Items.Aggregate(string.Empty, (current, i) => current + i + ", ").TrimEnd(' ').TrimEnd(',');
|
||||
}
|
||||
if (Items.Count >= 4)
|
||||
{
|
||||
var remaining = Items.Count - 3;
|
||||
return "Item Base Types: " + Items.Take(3)
|
||||
return "Base Types: " + Items.Take(3)
|
||||
.Aggregate(string.Empty, (current, i) => current + i + ", ")
|
||||
.TrimEnd(' ')
|
||||
.TrimEnd(',') + " (+" + remaining + " more)";
|
||||
}
|
||||
return "Item Base Types: (none)";
|
||||
return "Base Types: (none)";
|
||||
}
|
||||
}
|
||||
|
||||
public override Color SummaryBackgroundColor => Colors.MediumTurquoise;
|
||||
public override Color SummaryTextColor => Colors.Black;
|
||||
public override int SortOrder => 20;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.BaseType;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -17,6 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string PrefixText => "SetBorderColor";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Border Color";
|
||||
public override int SortOrder => 24;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.SetBorderColor;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Linq;
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -16,23 +17,23 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
if (Items.Count > 0 && Items.Count < 4)
|
||||
{
|
||||
return "Item Classes: " +
|
||||
return "Classes: " +
|
||||
Items.Aggregate(string.Empty, (current, i) => current + i + ", ").TrimEnd(' ').TrimEnd(',');
|
||||
}
|
||||
if (Items.Count >= 4)
|
||||
{
|
||||
var remaining = Items.Count - 3;
|
||||
return "Item Classes: " + Items.Take(3)
|
||||
return "Classes: " + Items.Take(3)
|
||||
.Aggregate(string.Empty, (current, i) => current + i + ", ")
|
||||
.TrimEnd(' ')
|
||||
.TrimEnd(',') + " (+" + remaining + " more)";
|
||||
}
|
||||
return "Item Classes: (none)";
|
||||
return "Classes: (none)";
|
||||
}
|
||||
}
|
||||
|
||||
public override Color SummaryBackgroundColor => Colors.MediumSeaGreen;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 19;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Class;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string DisplayHeading => "Corrupted";
|
||||
public override Color SummaryBackgroundColor => Colors.DarkRed;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 5;
|
||||
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Corrupted;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -16,6 +17,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string PrefixText => "CustomAlertSound";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Custom Alert Sound";
|
||||
public override int SortOrder => 31;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.CustomAlertSound;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,23 +1,20 @@
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
public sealed class DisableDropSoundBlockItem : BooleanBlockItem, IAudioVisualBlockItem
|
||||
public sealed class DisableDropSoundBlockItem : NilBlockItem, IAudioVisualBlockItem
|
||||
{
|
||||
public DisableDropSoundBlockItem()
|
||||
{
|
||||
}
|
||||
|
||||
public DisableDropSoundBlockItem(bool booleanValue) : base(booleanValue)
|
||||
public DisableDropSoundBlockItem() : base()
|
||||
{
|
||||
}
|
||||
|
||||
public override string PrefixText => "DisableDropSound";
|
||||
public override string DisplayHeading => "Disable Drop Sound";
|
||||
public override string Description => "Default drop sound disabled.";
|
||||
public override Color SummaryBackgroundColor => Colors.Transparent;
|
||||
public override Color SummaryTextColor => Colors.Transparent;
|
||||
public override int SortOrder => 28;
|
||||
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.DisableDropSound;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string SummaryText => "Drop Level " + FilterPredicate;
|
||||
public override Color SummaryBackgroundColor => Colors.DodgerBlue;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 15;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.DropLevel;
|
||||
public override int Minimum => 0;
|
||||
public override int Maximum => 100;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string DisplayHeading => "Elder Item";
|
||||
public override Color SummaryBackgroundColor => Colors.DarkGray;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 6;
|
||||
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.ElderItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string DisplayHeading => "Elder Map";
|
||||
public override Color SummaryBackgroundColor => Colors.DarkGoldenrod;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 10;
|
||||
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.ElderMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -16,7 +17,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string PrefixText => "SetFontSize";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Font Size";
|
||||
public override int SortOrder => 25;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.SetFontSize;
|
||||
public override int Minimum => 11;
|
||||
public override int Maximum => 45;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string SummaryText => "Gem Level " + FilterPredicate;
|
||||
public override Color SummaryBackgroundColor => Colors.DarkSlateGray;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 16;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.GemLevel;
|
||||
public override int Minimum => 0;
|
||||
public override int Maximum => 21;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Linq;
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -16,23 +17,23 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
if (Items.Count > 0 && Items.Count < 4)
|
||||
{
|
||||
return "Item Explicit Mods: " +
|
||||
return "Explicit Mods: " +
|
||||
Items.Aggregate(string.Empty, (current, i) => current + i + ", ").TrimEnd(' ').TrimEnd(',');
|
||||
}
|
||||
if (Items.Count >= 4)
|
||||
{
|
||||
var remaining = Items.Count - 3;
|
||||
return "Item Explicit Mods: " + Items.Take(3)
|
||||
return "Explicit Mods: " + Items.Take(3)
|
||||
.Aggregate(string.Empty, (current, i) => current + i + ", ")
|
||||
.TrimEnd(' ')
|
||||
.TrimEnd(',') + " (+" + remaining + " more)";
|
||||
}
|
||||
return "Item Explicit Mods: (none)";
|
||||
return "Explicit Mods: (none)";
|
||||
}
|
||||
}
|
||||
|
||||
public override Color SummaryBackgroundColor => Colors.MidnightBlue;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 21;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.HasExplicitMod;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string SummaryText => "Height " + FilterPredicate;
|
||||
public override Color SummaryBackgroundColor => Colors.LightBlue;
|
||||
public override Color SummaryTextColor => Colors.Black;
|
||||
public override int SortOrder => 12;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Height;
|
||||
public override int Minimum => 0;
|
||||
public override int Maximum => 6;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string DisplayHeading => "Identified";
|
||||
public override Color SummaryBackgroundColor => Colors.DarkSlateGray;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 4;
|
||||
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Identified;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,14 +13,14 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public ItemLevelBlockItem(FilterPredicateOperator predicateOperator, int predicateOperand) : base (predicateOperator, predicateOperand)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public override string PrefixText => "ItemLevel";
|
||||
public override int MaximumAllowed => 2;
|
||||
public override string DisplayHeading => "Item Level";
|
||||
public override string SummaryText => "Item Level " + FilterPredicate;
|
||||
public override Color SummaryBackgroundColor => Colors.DarkSlateGray;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 14;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.ItemLevel;
|
||||
public override int Minimum => 0;
|
||||
public override int Maximum => 100;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string SummaryText => "Linked Sockets " + FilterPredicate;
|
||||
public override Color SummaryBackgroundColor => Colors.Gold;
|
||||
public override Color SummaryTextColor => Colors.Black;
|
||||
public override int SortOrder => 1;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.LinkedSockets;
|
||||
public override int Minimum => 0;
|
||||
public override int Maximum => 6;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string PrefixText => "MinimapIcon";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Minimap Icon";
|
||||
public override int SortOrder => 29;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.MinimapIcon;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string SummaryText => "Map Tier " + FilterPredicate;
|
||||
public override Color SummaryBackgroundColor => Colors.DarkSlateGray;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 8;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.MapTier;
|
||||
public override int Minimum => 1;
|
||||
public override int Maximum => 16;
|
||||
}
|
||||
|
||||
@@ -18,6 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string PrefixText => "PlayEffect";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Play Effect";
|
||||
public override int SortOrder => 30;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.PlayEffect;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -17,6 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string PrefixText => "PlayAlertSoundPositional";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Play Positional Alert Sound";
|
||||
public override int SortOrder => 27;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.PlayAlertSoundPositional;
|
||||
}
|
||||
}
|
||||
|
||||
39
Filtration.ObjectModel/BlockItemTypes/ProphecyBlockItem.cs
Normal file
39
Filtration.ObjectModel/BlockItemTypes/ProphecyBlockItem.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System.Linq;
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
public class ProphecyBlockItem : StringListBlockItem
|
||||
{
|
||||
public override string PrefixText => "Prophecy";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Prophecy";
|
||||
|
||||
public override string SummaryText
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Items.Count > 0 && Items.Count < 4)
|
||||
{
|
||||
return "Prophecies: " +
|
||||
Items.Aggregate(string.Empty, (current, i) => current + i + ", ").TrimEnd(' ').TrimEnd(',');
|
||||
}
|
||||
if (Items.Count >= 4)
|
||||
{
|
||||
var remaining = Items.Count - 3;
|
||||
return "Prophecies: " + Items.Take(3)
|
||||
.Aggregate(string.Empty, (current, i) => current + i + ", ")
|
||||
.TrimEnd(' ')
|
||||
.TrimEnd(',') + " (+" + remaining + " more)";
|
||||
}
|
||||
return "Prophecies: (none)";
|
||||
}
|
||||
}
|
||||
|
||||
public override Color SummaryBackgroundColor => Colors.DarkMagenta;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Prophecy;
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public QualityBlockItem()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public QualityBlockItem(FilterPredicateOperator predicateOperator, int predicateOperand)
|
||||
: base(predicateOperator, predicateOperand)
|
||||
{
|
||||
@@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string SummaryText => "Quality " + FilterPredicate;
|
||||
public override Color SummaryBackgroundColor => Colors.DarkOrange;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 3;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Quality;
|
||||
public override int Minimum => 0;
|
||||
public override int Maximum => 30;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
((ItemRarity) FilterPredicate.PredicateOperand).GetAttributeDescription();
|
||||
public override Color SummaryBackgroundColor => Colors.LightCoral;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 18;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Rarity;
|
||||
public override int Minimum => 0;
|
||||
public override int Maximum => (int)ItemRarity.Unique;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string DisplayHeading => "Shaped Map";
|
||||
public override Color SummaryBackgroundColor => Colors.DarkGoldenrod;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 9;
|
||||
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.ShapedMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -17,7 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string DisplayHeading => "Shaper Item";
|
||||
public override Color SummaryBackgroundColor => Colors.DimGray;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 7;
|
||||
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.ShaperItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
public SocketGroupBlockItem()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
public override string PrefixText => "SocketGroup";
|
||||
@@ -39,7 +39,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
|
||||
public override Color SummaryBackgroundColor => Colors.GhostWhite;
|
||||
public override Color SummaryTextColor => Colors.Black;
|
||||
public override int SortOrder => 11;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.SocketGroup;
|
||||
|
||||
private SocketColor StringToSocketColor(char socketColorString)
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string SummaryText => "Sockets " + FilterPredicate;
|
||||
public override Color SummaryBackgroundColor => Colors.LightGray;
|
||||
public override Color SummaryTextColor => Colors.Black;
|
||||
public override int SortOrder => 2;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Sockets;
|
||||
public override int Minimum => 0;
|
||||
public override int Maximum => 6;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel.BlockItemTypes
|
||||
{
|
||||
@@ -17,6 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string PrefixText => "PlayAlertSound";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Play Alert Sound";
|
||||
public override int SortOrder => 26;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.PlayAlertSound;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string SummaryText => "Stack Size " + FilterPredicate;
|
||||
public override Color SummaryBackgroundColor => Colors.DarkSlateGray;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 17;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.StackSize;
|
||||
public override int Minimum => 0;
|
||||
public override int Maximum => 1000;
|
||||
}
|
||||
|
||||
@@ -18,6 +18,6 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string PrefixText => "SetTextColor";
|
||||
public override int MaximumAllowed => 1;
|
||||
public override string DisplayHeading => "Text Color";
|
||||
public override int SortOrder => 22;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.SetTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes
|
||||
public override string SummaryText => "Width " + FilterPredicate;
|
||||
public override Color SummaryBackgroundColor => Colors.MediumPurple;
|
||||
public override Color SummaryTextColor => Colors.White;
|
||||
public override int SortOrder => 13;
|
||||
public override BlockItemOrdering SortOrder => BlockItemOrdering.Width;
|
||||
public override int Minimum => 0;
|
||||
public override int Maximum => 2;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace Filtration.ObjectModel.Commands.ItemFilterScript
|
||||
{
|
||||
public class AddBlockItemToBlocksCommand : IUndoableCommand
|
||||
{
|
||||
private readonly List<Tuple<ObservableCollection<IItemFilterBlockItem>, IItemFilterBlockItem>> _input;
|
||||
|
||||
public AddBlockItemToBlocksCommand(List<Tuple<ObservableCollection<IItemFilterBlockItem>, IItemFilterBlockItem>> input)
|
||||
{
|
||||
_input = input;
|
||||
}
|
||||
|
||||
public void Execute()
|
||||
{
|
||||
foreach (var v in _input)
|
||||
{
|
||||
var blockItems = v.Item1;
|
||||
var item = v.Item2;
|
||||
|
||||
blockItems.Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
public void Undo()
|
||||
{
|
||||
foreach (var v in _input)
|
||||
{
|
||||
var blockItems = v.Item1;
|
||||
var item = v.Item2;
|
||||
blockItems.Remove(item);
|
||||
}
|
||||
}
|
||||
|
||||
public void Redo() => Execute();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace Filtration.ObjectModel.Commands.ItemFilterScript
|
||||
{
|
||||
public class RemoveBlockItemFromBlocksCommand : IUndoableCommand
|
||||
{
|
||||
private readonly List<Tuple<ObservableCollection<IItemFilterBlockItem>, IItemFilterBlockItem>> _input;
|
||||
|
||||
public RemoveBlockItemFromBlocksCommand(List<Tuple<ObservableCollection<IItemFilterBlockItem>, IItemFilterBlockItem>> input)
|
||||
{
|
||||
_input = input;
|
||||
}
|
||||
|
||||
public void Execute()
|
||||
{
|
||||
foreach (var pair in _input)
|
||||
{
|
||||
var blockItems = pair.Item1;
|
||||
var blockItem = pair.Item2;
|
||||
|
||||
for (var i = 0; i < blockItems.Count; i++)
|
||||
{
|
||||
if (blockItems[i] == blockItem)
|
||||
{
|
||||
blockItems.RemoveAt(i--);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Undo()
|
||||
{
|
||||
foreach (var pair in _input)
|
||||
{
|
||||
var blockItems = pair.Item1;
|
||||
var blockItem = pair.Item2;
|
||||
blockItems.Add(blockItem);
|
||||
}
|
||||
}
|
||||
|
||||
public void Redo() => Execute();
|
||||
}
|
||||
}
|
||||
41
Filtration.ObjectModel/Enums/BlockItemOrdering.cs
Normal file
41
Filtration.ObjectModel/Enums/BlockItemOrdering.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Filtration.ObjectModel.Enums
|
||||
{
|
||||
public enum BlockItemOrdering
|
||||
{
|
||||
Action,
|
||||
LinkedSockets,
|
||||
Sockets,
|
||||
Quality,
|
||||
Identified,
|
||||
Corrupted,
|
||||
ElderItem,
|
||||
ShaperItem,
|
||||
MapTier,
|
||||
ShapedMap,
|
||||
ElderMap,
|
||||
SocketGroup,
|
||||
Height,
|
||||
Width,
|
||||
ItemLevel,
|
||||
DropLevel,
|
||||
GemLevel,
|
||||
StackSize,
|
||||
Rarity,
|
||||
Class,
|
||||
BaseType,
|
||||
Prophecy,
|
||||
HasExplicitMod,
|
||||
SetTextColor,
|
||||
SetBackgroundColor,
|
||||
SetBorderColor,
|
||||
SetFontSize,
|
||||
PlayAlertSound,
|
||||
PlayAlertSoundPositional,
|
||||
DisableDropSound,
|
||||
MinimapIcon,
|
||||
PlayEffect,
|
||||
CustomAlertSound
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@
|
||||
Rarity,
|
||||
Class,
|
||||
BaseType,
|
||||
Prophecy,
|
||||
Sockets,
|
||||
LinkedSockets,
|
||||
SocketGroup,
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
<Compile Include="BlockItemBaseTypes\DualIntegerBlockItem.cs" />
|
||||
<Compile Include="BlockItemBaseTypes\EffectColorBlockItem.cs" />
|
||||
<Compile Include="BlockItemBaseTypes\IconBlockItem.cs" />
|
||||
<Compile Include="BlockItemBaseTypes\NilBlockItem.cs" />
|
||||
<Compile Include="BlockItemBaseTypes\StringBlockItem.cs" />
|
||||
<Compile Include="BlockItemBaseTypes\StrIntBlockItem.cs" />
|
||||
<Compile Include="BlockItemBaseTypes\IntegerBlockItem.cs" />
|
||||
@@ -92,6 +93,7 @@
|
||||
<Compile Include="BlockItemTypes\GemLevelBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\HasExplicitModBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\MapIconBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ProphecyBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ShapedMapBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ShaperItemBlockItem.cs" />
|
||||
<Compile Include="BlockItemTypes\ElderItemBlockItem.cs" />
|
||||
@@ -113,16 +115,19 @@
|
||||
<Compile Include="BlockItemTypes\WidthBlockItem.cs" />
|
||||
<Compile Include="Commands\CommandManager.cs" />
|
||||
<Compile Include="Commands\ICommand.cs" />
|
||||
<Compile Include="Commands\ItemFilterScript\AddBlockItemToBlocksCommand.cs" />
|
||||
<Compile Include="Commands\ItemFilterScript\MoveBlocksToIndexCommand.cs" />
|
||||
<Compile Include="Commands\ItemFilterScript\MoveBlocksToBottomCommand.cs" />
|
||||
<Compile Include="Commands\ItemFilterScript\AddCommentBlockCommand.cs" />
|
||||
<Compile Include="Commands\ItemFilterScript\MoveBlocksToTopCommand.cs" />
|
||||
<Compile Include="Commands\ItemFilterScript\PasteBlocksCommand.cs" />
|
||||
<Compile Include="Commands\ItemFilterScript\RemoveBlockItemFromBlocksCommand.cs" />
|
||||
<Compile Include="Commands\ItemFilterScript\RemoveBlocksCommand.cs" />
|
||||
<Compile Include="Commands\ItemFilterScript\SetScriptDescriptionCommand.cs" />
|
||||
<Compile Include="Commands\ItemFilterScript\AddBlockCommand.cs" />
|
||||
<Compile Include="Commands\IUndoableCommand.cs" />
|
||||
<Compile Include="Enums\BlockAction.cs" />
|
||||
<Compile Include="Enums\BlockItemOrdering.cs" />
|
||||
<Compile Include="Enums\BlockItemType.cs" />
|
||||
<Compile Include="Enums\EffectColor.cs" />
|
||||
<Compile Include="Enums\FilterPredicateOperator.cs" />
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
|
||||
namespace Filtration.ObjectModel
|
||||
{
|
||||
@@ -12,7 +13,7 @@ namespace Filtration.ObjectModel
|
||||
Color SummaryBackgroundColor { get; }
|
||||
Color SummaryTextColor { get; }
|
||||
int MaximumAllowed { get; }
|
||||
int SortOrder { get; }
|
||||
BlockItemOrdering SortOrder { get; }
|
||||
bool IsDirty { get; }
|
||||
string Comment { get; set; }
|
||||
}
|
||||
|
||||
@@ -9,6 +9,10 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
{
|
||||
private Color _color;
|
||||
|
||||
private ColorThemeComponent()
|
||||
{
|
||||
}
|
||||
|
||||
public ColorThemeComponent(ThemeComponentType componentType, string componentName, Color componentColor)
|
||||
{
|
||||
if (componentName == null || componentColor == null)
|
||||
@@ -23,7 +27,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
|
||||
public Color Color
|
||||
{
|
||||
get { return _color; }
|
||||
get => _color;
|
||||
set
|
||||
{
|
||||
_color = value;
|
||||
|
||||
@@ -9,22 +9,21 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
private EffectColor _effectColor;
|
||||
private bool _temporary;
|
||||
|
||||
private EffectColorThemeComponent()
|
||||
{
|
||||
}
|
||||
|
||||
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;
|
||||
ComponentName = componentName;
|
||||
ComponentName = componentName ?? throw new ArgumentException("Null parameters not allowed in EffectColorThemeComponent constructor");
|
||||
EffectColor = componentEffectColor;
|
||||
Temporary = componentTemporary;
|
||||
}
|
||||
|
||||
public EffectColor EffectColor
|
||||
{
|
||||
get { return _effectColor; }
|
||||
get => _effectColor;
|
||||
set
|
||||
{
|
||||
_effectColor = value;
|
||||
@@ -35,7 +34,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
|
||||
public bool Temporary
|
||||
{
|
||||
get { return _temporary; }
|
||||
get => _temporary;
|
||||
set
|
||||
{
|
||||
_temporary = value;
|
||||
|
||||
@@ -10,6 +10,10 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
private IconColor _iconColor;
|
||||
private IconShape _iconShape;
|
||||
|
||||
private IconThemeComponent()
|
||||
{
|
||||
}
|
||||
|
||||
public IconThemeComponent(ThemeComponentType componentType, string componentName, IconSize componentIconSize, IconColor componentIconColor, IconShape componentIconShape)
|
||||
{
|
||||
if (componentName == null)
|
||||
@@ -26,7 +30,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
|
||||
public IconSize IconSize
|
||||
{
|
||||
get { return _iconSize; }
|
||||
get => _iconSize;
|
||||
set
|
||||
{
|
||||
_iconSize = value;
|
||||
@@ -37,7 +41,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
|
||||
public IconColor IconColor
|
||||
{
|
||||
get { return _iconColor; }
|
||||
get => _iconColor;
|
||||
set
|
||||
{
|
||||
_iconColor = value;
|
||||
@@ -48,7 +52,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
|
||||
public IconShape IconShape
|
||||
{
|
||||
get { return _iconShape; }
|
||||
get => _iconShape;
|
||||
set
|
||||
{
|
||||
_iconShape = value;
|
||||
|
||||
@@ -9,6 +9,10 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
{
|
||||
private int _value;
|
||||
|
||||
private IntegerThemeComponent()
|
||||
{
|
||||
}
|
||||
|
||||
public IntegerThemeComponent(ThemeComponentType componentType, string componentName, int componentValue)
|
||||
{
|
||||
if (componentName == null)
|
||||
@@ -23,7 +27,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
|
||||
public int Value
|
||||
{
|
||||
get { return _value; }
|
||||
get => _value;
|
||||
set
|
||||
{
|
||||
_value = value;
|
||||
|
||||
@@ -9,6 +9,10 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
private string _value;
|
||||
private int _secondValue;
|
||||
|
||||
private StrIntThemeComponent()
|
||||
{
|
||||
}
|
||||
|
||||
public StrIntThemeComponent(ThemeComponentType componentType, string componentName, string componentValue, int componentSecondValue)
|
||||
{
|
||||
if (componentName == null || componentValue == null)
|
||||
@@ -24,7 +28,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
|
||||
public string Value
|
||||
{
|
||||
get { return _value; }
|
||||
get => _value;
|
||||
set
|
||||
{
|
||||
_value = value;
|
||||
@@ -35,7 +39,7 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
|
||||
public int SecondValue
|
||||
{
|
||||
get { return _secondValue; }
|
||||
get => _secondValue;
|
||||
set
|
||||
{
|
||||
_secondValue = value;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
using GalaSoft.MvvmLight.Command;
|
||||
using Microsoft.Win32;
|
||||
@@ -13,6 +14,10 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
private string _value;
|
||||
public static ObservableCollection<string> _customSoundsAvailable;
|
||||
|
||||
private StringThemeComponent()
|
||||
{
|
||||
}
|
||||
|
||||
public StringThemeComponent(ThemeComponentType componentType, string componentName, string componentValue)
|
||||
{
|
||||
if (componentName == null || componentValue == null)
|
||||
@@ -61,13 +66,14 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
CustomSoundFileDialogCommand = new RelayCommand(OnCustomSoundFileDialog);
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public RelayCommand CustomSoundFileDialogCommand { get; set; }
|
||||
|
||||
public ObservableCollection<string> CustomSoundsAvailable => _customSoundsAvailable;
|
||||
|
||||
public string Value
|
||||
{
|
||||
get { return _value; }
|
||||
get => _value;
|
||||
set
|
||||
{
|
||||
_value = value;
|
||||
@@ -78,12 +84,11 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
|
||||
private void OnCustomSoundFileDialog()
|
||||
{
|
||||
OpenFileDialog fileDialog = new OpenFileDialog();
|
||||
fileDialog.DefaultExt = ".mp3";
|
||||
var poePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments).ToString() + @"\My Games\Path of Exile\";
|
||||
OpenFileDialog fileDialog = new OpenFileDialog {DefaultExt = ".mp3"};
|
||||
var poePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\My Games\Path of Exile\";
|
||||
fileDialog.InitialDirectory = poePath;
|
||||
|
||||
Nullable<bool> result = fileDialog.ShowDialog();
|
||||
bool? result = fileDialog.ShowDialog();
|
||||
if (result == true)
|
||||
{
|
||||
var fileName = fileDialog.FileName;
|
||||
|
||||
@@ -7,13 +7,17 @@ using Filtration.ObjectModel.Enums;
|
||||
namespace Filtration.ObjectModel.ThemeEditor
|
||||
{
|
||||
[Serializable]
|
||||
[XmlInclude(typeof(ColorThemeComponent))]
|
||||
[XmlInclude(typeof(EffectColorThemeComponent))]
|
||||
[XmlInclude(typeof(IconThemeComponent))]
|
||||
[XmlInclude(typeof(IntegerThemeComponent))]
|
||||
[XmlInclude(typeof(StringThemeComponent))]
|
||||
[XmlInclude(typeof(StrIntThemeComponent))]
|
||||
public class Theme
|
||||
{
|
||||
private readonly ThemeComponentCollection _components;
|
||||
|
||||
public Theme()
|
||||
{
|
||||
_components = new ThemeComponentCollection { IsMasterCollection = false};
|
||||
Components = new ThemeComponentCollection { IsMasterCollection = false};
|
||||
}
|
||||
|
||||
public string Name { get; set; }
|
||||
@@ -21,28 +25,28 @@ namespace Filtration.ObjectModel.ThemeEditor
|
||||
[XmlIgnore]
|
||||
public string FilePath { get; set; }
|
||||
|
||||
public ThemeComponentCollection Components => _components;
|
||||
public ThemeComponentCollection Components { get; set; }
|
||||
|
||||
public bool ComponentExists(ThemeComponentType componentType, string componentName)
|
||||
{
|
||||
var componentCount =
|
||||
_components.Count(c => c.ComponentName == componentName && c.ComponentType == componentType);
|
||||
Components.Count(c => c.ComponentName == componentName && c.ComponentType == componentType);
|
||||
return componentCount > 0;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
_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)
|
||||
{
|
||||
_components.Add(new StrIntThemeComponent(componentType, componentName, componentValue, componentSecondValue));
|
||||
Components.Add(new StrIntThemeComponent(componentType, componentName, componentValue, componentSecondValue));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,8 +119,8 @@ namespace Filtration.Parser.Tests.Services
|
||||
var blockItem = result.BlockItems.OfType<ItemLevelBlockItem>().First();
|
||||
Assert.AreEqual(55, blockItem.FilterPredicate.PredicateOperand);
|
||||
Assert.AreEqual(FilterPredicateOperator.GreaterThanOrEqual, blockItem.FilterPredicate.PredicateOperator);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Ignore("Update required, ItemFilterBlockTranslator does not set IsShowChecked anymore")]
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_BlockGroupsEnabled_ShowBlock_SetsBlockGroupIsCheckedCorrectly()
|
||||
@@ -567,6 +567,25 @@ namespace Filtration.Parser.Tests.Services
|
||||
Assert.Contains("Test BaseType 2", blockItem.Items);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_Prophecy_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
@" Prophecy ""Test Prophecy 1"" ""TestOneWordProphecyInQuotes"" TestOneWordProphecyNotInQuotes ""Test Prophecy 2""";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is ProphecyBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<ProphecyBlockItem>().First();
|
||||
Assert.Contains("Test Prophecy 1", blockItem.Items);
|
||||
Assert.Contains("TestOneWordProphecyInQuotes", blockItem.Items);
|
||||
Assert.Contains("TestOneWordProphecyNotInQuotes", blockItem.Items);
|
||||
Assert.Contains("Test Prophecy 2", blockItem.Items);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_HasExplicitMod_ReturnsCorrectObject()
|
||||
{
|
||||
@@ -900,7 +919,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" DisableDropSound True";
|
||||
" DisableDropSound # Test";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
@@ -909,7 +928,22 @@ namespace Filtration.Parser.Tests.Services
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is DisableDropSoundBlockItem));
|
||||
var blockItem = result.BlockItems.OfType<DisableDropSoundBlockItem>().First();
|
||||
Assert.IsTrue(blockItem.BooleanValue);
|
||||
Assert.AreEqual(blockItem.Comment, " Test");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateStringToItemFilterBlock_DisableDropSound_IncorrectBooleanValue_ReturnsCorrectObject()
|
||||
{
|
||||
// Arrange
|
||||
var inputString = "Show" + Environment.NewLine +
|
||||
" DisableDropSound True";
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript);
|
||||
|
||||
// Assert
|
||||
|
||||
Assert.AreEqual(1, result.BlockItems.Count(b => b is DisableDropSoundBlockItem));
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -934,6 +968,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
" ElderMap False" + Environment.NewLine +
|
||||
@" Class ""My Item Class"" AnotherClass ""AndAnotherClass""" + Environment.NewLine +
|
||||
@" BaseType MyBaseType ""Another BaseType""" + Environment.NewLine +
|
||||
@" Prophecy MyProphecy ""Another Prophecy""" + Environment.NewLine +
|
||||
@" HasExplicitMod MyMod ""Another Mod""" + Environment.NewLine +
|
||||
" JunkLine Let's ignore this one!" + Environment.NewLine +
|
||||
" #Quality Commented out quality line" + Environment.NewLine +
|
||||
@@ -945,7 +980,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
" SetBorderColor 0 0 0" + Environment.NewLine +
|
||||
" SetFontSize 50" + Environment.NewLine +
|
||||
" PlayAlertSound 3" + Environment.NewLine +
|
||||
" DisableDropSound False" + Environment.NewLine +
|
||||
" DisableDropSound # False" + Environment.NewLine +
|
||||
" CustomAlertSound \"test.mp3\" # customSoundTheme" + Environment.NewLine +
|
||||
" MinimapIcon 2 Green Triangle # iconTheme" + Environment.NewLine +
|
||||
" PlayEffect Green Temp # effectTheme" + Environment.NewLine;
|
||||
@@ -1008,6 +1043,11 @@ namespace Filtration.Parser.Tests.Services
|
||||
Assert.Contains("MyBaseType", baseTypeblockItem.Items);
|
||||
Assert.Contains("Another BaseType", baseTypeblockItem.Items);
|
||||
|
||||
var prophecyblockItem = result.BlockItems.OfType<ProphecyBlockItem>().First();
|
||||
Assert.AreEqual(2, prophecyblockItem.Items.Count);
|
||||
Assert.Contains("MyProphecy", prophecyblockItem.Items);
|
||||
Assert.Contains("Another Prophecy", prophecyblockItem.Items);
|
||||
|
||||
var hasExplicitModBlockItem = result.BlockItems.OfType<HasExplicitModBlockItem>().First();
|
||||
Assert.AreEqual(2, hasExplicitModBlockItem.Items.Count);
|
||||
Assert.Contains("MyMod", hasExplicitModBlockItem.Items);
|
||||
@@ -1050,7 +1090,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
Assert.AreEqual(0, result.BlockItems.OfType<SoundBlockItem>().Count());
|
||||
|
||||
var disableDropSoundBlockItem = result.BlockItems.OfType<DisableDropSoundBlockItem>().First();
|
||||
Assert.IsFalse(disableDropSoundBlockItem.BooleanValue);
|
||||
Assert.AreEqual(disableDropSoundBlockItem.Comment, " False");
|
||||
|
||||
var customSoundBlockItem = result.BlockItems.OfType<CustomSoundBlockItem>().First();
|
||||
Assert.AreEqual("test.mp3", customSoundBlockItem.Value);
|
||||
@@ -1707,6 +1747,26 @@ namespace Filtration.Parser.Tests.Services
|
||||
Assert.AreEqual(expectedResult, result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateItemFilterBlockToString_Prophecies_ReturnsCorrectString()
|
||||
{
|
||||
// Arrange
|
||||
var expectedResult = "Show" + Environment.NewLine +
|
||||
" Prophecy \"Test Prophecy\" \"Another Prophecy\" \"Yet Another Prophecy\"";
|
||||
|
||||
var prophecyBlockItem = new ProphecyBlockItem();
|
||||
prophecyBlockItem.Items.Add("Test Prophecy");
|
||||
prophecyBlockItem.Items.Add("Another Prophecy");
|
||||
prophecyBlockItem.Items.Add("Yet Another Prophecy");
|
||||
_testUtility.TestBlock.BlockItems.Add(prophecyBlockItem);
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(expectedResult, result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TranslateItemFilterBlockToString_HasExplicitMod_ReturnsCorrectString()
|
||||
{
|
||||
@@ -2013,13 +2073,14 @@ namespace Filtration.Parser.Tests.Services
|
||||
" Rarity = Unique" + Environment.NewLine +
|
||||
" Class \"Body Armour\" \"Gloves\" \"Belt\" \"Two Hand Axes\"" + Environment.NewLine +
|
||||
" BaseType \"Greater Life Flask\" \"Simple Robe\" \"Full Wyrmscale\"" + Environment.NewLine +
|
||||
" Prophecy \"The Cursed Choir\" \"A Valuable Combination\" \"The Beautiful Guide\"" + Environment.NewLine +
|
||||
" HasExplicitMod \"Guatelitzi's\" \"of Tacati\" \"Tyrannical\"" + Environment.NewLine +
|
||||
" SetTextColor 255 89 0 56" + Environment.NewLine +
|
||||
" SetBackgroundColor 0 0 0" + Environment.NewLine +
|
||||
" SetBorderColor 255 1 254" + Environment.NewLine +
|
||||
" SetFontSize 50" + Environment.NewLine +
|
||||
" PlayAlertSound 6 90" + Environment.NewLine +
|
||||
" DisableDropSound True" + Environment.NewLine +
|
||||
" DisableDropSound" + Environment.NewLine +
|
||||
" MinimapIcon 1 Blue Circle" + Environment.NewLine +
|
||||
" PlayEffect Red Temp" + Environment.NewLine +
|
||||
" CustomAlertSound \"test.mp3\"";
|
||||
@@ -2046,6 +2107,11 @@ namespace Filtration.Parser.Tests.Services
|
||||
baseTypeItemblockItem.Items.Add("Simple Robe");
|
||||
baseTypeItemblockItem.Items.Add("Full Wyrmscale");
|
||||
_testUtility.TestBlock.BlockItems.Add(baseTypeItemblockItem);
|
||||
var prophecyItemblockItem = new ProphecyBlockItem();
|
||||
prophecyItemblockItem.Items.Add("The Cursed Choir");
|
||||
prophecyItemblockItem.Items.Add("A Valuable Combination");
|
||||
prophecyItemblockItem.Items.Add("The Beautiful Guide");
|
||||
_testUtility.TestBlock.BlockItems.Add(prophecyItemblockItem);
|
||||
var hasExplicitModBlockItem = new HasExplicitModBlockItem();
|
||||
hasExplicitModBlockItem.Items.Add("Guatelitzi's");
|
||||
hasExplicitModBlockItem.Items.Add("of Tacati");
|
||||
@@ -2069,7 +2135,7 @@ namespace Filtration.Parser.Tests.Services
|
||||
_testUtility.TestBlock.BlockItems.Add(new MapTierBlockItem(FilterPredicateOperator.LessThan, 10));
|
||||
_testUtility.TestBlock.BlockItems.Add(new MapIconBlockItem(IconSize.Medium, IconColor.Blue, IconShape.Circle));
|
||||
_testUtility.TestBlock.BlockItems.Add(new PlayEffectBlockItem(EffectColor.Red, true));
|
||||
_testUtility.TestBlock.BlockItems.Add(new DisableDropSoundBlockItem(true));
|
||||
_testUtility.TestBlock.BlockItems.Add(new DisableDropSoundBlockItem());
|
||||
|
||||
// Act
|
||||
var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock);
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace Filtration.Parser.Services
|
||||
return itemFilterCommentBlock;
|
||||
}
|
||||
|
||||
// This method converts a string into a ItemFilterBlock. This is used for pasting ItemFilterBlocks
|
||||
// This method converts a string into a ItemFilterBlock. This is used for pasting ItemFilterBlocks
|
||||
// and reading ItemFilterScripts from a file.
|
||||
public IItemFilterBlock TranslateStringToItemFilterBlock(string inputString, IItemFilterScript parentItemFilterScript, string originalString = "", bool initialiseBlockGroupHierarchyBuilder = false)
|
||||
{
|
||||
@@ -159,6 +159,11 @@ namespace Filtration.Parser.Services
|
||||
AddStringListItemToBlockItems<BaseTypeBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "Prophecy":
|
||||
{
|
||||
AddStringListItemToBlockItems<ProphecyBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "Corrupted":
|
||||
{
|
||||
AddBooleanItemToBlockItems<CorruptedBlockItem>(block, trimmedLine);
|
||||
@@ -268,7 +273,7 @@ namespace Filtration.Parser.Services
|
||||
RemoveExistingBlockItemsOfType<CustomSoundBlockItem>(block);
|
||||
|
||||
var match = Regex.Match(trimmedLine, @"\S+\s+(\S+)\s?(\d+)?");
|
||||
|
||||
|
||||
if (match.Success)
|
||||
{
|
||||
string firstValue = match.Groups[1].Value;
|
||||
@@ -322,19 +327,19 @@ namespace Filtration.Parser.Services
|
||||
// Only ever use the last DisableDropSound item encountered as multiples aren't valid.
|
||||
RemoveExistingBlockItemsOfType<DisableDropSoundBlockItem>(block);
|
||||
|
||||
AddBooleanItemToBlockItems<DisableDropSoundBlockItem>(block, trimmedLine);
|
||||
AddNilItemToBlockItems<DisableDropSoundBlockItem>(block, trimmedLine);
|
||||
break;
|
||||
}
|
||||
case "MinimapIcon":
|
||||
{
|
||||
// Only ever use the last Icon item encountered as multiples aren't valid.
|
||||
RemoveExistingBlockItemsOfType<MapIconBlockItem>(block);
|
||||
|
||||
|
||||
// TODO: Get size, color, shape values programmatically
|
||||
var match = Regex.Match(trimmedLine,
|
||||
@"\S+\s+(0|1|2)\s+(Red|Green|Blue|Brown|White|Yellow)\s+(Circle|Diamond|Hexagon|Square|Star|Triangle)\s*([#]?)(.*)",
|
||||
RegexOptions.IgnoreCase);
|
||||
|
||||
|
||||
if (match.Success)
|
||||
{
|
||||
var blockItemValue = new MapIconBlockItem
|
||||
@@ -359,10 +364,10 @@ namespace Filtration.Parser.Services
|
||||
{
|
||||
// Only ever use the last BeamColor item encountered as multiples aren't valid.
|
||||
RemoveExistingBlockItemsOfType<PlayEffectBlockItem>(block);
|
||||
|
||||
|
||||
// TODO: Get colors programmatically
|
||||
var match = Regex.Match(trimmedLine, @"\S+\s+(Red|Green|Blue|Brown|White|Yellow)\s*(Temp)?", RegexOptions.IgnoreCase);
|
||||
|
||||
|
||||
if (match.Success)
|
||||
{
|
||||
var blockItemValue = new PlayEffectBlockItem
|
||||
@@ -383,7 +388,7 @@ namespace Filtration.Parser.Services
|
||||
RemoveExistingBlockItemsOfType<PositionalSoundBlockItem>(block);
|
||||
|
||||
var match = Regex.Match(trimmedLine, @"\S+\s+""([^\*\<\>\?|]+)""");
|
||||
|
||||
|
||||
if (match.Success)
|
||||
{
|
||||
var blockItemValue = new CustomSoundBlockItem
|
||||
@@ -507,10 +512,17 @@ namespace Filtration.Parser.Services
|
||||
}
|
||||
}
|
||||
|
||||
private static void AddNilItemToBlockItems<T>(IItemFilterBlock block, string inputString) where T : NilBlockItem
|
||||
{
|
||||
var blockItem = Activator.CreateInstance<T>();
|
||||
blockItem.Comment = GetTextAfterFirstComment(inputString);
|
||||
block.BlockItems.Add(blockItem);
|
||||
}
|
||||
|
||||
private static void AddNumericFilterPredicateItemToBlockItems<T>(IItemFilterBlock block, string inputString) where T : NumericFilterPredicateBlockItem
|
||||
{
|
||||
var blockItem = Activator.CreateInstance<T>();
|
||||
|
||||
|
||||
SetNumericFilterPredicateFromString(blockItem.FilterPredicate, inputString);
|
||||
block.BlockItems.Add(blockItem);
|
||||
}
|
||||
@@ -637,10 +649,10 @@ namespace Filtration.Parser.Services
|
||||
blockItems.Add(blockItem);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void AddBlockGroupToBlock(IItemFilterBlock block, string inputString)
|
||||
{
|
||||
var blockGroupText = GetTextAfterFirstComment(inputString);
|
||||
@@ -725,7 +737,7 @@ namespace Filtration.Parser.Services
|
||||
// Remove trailing newline
|
||||
return commentWithHashes.TrimEnd('\r', '\n');
|
||||
}
|
||||
|
||||
|
||||
// This method converts an ItemFilterBlock object into a string. This is used for copying a ItemFilterBlock
|
||||
// to the clipboard, and when saving a ItemFilterScript.
|
||||
// TODO: Private
|
||||
|
||||
@@ -40,7 +40,12 @@
|
||||
<Reference Include="FluentAssertions, Version=5.5.3.0, Culture=neutral, PublicKeyToken=33f2691a05b67b6a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\FluentAssertions.5.5.3\lib\net45\FluentAssertions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null" />
|
||||
<Reference Include="Microsoft.WindowsAPICodePack, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\WindowsAPICodePack-Core.1.1.2\lib\Microsoft.WindowsAPICodePack.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\WindowsAPICodePack-Shell.1.1.1\lib\Microsoft.WindowsAPICodePack.Shell.dll</HintPath>
|
||||
</Reference>
|
||||
<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>
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Filtration.Common.Services;
|
||||
using Filtration.Common.Services;
|
||||
using Filtration.Services;
|
||||
using Microsoft.WindowsAPICodePack.Dialogs;
|
||||
using Moq;
|
||||
|
||||
@@ -1,43 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="ControlzEx" publicKeyToken="f08b075e934b7045" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.0.4" newVersion="2.2.0.4" />
|
||||
</dependentAssembly>
|
||||
<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="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>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="ControlzEx" publicKeyToken="f08b075e934b7045" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.0.4" newVersion="2.2.0.4" />
|
||||
</dependentAssembly>
|
||||
<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="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>
|
||||
|
||||
@@ -7,4 +7,6 @@
|
||||
<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" />
|
||||
<package id="WindowsAPICodePack-Core" version="1.1.2" targetFramework="net461" />
|
||||
<package id="WindowsAPICodePack-Shell" version="1.1.1" targetFramework="net461" />
|
||||
</packages>
|
||||
@@ -158,6 +158,9 @@
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WCFMetadata Include="Connected Services\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- 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.
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
xmlns:views="clr-namespace:Filtration.ThemeEditor.Views"
|
||||
xmlns:extensions="clr-namespace:Filtration.Common.Extensions;assembly=Filtration.Common"
|
||||
xmlns:enums="clr-namespace:Filtration.ObjectModel.Enums;assembly=Filtration.ObjectModel"
|
||||
xmlns:utilities="clr-namespace:Filtration.Common.Utilities;assembly=Filtration.Common"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=themeEditor:ThemeComponent}"
|
||||
d:DesignHeight="100" d:DesignWidth="200">
|
||||
@@ -63,8 +64,8 @@
|
||||
<ContentControl Grid.Row="2" Content="{Binding Mode=OneWay}">
|
||||
<ContentControl.Resources>
|
||||
<!-- Color Theme Template -->
|
||||
<DataTemplate DataType="{x:Type themeEditor:ColorThemeComponent}">
|
||||
<xctk:ColorPicker SelectedColor="{Binding Color}" />
|
||||
<DataTemplate DataType="{x:Type themeEditor:ColorThemeComponent}">
|
||||
<xctk:ColorPicker SelectedColor="{Binding Color}" AvailableColors="{x:Static utilities:PathOfExileColors.DefaultColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" MouseDown="ColorPicker_OnMouseDown" />
|
||||
</DataTemplate>
|
||||
|
||||
<!-- Integer Theme Template -->
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
namespace Filtration.ThemeEditor.Views
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace Filtration.ThemeEditor.Views
|
||||
{
|
||||
public partial class ThemeComponentControl
|
||||
{
|
||||
@@ -6,5 +8,13 @@
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void ColorPicker_OnMouseDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
// For some reason if we don't mark OnMouseDown events as handled for this control
|
||||
// it ignores them and they end up getting picked up by the parent ListBoxItem instead,
|
||||
// resulting in the Advanced tab not being clickable.
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
883
Filtration.sln
883
Filtration.sln
@@ -1,445 +1,438 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration", "Filtration\Filtration.csproj", "{55E0A34C-E039-43D7-A024-A4045401CDDA}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Tests", "Filtration.Tests\Filtration.Tests.csproj", "{E0693972-72C5-4E05-A9C5-A5943E4015C6}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ObjectModel", "Filtration.ObjectModel\Filtration.ObjectModel.csproj", "{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ObjectModel.Tests", "Filtration.ObjectModel.Tests\Filtration.ObjectModel.Tests.csproj", "{537BE676-2FF6-4995-B05B-9CFACE852EC9}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ThemeEditor", "Filtration.ThemeEditor\Filtration.ThemeEditor.csproj", "{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ThemeEditor.Tests", "Filtration.ThemeEditor.Tests\Filtration.ThemeEditor.Tests.csproj", "{450AC313-BF25-4BFD-A066-9F39F026FDCF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Interface", "Filtration.Interface\Filtration.Interface.csproj", "{0F333344-7695-47B2-B0E6-172E4DE74819}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Common", "Filtration.Common\Filtration.Common.csproj", "{8CB44F28-2956-4C2A-9314-72727262EDD4}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Common.Tests", "Filtration.Common.Tests\Filtration.Common.Tests.csproj", "{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ItemFilterPreview", "Filtration.ItemFilterPreview\Filtration.ItemFilterPreview.csproj", "{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ItemFilterPreview.Tests", "Filtration.ItemFilterPreview.Tests\Filtration.ItemFilterPreview.Tests.csproj", "{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Parser", "Filtration.Parser\Filtration.Parser.csproj", "{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Parser.Interface", "Filtration.Parser.Interface\Filtration.Parser.Interface.csproj", "{46383F20-02DF-48B4-B092-9088FA4ACD5A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Parser.Tests", "Filtration.Parser.Tests\Filtration.Parser.Tests.csproj", "{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ItemFilterPreview.Data", "Filtration.ItemFilterPreview.Data\Filtration.ItemFilterPreview.Data.csproj", "{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ItemFilterPreview.Data.Tests", "Filtration.ItemFilterPreview.Data.Tests\Filtration.ItemFilterPreview.Data.Tests.csproj", "{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|ARM = Release|ARM
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
SquirrelReleasify|Any CPU = SquirrelReleasify|Any CPU
|
||||
SquirrelReleasify|ARM = SquirrelReleasify|ARM
|
||||
SquirrelReleasify|x64 = SquirrelReleasify|x64
|
||||
SquirrelReleasify|x86 = SquirrelReleasify|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|x64.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|Any CPU.ActiveCfg = Releasify|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|Any CPU.Build.0 = Releasify|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|x64.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|x64.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|x86.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|x64.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|x86.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|x64.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|x86.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|x64.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|x64.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|x86.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|x64.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|x64.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|x86.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|x64.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|x86.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|x64.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|x86.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {8A170BBA-F99C-4192-9467-A5669B1DE126}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration", "Filtration\Filtration.csproj", "{55E0A34C-E039-43D7-A024-A4045401CDDA}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Tests", "Filtration.Tests\Filtration.Tests.csproj", "{E0693972-72C5-4E05-A9C5-A5943E4015C6}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ObjectModel", "Filtration.ObjectModel\Filtration.ObjectModel.csproj", "{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ObjectModel.Tests", "Filtration.ObjectModel.Tests\Filtration.ObjectModel.Tests.csproj", "{537BE676-2FF6-4995-B05B-9CFACE852EC9}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ThemeEditor", "Filtration.ThemeEditor\Filtration.ThemeEditor.csproj", "{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ThemeEditor.Tests", "Filtration.ThemeEditor.Tests\Filtration.ThemeEditor.Tests.csproj", "{450AC313-BF25-4BFD-A066-9F39F026FDCF}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Interface", "Filtration.Interface\Filtration.Interface.csproj", "{0F333344-7695-47B2-B0E6-172E4DE74819}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Common", "Filtration.Common\Filtration.Common.csproj", "{8CB44F28-2956-4C2A-9314-72727262EDD4}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Common.Tests", "Filtration.Common.Tests\Filtration.Common.Tests.csproj", "{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ItemFilterPreview", "Filtration.ItemFilterPreview\Filtration.ItemFilterPreview.csproj", "{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ItemFilterPreview.Tests", "Filtration.ItemFilterPreview.Tests\Filtration.ItemFilterPreview.Tests.csproj", "{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Parser", "Filtration.Parser\Filtration.Parser.csproj", "{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Parser.Interface", "Filtration.Parser.Interface\Filtration.Parser.Interface.csproj", "{46383F20-02DF-48B4-B092-9088FA4ACD5A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.Parser.Tests", "Filtration.Parser.Tests\Filtration.Parser.Tests.csproj", "{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ItemFilterPreview.Data", "Filtration.ItemFilterPreview.Data\Filtration.ItemFilterPreview.Data.csproj", "{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filtration.ItemFilterPreview.Data.Tests", "Filtration.ItemFilterPreview.Data.Tests\Filtration.ItemFilterPreview.Data.Tests.csproj", "{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|ARM = Release|ARM
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
SquirrelReleasify|Any CPU = SquirrelReleasify|Any CPU
|
||||
SquirrelReleasify|ARM = SquirrelReleasify|ARM
|
||||
SquirrelReleasify|x64 = SquirrelReleasify|x64
|
||||
SquirrelReleasify|x86 = SquirrelReleasify|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|x64.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|Any CPU.ActiveCfg = Releasify|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|Any CPU.Build.0 = Releasify|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{55E0A34C-E039-43D7-A024-A4045401CDDA}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|x64.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{E0693972-72C5-4E05-A9C5-A5943E4015C6}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|x64.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.Release|x86.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{4AAC3BEB-1DC1-483E-9D11-0E9334E80227}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|x64.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.Release|x86.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{537BE676-2FF6-4995-B05B-9CFACE852EC9}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|x64.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.Release|x86.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{41B8F5C2-65AA-42F0-A20B-6F95B13A9F48}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|x64.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.Release|x86.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{450AC313-BF25-4BFD-A066-9F39F026FDCF}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|x64.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.Release|x86.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{0F333344-7695-47B2-B0E6-172E4DE74819}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|x64.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.Release|x86.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{8CB44F28-2956-4C2A-9314-72727262EDD4}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{1E42A658-45C4-4DD9-83C5-2A10728DBDFA}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|x64.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{3AB98B6E-05DB-44FA-9DAD-584AA88F0739}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|x64.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.Release|x86.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{58CD3B9C-EBBA-4527-A81C-78B7EA9CA298}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|x64.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.Release|x86.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{10A7C2BC-EC6F-4A38-BDDA-E35935004C02}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{46383F20-02DF-48B4-B092-9088FA4ACD5A}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{1F30CF6D-A5BF-4777-B8BA-E34F439FE8E5}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|x64.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.Release|x86.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|Any CPU.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{855B38CC-EEF2-471D-BBBC-EB3E2FF3D387}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|ARM.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|ARM.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|x64.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|x64.Build.0 = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|x86.ActiveCfg = Release|Any CPU
|
||||
{7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F}.SquirrelReleasify|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {8A170BBA-F99C-4192-9467-A5669B1DE126}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
@@ -1,92 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<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" />
|
||||
</sectionGroup>
|
||||
<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" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
||||
</startup>
|
||||
<userSettings>
|
||||
<Filtration.Properties.Settings>
|
||||
<setting name="DefaultFilterDirectory" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ExtraLineBetweenBlocks" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="SuppressUpdatesUpToVersionMajorPart" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="SuppressUpdates" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="SuppressUpdatesUpToVersionMinorPart" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
<setting name="StaticDataLastUpdated" serializeAs="String">
|
||||
<value>2016-01-01</value>
|
||||
</setting>
|
||||
<setting name="DownloadPrereleaseUpdates" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="ShowSectionBrowser" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="ShowBlockGroupBrowser" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="ShowBlockOutputPreview" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="ShowAdvanced" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="WindowState" serializeAs="String">
|
||||
<value>Normal</value>
|
||||
</setting>
|
||||
<setting name="WindowWidth" serializeAs="String">
|
||||
<value>1200</value>
|
||||
</setting>
|
||||
<setting name="WindowHeight" serializeAs="String">
|
||||
<value>800</value>
|
||||
</setting>
|
||||
<setting name="LastActiveDocument" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
</Filtration.Properties.Settings>
|
||||
</userSettings>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.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.Windows.Interactivity" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<applicationSettings>
|
||||
<Filtration.Properties.Settings>
|
||||
<setting name="ItemBaseTypesStaticDataUrl" serializeAs="String">
|
||||
<value>http://ben-wallis.github.io/Filtration/ItemBaseTypes.txt</value>
|
||||
</setting>
|
||||
<setting name="ItemClassesStaticDataUrl" serializeAs="String">
|
||||
<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>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<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" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
||||
</startup>
|
||||
<userSettings>
|
||||
<Filtration.Properties.Settings>
|
||||
<setting name="DefaultFilterDirectory" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ExtraLineBetweenBlocks" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="DownloadPrereleaseUpdates" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="ShowSectionBrowser" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="ShowBlockGroupBrowser" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="ShowBlockOutputPreview" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="ShowAdvanced" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="WindowState" serializeAs="String">
|
||||
<value>Normal</value>
|
||||
</setting>
|
||||
<setting name="WindowWidth" serializeAs="String">
|
||||
<value>1200</value>
|
||||
</setting>
|
||||
<setting name="WindowHeight" serializeAs="String">
|
||||
<value>800</value>
|
||||
</setting>
|
||||
<setting name="LastOpenScripts" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="BlocksExpandedOnOpen" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
</Filtration.Properties.Settings>
|
||||
</userSettings>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Xceed.Wpf.AvalonDock" publicKeyToken="3e4669d2f30244f4" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.4.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.Windows.Interactivity" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace Filtration
|
||||
cfg.CreateMap<StringThemeComponent, StringThemeComponentViewModel>().ReverseMap();
|
||||
cfg.CreateMap<IconThemeComponent, IconThemeComponentViewModel>().ReverseMap();
|
||||
cfg.CreateMap<EffectColorThemeComponent, EffectColorThemeComponentViewModel>().ReverseMap();
|
||||
cfg.CreateMap<IThemeEditorViewModel, Theme>();
|
||||
cfg.CreateMap<ThemeEditorViewModel, Theme>();
|
||||
});
|
||||
|
||||
Mapper.AssertConfigurationIsValid();
|
||||
|
||||
@@ -76,6 +76,9 @@
|
||||
<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>
|
||||
</Reference>
|
||||
<Reference Include="DynamicData, Version=6.7.0.2529, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DynamicData.6.7.0.2529\lib\net46\DynamicData.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Fluent, Version=6.1.0.326, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Fluent.Ribbon.6.1.0.326\lib\net45\Fluent.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -114,7 +117,7 @@
|
||||
<HintPath>..\packages\NLog.4.5.11\lib\net45\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<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 Include="SharpCompress, Version=0.17.1.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpCompress.0.17.1\lib\net45\SharpCompress.dll</HintPath>
|
||||
@@ -122,14 +125,17 @@
|
||||
<Reference Include="Splat, Version=1.6.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Splat.1.6.2\lib\Net45\Splat.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Squirrel, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\squirrel.windows.1.8.0\lib\Net45\Squirrel.dll</HintPath>
|
||||
<Reference Include="Squirrel, Version=1.9.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\squirrel.windows.1.9.0\lib\Net45\Squirrel.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Data" />
|
||||
<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" />
|
||||
@@ -138,6 +144,7 @@
|
||||
<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">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Input.Toolkit.dll</HintPath>
|
||||
@@ -217,6 +224,7 @@
|
||||
<Compile Include="Services\HTTPService.cs" />
|
||||
<Compile Include="Services\ItemFilterPersistenceService.cs" />
|
||||
<Compile Include="Services\ItemFilterScriptDirectoryService.cs" />
|
||||
<Compile Include="Services\ScriptLoadingService.cs" />
|
||||
<Compile Include="Services\SettingsService.cs" />
|
||||
<Compile Include="Services\StaticDataService.cs" />
|
||||
<Compile Include="Services\UpdateService.cs" />
|
||||
@@ -230,12 +238,16 @@
|
||||
<Compile Include="UserControls\EditableListBoxControl.xaml.cs">
|
||||
<DependentUpon>EditableListBoxControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\EnableDisableToggleButton.xaml.cs">
|
||||
<DependentUpon>EnableDisableToggleButton.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\ItemPreviewControl.xaml.cs">
|
||||
<DependentUpon>ItemPreviewControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\ThemeComponentSelectionControl.xaml.cs">
|
||||
<DependentUpon>ThemeComponentSelectionControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ViewModels\DesignTime\DesignTimeItemFilterBlockViewModel.cs" />
|
||||
<Compile Include="ViewModels\DesignTime\DesignTimeSettingsPageViewModel.cs" />
|
||||
<Compile Include="Views\AttachedProperties\SelectedItemsAttachedProperty.cs" />
|
||||
<Compile Include="Utility\RoutedCommandHandler.cs" />
|
||||
@@ -266,7 +278,6 @@
|
||||
</Compile>
|
||||
<Compile Include="Views\Behaviors\BindableSelectedItemBehavior.cs" />
|
||||
<Compile Include="Views\BindingProxy.cs" />
|
||||
<Compile Include="Views\PathOfExileColors.cs" />
|
||||
<Compile Include="Views\SettingsPageView.xaml.cs">
|
||||
<DependentUpon>SettingsPageView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -274,6 +285,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="UserControls\EnableDisableToggleButton.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="UserControls\ThemeComponentSelectionControl.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -445,6 +460,7 @@
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Resources\Prophecies.txt" />
|
||||
<EmbeddedResource Include="Resources\ItemMods.txt" />
|
||||
<Resource Include="Resources\loading_spinner.gif" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
|
||||
@@ -9,10 +9,27 @@
|
||||
<description>A Path of Exile loot filter script editor</description>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<copyright>Copyright 2018</copyright>
|
||||
<releaseNotes>* Fixed crash on exit</releaseNotes>
|
||||
<releaseNotes>* Added support for new Prophecies block item type
|
||||
* Added Betrayal League Item Base Types and Item Classes to static data
|
||||
* 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)
|
||||
* New buttons for adding/removing DisableDropSound from selected blocks have been added (#110)
|
||||
* 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 Advanced tab in the Color Picker in the Theme Editor not being clickable (#115)
|
||||
* Fixed the previously incorrect handling of DisableDropSound as a true/false value when in fact it is enabled/disabled purely by its presence or lack thereof in a block (#111)
|
||||
* 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 />
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="*.*" target="lib\net45\" exclude="*.pdb;*.nupkg;*.vshost.*;*.xml"/>
|
||||
<file src="*.*" target="lib\net45\" exclude="*.pdb;*.nupkg;*.vshost.*;*.xml;*.log"/>
|
||||
<file src="Resources\AlertSounds\*.mp3" target="lib\net45\Resources\AlertSounds\" />
|
||||
</files>
|
||||
</package>
|
||||
@@ -11,7 +11,7 @@ using System.Runtime.CompilerServices;
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
[assembly: AssemblyVersion("1.1.0")]
|
||||
[assembly: AssemblyInformationalVersion("1.1.0-beta1")]
|
||||
[assembly: AssemblyInformationalVersion("1.1.0-beta7")]
|
||||
|
||||
[assembly: InternalsVisibleTo("Filtration.Tests")]
|
||||
[assembly: InternalsVisibleTo("Filtration.ItemFilterPreview.Tests")]
|
||||
|
||||
35
Filtration/Properties/Resources.Designer.cs
generated
35
Filtration/Properties/Resources.Designer.cs
generated
@@ -225,19 +225,21 @@ namespace Filtration.Properties {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to A Mother's Parting Gift
|
||||
/// Looks up a localized string similar to A Dab of Ink
|
||||
///A Mother's Parting Gift
|
||||
///Abandoned Wealth
|
||||
///Aberrant Fossil
|
||||
///Abyssal Axe
|
||||
///Abyssal Cry
|
||||
///Abyssal Sceptre
|
||||
///Academy Map
|
||||
///Acid Lakes Map
|
||||
///Acid Caverns Map
|
||||
///Added Chaos Damage Support
|
||||
///Added Cold Damage Support
|
||||
///Added Fire Damage Support
|
||||
///Added Lightning Damage Support
|
||||
///Additional Accuracy Support
|
||||
///Advanced Traps Support
|
||||
///Aetheric Fossil
|
||||
///Agate Amulet
|
||||
///Albino Rhoa Feather
|
||||
@@ -251,10 +253,7 @@ namespace Filtration.Properties {
|
||||
///Amber Amulet
|
||||
///Ambush Boots
|
||||
///Ambush Leaguestone
|
||||
///Ambush Mitts
|
||||
///Ambusher
|
||||
///Amethyst Flask
|
||||
///Amethyst [rest of string was truncated]";.
|
||||
///Ambush [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string ItemBaseTypes {
|
||||
get {
|
||||
@@ -266,7 +265,7 @@ namespace Filtration.Properties {
|
||||
/// Looks up a localized string similar to Abyss Jewel
|
||||
///Active Skill Gems
|
||||
///Amulets
|
||||
///Axe
|
||||
///Axes
|
||||
///Belts
|
||||
///Body Armours
|
||||
///Boots
|
||||
@@ -288,12 +287,13 @@ namespace Filtration.Properties {
|
||||
///Labyrinth Map Item
|
||||
///Labyrinth Trinket
|
||||
///Large Relics
|
||||
///Leaguestone
|
||||
///Leaguestones
|
||||
///Life Flasks
|
||||
///Mace
|
||||
///Maces
|
||||
///Mana Flasks
|
||||
///Map Fragments
|
||||
///Maps
|
||||
///Medium Relics
|
||||
///Misc Map Items
|
||||
///One Hand Axes
|
||||
///One Hand Maces
|
||||
@@ -302,14 +302,12 @@ namespace Filtration.Properties {
|
||||
///Piece
|
||||
///Quest Items
|
||||
///Quivers
|
||||
///Relics
|
||||
///Rings
|
||||
///Sceptres
|
||||
///Shields
|
||||
///Stackable Currency
|
||||
///Staves
|
||||
///Support Skill Gems
|
||||
///Sword
|
||||
///T [rest of string was truncated]";.
|
||||
///Small Relics
|
||||
///Stackable Curre [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string ItemClasses {
|
||||
get {
|
||||
@@ -382,6 +380,15 @@ namespace Filtration.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to A Gracious Master.
|
||||
/// </summary>
|
||||
internal static string Prophecies {
|
||||
get {
|
||||
return ResourceManager.GetString("Prophecies", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
|
||||
/// </summary>
|
||||
|
||||
@@ -211,4 +211,7 @@
|
||||
<data name="ItemMods" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ItemMods.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
<data name="Prophecies" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Prophecies.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
</root>
|
||||
89
Filtration/Properties/Settings.Designer.cs
generated
89
Filtration/Properties/Settings.Designer.cs
generated
@@ -12,7 +12,7 @@ namespace Filtration.Properties {
|
||||
|
||||
|
||||
[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 {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
@@ -47,81 +47,6 @@ namespace Filtration.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public int SuppressUpdatesUpToVersionMajorPart {
|
||||
get {
|
||||
return ((int)(this["SuppressUpdatesUpToVersionMajorPart"]));
|
||||
}
|
||||
set {
|
||||
this["SuppressUpdatesUpToVersionMajorPart"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool SuppressUpdates {
|
||||
get {
|
||||
return ((bool)(this["SuppressUpdates"]));
|
||||
}
|
||||
set {
|
||||
this["SuppressUpdates"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
public int SuppressUpdatesUpToVersionMinorPart {
|
||||
get {
|
||||
return ((int)(this["SuppressUpdatesUpToVersionMinorPart"]));
|
||||
}
|
||||
set {
|
||||
this["SuppressUpdatesUpToVersionMinorPart"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("2016-01-01")]
|
||||
public global::System.DateTime StaticDataLastUpdated {
|
||||
get {
|
||||
return ((global::System.DateTime)(this["StaticDataLastUpdated"]));
|
||||
}
|
||||
set {
|
||||
this["StaticDataLastUpdated"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("http://ben-wallis.github.io/Filtration/ItemBaseTypes.txt")]
|
||||
public string ItemBaseTypesStaticDataUrl {
|
||||
get {
|
||||
return ((string)(this["ItemBaseTypesStaticDataUrl"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("http://ben-wallis.github.io/Filtration/ItemClasses.txt")]
|
||||
public string ItemClassesStaticDataUrl {
|
||||
get {
|
||||
return ((string)(this["ItemClassesStaticDataUrl"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("http://ben-wallis.github.io/Filtration/filtration_version.xml")]
|
||||
public string UpdateDataUrl {
|
||||
get {
|
||||
return ((string)(this["UpdateDataUrl"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
@@ -229,5 +154,17 @@ namespace Filtration.Properties {
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,27 +8,6 @@
|
||||
<Setting Name="ExtraLineBetweenBlocks" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
</Setting>
|
||||
<Setting Name="SuppressUpdatesUpToVersionMajorPart" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="SuppressUpdates" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="SuppressUpdatesUpToVersionMinorPart" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
<Setting Name="StaticDataLastUpdated" Type="System.DateTime" Scope="User">
|
||||
<Value Profile="(Default)">2016-01-01</Value>
|
||||
</Setting>
|
||||
<Setting Name="ItemBaseTypesStaticDataUrl" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">http://ben-wallis.github.io/Filtration/ItemBaseTypes.txt</Value>
|
||||
</Setting>
|
||||
<Setting Name="ItemClassesStaticDataUrl" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">http://ben-wallis.github.io/Filtration/ItemClasses.txt</Value>
|
||||
</Setting>
|
||||
<Setting Name="UpdateDataUrl" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">http://ben-wallis.github.io/Filtration/filtration_version.xml</Value>
|
||||
</Setting>
|
||||
<Setting Name="DownloadPrereleaseUpdates" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
@@ -53,8 +32,11 @@
|
||||
<Setting Name="WindowHeight" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">800</Value>
|
||||
</Setting>
|
||||
<Setting Name="LastActiveDocument" Type="System.String" Scope="User">
|
||||
<Setting Name="LastOpenScripts" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="BlocksExpandedOnOpen" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@@ -1,11 +1,12 @@
|
||||
A Mother's Parting Gift
|
||||
A Dab of Ink
|
||||
A Mother's Parting Gift
|
||||
Abandoned Wealth
|
||||
Aberrant Fossil
|
||||
Abyssal Axe
|
||||
Abyssal Cry
|
||||
Abyssal Sceptre
|
||||
Academy Map
|
||||
Acid Lakes Map
|
||||
Acid Caverns Map
|
||||
Added Chaos Damage Support
|
||||
Added Cold Damage Support
|
||||
Added Fire Damage Support
|
||||
@@ -71,6 +72,7 @@ Arctic Breath
|
||||
Arena Map
|
||||
Arena Plate
|
||||
Arid Lake Map
|
||||
Armageddon Brand
|
||||
Arming Axe
|
||||
Armourer's Scrap
|
||||
Armoury Map
|
||||
@@ -168,6 +170,7 @@ Bone Crypt Map
|
||||
Bone Helmet
|
||||
Bone Offering
|
||||
Bone Spirit Shield
|
||||
Bonechill Support
|
||||
Bonespire Talisman
|
||||
Boon of the First Ones
|
||||
Boot Blade
|
||||
@@ -176,6 +179,7 @@ Bottled Storm
|
||||
Bound Fossil
|
||||
Boundless Realms
|
||||
Bowyer's Dream
|
||||
Brand Recall
|
||||
Branded Kite Shield
|
||||
Brass Maul
|
||||
Brass Spirit Shield
|
||||
@@ -352,6 +356,7 @@ Courthouse Map
|
||||
Courtyard Map
|
||||
Coves Map
|
||||
Coveted Possession
|
||||
Crater Map
|
||||
Cremation
|
||||
Crescent Staff
|
||||
Crested Tower Shield
|
||||
@@ -461,6 +466,7 @@ Dragonscale Boots
|
||||
Dragonscale Doublet
|
||||
Dragonscale Gauntlets
|
||||
Dragoon Sword
|
||||
Dread Banner
|
||||
Dread Maul
|
||||
Dream Mace
|
||||
Driftwood Club
|
||||
@@ -636,6 +642,7 @@ Full Plate
|
||||
Full Ringmail
|
||||
Full Scale Armour
|
||||
Full Wyrmscale
|
||||
Fungal Hollow Map
|
||||
Gardens Map
|
||||
Gavel
|
||||
Gemcutter's Prism
|
||||
@@ -650,13 +657,26 @@ Ghetto Map
|
||||
Giant Life Flask
|
||||
Giant Mana Flask
|
||||
Gift of the Gemling Queen
|
||||
Gilded Ambush Scarab
|
||||
Gilded Axe
|
||||
Gilded Bestiary Scarab
|
||||
Gilded Breach Scarab
|
||||
Gilded Buckler
|
||||
Gilded Cartography Scarab
|
||||
Gilded Divination Scarab
|
||||
Gilded Elder Scarab
|
||||
Gilded Fossil
|
||||
Gilded Harbinger Scarab
|
||||
Gilded Perandus Scarab
|
||||
Gilded Reliquary Scarab
|
||||
Gilded Sallet
|
||||
Gilded Shaper Scarab
|
||||
Gilded Sulphite Scarab
|
||||
Gilded Torment Scarab
|
||||
Girded Tower Shield
|
||||
Glacial Cascade
|
||||
Glacial Hammer
|
||||
Glacier Map
|
||||
Gladiator Helmet
|
||||
Gladiator Plate
|
||||
Gladius
|
||||
@@ -689,7 +709,6 @@ Golden Plate
|
||||
Golden Wreath
|
||||
Goliath Gauntlets
|
||||
Goliath Greaves
|
||||
Gorge Map
|
||||
Gouger
|
||||
Grace
|
||||
Graceful Sword
|
||||
@@ -859,6 +878,7 @@ Lacquered Helmet
|
||||
Lair Map
|
||||
Lair of the Hydra Map
|
||||
Laminated Kite Shield
|
||||
Lancing Steel
|
||||
Lantador's Lost Love
|
||||
Lapis Amulet
|
||||
Large Hybrid Flask
|
||||
@@ -867,7 +887,7 @@ Large Mana Flask
|
||||
Last Hope
|
||||
Lathi
|
||||
Latticed Ringmail
|
||||
Lava Chamber Map
|
||||
Lava Chambers Map
|
||||
Lava Lake Map
|
||||
Layered Kite Shield
|
||||
Lead Sceptre
|
||||
@@ -888,9 +908,9 @@ Lesser Poison Support
|
||||
Leyline Map
|
||||
Life Gain on Hit Support
|
||||
Life Leech Support
|
||||
Light and Truth
|
||||
Light Brigandine
|
||||
Light Quiver
|
||||
Light and Truth
|
||||
Lighthouse Map
|
||||
Lightning Arrow
|
||||
Lightning Penetration Support
|
||||
@@ -975,14 +995,14 @@ Military Staff
|
||||
Mind Cage
|
||||
Minefield Support
|
||||
Mineral Pools Map
|
||||
Minion and Totem Elemental Resistance Support
|
||||
Minion Damage Support
|
||||
Minion Life Support
|
||||
Minion Speed Support
|
||||
Minion and Totem Elemental Resistance Support
|
||||
Mirage Archer Support
|
||||
Mirror Arrow
|
||||
Mirror Shard
|
||||
Mirror of Kalandra
|
||||
Mirror Shard
|
||||
Mirrored Spiked Shield
|
||||
Mitts
|
||||
Molten Shell
|
||||
@@ -1000,6 +1020,7 @@ Mortal Ignorance
|
||||
Mortal Rage
|
||||
Mosaic Kite Shield
|
||||
Mud Geyser Map
|
||||
Multiple Totems Support
|
||||
Multiple Traps Support
|
||||
Multistrike Support
|
||||
Murder Boots
|
||||
@@ -1110,7 +1131,19 @@ Poignard
|
||||
Point Blank Support
|
||||
Poison Support
|
||||
Poleaxe
|
||||
Polished Ambush Scarab
|
||||
Polished Bestiary Scarab
|
||||
Polished Breach Scarab
|
||||
Polished Cartography Scarab
|
||||
Polished Divination Scarab
|
||||
Polished Elder Scarab
|
||||
Polished Harbinger Scarab
|
||||
Polished Perandus Scarab
|
||||
Polished Reliquary Scarab
|
||||
Polished Shaper Scarab
|
||||
Polished Spiked Shield
|
||||
Polished Sulphite Scarab
|
||||
Polished Torment Scarab
|
||||
Port Map
|
||||
Portal
|
||||
Portal Scroll
|
||||
@@ -1132,6 +1165,7 @@ Primeval Rapier
|
||||
Primitive Alchemical Resonator
|
||||
Primitive Chaotic Resonator
|
||||
Primitive Staff
|
||||
Primordial Blocks Map
|
||||
Primordial Pool Map
|
||||
Primordial Staff
|
||||
Prismatic Fossil
|
||||
@@ -1160,9 +1194,9 @@ Quartz Wand
|
||||
Quicksilver Flask
|
||||
Quilted Jacket
|
||||
Racecourse Map
|
||||
Rain Tempter
|
||||
Rain of Arrows
|
||||
Rain of Chaos
|
||||
Rain Tempter
|
||||
Raise Spectre
|
||||
Raise Zombie
|
||||
Rallying Cry
|
||||
@@ -1226,10 +1260,22 @@ Ruby Flask
|
||||
Ruby Ring
|
||||
Rugged Quiver
|
||||
Runic Hatchet
|
||||
Rusted Ambush Scarab
|
||||
Rusted Bestiary Scarab
|
||||
Rusted Breach Scarab
|
||||
Rusted Cartography Scarab
|
||||
Rusted Coif
|
||||
Rusted Divination Scarab
|
||||
Rusted Elder Scarab
|
||||
Rusted Harbinger Scarab
|
||||
Rusted Hatchet
|
||||
Rusted Perandus Scarab
|
||||
Rusted Reliquary Scarab
|
||||
Rusted Shaper Scarab
|
||||
Rusted Spike
|
||||
Rusted Sulphite Scarab
|
||||
Rusted Sword
|
||||
Rusted Torment Scarab
|
||||
Rustic Sash
|
||||
Ruthless Support
|
||||
Sabre
|
||||
@@ -1335,6 +1381,7 @@ Sharkskin Gloves
|
||||
Sharkskin Tunic
|
||||
Sharktooth Arrow Quiver
|
||||
Sharktooth Claw
|
||||
Shattering Steel
|
||||
Shield Charge
|
||||
Shipyard Map
|
||||
Shock Nova
|
||||
@@ -1445,7 +1492,6 @@ Splinter of Xoph
|
||||
Splintered Tower Shield
|
||||
Split Arrow
|
||||
Splitnewt Talisman
|
||||
Springs Map
|
||||
Stacked Deck
|
||||
Stag Sceptre
|
||||
Static Strike
|
||||
@@ -1467,6 +1513,7 @@ Stone Hammer
|
||||
Stone of Passage
|
||||
Storm Barrier Support
|
||||
Storm Blade
|
||||
Storm Brand
|
||||
Storm Burst
|
||||
Storm Call
|
||||
Strand Map
|
||||
@@ -1599,14 +1646,17 @@ The King's Blade
|
||||
The King's Heart
|
||||
The Last One Standing
|
||||
The Lich
|
||||
The Life Thief
|
||||
The Lion
|
||||
The Lord in Black
|
||||
The Lover
|
||||
The Lunaris Priestess
|
||||
The Master
|
||||
The Master Artisan
|
||||
The Mayor
|
||||
The Mercenary
|
||||
The Metalsmith's Gift
|
||||
The Nurse
|
||||
The Oath
|
||||
The Obscured
|
||||
The Offering
|
||||
@@ -1628,6 +1678,7 @@ The Risk
|
||||
The Rite of Elements
|
||||
The Road to Power
|
||||
The Ruthless Ceinture
|
||||
The Sacrifice
|
||||
The Saint's Treasure
|
||||
The Samurai's Eye
|
||||
The Scarred Meadow
|
||||
@@ -1711,7 +1762,6 @@ Torment Leaguestone
|
||||
Tornado Shot
|
||||
Tornado Wand
|
||||
Torture Cage
|
||||
Torture Chamber Map
|
||||
Totemic Maul
|
||||
Tower Key
|
||||
Tower Map
|
||||
@@ -1719,8 +1769,8 @@ Toxic Rain
|
||||
Toxic Sewer Map
|
||||
Tranquillity
|
||||
Transmutation Shard
|
||||
Trap Support
|
||||
Trap and Mine Damage Support
|
||||
Trap Support
|
||||
Trapper Boots
|
||||
Trapper Mitts
|
||||
Trarthan Powder
|
||||
@@ -1729,7 +1779,6 @@ Treasure Key
|
||||
Tribal Circlet
|
||||
Tribal Club
|
||||
Tribal Maul
|
||||
Tribunal Map
|
||||
Tricorne
|
||||
Trisula
|
||||
Triumphant Lamellar
|
||||
@@ -1815,16 +1864,16 @@ Vault Map
|
||||
Velvet Gloves
|
||||
Velvet Slippers
|
||||
Vengeance
|
||||
Vial Of Power
|
||||
Vial of Awakening
|
||||
Vial of Consequence
|
||||
Vial of Dominance
|
||||
Vial of Fate
|
||||
Vial Of Power
|
||||
Vial of Sacrifice
|
||||
Vial of Summoning
|
||||
Vial of Transcendence
|
||||
Vial of the Ghost
|
||||
Vial of the Ritual
|
||||
Vial of Transcendence
|
||||
Vicious Projectiles Support
|
||||
Vigilant Strike
|
||||
Vile Staff
|
||||
@@ -1865,6 +1914,7 @@ Wailing Essence of Wrath
|
||||
Wailing Essence of Zeal
|
||||
Walnut Spirit Shield
|
||||
War Axe
|
||||
War Banner
|
||||
War Buckler
|
||||
War Hammer
|
||||
War Plate
|
||||
@@ -1902,6 +1952,7 @@ Widowsilk Robe
|
||||
Wild Leather
|
||||
Wild Strike
|
||||
Wings of Vastiri
|
||||
Winter Orb
|
||||
Wither
|
||||
Withering Touch Support
|
||||
Wolf Pelt
|
||||
|
||||
@@ -23,12 +23,13 @@ Labyrinth Item
|
||||
Labyrinth Map Item
|
||||
Labyrinth Trinket
|
||||
Large Relics
|
||||
Leaguestone
|
||||
Leaguestones
|
||||
Life Flasks
|
||||
Maces
|
||||
Mana Flasks
|
||||
Map Fragments
|
||||
Maps
|
||||
Medium Relics
|
||||
Misc Map Items
|
||||
One Hand Axes
|
||||
One Hand Maces
|
||||
@@ -37,9 +38,11 @@ Pantheon Soul
|
||||
Piece
|
||||
Quest Items
|
||||
Quivers
|
||||
Relics
|
||||
Rings
|
||||
Sceptres
|
||||
Shields
|
||||
Small Relics
|
||||
Stackable Currency
|
||||
Staves
|
||||
Support Skill Gems
|
||||
|
||||
@@ -61,6 +61,7 @@ Carved
|
||||
Caster's
|
||||
Catalysed
|
||||
Catalyzing
|
||||
Catarina's Veiled
|
||||
Caustic
|
||||
Cauterising
|
||||
Cautious
|
||||
@@ -115,6 +116,7 @@ Duelist's
|
||||
Eldritch
|
||||
Electrocuting
|
||||
Electromantic
|
||||
Elreon's Veiled
|
||||
Elephant's
|
||||
Emanant
|
||||
Emperor's
|
||||
@@ -172,9 +174,12 @@ Glinting
|
||||
Glittering
|
||||
Glowing
|
||||
Glyphic
|
||||
Gravicius' Veiled
|
||||
Gremlin's
|
||||
Grounded
|
||||
Guatelitzi's
|
||||
Guff's Veiled
|
||||
Haku's Veiled
|
||||
Hailing
|
||||
Hale
|
||||
Halting
|
||||
@@ -218,16 +223,19 @@ Instilled
|
||||
Interpermeated
|
||||
Interpolated
|
||||
Ionising
|
||||
It That Fled's Veiled
|
||||
Jagged
|
||||
Jinxing
|
||||
Journeyman's
|
||||
Judging
|
||||
Korell's Veiled
|
||||
Lacquered
|
||||
Lamprey's
|
||||
Lava Caller's
|
||||
Layered
|
||||
Leadership
|
||||
Legend's
|
||||
Leo's Veiled
|
||||
Lethal
|
||||
Lich's
|
||||
Lively
|
||||
@@ -306,6 +314,7 @@ Resonating
|
||||
Resplendent
|
||||
Rhino's
|
||||
Ribbed
|
||||
Rin's Veiled
|
||||
Ripping
|
||||
Robust
|
||||
Rotund
|
||||
@@ -384,6 +393,7 @@ Thundering
|
||||
Thwarting
|
||||
Titan's
|
||||
Topotante's
|
||||
Tora's Veiled
|
||||
Trapping
|
||||
Tul's
|
||||
Turncoat's
|
||||
@@ -399,8 +409,10 @@ Unwavering
|
||||
Unworldly
|
||||
Urchin's
|
||||
Vaal
|
||||
Vagan's Veiled
|
||||
Vampire's
|
||||
Vaporous
|
||||
Veiled
|
||||
Vicious
|
||||
Victor's
|
||||
Vigorous
|
||||
@@ -410,6 +422,7 @@ Vivacious
|
||||
Vivid
|
||||
Volcanic
|
||||
Volleying
|
||||
Vorici's Veiled
|
||||
Wailing
|
||||
Warding
|
||||
Warlock's
|
||||
@@ -436,6 +449,7 @@ of Accuracy
|
||||
of Adamantite Skin
|
||||
of Adaption
|
||||
of Adrenaline
|
||||
of Aisling's Veil
|
||||
of Amassment
|
||||
of Anger
|
||||
of Animation
|
||||
@@ -459,6 +473,7 @@ of Bloodlines
|
||||
of Burning
|
||||
of Calamity
|
||||
of Calm
|
||||
of Cameria's Veil
|
||||
of Celebration
|
||||
of Champions
|
||||
of Chilling
|
||||
@@ -547,6 +562,7 @@ of Havoc
|
||||
of Haze
|
||||
of Heat
|
||||
of Hemomancy
|
||||
of Hillock's Veil
|
||||
of Hindering
|
||||
of Hoarding
|
||||
of Hordes
|
||||
@@ -563,6 +579,8 @@ of Intelligence
|
||||
of Intercepting
|
||||
of Ire
|
||||
of Iron Skin
|
||||
of Janus' Veil
|
||||
of Jorgin's Veil
|
||||
of Joy
|
||||
of Legerdemain
|
||||
of Light
|
||||
@@ -621,6 +639,7 @@ of Resistance
|
||||
of Restoration
|
||||
of Retaliation
|
||||
of Righteousness
|
||||
of Riker's Veil
|
||||
of Rime
|
||||
of Ruin
|
||||
of Runes
|
||||
@@ -774,6 +793,7 @@ of the Titan
|
||||
of the Troll
|
||||
of the Underground
|
||||
of the Universe
|
||||
of the Veil
|
||||
of the Virtuoso
|
||||
of the Volcano
|
||||
of the Wall
|
||||
|
||||
241
Filtration/Resources/Prophecies.txt
Normal file
241
Filtration/Resources/Prophecies.txt
Normal file
@@ -0,0 +1,241 @@
|
||||
A Call into the Void
|
||||
A Dishonourable Death
|
||||
A Firm Foothold
|
||||
A Forest of False Idols
|
||||
A Gracious Master
|
||||
A Master Seeks Help
|
||||
A Prodigious Hand
|
||||
A Regal Death
|
||||
A Rift in Time
|
||||
A Valuable Combination
|
||||
A Vision of Ice and Fire
|
||||
A Whispered Prayer
|
||||
Abnormal Effulgence
|
||||
Against the Tide
|
||||
Agony at Dusk
|
||||
An Unseen Peril
|
||||
Anarchy's End
|
||||
Anarchy's End I
|
||||
Anarchy's End II
|
||||
Anarchy's End III
|
||||
Anarchy's End IV
|
||||
Ancient Doom
|
||||
Baptism by Death
|
||||
Battle Hardened
|
||||
Beyond Sight
|
||||
Beyond Sight I
|
||||
Beyond Sight II
|
||||
Beyond Sight III
|
||||
Beyond Sight IV
|
||||
Black Devotion
|
||||
Blind Faith
|
||||
Blinding Light
|
||||
Blood in the Eyes
|
||||
Blood of the Betrayed
|
||||
Bountiful Traps
|
||||
Burning Dread
|
||||
Cleanser of Sins
|
||||
Cold Blooded Fury
|
||||
Cold Greed
|
||||
Crimson Hues
|
||||
Crushing Squall
|
||||
Custodians of Silence
|
||||
Dance of Steel
|
||||
Dark Instincts
|
||||
Darktongue's Shriek
|
||||
Day of Sacrifice
|
||||
Day of Sacrifice I
|
||||
Day of Sacrifice II
|
||||
Day of Sacrifice III
|
||||
Day of Sacrifice IV
|
||||
Deadly Rivalry
|
||||
Deadly Rivalry I
|
||||
Deadly Rivalry II
|
||||
Deadly Rivalry III
|
||||
Deadly Rivalry IV
|
||||
Deadly Rivalry V
|
||||
Deadly Twins
|
||||
Defiled in the Sceptre
|
||||
Dying Cry
|
||||
Echoes of Witchcraft
|
||||
End of the Light
|
||||
Ending the Torment
|
||||
Erased from Memory
|
||||
Erasmus' Gift
|
||||
Faith Exhumed
|
||||
Fallow At Last
|
||||
Fated Connections
|
||||
Fear's Wide Reach
|
||||
Fire and Brimstone
|
||||
Fire and Ice
|
||||
Fire from the Sky
|
||||
Fire, Wood and Stone
|
||||
Flesh of the Beast
|
||||
Forceful Exorcism
|
||||
From Death Springs Life
|
||||
From The Void
|
||||
Gilded Within
|
||||
Golden Touch
|
||||
Graceful Flames
|
||||
Greed's Folly
|
||||
Heart of the Fire
|
||||
Heavy Blows
|
||||
Hidden Reinforcements
|
||||
Hidden Vaal Pathways
|
||||
Holding the Bridge
|
||||
Hunter's Lesson
|
||||
Ice from Above
|
||||
In the Grasp of Corruption
|
||||
Kalandra's Craft
|
||||
Last of the Wildmen
|
||||
Lasting Impressions
|
||||
Lightning Falls
|
||||
Living Fires
|
||||
Lost in the Pages
|
||||
Monstrous Treasure
|
||||
Mouth of Horrors
|
||||
Mysterious Invaders
|
||||
Nature's Resilience
|
||||
Nemesis of Greed
|
||||
Notched Flesh
|
||||
Overflowing Riches
|
||||
Path of Betrayal
|
||||
Plague of Frogs
|
||||
Plague of Rats
|
||||
Pleasure and Pain
|
||||
Pools of Wealth
|
||||
Possessed Foe
|
||||
Power Magnified
|
||||
Rebirth
|
||||
Reforged Bonds
|
||||
Resistant to Change
|
||||
Risen Blood
|
||||
Roth's Legacy
|
||||
Severed Limbs
|
||||
Smothering Tendrils
|
||||
Soil, Worms and Blood
|
||||
Song of the Sekhema
|
||||
Storm on the Horizon
|
||||
Storm on the Reef
|
||||
Strong as a Bull
|
||||
Sun's Punishment
|
||||
Thaumaturgical History
|
||||
Thaumaturgical History I
|
||||
Thaumaturgical History II
|
||||
Thaumaturgical History III
|
||||
Thaumaturgical History IV
|
||||
The Alchemist
|
||||
The Ambitious Bandit
|
||||
The Ambitious Bandit I
|
||||
The Ambitious Bandit II
|
||||
The Ambitious Bandit III
|
||||
The Apex Predator
|
||||
The Beautiful Guide
|
||||
The Beginning and the End
|
||||
The Bishop's Legacy
|
||||
The Bloody Flowers Redux
|
||||
The Bowstring's Music
|
||||
The Brothers of Necromancy
|
||||
The Brutal Enforcer
|
||||
The Child of Lunaris
|
||||
The Corrupt
|
||||
The Cursed Choir
|
||||
The Dreaded Rhoa
|
||||
The Dream Trial
|
||||
The Dreamer's Dream
|
||||
The Eagle's Cry
|
||||
The Fall of an Empire
|
||||
The Feral Lord
|
||||
The Feral Lord I
|
||||
The Feral Lord II
|
||||
The Feral Lord III
|
||||
The Feral Lord IV
|
||||
The Feral Lord V
|
||||
The Flayed Man
|
||||
The Flow of Energy
|
||||
The Forgotten Garrison
|
||||
The Forgotten Soldiers
|
||||
The Fortune Teller's Collection
|
||||
The Four Feral Exiles
|
||||
The God of Misfortune
|
||||
The Great Leader of the North
|
||||
The Great Mind of the North
|
||||
The Hardened Armour
|
||||
The Hollow Pledge
|
||||
The Hungering Swarm
|
||||
The Invader
|
||||
The Jeweller's Touch
|
||||
The Karui Rebellion
|
||||
The King and the Brambles
|
||||
The King's Path
|
||||
The Lady in Black
|
||||
The Last Watch
|
||||
The Lost Maps
|
||||
The Lost Undying
|
||||
The Malevolent Witch
|
||||
The Misunderstood Queen
|
||||
The Mysterious Gift
|
||||
The Nest
|
||||
The Nightmare Awakens
|
||||
The Petrified
|
||||
The Plaguemaw
|
||||
The Plaguemaw I
|
||||
The Plaguemaw II
|
||||
The Plaguemaw III
|
||||
The Plaguemaw IV
|
||||
The Plaguemaw V
|
||||
The Prison Guard
|
||||
The Prison Key
|
||||
The Queen's Sacrifice
|
||||
The Queen's Vaults
|
||||
The Scout
|
||||
The Servant's Heart
|
||||
The Sharpened Blade
|
||||
The Silverwood
|
||||
The Singular Spirit
|
||||
The Sinner's Stone
|
||||
The Snuffed Flame
|
||||
The Soulless Beast
|
||||
The Stockkeeper
|
||||
The Storm Spire
|
||||
The Sword King's Passion
|
||||
The Trembling Earth
|
||||
The Twins
|
||||
The Unbreathing Queen
|
||||
The Unbreathing Queen I
|
||||
The Unbreathing Queen II
|
||||
The Unbreathing Queen III
|
||||
The Unbreathing Queen IV
|
||||
The Unbreathing Queen V
|
||||
The Undead Brutes
|
||||
The Undead Storm
|
||||
The Vanguard
|
||||
The Walking Mountain
|
||||
The Ward's Ward
|
||||
The Warmongers
|
||||
The Warmongers I
|
||||
The Warmongers II
|
||||
The Warmongers III
|
||||
The Warmongers IV
|
||||
The Watcher's Watcher
|
||||
The Wealthy Exile
|
||||
Touched by the Wind
|
||||
Trapped in the Tower
|
||||
Trash to Treasure
|
||||
Twice Enchanted
|
||||
Unbearable Whispers
|
||||
Unbearable Whispers I
|
||||
Unbearable Whispers II
|
||||
Unbearable Whispers III
|
||||
Unbearable Whispers IV
|
||||
Unbearable Whispers V
|
||||
Undead Uprising
|
||||
Unnatural Energy
|
||||
Vaal Invasion
|
||||
Vaal Winds
|
||||
Visions of the Drowned
|
||||
Vital Transformation
|
||||
Waiting in Ambush
|
||||
Weeping Death
|
||||
Wind and Thunder
|
||||
Winter's Mournful Melodies
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using Filtration.Properties;
|
||||
using Filtration.Views;
|
||||
using NLog;
|
||||
|
||||
@@ -17,16 +18,19 @@ namespace Filtration.Services
|
||||
|
||||
private readonly IItemFilterScriptDirectoryService _itemFilterScriptDirectoryService;
|
||||
private readonly IMainWindow _mainWindow;
|
||||
private readonly IScriptLoadingService _scriptLoadingService;
|
||||
private readonly ISettingsService _settingsService;
|
||||
private readonly IUpdateService _updateService;
|
||||
|
||||
public Bootstrapper(IItemFilterScriptDirectoryService itemFilterScriptDirectoryService,
|
||||
IMainWindow mainWindow,
|
||||
IScriptLoadingService scriptLoadingService,
|
||||
ISettingsService settingsService,
|
||||
IUpdateService updateService)
|
||||
{
|
||||
_itemFilterScriptDirectoryService = itemFilterScriptDirectoryService;
|
||||
_mainWindow = mainWindow;
|
||||
_scriptLoadingService = scriptLoadingService;
|
||||
_settingsService = settingsService;
|
||||
_updateService = updateService;
|
||||
}
|
||||
@@ -44,6 +48,12 @@ namespace Filtration.Services
|
||||
|
||||
_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();
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,8 @@ namespace Filtration.Services
|
||||
{
|
||||
_fileSystemService = fileSystemService;
|
||||
_itemFilterScriptTranslator = itemFilterScriptTranslator;
|
||||
|
||||
ItemFilterScriptDirectory = Settings.Default.DefaultFilterDirectory;
|
||||
}
|
||||
|
||||
public string ItemFilterScriptDirectory { get; private set; }
|
||||
@@ -47,6 +49,7 @@ namespace Filtration.Services
|
||||
|
||||
ItemFilterScriptDirectory = path;
|
||||
Settings.Default.DefaultFilterDirectory = path;
|
||||
Settings.Default.Save();
|
||||
}
|
||||
|
||||
public async Task<IItemFilterScript> LoadItemFilterScriptAsync(string filePath)
|
||||
@@ -62,7 +65,7 @@ namespace Filtration.Services
|
||||
{
|
||||
loadedScript.FilePath = filePath;
|
||||
}
|
||||
|
||||
|
||||
return loadedScript;
|
||||
}
|
||||
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,7 @@ namespace Filtration.Services
|
||||
IEnumerable<string> ItemBaseTypes { get; }
|
||||
IEnumerable<string> ItemClasses { get; }
|
||||
IEnumerable<string> ItemMods { get; }
|
||||
IEnumerable<string> Prophecies { get; }
|
||||
}
|
||||
|
||||
internal class StaticDataService : IStaticDataService
|
||||
@@ -26,11 +27,14 @@ namespace Filtration.Services
|
||||
|
||||
public IEnumerable<string> ItemMods { get; private set; }
|
||||
|
||||
public IEnumerable<string> Prophecies { get; private set; }
|
||||
|
||||
private void PopulateStaticData()
|
||||
{
|
||||
ItemBaseTypes = new LineReader(() => new StringReader(Resources.ItemBaseTypes)).ToList();
|
||||
ItemClasses = new LineReader(() => new StringReader(Resources.ItemClasses)).ToList();
|
||||
ItemMods = new LineReader(() => new StringReader(Resources.ItemMods)).ToList();
|
||||
Prophecies = new LineReader(() => new StringReader(Resources.Prophecies)).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using Filtration.Enums;
|
||||
@@ -117,6 +119,17 @@ namespace Filtration.Services
|
||||
_downloadPrereleaseUpdates = true;
|
||||
#endif
|
||||
|
||||
var expectedInstallationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Filtration");
|
||||
var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
|
||||
|
||||
var runningInstalled = baseDirectory.StartsWith(expectedInstallationPath);
|
||||
|
||||
if (!runningInstalled)
|
||||
{
|
||||
Logger.Debug($"Skipping update check since base directory of {baseDirectory} does not start with the expected installation path of {expectedInstallationPath}");
|
||||
return;
|
||||
}
|
||||
|
||||
async Task CheckForUpdatesAsync(IUpdateManager updateManager)
|
||||
{
|
||||
_updates = await updateManager.CheckForUpdate(progress: progress => UpdateProgressChanged?.Invoke(this, new UpdateProgressChangedEventArgs(progress)));
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<UserControl x:Class="Filtration.UserControls.BlockItemControl"
|
||||
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:userControls="clr-namespace:Filtration.UserControls"
|
||||
xmlns:commonConverters="clr-namespace:Filtration.Common.Converters;assembly=Filtration.Common"
|
||||
@@ -11,7 +11,8 @@
|
||||
xmlns:enums="clr-namespace:Filtration.ObjectModel.Enums;assembly=Filtration.ObjectModel"
|
||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
xmlns:views="clr-namespace:Filtration.Views"
|
||||
mc:Ignorable="d"
|
||||
xmlns:utilities="clr-namespace:Filtration.Common.Utilities;assembly=Filtration.Common"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=userControls:BlockItemControl}"
|
||||
d:DesignHeight="200" d:DesignWidth="190">
|
||||
<UserControl.Resources>
|
||||
@@ -46,12 +47,12 @@
|
||||
<RadioButton IsChecked="{Binding BooleanValue, Converter={StaticResource BoolInverterConverter}}">False</RadioButton>
|
||||
</WrapPanel>
|
||||
</DataTemplate>
|
||||
|
||||
|
||||
<!-- NumericFilterPredicate Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemBaseTypes:NumericFilterPredicateBlockItem}">
|
||||
<userControls:NumericFilterPredicateControl Margin="5,5,5,5" NumericFilterPredicate="{Binding FilterPredicate}" Minimum="{Binding Minimum, Mode=OneTime}" Maximum="{Binding Maximum, Mode=OneTime}" />
|
||||
</DataTemplate>
|
||||
|
||||
|
||||
<!-- Rarity Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:RarityBlockItem}">
|
||||
<StackPanel Orientation="Horizontal" Margin="5,5,5,5">
|
||||
@@ -70,12 +71,17 @@
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:ClassBlockItem}">
|
||||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutoCompleteItemClasses}" />
|
||||
</DataTemplate>
|
||||
|
||||
|
||||
<!-- Base Type Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:BaseTypeBlockItem}">
|
||||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutoCompleteItemBaseTypes}" />
|
||||
</DataTemplate>
|
||||
|
||||
<!-- Prophecy Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:ProphecyBlockItem}">
|
||||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutoCompleteProphecies}" />
|
||||
</DataTemplate>
|
||||
|
||||
<!-- Explicit Mods Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:HasExplicitModBlockItem}">
|
||||
<userControls:EditableListBoxControl Margin="5,5,5,5" ItemsSource="{Binding Items}" AutoCompleteItemsSource="{Binding ElementName=TopLevelGrid, Path=DataContext.AutocompleteItemMods}" />
|
||||
@@ -112,14 +118,14 @@
|
||||
<!-- Color Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemBaseTypes:ColorBlockItem}">
|
||||
<StackPanel>
|
||||
<xctk:ColorPicker SelectedColor="{Binding Color}" AvailableColors="{Binding ElementName=BlockItemContentControl, Path=DataContext.AvailableColors }" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors"/>
|
||||
<xctk:ColorPicker SelectedColor="{Binding Color}" AvailableColors="{x:Static utilities:PathOfExileColors.DefaultColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors"/>
|
||||
<userControls:ThemeComponentSelectionControl ThemeComponent="{Binding ThemeComponent}"
|
||||
|
||||
|
||||
Margin="0,2,0,2">
|
||||
<userControls:ThemeComponentSelectionControl.AvailableThemeComponents>
|
||||
<MultiBinding Converter="{StaticResource AvailableThemeComponentsConverter}">
|
||||
<Binding Path="DataContext.Script.ThemeComponents" RelativeSource="{RelativeSource AncestorType={x:Type views:ItemFilterScriptView}}"/>
|
||||
<Binding Path="." />
|
||||
<Binding Path="." />
|
||||
</MultiBinding>
|
||||
</userControls:ThemeComponentSelectionControl.AvailableThemeComponents>
|
||||
</userControls:ThemeComponentSelectionControl>
|
||||
@@ -164,7 +170,7 @@
|
||||
</userControls:ThemeComponentSelectionControl>
|
||||
</WrapPanel>
|
||||
</DataTemplate>
|
||||
|
||||
|
||||
<!-- Positional Sound Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemTypes:PositionalSoundBlockItem}">
|
||||
<WrapPanel HorizontalAlignment="Left">
|
||||
@@ -225,7 +231,7 @@
|
||||
<Button Grid.Column="0" Grid.Row="0" Command="{Binding Path=DataContext.PlayCustomSoundCommand, RelativeSource={RelativeSource AncestorType={x:Type views:ItemFilterBlockView}}}" Width="20" Height="20" Background="Transparent" BorderBrush="Transparent">
|
||||
<Image Source="/Filtration;component/Resources/Icons/speaker_icon.png" VerticalAlignment="Center" HorizontalAlignment="Center" />
|
||||
</Button>
|
||||
<ComboBox Grid.Column="1" Grid.Row="0" ItemsSource="{Binding Path=DataContext.CustomSoundsAvailable, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource AncestorType={x:Type views:ItemFilterScriptView}}}"
|
||||
<ComboBox Grid.Column="1" Grid.Row="0" ItemsSource="{Binding Path=DataContext.CustomSoundsAvailable, UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource AncestorType={x:Type views:ItemFilterScriptView}}}"
|
||||
SelectedValue="{Binding Value, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource MetroComboBox}"/>
|
||||
<Button Grid.Column="1" Grid.Row="0" Command="{Binding Path=DataContext.CustomSoundFileDialogCommand, RelativeSource={RelativeSource AncestorType={x:Type views:ItemFilterBlockView}}}"
|
||||
Width="20" Height="20" Background="Transparent" BorderBrush="Transparent" Margin="0,0,30,0" VerticalAlignment="Center" HorizontalAlignment="Right">
|
||||
@@ -241,6 +247,13 @@
|
||||
</userControls:ThemeComponentSelectionControl>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
|
||||
<!-- Disable Drop Sound Template -->
|
||||
<DataTemplate DataType="{x:Type blockItemBaseTypes:NilBlockItem}">
|
||||
<Grid>
|
||||
<TextBlock Text="{Binding Description}" VerticalAlignment="Center" />
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ContentControl.Resources>
|
||||
</ContentControl>
|
||||
</Grid>
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Windows;
|
||||
using Filtration.Annotations;
|
||||
using Filtration.ObjectModel;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
using Filtration.ObjectModel.ThemeEditor;
|
||||
using Filtration.Views;
|
||||
using Filtration.ObjectModel.Enums;
|
||||
using Filtration.ObjectModel.ThemeEditor;
|
||||
using GalaSoft.MvvmLight.CommandWpf;
|
||||
using Xceed.Wpf.Toolkit;
|
||||
|
||||
namespace Filtration.UserControls
|
||||
{
|
||||
@@ -81,9 +78,6 @@ namespace Filtration.UserControls
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public ObservableCollection<ColorItem> AvailableColors => PathOfExileColors.DefaultColors;
|
||||
|
||||
public List<string> SoundsAvailable => new List<string> {
|
||||
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16",
|
||||
"ShGeneral", "ShBlessed", "ShChaos", "ShDivine", "ShExalted", "ShMirror", "ShAlchemy",
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,159 @@
|
||||
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> AutoCompleteProphecies { 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 (ProphecyBlockItem),
|
||||
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 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 { }
|
||||
}
|
||||
|
||||
public bool BlocksExpandedOnOpen { get; set; }
|
||||
|
||||
public bool ExtraLineBetweenBlocks
|
||||
{
|
||||
get => true;
|
||||
|
||||
@@ -25,6 +25,47 @@ namespace Filtration.ViewModels
|
||||
IItemFilterBlock Block { get; }
|
||||
bool BlockEnabled { 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> AutoCompleteProphecies { get; }
|
||||
IEnumerable<string> AutocompleteItemMods { get; }
|
||||
List<Type> BlockItemTypesAvailable { get; }
|
||||
List<Type> AudioVisualBlockItemTypesAvailable { 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();
|
||||
}
|
||||
|
||||
@@ -162,6 +203,8 @@ namespace Filtration.ViewModels
|
||||
|
||||
public IEnumerable<string> AutoCompleteItemBaseTypes => _staticDataService.ItemBaseTypes;
|
||||
|
||||
public IEnumerable<string> AutoCompleteProphecies => _staticDataService.Prophecies;
|
||||
|
||||
public IEnumerable<string> AutocompleteItemMods => _staticDataService.ItemMods;
|
||||
|
||||
public List<Type> BlockItemTypesAvailable => new List<Type>
|
||||
@@ -177,6 +220,7 @@ namespace Filtration.ViewModels
|
||||
typeof (SocketGroupBlockItem),
|
||||
typeof (ClassBlockItem),
|
||||
typeof (BaseTypeBlockItem),
|
||||
typeof (ProphecyBlockItem),
|
||||
typeof (IdentifiedBlockItem),
|
||||
typeof (CorruptedBlockItem),
|
||||
typeof (ElderItemBlockItem),
|
||||
@@ -231,8 +275,6 @@ namespace Filtration.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
public ObservableCollection<ColorItem> AvailableColors => PathOfExileColors.DefaultColors;
|
||||
|
||||
public Color DisplayTextColor => Block.DisplayTextColor;
|
||||
public Color DisplayBackgroundColor => Block.DisplayBackgroundColor;
|
||||
public Color DisplayBorderColor => Block.DisplayBorderColor;
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
internal interface IItemFilterBlockViewModelBase
|
||||
{
|
||||
void Initialise(IItemFilterBlockBase itemfilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel);
|
||||
void Initialise(IItemFilterBlockBase itemFilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel);
|
||||
IItemFilterBlockBase BaseBlock { get; }
|
||||
bool IsDirty { 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;
|
||||
|
||||
CopyBlockCommand = new RelayCommand(OnCopyBlockCommand);
|
||||
|
||||
@@ -10,7 +10,8 @@ namespace Filtration.ViewModels
|
||||
IItemFilterCommentBlock ItemFilterCommentBlock { get; }
|
||||
string Comment { get; }
|
||||
bool IsExpanded { get; set; }
|
||||
bool HasVisibleChild { get; }
|
||||
bool HasVisibleChild { get; }
|
||||
int ChildCount { get; set; }
|
||||
}
|
||||
|
||||
internal class ItemFilterCommentBlockViewModel : ItemFilterBlockViewModelBase, IItemFilterCommentBlockViewModel
|
||||
@@ -28,13 +29,13 @@ namespace Filtration.ViewModels
|
||||
ToggleSectionCommand = new RelayCommand(OnToggleSectionCommand);
|
||||
}
|
||||
|
||||
public override void Initialise(IItemFilterBlockBase itemfilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel)
|
||||
public override void Initialise(IItemFilterBlockBase itemFilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel)
|
||||
{
|
||||
_parentScriptViewModel = itemFilterScriptViewModel;
|
||||
ItemFilterCommentBlock = itemfilterBlock as IItemFilterCommentBlock;
|
||||
ItemFilterCommentBlock = itemFilterBlock as IItemFilterCommentBlock;
|
||||
BaseBlock = ItemFilterCommentBlock;
|
||||
|
||||
base.Initialise(itemfilterBlock, itemFilterScriptViewModel);
|
||||
base.Initialise(itemFilterBlock, itemFilterScriptViewModel);
|
||||
}
|
||||
|
||||
public RelayCommand ToggleSectionCommand { get; }
|
||||
@@ -43,10 +44,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
public string Comment
|
||||
{
|
||||
get
|
||||
{
|
||||
return ItemFilterCommentBlock.Comment;
|
||||
}
|
||||
get => ItemFilterCommentBlock.Comment;
|
||||
set
|
||||
{
|
||||
if (ItemFilterCommentBlock.Comment != value)
|
||||
|
||||
@@ -6,11 +6,13 @@ using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reactive.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Media.Imaging;
|
||||
using DynamicData.Binding;
|
||||
using Filtration.Common.Services;
|
||||
using Filtration.Common.ViewModels;
|
||||
using Filtration.Interface;
|
||||
@@ -37,11 +39,11 @@ namespace Filtration.ViewModels
|
||||
IEnumerable<IItemFilterCommentBlockViewModel> ItemFilterCommentBlockViewModels { get; }
|
||||
ObservableCollection<string> CustomSoundsAvailable { get; }
|
||||
Predicate<IItemFilterBlockViewModel> BlockFilterPredicate { get; set; }
|
||||
|
||||
|
||||
bool ShowAdvanced { get; }
|
||||
string Description { get; set; }
|
||||
string DisplayName { get; }
|
||||
|
||||
|
||||
void Initialise(IItemFilterScript itemFilterScript, bool newScript);
|
||||
void RemoveDirtyFlag();
|
||||
void SetDirtyFlag();
|
||||
@@ -63,7 +65,7 @@ namespace Filtration.ViewModels
|
||||
RelayCommand MoveBlockUpCommand { get; }
|
||||
RelayCommand MoveBlockDownCommand { get; }
|
||||
RelayCommand MoveBlockToTopCommand { get; }
|
||||
RelayCommand MoveBlockToBottomCommand { get;}
|
||||
RelayCommand MoveBlockToBottomCommand { get; }
|
||||
RelayCommand CopyBlockCommand { get; }
|
||||
RelayCommand PasteBlockCommand { get; }
|
||||
RelayCommand CopyBlockStyleCommand { get; }
|
||||
@@ -75,6 +77,8 @@ namespace Filtration.ViewModels
|
||||
RelayCommand<bool> ToggleShowAdvancedCommand { get; }
|
||||
RelayCommand ClearFilterCommand { get; }
|
||||
RelayCommand ClearStylesCommand { get; }
|
||||
RelayCommand EnableDropSoundsCommand { get; }
|
||||
RelayCommand DisableDropSoundsCommand { get; }
|
||||
|
||||
void AddCommentBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase);
|
||||
void AddBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase);
|
||||
@@ -105,17 +109,14 @@ namespace Filtration.ViewModels
|
||||
private readonly IItemFilterPersistenceService _persistenceService;
|
||||
private readonly IMessageBoxService _messageBoxService;
|
||||
private readonly IClipboardService _clipboardService;
|
||||
private readonly IBlockGroupHierarchyBuilder _blockGroupHierarchyBuilder;
|
||||
|
||||
private bool _isDirty;
|
||||
private readonly ObservableCollection<IItemFilterBlockViewModelBase> _selectedBlockViewModels;
|
||||
private IItemFilterCommentBlockViewModel _sectionBrowserSelectedBlockViewModel;
|
||||
private readonly ObservableCollection<IItemFilterBlockViewModelBase> _itemFilterBlockViewModels;
|
||||
private Predicate<IItemFilterBlockViewModel> _blockFilterPredicate;
|
||||
private ICommandManager _scriptCommandManager;
|
||||
|
||||
private List<IDisposable> _subscriptions;
|
||||
private ObservableCollection<string> _customSoundsAvailable;
|
||||
private ListCollectionView _viewItemFilterBlockViewModels;
|
||||
private readonly List<IItemFilterBlockViewModelBase> _lastAddedBlocks;
|
||||
|
||||
public ItemFilterScriptViewModel(IItemFilterBlockBaseViewModelFactory itemFilterBlockBaseViewModelFactory,
|
||||
@@ -124,8 +125,7 @@ namespace Filtration.ViewModels
|
||||
IAvalonDockWorkspaceViewModel avalonDockWorkspaceViewModel,
|
||||
IItemFilterPersistenceService persistenceService,
|
||||
IMessageBoxService messageBoxService,
|
||||
IClipboardService clipboardService,
|
||||
IBlockGroupHierarchyBuilder blockGroupHierarchyBuilder)
|
||||
IClipboardService clipboardService)
|
||||
{
|
||||
_itemFilterBlockBaseViewModelFactory = itemFilterBlockBaseViewModelFactory;
|
||||
_blockTranslator = blockTranslator;
|
||||
@@ -135,15 +135,20 @@ namespace Filtration.ViewModels
|
||||
_persistenceService = persistenceService;
|
||||
_messageBoxService = messageBoxService;
|
||||
_clipboardService = clipboardService;
|
||||
_blockGroupHierarchyBuilder = blockGroupHierarchyBuilder;
|
||||
_itemFilterBlockViewModels = new ObservableCollection<IItemFilterBlockViewModelBase>();
|
||||
_selectedBlockViewModels = new ObservableCollection<IItemFilterBlockViewModelBase>();
|
||||
_selectedBlockViewModels.CollectionChanged += (s, e) =>
|
||||
{
|
||||
RaisePropertyChanged(nameof(SelectedBlockViewModels));
|
||||
RaisePropertyChanged(nameof(LastSelectedBlockViewModel));
|
||||
Messenger.Default.Send(new NotificationMessage("LastSelectedBlockChanged"));
|
||||
};
|
||||
_subscriptions = new List<IDisposable>();
|
||||
ItemFilterBlockViewModels = new ObservableCollection<IItemFilterBlockViewModelBase>();
|
||||
SelectedBlockViewModels = new ObservableCollection<IItemFilterBlockViewModelBase>();
|
||||
|
||||
_subscriptions.Add(
|
||||
SelectedBlockViewModels.ToObservableChangeSet()
|
||||
.Throttle(TimeSpan.FromMilliseconds(30))
|
||||
.Subscribe(x => {
|
||||
RaisePropertyChanged(nameof(SelectedBlockViewModels));
|
||||
RaisePropertyChanged(nameof(LastSelectedBlockViewModel));
|
||||
Messenger.Default.Send(new NotificationMessage("LastSelectedBlockChanged"));
|
||||
})
|
||||
);
|
||||
|
||||
_lastAddedBlocks = new List<IItemFilterBlockViewModelBase>();
|
||||
_showAdvanced = Settings.Default.ShowAdvanced;
|
||||
|
||||
@@ -154,9 +159,9 @@ namespace Filtration.ViewModels
|
||||
|
||||
ToggleShowAdvancedCommand = new RelayCommand<bool>(OnToggleShowAdvancedCommand);
|
||||
ClearFilterCommand = new RelayCommand(OnClearFilterCommand, () => BlockFilterPredicate != null);
|
||||
ClearStylesCommand = new RelayCommand(OnClearStylesCommand, () => SelectedBlockViewModels.OfType<IItemFilterBlockViewModel>().Count() > 0);
|
||||
ClearStylesCommand = new RelayCommand(OnClearStylesCommand, () => SelectedBlockViewModels.OfType<IItemFilterBlockViewModel>().Any());
|
||||
CloseCommand = new RelayCommand(async () => await OnCloseCommand());
|
||||
DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, () => CanModifySelectedBlocks());
|
||||
DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, CanModifySelectedBlocks);
|
||||
MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand, () => SelectedBlockViewModels.Count > 0 && CanModifySelectedBlocks());
|
||||
MoveBlockToBottomCommand = new RelayCommand(OnMoveBlockToBottomCommand, () => SelectedBlockViewModels.Count > 0 && CanModifySelectedBlocks());
|
||||
MoveBlockUpCommand = new RelayCommand(OnMoveBlockUpCommand, () => SelectedBlockViewModels.Count == 1 && ViewItemFilterBlockViewModels.IndexOf(LastSelectedBlockViewModel) > 0);
|
||||
@@ -177,6 +182,8 @@ namespace Filtration.ViewModels
|
||||
CollapseAllBlocksCommand = new RelayCommand(OnCollapseAllBlocksCommand);
|
||||
ExpandAllSectionsCommand = new RelayCommand(ExpandAllSections);
|
||||
CollapseAllSectionsCommand = new RelayCommand(CollapseAllSections);
|
||||
EnableDropSoundsCommand = new RelayCommand(OnEnableDropSoundsCommand, CanModifySelectedBlocks);
|
||||
DisableDropSoundsCommand = new RelayCommand(OnDisableDropSoundsCommand, CanModifySelectedBlocks);
|
||||
|
||||
var icon = new BitmapImage();
|
||||
icon.BeginInit();
|
||||
@@ -191,6 +198,8 @@ namespace Filtration.ViewModels
|
||||
|
||||
Script = itemFilterScript;
|
||||
_scriptCommandManager = Script.CommandManager;
|
||||
InitialiseCustomSounds();
|
||||
|
||||
AddItemFilterBlockViewModels(Script.ItemFilterBlocks, -1);
|
||||
|
||||
UpdateChildCount();
|
||||
@@ -206,8 +215,29 @@ namespace Filtration.ViewModels
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Script.ItemFilterBlocks.CollectionChanged += ItemFilterBlocksOnCollectionChanged;
|
||||
|
||||
_filenameIsFake = newScript;
|
||||
|
||||
if (newScript)
|
||||
{
|
||||
Script.FilePath = "Untitled.filter";
|
||||
}
|
||||
|
||||
Title = Filename;
|
||||
ContentId = "ScriptContentId";
|
||||
|
||||
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")
|
||||
@@ -223,21 +253,6 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
_customSoundsAvailable.Add(file.Replace(_persistenceService.ItemFilterScriptDirectory + "\\", ""));
|
||||
}
|
||||
|
||||
Script.ItemFilterBlocks.CollectionChanged += ItemFilterBlocksOnCollectionChanged;
|
||||
_customSoundsAvailable.CollectionChanged += CustomSoundsAvailableOnCollectionChanged;
|
||||
|
||||
_filenameIsFake = newScript;
|
||||
|
||||
if (newScript)
|
||||
{
|
||||
Script.FilePath = "Untitled.filter";
|
||||
}
|
||||
|
||||
Title = Filename;
|
||||
ContentId = "ScriptContentId";
|
||||
|
||||
CollapseAllSections();
|
||||
}
|
||||
|
||||
private void ItemFilterBlocksOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs notifyCollectionChangedEventArgs)
|
||||
@@ -245,20 +260,20 @@ namespace Filtration.ViewModels
|
||||
switch (notifyCollectionChangedEventArgs.Action)
|
||||
{
|
||||
case NotifyCollectionChangedAction.Add:
|
||||
{
|
||||
AddItemFilterBlockViewModels(notifyCollectionChangedEventArgs.NewItems.Cast<IItemFilterBlockBase>(), notifyCollectionChangedEventArgs.NewStartingIndex);
|
||||
break;
|
||||
}
|
||||
{
|
||||
AddItemFilterBlockViewModels(notifyCollectionChangedEventArgs.NewItems.Cast<IItemFilterBlockBase>(), notifyCollectionChangedEventArgs.NewStartingIndex);
|
||||
break;
|
||||
}
|
||||
case NotifyCollectionChangedAction.Remove:
|
||||
{
|
||||
RemoveItemFilterBlockviewModels(notifyCollectionChangedEventArgs.OldItems.Cast<IItemFilterBlockBase>());
|
||||
break;
|
||||
}
|
||||
{
|
||||
RemoveItemFilterBlockViewModels(notifyCollectionChangedEventArgs.OldItems.Cast<IItemFilterBlockBase>());
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
Debugger.Break(); // Unhandled NotifyCollectionChangedAction
|
||||
break;
|
||||
}
|
||||
{
|
||||
Debugger.Break(); // Unhandled NotifyCollectionChangedAction
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
UpdateChildCount();
|
||||
@@ -289,8 +304,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
_lastAddedBlocks.Add(vm);
|
||||
|
||||
var itemBlock = itemFilterBlock as IItemFilterBlock;
|
||||
if (itemBlock != null)
|
||||
if (itemFilterBlock is IItemFilterBlock itemBlock)
|
||||
{
|
||||
foreach (var customSoundBlockItem in itemBlock.BlockItems.OfType<CustomSoundBlockItem>())
|
||||
{
|
||||
@@ -303,7 +317,7 @@ namespace Filtration.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
private void RemoveItemFilterBlockviewModels(IEnumerable<IItemFilterBlockBase> itemFilterBlocks)
|
||||
private void RemoveItemFilterBlockViewModels(IEnumerable<IItemFilterBlockBase> itemFilterBlocks)
|
||||
{
|
||||
foreach (var itemFilterBlock in itemFilterBlocks)
|
||||
{
|
||||
@@ -319,7 +333,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
private void UpdateFilteredBlockList()
|
||||
{
|
||||
ICollectionView filteredBlocks = CollectionViewSource.GetDefaultView(_itemFilterBlockViewModels);
|
||||
ICollectionView filteredBlocks = CollectionViewSource.GetDefaultView(ItemFilterBlockViewModels);
|
||||
filteredBlocks.Filter = BlockFilter;
|
||||
|
||||
ItemFilterCommentBlockViewModel previousSection = new ItemFilterCommentBlockViewModel();
|
||||
@@ -329,16 +343,16 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
previousSection.VisibleChildCount++;
|
||||
}
|
||||
else if (block is ItemFilterCommentBlockViewModel)
|
||||
else if (block is ItemFilterCommentBlockViewModel model)
|
||||
{
|
||||
previousSection = block as ItemFilterCommentBlockViewModel;
|
||||
previousSection = model;
|
||||
previousSection.VisibleChildCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
_viewItemFilterBlockViewModels = (ListCollectionView)CollectionViewSource.GetDefaultView(
|
||||
ViewItemFilterBlockViewModels = (ListCollectionView)CollectionViewSource.GetDefaultView(
|
||||
filteredBlocks.Cast<IItemFilterBlockViewModelBase>().ToList());
|
||||
_viewItemFilterBlockViewModels.Filter = BlockVisibilityFilter;
|
||||
ViewItemFilterBlockViewModels.Filter = BlockVisibilityFilter;
|
||||
|
||||
Messenger.Default.Send(new NotificationMessage("SectionsChanged"));
|
||||
SelectedBlockViewModels.Clear();
|
||||
@@ -355,24 +369,24 @@ namespace Filtration.ViewModels
|
||||
previousSection.ChildCount++;
|
||||
block.IsVisible = previousSection.IsExpanded;
|
||||
}
|
||||
else if (block is ItemFilterCommentBlockViewModel)
|
||||
else if (block is ItemFilterCommentBlockViewModel model)
|
||||
{
|
||||
previousSection = block as ItemFilterCommentBlockViewModel;
|
||||
previousSection = model;
|
||||
previousSection.ChildCount = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<IItemFilterBlockViewModelBase> getChildren(IItemFilterCommentBlockViewModel targetBlockViewModel)
|
||||
private List<IItemFilterBlockViewModelBase> GetChildren(IItemFilterCommentBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
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,
|
||||
(targetBlockViewModel as ItemFilterCommentBlockViewModel).ChildCount).ToList();
|
||||
targetBlockViewModel.ChildCount).ToList();
|
||||
}
|
||||
|
||||
private void ValidateSelectedBlocks()
|
||||
@@ -411,6 +425,8 @@ namespace Filtration.ViewModels
|
||||
public RelayCommand CollapseAllBlocksCommand { get; }
|
||||
public RelayCommand ExpandAllSectionsCommand { get; }
|
||||
public RelayCommand CollapseAllSectionsCommand { get; }
|
||||
public RelayCommand EnableDropSoundsCommand { get; }
|
||||
public RelayCommand DisableDropSoundsCommand { get; }
|
||||
|
||||
public bool IsActiveDocument
|
||||
{
|
||||
@@ -427,25 +443,16 @@ namespace Filtration.ViewModels
|
||||
public ObservableCollection<string> CustomSoundsAvailable
|
||||
{
|
||||
get => _customSoundsAvailable;
|
||||
set
|
||||
private set
|
||||
{
|
||||
_customSoundsAvailable = value;
|
||||
RaisePropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public ListCollectionView ViewItemFilterBlockViewModels
|
||||
{
|
||||
get => _viewItemFilterBlockViewModels;
|
||||
}
|
||||
public ListCollectionView ViewItemFilterBlockViewModels { get; private set; }
|
||||
|
||||
public ObservableCollection<IItemFilterBlockViewModelBase> ItemFilterBlockViewModels
|
||||
{
|
||||
get
|
||||
{
|
||||
return _itemFilterBlockViewModels;
|
||||
}
|
||||
}
|
||||
public ObservableCollection<IItemFilterBlockViewModelBase> ItemFilterBlockViewModels { get; }
|
||||
|
||||
private bool BlockFilter(object item)
|
||||
{
|
||||
@@ -550,7 +557,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
public bool HasSelectedCommentBlock()
|
||||
{
|
||||
return SelectedBlockViewModels.OfType<IItemFilterCommentBlockViewModel>().Count() > 0;
|
||||
return SelectedBlockViewModels.OfType<IItemFilterCommentBlockViewModel>().Any();
|
||||
}
|
||||
|
||||
public bool CanModifySelectedBlocks()
|
||||
@@ -581,18 +588,9 @@ namespace Filtration.ViewModels
|
||||
return itemFilterCommentBlock.ChildCount == itemFilterCommentBlock.VisibleChildCount;
|
||||
}
|
||||
|
||||
public ObservableCollection<IItemFilterBlockViewModelBase> SelectedBlockViewModels
|
||||
{
|
||||
get => _selectedBlockViewModels;
|
||||
}
|
||||
public ObservableCollection<IItemFilterBlockViewModelBase> SelectedBlockViewModels { get; }
|
||||
|
||||
public IItemFilterBlockViewModelBase LastSelectedBlockViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return SelectedBlockViewModels.Count > 0 ? SelectedBlockViewModels.Last() : null;
|
||||
}
|
||||
}
|
||||
public IItemFilterBlockViewModelBase LastSelectedBlockViewModel => SelectedBlockViewModels.Count > 0 ? SelectedBlockViewModels.Last() : null;
|
||||
|
||||
public IItemFilterCommentBlockViewModel CommentBlockBrowserBrowserSelectedBlockViewModel
|
||||
{
|
||||
@@ -652,7 +650,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
private bool _filenameIsFake;
|
||||
private bool _showAdvanced;
|
||||
|
||||
|
||||
public async Task SaveAsync()
|
||||
{
|
||||
if (!ValidateScript()) return;
|
||||
@@ -701,7 +699,7 @@ namespace Filtration.ViewModels
|
||||
var result = saveDialog.ShowDialog();
|
||||
|
||||
if (result != DialogResult.OK) return;
|
||||
|
||||
|
||||
Messenger.Default.Send(new NotificationMessage("ShowLoadingBanner"));
|
||||
|
||||
var previousFilePath = Script.FilePath;
|
||||
@@ -797,7 +795,7 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
await Close();
|
||||
}
|
||||
|
||||
|
||||
public async Task Close()
|
||||
{
|
||||
if (!IsDirty)
|
||||
@@ -812,26 +810,33 @@ namespace Filtration.ViewModels
|
||||
switch (result)
|
||||
{
|
||||
case MessageBoxResult.Yes:
|
||||
{
|
||||
await SaveAsync();
|
||||
CloseScript();
|
||||
break;
|
||||
}
|
||||
{
|
||||
await SaveAsync();
|
||||
CloseScript();
|
||||
break;
|
||||
}
|
||||
case MessageBoxResult.No:
|
||||
{
|
||||
CloseScript();
|
||||
break;
|
||||
}
|
||||
{
|
||||
CloseScript();
|
||||
break;
|
||||
}
|
||||
case MessageBoxResult.Cancel:
|
||||
{
|
||||
return;
|
||||
}
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void CloseScript()
|
||||
{
|
||||
foreach (var disposable in Enumerable.Reverse(_subscriptions))
|
||||
{
|
||||
disposable.Dispose();
|
||||
}
|
||||
|
||||
_subscriptions.Clear();
|
||||
|
||||
var openMasterThemForScript =
|
||||
_avalonDockWorkspaceViewModel.OpenMasterThemeForScript(this);
|
||||
if (openMasterThemForScript != null)
|
||||
@@ -877,9 +882,9 @@ namespace Filtration.ViewModels
|
||||
foreach (var block in SelectedBlockViewModels.OfType<IItemFilterBlockViewModelBase>())
|
||||
{
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -896,14 +901,14 @@ namespace Filtration.ViewModels
|
||||
else
|
||||
{
|
||||
var blocksToCopy = new List<IItemFilterBlockViewModelBase> { targetBlockViewModelBase };
|
||||
blocksToCopy.AddRange(getChildren(targetBlockViewModelBase as IItemFilterCommentBlockViewModel));
|
||||
blocksToCopy.AddRange(GetChildren((IItemFilterCommentBlockViewModel)targetBlockViewModelBase));
|
||||
CopyBlocks(blocksToCopy);
|
||||
}
|
||||
}
|
||||
|
||||
public void CopyBlocks(IEnumerable<IItemFilterBlockViewModelBase> targetBlockViewModels)
|
||||
{
|
||||
if (targetBlockViewModels.Count() < 1)
|
||||
if (!targetBlockViewModels.Any())
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -926,8 +931,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
private void OnCopyBlockStyleCommand()
|
||||
{
|
||||
var selectedBlockViewModel = LastSelectedBlockViewModel as IItemFilterBlockViewModel;
|
||||
if (selectedBlockViewModel != null)
|
||||
if (LastSelectedBlockViewModel is IItemFilterBlockViewModel selectedBlockViewModel)
|
||||
{
|
||||
CopyBlockStyle(selectedBlockViewModel);
|
||||
}
|
||||
@@ -958,8 +962,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
private void OnPasteBlockStyleCommand()
|
||||
{
|
||||
var selectedBlockViewModel = LastSelectedBlockViewModel as IItemFilterBlockViewModel;
|
||||
if (selectedBlockViewModel != null)
|
||||
if (LastSelectedBlockViewModel is IItemFilterBlockViewModel selectedBlockViewModel)
|
||||
{
|
||||
PasteBlockStyle(selectedBlockViewModel);
|
||||
}
|
||||
@@ -988,7 +991,7 @@ namespace Filtration.ViewModels
|
||||
if (commentBlock != null && !commentBlock.IsExpanded)
|
||||
{
|
||||
targetBlockViewModelBase = ItemFilterBlockViewModels[ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase) +
|
||||
(commentBlock as ItemFilterCommentBlockViewModel).ChildCount];
|
||||
commentBlock.ChildCount];
|
||||
}
|
||||
|
||||
try
|
||||
@@ -1046,12 +1049,12 @@ namespace Filtration.ViewModels
|
||||
var indexToMove = ItemFilterBlockViewModels.IndexOf(
|
||||
ViewItemFilterBlockViewModels.GetItemAt(blockIndex - 1) as IItemFilterBlockViewModelBase);
|
||||
|
||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel &&
|
||||
!(targetBlockViewModelBase as IItemFilterCommentBlockViewModel).IsExpanded)
|
||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel model &&
|
||||
!model.IsExpanded)
|
||||
{
|
||||
ExecuteCommandAndSelectAdded(new MoveBlocksToIndexCommand(Script,
|
||||
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase),
|
||||
(targetBlockViewModelBase as ItemFilterCommentBlockViewModel).ChildCount + 1).ToList(), indexToMove));
|
||||
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(model),
|
||||
model.ChildCount + 1).ToList(), indexToMove));
|
||||
if (_lastAddedBlocks.Count > 0)
|
||||
{
|
||||
ToggleSection(_lastAddedBlocks[0] as IItemFilterCommentBlockViewModel);
|
||||
@@ -1067,8 +1070,8 @@ namespace Filtration.ViewModels
|
||||
ExecuteCommandAndSelectAdded(new MoveBlocksToIndexCommand(Script, targetBlockViewModelBase.BaseBlock, indexToMove));
|
||||
}
|
||||
|
||||
SetDirtyFlag();
|
||||
}
|
||||
SetDirtyFlag();
|
||||
}
|
||||
|
||||
private void OnMoveBlockDownCommand()
|
||||
{
|
||||
@@ -1088,13 +1091,13 @@ namespace Filtration.ViewModels
|
||||
indexToMove += (belowBlock as ItemFilterCommentBlockViewModel).ChildCount;
|
||||
}
|
||||
|
||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel &&
|
||||
!(targetBlockViewModelBase as IItemFilterCommentBlockViewModel).IsExpanded)
|
||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel model &&
|
||||
!model.IsExpanded)
|
||||
{
|
||||
indexToMove -= (targetBlockViewModelBase as ItemFilterCommentBlockViewModel).ChildCount;
|
||||
indexToMove -= model.ChildCount;
|
||||
ExecuteCommandAndSelectAdded(new MoveBlocksToIndexCommand(Script,
|
||||
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase),
|
||||
(targetBlockViewModelBase as ItemFilterCommentBlockViewModel).ChildCount + 1).ToList(), indexToMove));
|
||||
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(model),
|
||||
model.ChildCount + 1).ToList(), indexToMove));
|
||||
if (_lastAddedBlocks.Count > 0)
|
||||
{
|
||||
ToggleSection(_lastAddedBlocks[0] as IItemFilterCommentBlockViewModel);
|
||||
@@ -1119,15 +1122,14 @@ namespace Filtration.ViewModels
|
||||
|
||||
public void AddBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase)
|
||||
{
|
||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel && !(targetBlockViewModelBase as IItemFilterCommentBlockViewModel).IsExpanded)
|
||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel model && !model.IsExpanded)
|
||||
{
|
||||
ToggleSection(targetBlockViewModelBase as IItemFilterCommentBlockViewModel);
|
||||
targetBlockViewModelBase = ItemFilterBlockViewModels[ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase) +
|
||||
(targetBlockViewModelBase as ItemFilterCommentBlockViewModel).ChildCount];
|
||||
ToggleSection(model);
|
||||
targetBlockViewModelBase = ItemFilterBlockViewModels[ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase) + model.ChildCount];
|
||||
}
|
||||
|
||||
ExecuteCommandAndSelectAdded(new AddBlockCommand(Script, targetBlockViewModelBase?.BaseBlock));
|
||||
SetDirtyFlag();
|
||||
SetDirtyFlag();
|
||||
}
|
||||
|
||||
private void OnAddCommentBlockCommand()
|
||||
@@ -1155,7 +1157,7 @@ namespace Filtration.ViewModels
|
||||
blocksToDelete.Add(block);
|
||||
if (block is IItemFilterCommentBlockViewModel && !(block as IItemFilterCommentBlockViewModel).IsExpanded)
|
||||
{
|
||||
blocksToDelete.AddRange(getChildren(block as IItemFilterCommentBlockViewModel));
|
||||
blocksToDelete.AddRange(GetChildren(block as IItemFilterCommentBlockViewModel));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1211,8 +1213,8 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
_scriptCommandManager.ExecuteCommand(new MoveBlocksToBottomCommand(Script, targetBlockViewModelBase.BaseBlock));
|
||||
}
|
||||
|
||||
SetDirtyFlag();
|
||||
|
||||
SetDirtyFlag();
|
||||
}
|
||||
|
||||
public void MoveBlocksToBottom(IEnumerable<IItemFilterBlockViewModelBase> targetCommentBlockViewModels)
|
||||
@@ -1223,7 +1225,7 @@ namespace Filtration.ViewModels
|
||||
sourceIndexes.Add(ItemFilterBlockViewModels.IndexOf(block));
|
||||
if (block is IItemFilterCommentBlockViewModel && !(block as IItemFilterCommentBlockViewModel).IsExpanded)
|
||||
{
|
||||
sourceIndexes.AddRange(getChildrenIndexes(block as IItemFilterCommentBlockViewModel));
|
||||
sourceIndexes.AddRange(GetChildrenIndexes(block as IItemFilterCommentBlockViewModel));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1246,11 +1248,11 @@ namespace Filtration.ViewModels
|
||||
|
||||
public void MoveBlockToTop(IItemFilterBlockViewModelBase targetBlockViewModelBase)
|
||||
{
|
||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel && !(targetBlockViewModelBase as IItemFilterCommentBlockViewModel).IsExpanded)
|
||||
if (targetBlockViewModelBase is IItemFilterCommentBlockViewModel model && !model.IsExpanded)
|
||||
{
|
||||
ExecuteCommandAndSelectAdded(new MoveBlocksToTopCommand(Script,
|
||||
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(targetBlockViewModelBase),
|
||||
(targetBlockViewModelBase as ItemFilterCommentBlockViewModel).ChildCount + 1).ToList()));
|
||||
Enumerable.Range(ItemFilterBlockViewModels.IndexOf(model),
|
||||
model.ChildCount + 1).ToList()));
|
||||
if (_lastAddedBlocks.Count > 0)
|
||||
{
|
||||
ToggleSection(_lastAddedBlocks[0] as IItemFilterCommentBlockViewModel);
|
||||
@@ -1270,23 +1272,80 @@ namespace Filtration.ViewModels
|
||||
foreach (var block in targetCommentBlockViewModels)
|
||||
{
|
||||
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));
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
public void OnEnableDropSoundsCommand()
|
||||
{
|
||||
ValidateSelectedBlocks();
|
||||
|
||||
var input = new List<Tuple<ObservableCollection<IItemFilterBlockItem>, IItemFilterBlockItem>>();
|
||||
|
||||
foreach (var block in SelectedBlockViewModels.OfType<IItemFilterBlockViewModel>())
|
||||
{
|
||||
var blockItems = block.Block.BlockItems;
|
||||
for (var i = 0; i < blockItems.Count; i++)
|
||||
{
|
||||
var blockItem = blockItems[i];
|
||||
if (blockItem is DisableDropSoundBlockItem)
|
||||
{
|
||||
input.Add(new Tuple<ObservableCollection<IItemFilterBlockItem>, IItemFilterBlockItem>(blockItems, blockItem));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (input.Count > 0)
|
||||
{
|
||||
_scriptCommandManager.ExecuteCommand(new RemoveBlockItemFromBlocksCommand(input));
|
||||
SetDirtyFlag();
|
||||
}
|
||||
}
|
||||
|
||||
public void OnDisableDropSoundsCommand()
|
||||
{
|
||||
ValidateSelectedBlocks();
|
||||
|
||||
var input = new List<Tuple<ObservableCollection<IItemFilterBlockItem>, IItemFilterBlockItem>>();
|
||||
|
||||
foreach (var block in SelectedBlockViewModels.OfType<IItemFilterBlockViewModel>())
|
||||
{
|
||||
var blockItems = block.Block.BlockItems;
|
||||
var found = false;
|
||||
foreach (var item in blockItems)
|
||||
{
|
||||
if (item is DisableDropSoundBlockItem)
|
||||
{
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found) {
|
||||
var item = new DisableDropSoundBlockItem();
|
||||
input.Add(new Tuple<ObservableCollection<IItemFilterBlockItem>, IItemFilterBlockItem>(blockItems, item));
|
||||
}
|
||||
}
|
||||
|
||||
if (input.Count > 0)
|
||||
{
|
||||
_scriptCommandManager.ExecuteCommand(new AddBlockItemToBlocksCommand(input));
|
||||
SetDirtyFlag();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnBlockBecameDirty(object sender, EventArgs e)
|
||||
{
|
||||
@@ -1313,11 +1372,11 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
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;
|
||||
}
|
||||
@@ -1334,11 +1393,11 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
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;
|
||||
}
|
||||
@@ -1355,7 +1414,7 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
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;
|
||||
}
|
||||
@@ -1366,7 +1425,7 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
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;
|
||||
}
|
||||
@@ -1399,7 +1458,7 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
var newState = !targetCommentBlockViewModelBase.IsExpanded;
|
||||
targetCommentBlockViewModelBase.IsExpanded = newState;
|
||||
foreach (var child in getChildren(targetCommentBlockViewModelBase))
|
||||
foreach (var child in GetChildren(targetCommentBlockViewModelBase))
|
||||
{
|
||||
child.IsVisible = newState;
|
||||
}
|
||||
@@ -1414,15 +1473,11 @@ namespace Filtration.ViewModels
|
||||
|
||||
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 (block != null)
|
||||
if (model.IsExpanded)
|
||||
{
|
||||
if(block.IsExpanded)
|
||||
{
|
||||
ToggleSection(block, true);
|
||||
}
|
||||
ToggleSection(model, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1433,12 +1488,11 @@ namespace Filtration.ViewModels
|
||||
|
||||
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 (block != null && !block.IsExpanded)
|
||||
if (!model.IsExpanded)
|
||||
{
|
||||
ToggleSection(block, true);
|
||||
ToggleSection(model, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ namespace Filtration.ViewModels
|
||||
private readonly IItemFilterScriptTranslator _itemFilterScriptTranslator;
|
||||
private readonly IReplaceColorsViewModel _replaceColorsViewModel;
|
||||
private readonly IAvalonDockWorkspaceViewModel _avalonDockWorkspaceViewModel;
|
||||
private readonly IScriptLoadingService _scriptLoadingService;
|
||||
private readonly IThemeProvider _themeProvider;
|
||||
private readonly IThemeService _themeService;
|
||||
private readonly IMessageBoxService _messageBoxService;
|
||||
@@ -63,6 +64,7 @@ namespace Filtration.ViewModels
|
||||
IItemFilterScriptTranslator itemFilterScriptTranslator,
|
||||
IReplaceColorsViewModel replaceColorsViewModel,
|
||||
IAvalonDockWorkspaceViewModel avalonDockWorkspaceViewModel,
|
||||
IScriptLoadingService scriptLoadingService,
|
||||
ISettingsPageViewModel settingsPageViewModel,
|
||||
IThemeProvider themeProvider,
|
||||
IThemeService themeService,
|
||||
@@ -75,6 +77,7 @@ namespace Filtration.ViewModels
|
||||
_itemFilterScriptTranslator = itemFilterScriptTranslator;
|
||||
_replaceColorsViewModel = replaceColorsViewModel;
|
||||
_avalonDockWorkspaceViewModel = avalonDockWorkspaceViewModel;
|
||||
_scriptLoadingService = scriptLoadingService;
|
||||
SettingsPageViewModel = settingsPageViewModel;
|
||||
_themeProvider = themeProvider;
|
||||
_themeService = themeService;
|
||||
@@ -126,6 +129,9 @@ namespace Filtration.ViewModels
|
||||
ApplyThemeToScriptCommand = new RelayCommand(async () => await OnApplyThemeToScriptCommandAsync(), () => ActiveDocumentIsScript);
|
||||
EditMasterThemeCommand = new RelayCommand(OnEditMasterThemeCommand, () => ActiveDocumentIsScript);
|
||||
|
||||
EnableDropSoundsCommand = new RelayCommand(OnEnableDropSoundsCommand, () => ActiveDocumentIsScript && ActiveScriptHasSelectedBlock && ActiveScriptCanModifySelectedBlocks);
|
||||
DisableDropSoundsCommand = new RelayCommand(OnDisableDropSoundsCommand, () => ActiveDocumentIsScript && ActiveScriptHasSelectedBlock && ActiveScriptCanModifySelectedBlocks);
|
||||
|
||||
AddTextColorThemeComponentCommand = new RelayCommand(OnAddTextColorThemeComponentCommand, () => ActiveDocumentIsTheme && ActiveThemeIsEditable);
|
||||
AddBackgroundColorThemeComponentCommand = new RelayCommand(OnAddBackgroundColorThemeComponentCommand, () => ActiveDocumentIsTheme && ActiveThemeIsEditable);
|
||||
AddBorderColorThemeComponentCommand = new RelayCommand(OnAddBorderColorThemeComponentCommand, () => ActiveDocumentIsTheme && ActiveThemeIsEditable);
|
||||
@@ -204,10 +210,6 @@ namespace Filtration.ViewModels
|
||||
}
|
||||
});
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Settings.Default.LastOpenScripts))
|
||||
{
|
||||
LoadScriptsAsync(Settings.Default.LastOpenScripts.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries));
|
||||
}
|
||||
}
|
||||
|
||||
public RelayCommand OpenScriptCommand { get; }
|
||||
@@ -231,6 +233,9 @@ namespace Filtration.ViewModels
|
||||
public RelayCommand CreateThemeCommand { get; }
|
||||
public RelayCommand ApplyThemeToScriptCommand { get; }
|
||||
|
||||
public RelayCommand EnableDropSoundsCommand { get; }
|
||||
public RelayCommand DisableDropSoundsCommand { get; }
|
||||
|
||||
public RelayCommand AddTextColorThemeComponentCommand { get; }
|
||||
public RelayCommand AddBackgroundColorThemeComponentCommand { get; }
|
||||
public RelayCommand AddBorderColorThemeComponentCommand { get; }
|
||||
@@ -369,12 +374,12 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
case ".FILTER":
|
||||
{
|
||||
await LoadScriptAsync(filename);
|
||||
await _scriptLoadingService.LoadScriptAsync(filename);
|
||||
break;
|
||||
}
|
||||
case ".FILTERTHEME":
|
||||
{
|
||||
await LoadThemeAsync(filename);
|
||||
await _scriptLoadingService.LoadThemeAsync(filename);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -403,7 +408,7 @@ namespace Filtration.ViewModels
|
||||
OpenTheme(themeViewModel);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void OpenTheme(IThemeEditorViewModel themeEditorViewModel)
|
||||
{
|
||||
if (AvalonDockWorkspaceViewModel.OpenDocuments.Contains(themeEditorViewModel))
|
||||
@@ -431,43 +436,7 @@ namespace Filtration.ViewModels
|
||||
return;
|
||||
}
|
||||
|
||||
await LoadScriptAsync(filePath); // TODO: fix crash
|
||||
}
|
||||
|
||||
private async Task LoadScriptsAsync(string[] files)
|
||||
{
|
||||
foreach (var file in files)
|
||||
{
|
||||
if (File.Exists(file))
|
||||
{
|
||||
await LoadScriptAsync(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
await _scriptLoadingService.LoadScriptAsync(filePath);
|
||||
}
|
||||
|
||||
private async Task OnOpenThemeCommandAsync()
|
||||
@@ -478,27 +447,7 @@ namespace Filtration.ViewModels
|
||||
return;
|
||||
}
|
||||
|
||||
await 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);
|
||||
await _scriptLoadingService.LoadThemeAsync(filePath);
|
||||
}
|
||||
|
||||
private async Task OnApplyThemeToScriptCommandAsync()
|
||||
@@ -781,11 +730,37 @@ namespace Filtration.ViewModels
|
||||
_avalonDockWorkspaceViewModel.ActiveThemeViewModel.SelectedThemeComponent);
|
||||
}
|
||||
|
||||
private void OnEnableDropSoundsCommand()
|
||||
{
|
||||
var result = _messageBoxService.Show("Confirm",
|
||||
"Are you sure you wish to enable drop sounds on all selected blocks?",
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question);
|
||||
if (result == MessageBoxResult.No)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_avalonDockWorkspaceViewModel.ActiveScriptViewModel.EnableDropSoundsCommand.Execute(null);
|
||||
}
|
||||
|
||||
private void OnDisableDropSoundsCommand()
|
||||
{
|
||||
var result = _messageBoxService.Show("Confirm",
|
||||
"Are you sure you wish to disable drop sounds on all selected blocks?",
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question);
|
||||
if (result == MessageBoxResult.No)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_avalonDockWorkspaceViewModel.ActiveScriptViewModel.DisableDropSoundsCommand.Execute(null);
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
|
||||
foreach (var document in openDocuments)
|
||||
{
|
||||
if (!_avalonDockWorkspaceViewModel.OpenDocuments.Contains(document))
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Linq;
|
||||
using System.Windows.Media;
|
||||
using Filtration.ObjectModel;
|
||||
using Filtration.ObjectModel.BlockItemTypes;
|
||||
using Filtration.Views;
|
||||
using GalaSoft.MvvmLight;
|
||||
using GalaSoft.MvvmLight.CommandWpf;
|
||||
using Xceed.Wpf.Toolkit;
|
||||
|
||||
namespace Filtration.ViewModels
|
||||
{
|
||||
@@ -62,8 +59,6 @@ namespace Filtration.ViewModels
|
||||
_itemFilterScript = itemFilterScript;
|
||||
}
|
||||
|
||||
public ObservableCollection<ColorItem> AvailableColors => PathOfExileColors.DefaultColors;
|
||||
|
||||
public Color NewTextColor
|
||||
{
|
||||
get => _replaceColorsParameterSet.NewTextColor;
|
||||
|
||||
@@ -10,8 +10,9 @@ namespace Filtration.ViewModels
|
||||
RelayCommand SetItemFilterScriptDirectoryCommand { get; }
|
||||
|
||||
string DefaultFilterDirectory { get; }
|
||||
bool ExtraLineBetweenBlocks { get; set; }
|
||||
bool BlocksExpandedOnOpen { get; set; }
|
||||
bool DownloadPrereleaseUpdates { get; set; }
|
||||
bool ExtraLineBetweenBlocks { get; set; }
|
||||
}
|
||||
|
||||
internal class SettingsPageViewModel : ViewModelBase, ISettingsPageViewModel
|
||||
@@ -28,10 +29,10 @@ namespace Filtration.ViewModels
|
||||
|
||||
public string DefaultFilterDirectory => Settings.Default.DefaultFilterDirectory;
|
||||
|
||||
public bool ExtraLineBetweenBlocks
|
||||
public bool BlocksExpandedOnOpen
|
||||
{
|
||||
get => Settings.Default.ExtraLineBetweenBlocks;
|
||||
set => Settings.Default.ExtraLineBetweenBlocks = value;
|
||||
get => Settings.Default.BlocksExpandedOnOpen;
|
||||
set => Settings.Default.BlocksExpandedOnOpen = value;
|
||||
}
|
||||
|
||||
public bool DownloadPrereleaseUpdates
|
||||
@@ -40,6 +41,12 @@ namespace Filtration.ViewModels
|
||||
set => Settings.Default.DownloadPrereleaseUpdates = value;
|
||||
}
|
||||
|
||||
public bool ExtraLineBetweenBlocks
|
||||
{
|
||||
get => Settings.Default.ExtraLineBetweenBlocks;
|
||||
set => Settings.Default.ExtraLineBetweenBlocks = value;
|
||||
}
|
||||
|
||||
private void OnSetItemFilterScriptDirectoryCommand()
|
||||
{
|
||||
_itemFilterScriptDirectoryService.SetItemFilterScriptDirectory();
|
||||
|
||||
@@ -35,4 +35,6 @@
|
||||
<Image Source="/Filtration;component/Resources/Icons/ThemeComponentDelete.ico" x:Key="ThemeComponentDeleteIcon" x:Shared="False" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/standby_enabled_icon.png" x:Key="StandbyEnabledIcon" x:Shared="False" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/standby_disabled_icon.png" x:Key="StandbyDisabledIcon" x:Shared="False" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/standby_enabled_icon.png" x:Key="EnableDropSoundsIcon" x:Shared="False" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/standby_disabled_icon.png" x:Key="DisableDropSoundsIcon" x:Shared="False" />
|
||||
</ResourceDictionary>
|
||||
@@ -3,43 +3,39 @@
|
||||
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"
|
||||
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
||||
xmlns:userControls="clr-namespace:Filtration.UserControls"
|
||||
xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit"
|
||||
xmlns:views="clr-namespace:Filtration.Views"
|
||||
xmlns:converters="clr-namespace:Filtration.Converters"
|
||||
xmlns:blockItemBaseTypes="clr-namespace:Filtration.ObjectModel.BlockItemBaseTypes;assembly=Filtration.ObjectModel"
|
||||
xmlns:componentModel="clr-namespace:System.ComponentModel;assembly=WindowsBase"
|
||||
xmlns:designTime="clr-namespace:Filtration.ViewModels.DesignTime"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterBlockViewModel}"
|
||||
d:DesignHeight="200" d:DesignWidth="800">
|
||||
d:DataContext="{d:DesignInstance Type=designTime:DesignTimeItemFilterBlockViewModel, IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="400" d:DesignWidth="817">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary>
|
||||
<views:BindingProxy x:Key="Proxy" Data="{Binding}" />
|
||||
<converters:BlockGroupAdvancedFillColorConverter x:Key="BlockGroupAdvancedFillColorConverter" />
|
||||
<converters:MinimapIconToCroppedBitmapConverter x:Key="MinimapIconToCroppedBitmapConverter"/>
|
||||
<Style TargetType="{x:Type ContentPresenter}" x:Key="BlockItemFadeInStyle">
|
||||
<Setter Property="LayoutTransform">
|
||||
<Setter.Value>
|
||||
<ScaleTransform x:Name="transform" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<EventTrigger RoutedEvent="Loaded">
|
||||
<EventTrigger.Actions>
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.5" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</EventTrigger.Actions>
|
||||
</EventTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<views:BindingProxy x:Key="Proxy" Data="{Binding}" />
|
||||
<converters:BlockGroupAdvancedFillColorConverter x:Key="BlockGroupAdvancedFillColorConverter" />
|
||||
<converters:MinimapIconToCroppedBitmapConverter x:Key="MinimapIconToCroppedBitmapConverter"/>
|
||||
<Style TargetType="{x:Type ContentPresenter}" x:Key="BlockItemFadeInStyle">
|
||||
<Setter Property="LayoutTransform">
|
||||
<Setter.Value>
|
||||
<ScaleTransform x:Name="transform" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<EventTrigger RoutedEvent="Loaded">
|
||||
<EventTrigger.Actions>
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.5" />
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</EventTrigger.Actions>
|
||||
</EventTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Grid x:Name="TopLevelGrid">
|
||||
@@ -99,7 +95,7 @@
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<!-- 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>
|
||||
<CollectionViewSource Source="{Binding SummaryBlockItems}" x:Key="SummaryBlockItemsCollectionViewSource">
|
||||
<CollectionViewSource.SortDescriptions>
|
||||
@@ -121,9 +117,9 @@
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type blockItemBaseTypes:ActionBlockItem}">
|
||||
<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}}">
|
||||
<TextBlock Text="{Binding SummaryText}" Margin="5,1,5,1" Foreground="{Binding SummaryTextColor, Converter={StaticResource ColorToSolidColorBrushConverter}}" />
|
||||
</Border>
|
||||
<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}}" />
|
||||
</Border>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
@@ -162,7 +158,7 @@
|
||||
Visibility="{Binding HasPositionalSound, Converter={StaticResource BooleanVisibilityConverter}}"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
ToolTip="Click to preview drop sound">
|
||||
ToolTip="Click to preview positional drop sound">
|
||||
<Image Source="/Filtration;component/Resources/Icons/speaker_icon.png" VerticalAlignment="Center" HorizontalAlignment="Center" />
|
||||
</Button>
|
||||
<Button Command="{Binding PlayCustomSoundCommand}"
|
||||
@@ -174,7 +170,7 @@
|
||||
Visibility="{Binding HasCustomSound, Converter={StaticResource BooleanVisibilityConverter}}"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent"
|
||||
ToolTip="Click to preview drop sound">
|
||||
ToolTip="Click to preview custom drop sound">
|
||||
<Image Source="/Filtration;component/Resources/Icons/speaker_icon.png" VerticalAlignment="Center" HorizontalAlignment="Center" />
|
||||
</Button>
|
||||
<Line Y1="5" Y2="38" StrokeThickness="2" Panel.ZIndex="999"
|
||||
@@ -199,9 +195,9 @@
|
||||
</Expander.Header>
|
||||
<Grid Margin="10,5,10,5" x:Name="BlockItemsGrid">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<WrapPanel Grid.Row="0">
|
||||
@@ -240,24 +236,78 @@
|
||||
<Button Height="12" Command="{Binding AddBlockGroupCommand}" Content="{StaticResource AddIcon}"
|
||||
ToolTip="Add" Background="Transparent" BorderThickness="0" Margin="3,0,0,0" />
|
||||
</WrapPanel>
|
||||
|
||||
|
||||
<!-- Regular Block Items-->
|
||||
<Grid Grid.Row="1" Visibility="{Binding AudioVisualBlockItemsGridVisible, Converter={StaticResource InverseBooleanVisibilityConverter}}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</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 -->
|
||||
<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" PreviewMouseWheel="UIElement_OnPreviewMouseWheel">
|
||||
<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>
|
||||
<ItemsPanelTemplate>
|
||||
<WrapPanel></WrapPanel>
|
||||
@@ -275,116 +325,56 @@
|
||||
</ItemsControl>
|
||||
|
||||
<!-- Enable/Disable Block Button -->
|
||||
<ToggleButton Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
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>
|
||||
|
||||
<!-- 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>
|
||||
<userControls:EnableDisableToggleButton Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" />
|
||||
|
||||
<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>
|
||||
|
||||
<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 -->
|
||||
<WrapPanel Grid.Row="1" MaxHeight="200">
|
||||
<WrapPanel.Resources>
|
||||
<Grid Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" MaxHeight="200">
|
||||
<Grid.Resources>
|
||||
<CollectionViewSource Source="{Binding AudioVisualBlockItems}" x:Key="BlockItemsCollectionViewSource">
|
||||
<CollectionViewSource.SortDescriptions>
|
||||
<componentModel:SortDescription PropertyName="SortOrder"/>
|
||||
</CollectionViewSource.SortDescriptions>
|
||||
</CollectionViewSource>
|
||||
</WrapPanel.Resources>
|
||||
<ItemsControl ItemsSource="{Binding Source={StaticResource BlockItemsCollectionViewSource}}"
|
||||
</Grid.Resources>
|
||||
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled" PreviewMouseWheel="UIElement_OnPreviewMouseWheel">
|
||||
<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}" />
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</WrapPanel>
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<WrapPanel Orientation="Vertical" />
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<userControls:BlockItemControl BlockItem="{Binding}" RemoveItemCommand="{Binding ElementName=TopLevelGrid, Path=DataContext.RemoveFilterBlockItemCommand}" />
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
</Grid>
|
||||
<Grid Grid.Row="2" Margin="0,5,0,5">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</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>
|
||||
</Expander>
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
using System.Windows.Input;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using Filtration.Common.Utilities;
|
||||
using Filtration.UserControls;
|
||||
|
||||
namespace Filtration.Views
|
||||
{
|
||||
@@ -25,10 +29,36 @@ namespace Filtration.Views
|
||||
{
|
||||
if (e.Key == Key.Enter)
|
||||
{
|
||||
System.Windows.Controls.AutoCompleteBox box = sender as System.Windows.Controls.AutoCompleteBox;
|
||||
AutoCompleteBox box = sender as AutoCompleteBox;
|
||||
dynamic viewModel = box.DataContext;
|
||||
viewModel.AddBlockGroupCommand.Execute(null);
|
||||
}
|
||||
}
|
||||
|
||||
private void UIElement_OnPreviewMouseWheel(object sender, MouseWheelEventArgs e)
|
||||
{
|
||||
// Prevents the ScrollViewer from handling mouse wheel events, and passes the events
|
||||
// to the parent control instead. This is necessary because the ItemsControl that displays
|
||||
// ItemFilterBlocks is in a ScrollViewer but we want to use the mouse wheel for scrolling
|
||||
// up and down in ItemFilterScriptView rather than within the block.
|
||||
if (sender is ScrollViewer viewer && !e.Handled)
|
||||
{
|
||||
// Don't handle events if they originated from a control within an EditableListBoxControl
|
||||
// since we still want to allow scrolling within those with the mouse wheel
|
||||
if (e.OriginalSource is DependencyObject dependencyObject && VisualTreeUtility.FindParent<EditableListBoxControl>(dependencyObject) != null)
|
||||
{
|
||||
e.Handled = false;
|
||||
return;
|
||||
}
|
||||
|
||||
e.Handled = true;
|
||||
|
||||
var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta) {RoutedEvent = MouseWheelEvent, Source = viewer};
|
||||
if (viewer.Parent is UIElement parent)
|
||||
{
|
||||
parent.RaiseEvent(eventArg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
x:ClassModifier="internal"
|
||||
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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:fluent="clr-namespace:Fluent;assembly=Fluent"
|
||||
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
||||
@@ -64,12 +64,12 @@
|
||||
Background="ForestGreen"
|
||||
BorderBrush="ForestGreen"
|
||||
x:Name="ScriptToolsGroup"
|
||||
IsVisibleChanged="ScriptToolsGroup_OnIsVisibleChanged"
|
||||
IsVisibleChanged="ScriptToolsGroup_OnIsVisibleChanged"
|
||||
Visibility="{Binding ActiveDocumentIsScript, Converter={StaticResource BooleanVisibilityConverter}, Mode=OneWay}" />
|
||||
<fluent:RibbonContextualTabGroup Header="Theme"
|
||||
Background="DodgerBlue"
|
||||
BorderBrush="DodgerBlue"
|
||||
x:Name="ThemeToolsGroup"
|
||||
x:Name="ThemeToolsGroup"
|
||||
IsVisibleChanged="ThemeToolsGroup_OnIsVisibleChanged"
|
||||
Visibility="{Binding ActiveDocumentIsTheme, Converter={StaticResource BooleanVisibilityConverter}, Mode=OneWay}" />
|
||||
</fluent:Ribbon.ContextualGroups>
|
||||
@@ -125,6 +125,10 @@
|
||||
<fluent:Button Header="Create Theme" Command="{Binding CreateThemeCommand}" Icon="{StaticResource ThemeIcon}" LargeIcon="{StaticResource ThemeIcon}" />
|
||||
<fluent:Button Header="Replace Colours" Command="{Binding ReplaceColorsCommand}" Icon="{StaticResource ReplaceColorsIcon}" LargeIcon="{StaticResource ReplaceColorsIcon}" />
|
||||
</fluent:RibbonGroupBox>
|
||||
<fluent:RibbonGroupBox Header="Helpers">
|
||||
<fluent:Button Header="Enable Drop Sounds" Command="{Binding EnableDropSoundsCommand}" SizeDefinition="Middle" Icon="{StaticResource EnableDropSoundsIcon}" LargeIcon="{StaticResource EnableDropSoundsIcon}" />
|
||||
<fluent:Button Header="Disable Drop Sounds" Command="{Binding DisableDropSoundsCommand}" SizeDefinition="Middle" Icon="{StaticResource DisableDropSoundsIcon}" LargeIcon="{StaticResource DisableDropSoundsIcon}" />
|
||||
</fluent:RibbonGroupBox>
|
||||
</fluent:RibbonTabItem>
|
||||
<fluent:RibbonTabItem x:Name="ThemeToolsTabItem" Header="Theme Tools" Group="{Binding ElementName=ThemeToolsGroup}" Visibility="{Binding ActiveDocumentIsTheme, Converter={StaticResource BooleanVisibilityConverter}, Mode=OneWay}">
|
||||
<fluent:RibbonGroupBox Header="Add Components">
|
||||
@@ -172,5 +176,4 @@
|
||||
</Grid>
|
||||
</DockPanel>
|
||||
</fluent:RibbonWindow>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
||||
xmlns:userControls="clr-namespace:Filtration.UserControls"
|
||||
xmlns:utilities="clr-namespace:Filtration.Common.Utilities;assembly=Filtration.Common"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:ReplaceColorsViewModel}"
|
||||
Title="Replace Script Colors" Height="280" Width="540"
|
||||
@@ -31,22 +32,22 @@
|
||||
</Grid.ColumnDefinitions>
|
||||
<CheckBox Grid.Row="0" Grid.Column="0" Content="Replace Text Color" IsChecked="{Binding ReplaceTextColor}" />
|
||||
<TextBlock Grid.Row="0" Grid.Column="2" VerticalAlignment="Center">Existing Text Color</TextBlock>
|
||||
<xctk:ColorPicker Grid.Row="0" Grid.Column="4" SelectedColor="{Binding ReplaceColorsParameterSet.OldTextColor}" AvailableColors="{Binding AvailableColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
<xctk:ColorPicker Grid.Row="0" Grid.Column="4" SelectedColor="{Binding ReplaceColorsParameterSet.OldTextColor}" AvailableColors="{x:Static utilities:PathOfExileColors.DefaultColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
<TextBlock Grid.Row="1" Grid.Column="2" VerticalAlignment="Center">New Text Color</TextBlock>
|
||||
<xctk:ColorPicker Grid.Row="1" Grid.Column="4" SelectedColor="{Binding NewTextColor}" AvailableColors="{Binding AvailableColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
<xctk:ColorPicker Grid.Row="1" Grid.Column="4" SelectedColor="{Binding NewTextColor}" AvailableColors="{x:Static utilities:PathOfExileColors.DefaultColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
|
||||
|
||||
<CheckBox Grid.Row="2" Grid.Column="0" Content="Replace Background Color" IsChecked="{Binding ReplaceBackgroundColor}" />
|
||||
<TextBlock Grid.Row="2" Grid.Column="2" VerticalAlignment="Center">Existing Background Color</TextBlock>
|
||||
<xctk:ColorPicker Grid.Row="2" Grid.Column="4" SelectedColor="{Binding ReplaceColorsParameterSet.OldBackgroundColor}" AvailableColors="{Binding AvailableColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
<xctk:ColorPicker Grid.Row="2" Grid.Column="4" SelectedColor="{Binding ReplaceColorsParameterSet.OldBackgroundColor}" AvailableColors="{x:Static utilities:PathOfExileColors.DefaultColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
<TextBlock Grid.Row="3" Grid.Column="2" VerticalAlignment="Center">New Background Color</TextBlock>
|
||||
<xctk:ColorPicker Grid.Row="3" Grid.Column="4" SelectedColor="{Binding NewBackgroundColor}" AvailableColors="{Binding AvailableColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
<xctk:ColorPicker Grid.Row="3" Grid.Column="4" SelectedColor="{Binding NewBackgroundColor}" AvailableColors="{x:Static utilities:PathOfExileColors.DefaultColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
|
||||
<CheckBox Grid.Row="4" Grid.Column="0" Content="Replace Border Color" IsChecked="{Binding ReplaceBorderColor}" />
|
||||
<TextBlock Grid.Row="4" Grid.Column="2" VerticalAlignment="Center">Existing Border Color</TextBlock>
|
||||
<xctk:ColorPicker Grid.Row="4" Grid.Column="4" SelectedColor="{Binding ReplaceColorsParameterSet.OldBorderColor}" AvailableColors="{Binding AvailableColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
<xctk:ColorPicker Grid.Row="4" Grid.Column="4" SelectedColor="{Binding ReplaceColorsParameterSet.OldBorderColor}" AvailableColors="{x:Static utilities:PathOfExileColors.DefaultColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
<TextBlock Grid.Row="5" Grid.Column="2" VerticalAlignment="Center">New Border Color</TextBlock>
|
||||
<xctk:ColorPicker Grid.Row="5" Grid.Column="4" SelectedColor="{Binding NewBorderColor}" AvailableColors="{Binding AvailableColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
<xctk:ColorPicker Grid.Row="5" Grid.Column="4" SelectedColor="{Binding NewBorderColor}" AvailableColors="{x:Static utilities:PathOfExileColors.DefaultColors}" ShowAvailableColors="True" AvailableColorsHeader="Path of Exile Colors" />
|
||||
|
||||
<userControls:ItemPreviewControl Grid.Row="6" Grid.Column="4" TextColor="{Binding DisplayTextColor}" BackgroundColor="{Binding DisplayBackgroundColor}" BorderColor="{Binding DisplayBorderColor}" />
|
||||
<TextBlock Grid.Row="6" Grid.Column="2" VerticalAlignment="Center">Preview</TextBlock>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user