diff --git a/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs b/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs index d8bf7dd..beef40f 100644 --- a/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs +++ b/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs @@ -3,7 +3,6 @@ using System.IO; using System.Linq; using Filtration.Enums; using Filtration.Models; -using Filtration.Models.BlockItemBaseTypes; using Filtration.Models.BlockItemTypes; using Filtration.Translators; using Moq; diff --git a/Filtration/App.xaml b/Filtration/App.xaml index d5b0159..ad4d7cf 100644 --- a/Filtration/App.xaml +++ b/Filtration/App.xaml @@ -1,7 +1,6 @@ @@ -12,6 +11,7 @@ + diff --git a/Filtration/Filtration.csproj b/Filtration/Filtration.csproj index e298fff..e532b05 100644 --- a/Filtration/Filtration.csproj +++ b/Filtration/Filtration.csproj @@ -179,6 +179,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -263,11 +267,11 @@ - - + + Always diff --git a/Filtration/Properties/AssemblyInfo.cs b/Filtration/Properties/AssemblyInfo.cs index bb7b74d..2b7b2d1 100644 --- a/Filtration/Properties/AssemblyInfo.cs +++ b/Filtration/Properties/AssemblyInfo.cs @@ -50,7 +50,7 @@ using System.Windows; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.1.*")] [assembly: InternalsVisibleTo("Filtration.Tests")] [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] \ No newline at end of file diff --git a/Filtration/Properties/Resources.Designer.cs b/Filtration/Properties/Resources.Designer.cs index a5b8c53..63336cf 100644 --- a/Filtration/Properties/Resources.Designer.cs +++ b/Filtration/Properties/Resources.Designer.cs @@ -60,26 +60,6 @@ namespace Filtration.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap add_block_icon { - get { - object obj = ResourceManager.GetObject("add_block_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap add_section_icon { - get { - object obj = ResourceManager.GetObject("add_section_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. /// @@ -161,26 +141,6 @@ namespace Filtration.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap copy_icon { - get { - object obj = ResourceManager.GetObject("copy_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap delete_icon { - get { - object obj = ResourceManager.GetObject("delete_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Byte[]. /// @@ -200,75 +160,5 @@ namespace Filtration.Properties { return ((System.Drawing.Bitmap)(obj)); } } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap new_icon { - get { - object obj = ResourceManager.GetObject("new_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap open_icon { - get { - object obj = ResourceManager.GetObject("open_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap paste_icon { - get { - object obj = ResourceManager.GetObject("paste_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap play_icon { - get { - object obj = ResourceManager.GetObject("play_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap save_all_icon { - get { - object obj = ResourceManager.GetObject("save_all_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap save_icon { - get { - object obj = ResourceManager.GetObject("save_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap speaker_icon { - get { - object obj = ResourceManager.GetObject("speaker_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } } } diff --git a/Filtration/Properties/Resources.resx b/Filtration/Properties/Resources.resx index f36472f..4f30e8e 100644 --- a/Filtration/Properties/Resources.resx +++ b/Filtration/Properties/Resources.resx @@ -118,12 +118,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\Icons\add_block_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\add_section_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\AlertSounds\AlertSound1.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -151,37 +145,10 @@ ..\Resources\AlertSounds\AlertSound9.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\Icons\copy_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\delete_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\Fontin-SmallCaps.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\groundtile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Icons\new_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\open_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\paste_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\play_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\save_all_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\save_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\speaker_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - \ No newline at end of file diff --git a/Filtration/Resources/Icons/arrow_bottom_icon.png b/Filtration/Resources/Icons/arrow_bottom_icon.png new file mode 100644 index 0000000..5a1e972 Binary files /dev/null and b/Filtration/Resources/Icons/arrow_bottom_icon.png differ diff --git a/Filtration/Resources/Icons/arrow_down_small_icon.png b/Filtration/Resources/Icons/arrow_down_small_icon.png deleted file mode 100644 index 1f221a1..0000000 Binary files a/Filtration/Resources/Icons/arrow_down_small_icon.png and /dev/null differ diff --git a/Filtration/Resources/Icons/arrow_top_icon.png b/Filtration/Resources/Icons/arrow_top_icon.png new file mode 100644 index 0000000..4ae59e8 Binary files /dev/null and b/Filtration/Resources/Icons/arrow_top_icon.png differ diff --git a/Filtration/Resources/Icons/arrow_up_small_icon.png b/Filtration/Resources/Icons/arrow_up_small_icon.png deleted file mode 100644 index 7394bf0..0000000 Binary files a/Filtration/Resources/Icons/arrow_up_small_icon.png and /dev/null differ diff --git a/Filtration/ViewModels/LootFilterBlockViewModel.cs b/Filtration/ViewModels/LootFilterBlockViewModel.cs index f5c2fd1..8c96ece 100644 --- a/Filtration/ViewModels/LootFilterBlockViewModel.cs +++ b/Filtration/ViewModels/LootFilterBlockViewModel.cs @@ -22,16 +22,14 @@ namespace Filtration.ViewModels internal class LootFilterBlockViewModel : FiltrationViewModelBase, ILootFilterBlockViewModel { - private readonly ILootFilterBlockTranslator _translator; private readonly IStaticDataService _staticDataService; private readonly MediaPlayer _mediaPlayer = new MediaPlayer(); private LootFilterScriptViewModel _parentScriptViewModel; private bool _displaySettingsPopupOpen; - public LootFilterBlockViewModel(ILootFilterBlockTranslator translator, IStaticDataService staticDataService) + public LootFilterBlockViewModel(IStaticDataService staticDataService) { - _translator = translator; _staticDataService = staticDataService; CopyBlockCommand = new RelayCommand(OnCopyBlockCommand); PasteBlockCommand = new RelayCommand(OnPasteBlockCommand); @@ -40,6 +38,8 @@ namespace Filtration.ViewModels DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand); MoveBlockUpCommand = new RelayCommand(OnMoveBlockUpCommand); MoveBlockDownCommand = new RelayCommand(OnMoveBlockDownCommand); + MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand); + MoveBlockToBottomCommand = new RelayCommand(OnMoveBlockToBottomCommand); AddFilterBlockItemCommand = new RelayCommand(OnAddFilterBlockItemCommand); AddAudioVisualBlockItemCommand = new RelayCommand(OnAddAudioVisualBlockItemCommand); RemoveFilterBlockItemCommand = new RelayCommand(OnRemoveFilterBlockItemCommand); @@ -72,6 +72,8 @@ namespace Filtration.ViewModels public RelayCommand DeleteBlockCommand { get; private set; } public RelayCommand MoveBlockUpCommand { get; private set; } public RelayCommand MoveBlockDownCommand { get; private set; } + public RelayCommand MoveBlockToTopCommand { get; private set; } + public RelayCommand MoveBlockToBottomCommand { get; private set; } public RelayCommand AddFilterBlockItemCommand { get; private set; } public RelayCommand AddAudioVisualBlockItemCommand { get; private set; } public RelayCommand RemoveFilterBlockItemCommand { get; private set; } @@ -308,6 +310,16 @@ namespace Filtration.ViewModels { _parentScriptViewModel.MoveBlockDown(this); } + + private void OnMoveBlockToTopCommand() + { + _parentScriptViewModel.MoveBlockToTop(this); + } + + private void OnMoveBlockToBottomCommand() + { + _parentScriptViewModel.MoveBlockToBottom(this); + } private bool AddBlockItemAllowed(Type type) { diff --git a/Filtration/ViewModels/LootFilterScriptViewModel.cs b/Filtration/ViewModels/LootFilterScriptViewModel.cs index e08f59b..f6992b7 100644 --- a/Filtration/ViewModels/LootFilterScriptViewModel.cs +++ b/Filtration/ViewModels/LootFilterScriptViewModel.cs @@ -187,11 +187,17 @@ namespace Filtration.ViewModels private void OnMoveBlockToTopCommand() { - var currentIndex = LootFilterBlockViewModels.IndexOf(SelectedBlockViewModel); + MoveBlockToTop(SelectedBlockViewModel); + + } + + public void MoveBlockToTop(ILootFilterBlockViewModel targetBlockViewModel) + { + var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel); if (currentIndex > 0) { - var block = SelectedBlockViewModel.Block; + var block = targetBlockViewModel.Block; Script.LootFilterBlocks.Remove(block); Script.LootFilterBlocks.Insert(0, block); LootFilterBlockViewModels.Move(currentIndex, 0); @@ -244,11 +250,16 @@ namespace Filtration.ViewModels private void OnMoveBlockToBottomCommand() { - var currentIndex = LootFilterBlockViewModels.IndexOf(SelectedBlockViewModel); + MoveBlockToBottom(SelectedBlockViewModel); + } + + public void MoveBlockToBottom(ILootFilterBlockViewModel targetBlockViewModel) + { + var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel); if (currentIndex < LootFilterBlockViewModels.Count - 1) { - var block = SelectedBlockViewModel.Block; + var block = targetBlockViewModel.Block; Script.LootFilterBlocks.Remove(block); Script.LootFilterBlocks.Add(block); LootFilterBlockViewModels.Move(currentIndex, LootFilterBlockViewModels.Count - 1); diff --git a/Filtration/ViewModels/MainWindowViewModel.cs b/Filtration/ViewModels/MainWindowViewModel.cs index 0ab2008..c692cc6 100644 --- a/Filtration/ViewModels/MainWindowViewModel.cs +++ b/Filtration/ViewModels/MainWindowViewModel.cs @@ -1,5 +1,7 @@ using System; using System.Collections.ObjectModel; +using System.Diagnostics; +using System.Reflection; using System.Windows.Forms; using Castle.Core; using Filtration.Models; @@ -63,6 +65,16 @@ namespace Filtration.ViewModels get { return _scriptViewModels; } } + public string WindowTitle + { + get + { + var assembly = Assembly.GetExecutingAssembly(); + var fvi = FileVersionInfo.GetVersionInfo(assembly.Location); + return "Filtration v" + fvi.FileMajorPart + "." + fvi.FileMinorPart; + } + } + [DoNotWire] public ILootFilterScriptViewModel CurrentScriptViewModel { diff --git a/Filtration/Views/IconsDictionary.xaml b/Filtration/Views/IconsDictionary.xaml new file mode 100644 index 0000000..fc094af --- /dev/null +++ b/Filtration/Views/IconsDictionary.xaml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Filtration/Views/LootFilterBlockView.xaml b/Filtration/Views/LootFilterBlockView.xaml index 1b60f66..300157f 100644 --- a/Filtration/Views/LootFilterBlockView.xaml +++ b/Filtration/Views/LootFilterBlockView.xaml @@ -35,21 +35,23 @@ - + - - + + - - + + - + - - + + + + diff --git a/Filtration/Views/LootFilterScriptView.xaml b/Filtration/Views/LootFilterScriptView.xaml index 29a7d7a..544e26e 100644 --- a/Filtration/Views/LootFilterScriptView.xaml +++ b/Filtration/Views/LootFilterScriptView.xaml @@ -6,7 +6,6 @@ xmlns:views="clr-namespace:Filtration.Views" xmlns:viewModels="clr-namespace:Filtration.ViewModels" xmlns:userControls="clr-namespace:Filtration.UserControls" - xmlns:fa="http://schemas.fontawesome.io/icons/" mc:Ignorable="d" d:DataContext="{d:DesignInstance Type=viewModels:LootFilterScriptViewModel}" d:DesignHeight="300" d:DesignWidth="600"> @@ -43,30 +42,21 @@ - - -