Removed FontAwesome dependency, added new icons
|
@ -12,19 +12,6 @@
|
|||
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Steel.xaml" />
|
||||
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
|
||||
<ResourceDictionary Source="Views/CrossButton.xaml" />
|
||||
<ResourceDictionary>
|
||||
<!-- TODO: Fix these icons so we don't need one resource for each instance. x:Shared="False" does not work for ImageAwesome -->
|
||||
<fa:ImageAwesome Icon="Plus" Height="15" Width="15" x:Key="AddBlockToolbarIcon" />
|
||||
<fa:ImageAwesome Icon="ListUl" Height="15" Width="15" x:Key="AddSectionToolbarIcon" />
|
||||
<fa:ImageAwesome Icon="Minus" Height="15" Width="15" x:Key="DeleteBlockToolbarIcon" />
|
||||
<fa:ImageAwesome Icon="AngleDoubleUp" Height="15" Width="15" x:Key="MoveBlockToTopToolbarIcon" />
|
||||
<fa:ImageAwesome Icon="AngleUp" Height="15" Width="15" x:Key="MoveBlockUpToolbarIcon" />
|
||||
<fa:ImageAwesome Icon="AngleDown" Height="15" Width="15" x:Key="MoveBlockDownToolbarIcon" />
|
||||
<fa:ImageAwesome Icon="AngleDoubleDown" Height="15" Width="15" x:Key="MoveBlockToBottomToolbarIcon" />
|
||||
<fa:ImageAwesome Icon="FileOutlined" Height="15" Width="15" x:Key="NewIcon" />
|
||||
<fa:ImageAwesome Icon="FolderOpenOutlined" Height="15" Width="15" x:Key="OpenIcon" />
|
||||
<fa:ImageAwesome Icon="FloppyOutlined" Height="15" Width="15" x:Key="SaveIcon" />
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System.Linq;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using Castle.MicroKernel.ModelBuilder.Inspectors;
|
||||
using Castle.Windsor;
|
||||
|
@ -26,6 +27,14 @@ namespace Filtration
|
|||
|
||||
var mainWindow = _container.Resolve<IMainWindow>();
|
||||
mainWindow.Show();
|
||||
|
||||
//String[] arguments = Environment.GetCommandLineArgs();
|
||||
|
||||
//if (arguments.GetLength(0) <= 1) return;
|
||||
//if (!arguments[1].EndsWith(".filter")) return;
|
||||
|
||||
//var filePathFormMainArgs = arguments[1];
|
||||
//mainWindow.OpenScriptFromCommandLineArgument(filePathFormMainArgs);
|
||||
}
|
||||
|
||||
protected override void OnExit(ExitEventArgs e)
|
||||
|
|
|
@ -41,10 +41,6 @@
|
|||
<Reference Include="Castle.Windsor">
|
||||
<HintPath>..\packages\Castle.Windsor.3.3.0\lib\net45\Castle.Windsor.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FontAwesome.WPF, Version=4.3.0.26714, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\FontAwesome.WPF.4.3.0.2\lib\FontAwesome.WPF.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="GalaSoft.MvvmLight, Version=5.1.1.35049, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\MvvmLightLibs.5.1.1.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
||||
|
@ -254,9 +250,24 @@
|
|||
<Resource Include="Resources\groundtile.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\AlertSound8.wav">
|
||||
<Content Include="Resources\AlertSounds\AlertSound8.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Resource Include="Resources\Icons\add_block_icon.png" />
|
||||
<Resource Include="Resources\Icons\add_section_icon.png" />
|
||||
<Resource Include="Resources\Icons\copy_icon.png" />
|
||||
<Resource Include="Resources\Icons\delete_icon.png" />
|
||||
<Resource Include="Resources\Icons\new_icon.png" />
|
||||
<Resource Include="Resources\Icons\paste_icon.png" />
|
||||
<Resource Include="Resources\Icons\save_all_icon.png" />
|
||||
<Resource Include="Resources\Icons\save_icon.png" />
|
||||
<Resource Include="Resources\Icons\open_icon.png" />
|
||||
<Resource Include="Resources\Icons\arrow_down_large_icon.png" />
|
||||
<Resource Include="Resources\Icons\arrow_down_small_icon.png" />
|
||||
<Resource Include="Resources\Icons\arrow_up_large_icon.png" />
|
||||
<Resource Include="Resources\Icons\arrow_up_small_icon.png" />
|
||||
<Resource Include="Resources\Icons\speaker_icon.png" />
|
||||
<Resource Include="Resources\Icons\play_icon.png" />
|
||||
<Content Include="Resources\ItemBaseTypes.txt">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -265,42 +276,42 @@
|
|||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\AlertSound9.wav">
|
||||
<Content Include="Resources\AlertSounds\AlertSound9.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\AlertSound7.wav">
|
||||
<Content Include="Resources\AlertSounds\AlertSound7.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\AlertSound6.wav">
|
||||
<Content Include="Resources\AlertSounds\AlertSound6.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\AlertSound4.wav">
|
||||
<Content Include="Resources\AlertSounds\AlertSound4.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\AlertSound5.wav">
|
||||
<Content Include="Resources\AlertSounds\AlertSound5.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\AlertSound2.wav">
|
||||
<Content Include="Resources\AlertSounds\AlertSound2.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\AlertSound3.wav">
|
||||
<Content Include="Resources\AlertSounds\AlertSound3.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\AlertSound1.wav">
|
||||
<Content Include="Resources\AlertSounds\AlertSound1.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
|
|
@ -60,6 +60,26 @@ namespace Filtration.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap add_block_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("add_block_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap add_section_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("add_section_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream.
|
||||
/// </summary>
|
||||
|
@ -141,6 +161,26 @@ namespace Filtration.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap copy_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("copy_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap delete_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("delete_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Byte[].
|
||||
/// </summary>
|
||||
|
@ -160,5 +200,75 @@ namespace Filtration.Properties {
|
|||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap new_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("new_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap open_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("open_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap paste_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("paste_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap play_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("play_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap save_all_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("save_all_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap save_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("save_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap speaker_icon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("speaker_icon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -118,32 +118,44 @@
|
|||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="add_block_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\add_block_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="add_section_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\add_section_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="AlertSound1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\AlertSound1.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>..\Resources\AlertSounds\AlertSound1.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="AlertSound2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\AlertSound2.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>..\Resources\AlertSounds\AlertSound2.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="AlertSound3" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\AlertSound3.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>..\Resources\AlertSounds\AlertSound3.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="AlertSound4" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\AlertSound4.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>..\Resources\AlertSounds\AlertSound4.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="AlertSound5" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\AlertSound5.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>..\Resources\AlertSounds\AlertSound5.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="AlertSound6" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\AlertSound6.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>..\Resources\AlertSounds\AlertSound6.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="AlertSound7" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\AlertSound7.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>..\Resources\AlertSounds\AlertSound7.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="AlertSound8" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\AlertSound8.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>..\Resources\AlertSounds\AlertSound8.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="AlertSound9" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\AlertSound9.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>..\Resources\AlertSounds\AlertSound9.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="copy_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\copy_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="delete_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\delete_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Fontin_SmallCaps" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Fontin-SmallCaps.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
|
@ -151,4 +163,25 @@
|
|||
<data name="groundtile" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\groundtile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="new_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\new_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="open_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\open_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="paste_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\paste_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="play_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\play_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="save_all_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\save_all_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="save_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\save_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="speaker_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Icons\speaker_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 319 B |
After Width: | Height: | Size: 238 B |
After Width: | Height: | Size: 221 B |
After Width: | Height: | Size: 230 B |
After Width: | Height: | Size: 225 B |
After Width: | Height: | Size: 194 B |
After Width: | Height: | Size: 523 B |
After Width: | Height: | Size: 270 B |
After Width: | Height: | Size: 411 B |
After Width: | Height: | Size: 265 B |
After Width: | Height: | Size: 247 B |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 1.6 KiB |
|
@ -33,7 +33,8 @@ namespace Filtration.ViewModels
|
|||
{
|
||||
_translator = translator;
|
||||
_staticDataService = staticDataService;
|
||||
CopyBlockCommand = new RelayCommand(OnCopyConditionCommand);
|
||||
CopyBlockCommand = new RelayCommand(OnCopyBlockCommand);
|
||||
PasteBlockCommand = new RelayCommand(OnPasteBlockCommand);
|
||||
AddBlockCommand = new RelayCommand(OnAddBlockCommand);
|
||||
AddSectionCommand = new RelayCommand(OnAddSectionCommand);
|
||||
DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand);
|
||||
|
@ -65,6 +66,7 @@ namespace Filtration.ViewModels
|
|||
}
|
||||
|
||||
public RelayCommand CopyBlockCommand { get; private set; }
|
||||
public RelayCommand PasteBlockCommand { get; private set; }
|
||||
public RelayCommand AddBlockCommand { get; private set; }
|
||||
public RelayCommand AddSectionCommand { get; private set; }
|
||||
public RelayCommand DeleteBlockCommand { get; private set; }
|
||||
|
@ -237,11 +239,6 @@ namespace Filtration.ViewModels
|
|||
get { return FilterBlockItems.Count(b => b is SoundBlockItem) > 0; }
|
||||
}
|
||||
|
||||
private void OnCopyConditionCommand()
|
||||
{
|
||||
Clipboard.SetText(_translator.TranslateLootFilterBlockToString(Block));
|
||||
}
|
||||
|
||||
private void OnAddFilterBlockItemCommand(Type blockItemType)
|
||||
{
|
||||
if (!AddBlockItemAllowed(blockItemType)) return;
|
||||
|
@ -276,6 +273,17 @@ namespace Filtration.ViewModels
|
|||
IsDirty = true;
|
||||
}
|
||||
|
||||
private void OnCopyBlockCommand()
|
||||
{
|
||||
_parentScriptViewModel.CopyBlock(this);
|
||||
}
|
||||
|
||||
private void OnPasteBlockCommand()
|
||||
{
|
||||
_parentScriptViewModel.PasteBlock(this);
|
||||
}
|
||||
|
||||
|
||||
private void OnAddBlockCommand()
|
||||
{
|
||||
_parentScriptViewModel.AddBlock(this);
|
||||
|
@ -310,7 +318,7 @@ namespace Filtration.ViewModels
|
|||
|
||||
private void OnPlaySoundCommand()
|
||||
{
|
||||
var soundUri = "Resources/AlertSound" + FilterBlockItems.OfType<SoundBlockItem>().First().Value + ".wav";
|
||||
var soundUri = "Resources/AlertSounds/AlertSound" + FilterBlockItems.OfType<SoundBlockItem>().First().Value + ".wav";
|
||||
_mediaPlayer.Open(new Uri(soundUri, UriKind.Relative));
|
||||
_mediaPlayer.Play();
|
||||
}
|
||||
|
|
|
@ -3,7 +3,9 @@ using System.Collections.ObjectModel;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using Castle.Core.Internal;
|
||||
using Filtration.Models;
|
||||
using Filtration.Translators;
|
||||
using GalaSoft.MvvmLight.CommandWpf;
|
||||
|
||||
namespace Filtration.ViewModels
|
||||
|
@ -14,28 +16,34 @@ namespace Filtration.ViewModels
|
|||
bool IsDirty { get; }
|
||||
string Description { get; set; }
|
||||
void Initialise(LootFilterScript lootFilterScript);
|
||||
ILootFilterBlockViewModel SelectedBlockViewModel { get; set; }
|
||||
void RemoveDirtyFlag();
|
||||
void AddSection(ILootFilterBlockViewModel blockViewModel);
|
||||
void AddBlock(ILootFilterBlockViewModel blockViewModel);
|
||||
void AddSection(ILootFilterBlockViewModel targetBlockViewModel);
|
||||
void AddBlock(ILootFilterBlockViewModel targetBlockViewModel);
|
||||
void CopyBlock(ILootFilterBlockViewModel targetBlockViewModel);
|
||||
void PasteBlock(ILootFilterBlockViewModel targetBlockViewModel);
|
||||
}
|
||||
|
||||
internal class LootFilterScriptViewModel : FiltrationViewModelBase, ILootFilterScriptViewModel
|
||||
{
|
||||
private readonly ILootFilterBlockViewModelFactory _lootFilterBlockViewModelFactory;
|
||||
private readonly ILootFilterBlockTranslator _blockTranslator;
|
||||
private bool _isDirty;
|
||||
private ILootFilterBlockViewModel _selectedBlockViewModel;
|
||||
|
||||
public LootFilterScriptViewModel(ILootFilterBlockViewModelFactory lootFilterBlockViewModelFactory )
|
||||
public LootFilterScriptViewModel(ILootFilterBlockViewModelFactory lootFilterBlockViewModelFactory, ILootFilterBlockTranslator blockTranslator)
|
||||
{
|
||||
DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, () => SelectedBlockViewModel != null);
|
||||
MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand, () => SelectedBlockViewModel != null);
|
||||
MoveBlockUpCommand = new RelayCommand(OnMoveBlockUpCommand, () => SelectedBlockViewModel != null);
|
||||
MoveBlockDownCommand = new RelayCommand(OnMoveBlockDownCommand, () => SelectedBlockViewModel != null);
|
||||
MoveBlockToBottomCommand = new RelayCommand(OnMoveBlockToBottomCommand, () => SelectedBlockViewModel != null);
|
||||
AddBlockCommand = new RelayCommand(OnAddBlockCommand, () => SelectedBlockViewModel != null);
|
||||
AddBlockCommand = new RelayCommand(OnAddBlockCommand);
|
||||
AddSectionCommand = new RelayCommand(OnAddSectionCommand, () => SelectedBlockViewModel != null);
|
||||
|
||||
CopyBlockCommand = new RelayCommand(OnCopyBlockCommand, () => SelectedBlockViewModel != null);
|
||||
PasteBlockCommand = new RelayCommand(OnPasteBlockCommand);
|
||||
_lootFilterBlockViewModelFactory = lootFilterBlockViewModelFactory;
|
||||
_blockTranslator = blockTranslator;
|
||||
LootFilterBlockViewModels = new ObservableCollection<ILootFilterBlockViewModel>();
|
||||
|
||||
}
|
||||
|
@ -47,6 +55,8 @@ namespace Filtration.ViewModels
|
|||
public RelayCommand MoveBlockToBottomCommand { get; private set; }
|
||||
public RelayCommand AddBlockCommand { get; private set; }
|
||||
public RelayCommand AddSectionCommand { get; private set; }
|
||||
public RelayCommand CopyBlockCommand { get; private set; }
|
||||
public RelayCommand PasteBlockCommand { get; private set; }
|
||||
|
||||
public ObservableCollection<ILootFilterBlockViewModel> LootFilterBlockViewModels { get; private set; }
|
||||
|
||||
|
@ -133,6 +143,48 @@ namespace Filtration.ViewModels
|
|||
}
|
||||
}
|
||||
|
||||
private void OnCopyBlockCommand()
|
||||
{
|
||||
CopyBlock(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void CopyBlock(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
Clipboard.SetText(_blockTranslator.TranslateLootFilterBlockToString(SelectedBlockViewModel.Block));
|
||||
}
|
||||
|
||||
private void OnPasteBlockCommand()
|
||||
{
|
||||
PasteBlock(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void PasteBlock(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var clipboardText = Clipboard.GetText();
|
||||
if (clipboardText.IsNullOrEmpty()) return;
|
||||
|
||||
var translatedBlock = _blockTranslator.TranslateStringToLootFilterBlock(clipboardText);
|
||||
if (translatedBlock == null) return;
|
||||
|
||||
var vm = _lootFilterBlockViewModelFactory.Create();
|
||||
vm.Initialise(translatedBlock, this);
|
||||
|
||||
if (LootFilterBlockViewModels.Count > 0)
|
||||
{
|
||||
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, translatedBlock);
|
||||
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
|
||||
}
|
||||
else
|
||||
{
|
||||
Script.LootFilterBlocks.Add(translatedBlock);
|
||||
LootFilterBlockViewModels.Add(vm);
|
||||
}
|
||||
|
||||
SelectedBlockViewModel = vm;
|
||||
_isDirty = true;
|
||||
|
||||
}
|
||||
|
||||
private void OnMoveBlockToTopCommand()
|
||||
{
|
||||
var currentIndex = LootFilterBlockViewModels.IndexOf(SelectedBlockViewModel);
|
||||
|
@ -153,13 +205,13 @@ namespace Filtration.ViewModels
|
|||
MoveBlockUp(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void MoveBlockUp(ILootFilterBlockViewModel blockViewModel)
|
||||
public void MoveBlockUp(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var currentIndex = LootFilterBlockViewModels.IndexOf(blockViewModel);
|
||||
var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel);
|
||||
|
||||
if (currentIndex > 0)
|
||||
{
|
||||
var block = blockViewModel.Block;
|
||||
var block = targetBlockViewModel.Block;
|
||||
var blockPos = Script.LootFilterBlocks.IndexOf(block);
|
||||
Script.LootFilterBlocks.RemoveAt(blockPos);
|
||||
Script.LootFilterBlocks.Insert(blockPos - 1, block);
|
||||
|
@ -174,13 +226,13 @@ namespace Filtration.ViewModels
|
|||
MoveBlockDown(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void MoveBlockDown(ILootFilterBlockViewModel blockViewModel)
|
||||
public void MoveBlockDown(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var currentIndex = LootFilterBlockViewModels.IndexOf(blockViewModel);
|
||||
var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel);
|
||||
|
||||
if (currentIndex < LootFilterBlockViewModels.Count - 1)
|
||||
{
|
||||
var block = blockViewModel.Block;
|
||||
var block = targetBlockViewModel.Block;
|
||||
var blockPos = Script.LootFilterBlocks.IndexOf(block);
|
||||
Script.LootFilterBlocks.RemoveAt(blockPos);
|
||||
Script.LootFilterBlocks.Insert(blockPos + 1, block);
|
||||
|
@ -210,7 +262,7 @@ namespace Filtration.ViewModels
|
|||
AddBlock(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void AddBlock(ILootFilterBlockViewModel blockViewModel)
|
||||
public void AddBlock(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var vm = _lootFilterBlockViewModelFactory.Create();
|
||||
var newBlock = new LootFilterBlock();
|
||||
|
@ -218,8 +270,8 @@ namespace Filtration.ViewModels
|
|||
|
||||
if (LootFilterBlockViewModels.Count > 0)
|
||||
{
|
||||
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(blockViewModel.Block) + 1, newBlock);
|
||||
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(blockViewModel) + 1, vm);
|
||||
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newBlock);
|
||||
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -236,14 +288,14 @@ namespace Filtration.ViewModels
|
|||
AddSection(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void AddSection(ILootFilterBlockViewModel blockViewModel)
|
||||
public void AddSection(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var vm = _lootFilterBlockViewModelFactory.Create();
|
||||
var newSection = new LootFilterSection { Description = "New Section" };
|
||||
vm.Initialise(newSection, this);
|
||||
|
||||
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(blockViewModel.Block) + 1, newSection);
|
||||
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(blockViewModel) + 1, vm);
|
||||
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newSection);
|
||||
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
|
||||
_isDirty = true;
|
||||
SelectedBlockViewModel = vm;
|
||||
RaisePropertyChanged("LootFilterSectionViewModels");
|
||||
|
@ -254,15 +306,15 @@ namespace Filtration.ViewModels
|
|||
DeleteBlock(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void DeleteBlock(ILootFilterBlockViewModel blockViewModel)
|
||||
public void DeleteBlock(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var result = MessageBox.Show("Are you sure you wish to delete this block?", "Delete Confirmation",
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question);
|
||||
|
||||
if (result == MessageBoxResult.Yes)
|
||||
{
|
||||
Script.LootFilterBlocks.Remove(blockViewModel.Block);
|
||||
LootFilterBlockViewModels.Remove(blockViewModel);
|
||||
Script.LootFilterBlocks.Remove(targetBlockViewModel.Block);
|
||||
LootFilterBlockViewModels.Remove(targetBlockViewModel);
|
||||
_isDirty = true;
|
||||
}
|
||||
SelectedBlockViewModel = null;
|
||||
|
|
|
@ -13,6 +13,7 @@ namespace Filtration.ViewModels
|
|||
{
|
||||
internal interface IMainWindowViewModel
|
||||
{
|
||||
void LoadScriptFromFile(string path);
|
||||
}
|
||||
|
||||
internal class MainWindowViewModel : FiltrationViewModelBase, IMainWindowViewModel
|
||||
|
@ -38,6 +39,8 @@ namespace Filtration.ViewModels
|
|||
SaveScriptCommand = new RelayCommand(OnSaveScriptCommand, () => CurrentScriptViewModel != null);
|
||||
SaveScriptAsCommand = new RelayCommand(OnSaveScriptAsCommand, () => CurrentScriptViewModel != null);
|
||||
CopyScriptCommand = new RelayCommand(OnCopyScriptCommand, () => CurrentScriptViewModel != null);
|
||||
CopyBlockCommand = new RelayCommand(OnCopyBlockCommand, () => CurrentScriptViewModel != null && CurrentScriptViewModel.SelectedBlockViewModel != null);
|
||||
PasteCommand = new RelayCommand(OnPasteCommand, () => CurrentScriptViewModel != null);
|
||||
NewScriptCommand = new RelayCommand(OnNewScriptCommand);
|
||||
CloseScriptCommand = new RelayCommand<ILootFilterScriptViewModel>(OnCloseScriptCommand, v => CurrentScriptViewModel != null);
|
||||
|
||||
|
@ -49,6 +52,8 @@ namespace Filtration.ViewModels
|
|||
public RelayCommand OpenScriptCommand { get; private set; }
|
||||
public RelayCommand SaveScriptCommand { get; private set; }
|
||||
public RelayCommand SaveScriptAsCommand { get; private set; }
|
||||
public RelayCommand CopyBlockCommand { get; private set; }
|
||||
public RelayCommand PasteCommand { get; private set; }
|
||||
public RelayCommand CopyScriptCommand { get; private set; }
|
||||
public RelayCommand NewScriptCommand { get; private set; }
|
||||
public RelayCommand<ILootFilterScriptViewModel> CloseScriptCommand { get; private set; }
|
||||
|
@ -84,7 +89,7 @@ namespace Filtration.ViewModels
|
|||
LoadScriptFromFile(openFileDialog.FileName);
|
||||
}
|
||||
|
||||
private void LoadScriptFromFile(string path)
|
||||
public void LoadScriptFromFile(string path)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -200,7 +205,17 @@ namespace Filtration.ViewModels
|
|||
|
||||
private void OnCopyScriptCommand()
|
||||
{
|
||||
Clipboard.SetText(_lootFilterScriptTranslator.TranslateLootFilterScriptToString(_loadedScript));
|
||||
Clipboard.SetText(_lootFilterScriptTranslator.TranslateLootFilterScriptToString(_currentScriptViewModel.Script));
|
||||
}
|
||||
|
||||
private void OnCopyBlockCommand()
|
||||
{
|
||||
_currentScriptViewModel.CopyBlock(_currentScriptViewModel.SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
private void OnPasteCommand()
|
||||
{
|
||||
_currentScriptViewModel.PasteBlock(_currentScriptViewModel.SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
private void OnNewScriptCommand()
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
xmlns:fa="http://schemas.fontawesome.io/icons/"
|
||||
xmlns:userControls="clr-namespace:Filtration.UserControls"
|
||||
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
||||
xmlns:blockItemBaseTypes="clr-namespace:Filtration.Models.BlockItemBaseTypes"
|
||||
|
@ -93,7 +92,7 @@
|
|||
<TextBlock Grid.Column="0" Text="{Binding DisplayHeading}" Style="{StaticResource DisplayHeading}" />
|
||||
<WrapPanel Grid.Column="1" Grid.Row="0" HorizontalAlignment="Right">
|
||||
<Button Command="{Binding ElementName=SettingsGrid, Path=DataContext.PlaySoundCommand}" Width="20" Height="20" Padding="3" Background="Transparent" BorderBrush="Transparent">
|
||||
<fa:ImageAwesome Icon="PlayCircle" VerticalAlignment="Center" HorizontalAlignment="Center" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/play_icon.png" VerticalAlignment="Center" HorizontalAlignment="Center" />
|
||||
</Button>
|
||||
<ComboBox ItemsSource="{Binding ElementName=SettingsGrid, Path=DataContext.SoundsAvailable}" SelectedValue="{Binding Value}" />
|
||||
<xctk:ShortUpDown Value="{Binding Path=SecondValue}" Minimum="1" Maximum="100" HorizontalAlignment="Right" ToolTip="Volume"/>
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
xmlns:views="clr-namespace:Filtration.Views"
|
||||
xmlns:blockItemBaseTypes="clr-namespace:Filtration.Models.BlockItemBaseTypes"
|
||||
xmlns:blockItemTypes="clr-namespace:Filtration.Models.BlockItemTypes"
|
||||
xmlns:fa="http://schemas.fontawesome.io/icons/"
|
||||
xmlns:enums="clr-namespace:Filtration.Enums"
|
||||
xmlns:extensions="clr-namespace:Filtration.Extensions"
|
||||
mc:Ignorable="d"
|
||||
|
@ -39,29 +38,18 @@
|
|||
<Expander Grid.Column="1" Style="{StaticResource ExpanderRightAlignStyle}" x:Name="TestExpander" ToolTip="{Binding BlockDescription}">
|
||||
<Expander.ContextMenu>
|
||||
<ContextMenu>
|
||||
<ContextMenu.Resources>
|
||||
<fa:ImageAwesome Icon="Plus" Height="15" Width="15" x:Key="AddBlockIcon" />
|
||||
<fa:ImageAwesome Icon="ListUl" Height="15" Width="15" x:Key="AddSectionIcon" />
|
||||
<fa:ImageAwesome Icon="Minus" Height="15" Width="15" x:Key="DeleteBlockIcon" />
|
||||
<fa:ImageAwesome Icon="AngleDoubleUp" Height="15" Width="15" x:Key="MoveBlockToTopIcon" />
|
||||
<fa:ImageAwesome Icon="AngleUp" Height="15" Width="15" x:Key="MoveBlockUpIcon" />
|
||||
<fa:ImageAwesome Icon="AngleDown" Height="15" Width="15" x:Key="MoveBlockDownIcon" />
|
||||
<fa:ImageAwesome Icon="AngleDoubleDown" Height="15" Width="15" x:Key="MoveBlockToBottomIcon" />
|
||||
<fa:ImageAwesome Icon="Copy" Height="15" Width="15" x:Key="CopyIcon" />
|
||||
<fa:ImageAwesome Icon="Paste" Height="15" Width="15" x:Key="PasteIcon" />
|
||||
</ContextMenu.Resources>
|
||||
<ContextMenu.Items>
|
||||
<MenuItem Header="Copy" Command="{Binding CopyBlockCommand}" Icon="{StaticResource CopyIcon}" />
|
||||
<MenuItem Header="Paste" Command="{Binding CopyBlockCommand}" Icon="{StaticResource PasteIcon}" />
|
||||
<MenuItem Header="Copy" Command="{Binding CopyBlockCommand}" Icon="{DynamicResource CopyIcon}" />
|
||||
<MenuItem Header="Paste" Command="{Binding PasteBlockCommand}" Icon="{DynamicResource PasteIcon}" />
|
||||
<Separator />
|
||||
<MenuItem Header="Add Block" Command="{Binding Data.AddBlockCommand, Source={StaticResource proxy}}" Icon="{StaticResource AddBlockIcon}" />
|
||||
<MenuItem Header="Add Section" Command="{Binding Data.AddSectionCommand, Source={StaticResource proxy}}" Icon="{StaticResource AddSectionIcon}">
|
||||
<MenuItem Header="Add Block" Command="{Binding Data.AddBlockCommand, Source={StaticResource proxy}}" Icon="{DynamicResource AddBlockIcon}" />
|
||||
<MenuItem Header="Add Section" Command="{Binding Data.AddSectionCommand, Source={StaticResource proxy}}" Icon="{DynamicResource AddSectionIcon}">
|
||||
</MenuItem>
|
||||
<Separator />
|
||||
<MenuItem Header="Delete Block" Command="{Binding Data.DeleteBlockCommand, Source={StaticResource proxy}}" Icon="{StaticResource DeleteBlockIcon}" />
|
||||
<MenuItem Header="Delete Block" Command="{Binding Data.DeleteBlockCommand, Source={StaticResource proxy}}" Icon="{DynamicResource DeleteIcon}" />
|
||||
<Separator />
|
||||
<MenuItem Header="Move Block Up" Command="{Binding Data.MoveBlockUpCommand, Source={StaticResource proxy}}" Icon="{StaticResource MoveBlockUpIcon}" />
|
||||
<MenuItem Header="Move Block Down" Command="{Binding Data.MoveBlockDownCommand, Source={StaticResource proxy}}" Icon="{StaticResource MoveBlockDownIcon}" />
|
||||
<MenuItem Header="Move Block Up" Command="{Binding Data.MoveBlockUpCommand, Source={StaticResource proxy}}" Icon="{DynamicResource MoveUpIcon}" />
|
||||
<MenuItem Header="Move Block Down" Command="{Binding Data.MoveBlockDownCommand, Source={StaticResource proxy}}" Icon="{DynamicResource MoveDownIcon}" />
|
||||
</ContextMenu.Items>
|
||||
</ContextMenu>
|
||||
</Expander.ContextMenu>
|
||||
|
@ -92,7 +80,7 @@
|
|||
|
||||
<!-- Item Preview Box -->
|
||||
<WrapPanel Grid.Row="0" Grid.Column="1" VerticalAlignment="Center">
|
||||
<fa:ImageAwesome Icon="VolumeUp" VerticalAlignment="Center" HorizontalAlignment="Center" Height="15" Width="15" Margin="0,0,3,0" Visibility="{Binding HasSound, Converter={StaticResource BooleanVisibilityConverter}}" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/speaker_icon.png" VerticalAlignment="Center" HorizontalAlignment="Center" Height="15" Width="15" Margin="0,0,3,0" Visibility="{Binding HasSound, Converter={StaticResource BooleanVisibilityConverter}}" />
|
||||
<ToggleButton Width="140"
|
||||
Height="25"
|
||||
Margin="0,0,8,0"
|
||||
|
|
|
@ -49,24 +49,24 @@
|
|||
<Border Grid.Row="1" BorderThickness="2" BorderBrush="SlateGray" CornerRadius="4" Margin="5,5,5,5">
|
||||
<DockPanel LastChildFill="True">
|
||||
<ToolBarTray DockPanel.Dock="Top">
|
||||
<ToolBarTray.Resources>
|
||||
<!--<ToolBarTray.Resources>
|
||||
<Style TargetType="{x:Type fa:ImageAwesome}">
|
||||
<Style.Setters>
|
||||
<Setter Property="Width" Value="15" />
|
||||
<Setter Property="Height" Value="15" />
|
||||
</Style.Setters>
|
||||
</Style>
|
||||
</ToolBarTray.Resources>
|
||||
</ToolBarTray.Resources>-->
|
||||
<ToolBar>
|
||||
<Button ToolTip="Add Block" Command="{Binding AddBlockCommand}" Content="{StaticResource AddBlockToolbarIcon}" />
|
||||
<Button ToolTip="Add Section" Command="{Binding AddSectionCommand}" Content="{StaticResource AddSectionToolbarIcon}" />
|
||||
<Button ToolTip="Delete Block/Section" Command="{Binding DeleteBlockCommand}" Content="{StaticResource DeleteBlockToolbarIcon}" />
|
||||
<Button ToolTip="Add Block" Command="{Binding AddBlockCommand}" Content="{DynamicResource AddBlockIcon}" />
|
||||
<Button ToolTip="Add Section" Command="{Binding AddSectionCommand}" Content="{DynamicResource AddSectionIcon}" />
|
||||
<Button ToolTip="Delete Block/Section" Command="{Binding DeleteBlockCommand}" Content="{DynamicResource DeleteIcon}" />
|
||||
</ToolBar>
|
||||
<ToolBar>
|
||||
<Button ToolTip="Move Block to Top" Command="{Binding MoveBlockToTopCommand}" Content="{StaticResource MoveBlockToTopToolbarIcon}" />
|
||||
<Button ToolTip="Move Block Up" Command="{Binding MoveBlockUpCommand}" Content="{StaticResource MoveBlockUpToolbarIcon}" />
|
||||
<Button ToolTip="Move Block Down" Command="{Binding MoveBlockDownCommand}" Content="{StaticResource MoveBlockDownToolbarIcon}" />
|
||||
<Button ToolTip="Move Block to Bottom" Command="{Binding MoveBlockToBottomCommand}" Content="{StaticResource MoveBlockToBottomToolbarIcon}" />
|
||||
<Button ToolTip="Move Block to Top" Command="{Binding MoveBlockToTopCommand}" Content="{DynamicResource MoveToTopIcon}" />
|
||||
<Button ToolTip="Move Block Up" Command="{Binding MoveBlockUpCommand}" Content="{DynamicResource MoveUpIcon}" />
|
||||
<Button ToolTip="Move Block Down" Command="{Binding MoveBlockDownCommand}" Content="{DynamicResource MoveDownIcon}" />
|
||||
<Button ToolTip="Move Block to Bottom" Command="{Binding MoveBlockToBottomCommand}" Content="{DynamicResource MoveToBottomIcon}" />
|
||||
</ToolBar>
|
||||
</ToolBarTray>
|
||||
<Expander DockPanel.Dock="Left" ExpandDirection="Right" MaxWidth="200" HorizontalAlignment="Left" >
|
||||
|
|
|
@ -11,7 +11,8 @@ namespace Filtration.Views
|
|||
|
||||
private void SectionBrowserListBox_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
BlocksListBox.ScrollIntoView(((ListBox)sender).SelectedItem);
|
||||
var listBox = (ListBox) sender;
|
||||
BlocksListBox.ScrollIntoView(listBox.SelectedItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,21 +8,42 @@
|
|||
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:MainWindowViewModel}"
|
||||
Title="Filtration - v0.1" Height="690" Width="930" BorderThickness="1" BorderBrush="Black">
|
||||
<controls:MetroWindow.Resources>
|
||||
<Image Source="/Filtration;component/Resources/Icons/add_block_icon.png" x:Key="AddBlockIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/add_section_icon.png" x:Key="AddSectionIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/copy_icon.png" x:Key="CopyIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/delete_icon.png" x:Key="DeleteIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/new_icon.png" x:Key="NewIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/open_icon.png" x:Key="OpenIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/paste_icon.png" x:Key="PasteIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/save_all_icon.png" x:Key="SaveAllIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/save_icon.png" x:Key="SaveIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/arrow_up_large_icon.png" x:Key="MoveToTopIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/arrow_up_small_icon.png" x:Key="MoveUpIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/arrow_down_large_icon.png" x:Key="MoveToBottomIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/arrow_down_small_icon.png" x:Key="MoveDownIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/speaker_icon.png" x:Key="SpeakerIcon" x:Shared="false" />
|
||||
<Image Source="/Filtration;component/Resources/Icons/play_icon.png" x:Key="PlayIcon" x:Shared="false" />
|
||||
</controls:MetroWindow.Resources>
|
||||
<DockPanel>
|
||||
<Menu DockPanel.Dock="Top">
|
||||
<MenuItem Header="_File">
|
||||
<MenuItem Header="_New Script" Command="{Binding NewScriptCommand}"/>
|
||||
<MenuItem Header="_Open Script" Command="{Binding OpenScriptCommand}"/>
|
||||
<MenuItem Header="_Save Script" Command="{Binding SaveScriptCommand}"/>
|
||||
<MenuItem Header="Save Script _As" Command="{Binding SaveScriptAsCommand}"/>
|
||||
<MenuItem Header="_New Script" Command="{Binding NewScriptCommand}" Icon="{StaticResource NewIcon}"/>
|
||||
<MenuItem Header="_Open Script" Command="{Binding OpenScriptCommand}" Icon="{StaticResource OpenIcon}"/>
|
||||
<MenuItem Header="_Save Script" Command="{Binding SaveScriptCommand}" Icon="{StaticResource SaveIcon}"/>
|
||||
<MenuItem Header="Save Script _As" Command="{Binding SaveScriptAsCommand}" Icon="{StaticResource SaveIcon}"/>
|
||||
<MenuItem Header="_Close Script" Command="{Binding CloseScriptCommand}" CommandParameter="{Binding CurrentScriptViewModel}"/>
|
||||
<MenuItem Header="E_xit"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="_Edit">
|
||||
<MenuItem Header="_Copy Script to Clipboard" Command="{Binding CopyScriptCommand}" />
|
||||
<MenuItem Header="_Copy Block" Command="{Binding CopyBlockCommand}" Icon="{StaticResource CopyIcon}" />
|
||||
<MenuItem Header="_Paste Block" Command="{Binding PasteCommand}" Icon="{StaticResource PasteIcon}" />
|
||||
<Separator />
|
||||
<MenuItem Header="Copy _Script" Command="{Binding CopyScriptCommand}" Icon="{StaticResource CopyIcon}" />
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
<ToolBarTray DockPanel.Dock="Top">
|
||||
|
|
|
@ -5,14 +5,23 @@ namespace Filtration.Views
|
|||
public interface IMainWindow
|
||||
{
|
||||
void Show();
|
||||
void OpenScriptFromCommandLineArgument(string scriptPath);
|
||||
}
|
||||
|
||||
internal partial class MainWindow : IMainWindow
|
||||
{
|
||||
private readonly IMainWindowViewModel _mainWindowViewModel;
|
||||
|
||||
public MainWindow(IMainWindowViewModel mainWindowViewModel)
|
||||
{
|
||||
_mainWindowViewModel = mainWindowViewModel;
|
||||
InitializeComponent();
|
||||
DataContext = mainWindowViewModel;
|
||||
}
|
||||
|
||||
public void OpenScriptFromCommandLineArgument(string scriptPath)
|
||||
{
|
||||
_mainWindowViewModel.LoadScriptFromFile(scriptPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
<package id="Castle.Windsor" version="3.3.0" targetFramework="net451" />
|
||||
<package id="CommonServiceLocator" version="1.3" targetFramework="net451" />
|
||||
<package id="Extended.Wpf.Toolkit" version="2.4" targetFramework="net451" />
|
||||
<package id="FontAwesome.WPF" version="4.3.0.2" targetFramework="net451" />
|
||||
<package id="MahApps.Metro" version="1.1.2.0" targetFramework="net451" />
|
||||
<package id="MvvmLight" version="5.1.1.0" targetFramework="net451" />
|
||||
<package id="MvvmLightLibs" version="5.1.1.0" targetFramework="net451" />
|
||||
|
|