9 Commits

Author SHA1 Message Date
Ben Wallis
f238bbf856 Fixed a crash on exit caused by a null SelectedBlockViewModel 2018-09-30 14:02:47 +01:00
Ben Wallis
a0191576f0 Update README.md 2018-09-30 13:57:35 +01:00
Ben Wallis
1d96b69800 Update README.md 2018-09-30 12:51:47 +01:00
Ben Wallis
99abb276af Merge branch 'bugfix/FixBlockOutputPreview' 2018-09-30 12:49:35 +01:00
Ben Wallis
073fe553ea Made block output preview pane text selectable 2018-09-30 12:48:24 +01:00
Ben Wallis
0d81d0ef54 Fixed block output preview 2018-09-30 12:38:26 +01:00
Ben Wallis
f04f9c20ed Update README.md 2018-09-30 11:57:40 +01:00
Ben Wallis
f71ba74425 Update README.md 2018-09-30 11:57:24 +01:00
Ben Wallis
04cbf218f3 Bumped version to 1.0.0 2018-09-30 11:43:22 +01:00
6 changed files with 23 additions and 48 deletions

View File

@@ -9,26 +9,7 @@
<description>A Path of Exile loot filter script editor</description>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<copyright>Copyright 2018</copyright>
<releaseNotes>### New Features
* Implemented copying and pasting of multiple blocks (multiple blocks can be selected by holding the Ctrl and/or Shift keys while clicking)
* Added Expand All, Collapse All, and Clear All Filters buttons to the Block Group Browser
* It is now possible to add/remove Block Groups from blocks (there is a new text box and a + button on each block in the editor)
* The Block Group browser now has an additional column of checkboxes which enables block groups to be enabled/disabled as well as shown/hidden
* Implemented a new auto-update mechanism - previous versions of Filtration will need to be manually uninstalled
### Bug Fixes / Improvements
* Fixed incorrect filtering behavior in the Block Group Browser
* Increased the maximum value of Quality block items to 30 from 20
* Changed default opacity of colours to 240 from 255
* MinimapIcon preview icons have been improved in appearance and now have a transparent background
* Fixed an issue where several section-related commands didn't correctly mark the script as unsaved
* The state (maximised/restored) and size of the application window is now remembered
* The visibility of the Section Browser, Block Group Browser, and Block Output Preview tool panes is now remembered
* The last opened script is now re-opened on when the application is launched
* Increased the HasExplicitMod block item limit from 1 to 8 since it is possible to use up to 8 of these blocks together to only match items that have an explicit mod from all HasExplicitMod block items within a block
* Changed the default colours of TextColor, BorderColor and BackgroundColor block items to sensible defaults instead of 100% transparent</releaseNotes>
<releaseNotes>* Fixed crash on exit</releaseNotes>
<dependencies />
</metadata>
<files>

View File

@@ -10,8 +10,8 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0-beta4")]
[assembly: AssemblyVersion("1.0.2")]
[assembly: AssemblyInformationalVersion("1.0.2")]
[assembly: InternalsVisibleTo("Filtration.Tests")]
[assembly: InternalsVisibleTo("Filtration.ItemFilterPreview.Tests")]

View File

@@ -143,6 +143,7 @@ namespace Filtration.ViewModels
{
RaisePropertyChanged(nameof(SelectedBlockViewModels));
RaisePropertyChanged(nameof(LastSelectedBlockViewModel));
Messenger.Default.Send(new NotificationMessage("LastSelectedBlockChanged"));
};
_lastAddedBlocks = new List<IItemFilterBlockViewModelBase>();
_showAdvanced = Settings.Default.ShowAdvanced;

View File

@@ -1,4 +1,5 @@
using System;
using System.Linq;
using System.Windows.Media.Imaging;
using Filtration.Parser.Interface.Services;
using GalaSoft.MvvmLight.Messaging;
@@ -28,19 +29,10 @@ namespace Filtration.ViewModels.ToolPanes
Messenger.Default.Register<NotificationMessage>(this, message =>
{
switch (message.Notification)
{
case "LastSelectedBlockChanged":
{
if (message.Notification == "LastSelectedBlockChanged")
OnLastSelectedBlockChanged(this, EventArgs.Empty);
break;
}
case "ActiveDocumentChanged":
{
else if (message.Notification == "ActiveDocumentChanged")
OnLastSelectedBlockChanged(this, EventArgs.Empty);
break;
}
}
});
}
@@ -49,7 +41,7 @@ namespace Filtration.ViewModels.ToolPanes
public string PreviewText
{
get { return _previewText; }
get => _previewText;
private set
{
_previewText = value;
@@ -64,15 +56,17 @@ namespace Filtration.ViewModels.ToolPanes
private void OnLastSelectedBlockChanged(object sender, EventArgs e)
{
if (AvalonDockWorkspaceViewModel.ActiveScriptViewModel?.LastSelectedBlockViewModel == null)
if (AvalonDockWorkspaceViewModel.ActiveScriptViewModel?.SelectedBlockViewModels == null ||
AvalonDockWorkspaceViewModel.ActiveScriptViewModel.SelectedBlockViewModels.Count == 0 ||
AvalonDockWorkspaceViewModel.ActiveScriptViewModel.SelectedBlockViewModels.FirstOrDefault() == null)
{
PreviewText = string.Empty;
return;
}
PreviewText =
_itemFilterBlockTranslator.TranslateItemFilterBlockBaseToString(
AvalonDockWorkspaceViewModel.ActiveScriptViewModel.LastSelectedBlockViewModel.BaseBlock);
PreviewText = AvalonDockWorkspaceViewModel.ActiveScriptViewModel.SelectedBlockViewModels
.Select(s => _itemFilterBlockTranslator.TranslateItemFilterBlockBaseToString(s.BaseBlock))
.Aggregate((prev, curr) => prev + Environment.NewLine + Environment.NewLine + curr);
}
}
}

View File

@@ -8,6 +8,6 @@
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<TextBlock Text="{Binding PreviewText}" ToolTip="{Binding PreviewText}" Margin="10" />
<TextBox IsReadOnly="True" Text="{Binding PreviewText, Mode=OneWay}" ToolTip="{Binding PreviewText}" Padding="5" Background="Transparent" BorderThickness="0" />
</Grid>
</UserControl>

View File

@@ -2,10 +2,9 @@
Filtration is an editor for Path of Exile item filter scripts.
## Current Release (Released 2018-09-01)
<b>Installer</b> <a href="https://github.com/ben-wallis/Filtration/releases/download/0.20/filtration_0.20_setup.exe">filtration_0.20_setup.exe</a>
<b>Zip File</b> <a href="https://github.com/ben-wallis/Filtration/releases/download/0.20/filtration_0.20.zip">filtration_0.20.zip</a>
## Current Release (Released 2018-09-30)
<b>Installer</b><br>
<a href="https://github.com/ben-wallis/Filtration/releases/download/1.0.1/Setup.exe">Setup.exe</a>
## System Requirements
Filtration requires .NET Framework 4.6.1 installed.
@@ -25,10 +24,10 @@ If you'd like to make your script fully compatible with Filtration, please take
## Screenshots
##### Main Window
<img src="http://i.imgur.com/eAsMoSo.png" />
<img src="https://i.imgur.com/d3tKEab.png" />
##### Theme Editor
<img src="http://i.imgur.com/FJWJknO.png" />
<img src="https://i.imgur.com/Pi9wds1.png" />
## Contact
You can find me on irc.freenode.net in #filtration