Moved Settings to BackStage
This commit is contained in:
parent
4e77075182
commit
965627d587
|
@ -56,9 +56,6 @@
|
||||||
<Reference Include="Fluent">
|
<Reference Include="Fluent">
|
||||||
<HintPath>..\packages\Fluent.Ribbon.3.4.0\lib\net45\Fluent.dll</HintPath>
|
<HintPath>..\packages\Fluent.Ribbon.3.4.0\lib\net45\Fluent.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="FontAwesome.WPF">
|
|
||||||
<HintPath>..\packages\FontAwesome.WPF.4.3.0.3\lib\FontAwesome.WPF.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="GalaSoft.MvvmLight, Version=5.1.1.35049, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
<Reference Include="GalaSoft.MvvmLight, Version=5.1.1.35049, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
|
||||||
<SpecificVersion>False</SpecificVersion>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
<HintPath>..\packages\MvvmLightLibs.5.1.1.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
<HintPath>..\packages\MvvmLightLibs.5.1.1.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath>
|
||||||
|
@ -158,7 +155,7 @@
|
||||||
<Compile Include="Utilities\BlockGroupMapper.cs" />
|
<Compile Include="Utilities\BlockGroupMapper.cs" />
|
||||||
<Compile Include="Utilities\LineReader.cs" />
|
<Compile Include="Utilities\LineReader.cs" />
|
||||||
<Compile Include="ViewModels\AvalonDockWorkspaceViewModel.cs" />
|
<Compile Include="ViewModels\AvalonDockWorkspaceViewModel.cs" />
|
||||||
<Compile Include="ViewModels\SettingsWindowViewModel.cs" />
|
<Compile Include="ViewModels\SettingsPageViewModel.cs" />
|
||||||
<Compile Include="ViewModels\ToolPanes\BlockGroupBrowserViewModel.cs" />
|
<Compile Include="ViewModels\ToolPanes\BlockGroupBrowserViewModel.cs" />
|
||||||
<Compile Include="ViewModels\IItemFilterScriptViewModelFactory.cs" />
|
<Compile Include="ViewModels\IItemFilterScriptViewModelFactory.cs" />
|
||||||
<Compile Include="ViewModels\IItemFilterBlockViewModelFactory.cs" />
|
<Compile Include="ViewModels\IItemFilterBlockViewModelFactory.cs" />
|
||||||
|
@ -177,8 +174,8 @@
|
||||||
<Compile Include="Views\Behaviors\BindableSelectedItemBehavior.cs" />
|
<Compile Include="Views\Behaviors\BindableSelectedItemBehavior.cs" />
|
||||||
<Compile Include="Views\BindingProxy.cs" />
|
<Compile Include="Views\BindingProxy.cs" />
|
||||||
<Compile Include="Views\PathOfExileColors.cs" />
|
<Compile Include="Views\PathOfExileColors.cs" />
|
||||||
<Compile Include="Views\SettingsWindow.xaml.cs">
|
<Compile Include="Views\SettingsPageView.xaml.cs">
|
||||||
<DependentUpon>SettingsWindow.xaml</DependentUpon>
|
<DependentUpon>SettingsPageView.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Views\ToolPanes\BlockGroupBrowserView.xaml.cs">
|
<Compile Include="Views\ToolPanes\BlockGroupBrowserView.xaml.cs">
|
||||||
<DependentUpon>BlockGroupBrowserView.xaml</DependentUpon>
|
<DependentUpon>BlockGroupBrowserView.xaml</DependentUpon>
|
||||||
|
@ -231,7 +228,7 @@
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
</Page>
|
</Page>
|
||||||
<Page Include="Views\SettingsWindow.xaml">
|
<Page Include="Views\SettingsPageView.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
</Page>
|
</Page>
|
||||||
|
@ -379,6 +376,7 @@
|
||||||
<Resource Include="Resources\Icons\PasteStyle.ico" />
|
<Resource Include="Resources\Icons\PasteStyle.ico" />
|
||||||
<Resource Include="Resources\Icons\ReplaceColors.ico" />
|
<Resource Include="Resources\Icons\ReplaceColors.ico" />
|
||||||
<Resource Include="Resources\Icons\Theme.ico" />
|
<Resource Include="Resources\Icons\Theme.ico" />
|
||||||
|
<Resource Include="Resources\Images\doge.jpg" />
|
||||||
<Content Include="Resources\ItemBaseTypes.txt">
|
<Content Include="Resources\ItemBaseTypes.txt">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 106 KiB |
|
@ -30,17 +30,15 @@ namespace Filtration.ViewModels
|
||||||
private readonly IItemFilterScriptTranslator _itemFilterScriptTranslator;
|
private readonly IItemFilterScriptTranslator _itemFilterScriptTranslator;
|
||||||
private readonly IReplaceColorsViewModel _replaceColorsViewModel;
|
private readonly IReplaceColorsViewModel _replaceColorsViewModel;
|
||||||
private readonly IAvalonDockWorkspaceViewModel _avalonDockWorkspaceViewModel;
|
private readonly IAvalonDockWorkspaceViewModel _avalonDockWorkspaceViewModel;
|
||||||
private readonly ISettingsWindowViewModel _settingsWindowViewModel;
|
private readonly ISettingsPageViewModel _settingsPageViewModel;
|
||||||
private readonly IThemeProvider _themeProvider;
|
private readonly IThemeProvider _themeProvider;
|
||||||
private readonly IThemeService _themeService;
|
private readonly IThemeService _themeService;
|
||||||
|
|
||||||
private IDocument _activeDocument;
|
|
||||||
|
|
||||||
public MainWindowViewModel(IItemFilterScriptRepository itemFilterScriptRepository,
|
public MainWindowViewModel(IItemFilterScriptRepository itemFilterScriptRepository,
|
||||||
IItemFilterScriptTranslator itemFilterScriptTranslator,
|
IItemFilterScriptTranslator itemFilterScriptTranslator,
|
||||||
IReplaceColorsViewModel replaceColorsViewModel,
|
IReplaceColorsViewModel replaceColorsViewModel,
|
||||||
IAvalonDockWorkspaceViewModel avalonDockWorkspaceViewModel,
|
IAvalonDockWorkspaceViewModel avalonDockWorkspaceViewModel,
|
||||||
ISettingsWindowViewModel settingsWindowViewModel,
|
ISettingsPageViewModel settingsPageViewModel,
|
||||||
IThemeProvider themeProvider,
|
IThemeProvider themeProvider,
|
||||||
IThemeService themeService)
|
IThemeService themeService)
|
||||||
{
|
{
|
||||||
|
@ -48,7 +46,7 @@ namespace Filtration.ViewModels
|
||||||
_itemFilterScriptTranslator = itemFilterScriptTranslator;
|
_itemFilterScriptTranslator = itemFilterScriptTranslator;
|
||||||
_replaceColorsViewModel = replaceColorsViewModel;
|
_replaceColorsViewModel = replaceColorsViewModel;
|
||||||
_avalonDockWorkspaceViewModel = avalonDockWorkspaceViewModel;
|
_avalonDockWorkspaceViewModel = avalonDockWorkspaceViewModel;
|
||||||
_settingsWindowViewModel = settingsWindowViewModel;
|
_settingsPageViewModel = settingsPageViewModel;
|
||||||
_themeProvider = themeProvider;
|
_themeProvider = themeProvider;
|
||||||
_themeService = themeService;
|
_themeService = themeService;
|
||||||
|
|
||||||
|
@ -76,7 +74,6 @@ namespace Filtration.ViewModels
|
||||||
DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, () => ActiveDocumentIsScript && ActiveScriptHasSelectedBlock);
|
DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, () => ActiveDocumentIsScript && ActiveScriptHasSelectedBlock);
|
||||||
|
|
||||||
OpenAboutWindowCommand = new RelayCommand(OnOpenAboutWindowCommand);
|
OpenAboutWindowCommand = new RelayCommand(OnOpenAboutWindowCommand);
|
||||||
OpenSettingsWindowCommand = new RelayCommand(OnOpenSettingsWindowCommand);
|
|
||||||
ReplaceColorsCommand = new RelayCommand(OnReplaceColorsCommand, () => ActiveDocumentIsScript);
|
ReplaceColorsCommand = new RelayCommand(OnReplaceColorsCommand, () => ActiveDocumentIsScript);
|
||||||
CreateThemeCommand = new RelayCommand(OnCreateThemeCommand, () => ActiveDocumentIsScript);
|
CreateThemeCommand = new RelayCommand(OnCreateThemeCommand, () => ActiveDocumentIsScript);
|
||||||
ApplyThemeToScriptCommand = new RelayCommand(OnApplyThemeToScriptCommand, () => ActiveDocumentIsScript);
|
ApplyThemeToScriptCommand = new RelayCommand(OnApplyThemeToScriptCommand, () => ActiveDocumentIsScript);
|
||||||
|
@ -136,7 +133,6 @@ namespace Filtration.ViewModels
|
||||||
public RelayCommand NewScriptCommand { get; private set; }
|
public RelayCommand NewScriptCommand { get; private set; }
|
||||||
public RelayCommand CloseCommand { get; private set; }
|
public RelayCommand CloseCommand { get; private set; }
|
||||||
public RelayCommand OpenAboutWindowCommand { get; private set; }
|
public RelayCommand OpenAboutWindowCommand { get; private set; }
|
||||||
public RelayCommand OpenSettingsWindowCommand { get; private set; }
|
|
||||||
public RelayCommand ReplaceColorsCommand { get; private set; }
|
public RelayCommand ReplaceColorsCommand { get; private set; }
|
||||||
public RelayCommand CreateThemeCommand { get; private set; }
|
public RelayCommand CreateThemeCommand { get; private set; }
|
||||||
public RelayCommand ApplyThemeToScriptCommand { get; private set; }
|
public RelayCommand ApplyThemeToScriptCommand { get; private set; }
|
||||||
|
@ -155,12 +151,17 @@ namespace Filtration.ViewModels
|
||||||
|
|
||||||
public RelayCommand<bool> ToggleShowAdvancedCommand { get; private set; }
|
public RelayCommand<bool> ToggleShowAdvancedCommand { get; private set; }
|
||||||
public RelayCommand ClearFiltersCommand { get; private set; }
|
public RelayCommand ClearFiltersCommand { get; private set; }
|
||||||
|
|
||||||
public IAvalonDockWorkspaceViewModel AvalonDockWorkspaceViewModel
|
public IAvalonDockWorkspaceViewModel AvalonDockWorkspaceViewModel
|
||||||
{
|
{
|
||||||
get { return _avalonDockWorkspaceViewModel; }
|
get { return _avalonDockWorkspaceViewModel; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ISettingsPageViewModel SettingsPageViewModel
|
||||||
|
{
|
||||||
|
get { return _settingsPageViewModel; }
|
||||||
|
}
|
||||||
|
|
||||||
public string WindowTitle
|
public string WindowTitle
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -228,14 +229,6 @@ namespace Filtration.ViewModels
|
||||||
var aboutWindow = new AboutWindow();
|
var aboutWindow = new AboutWindow();
|
||||||
aboutWindow.ShowDialog();
|
aboutWindow.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnOpenSettingsWindowCommand()
|
|
||||||
{
|
|
||||||
var settingsWindow = new SettingsWindow {DataContext = _settingsWindowViewModel};
|
|
||||||
_settingsWindowViewModel.OnRequestClose += (s, e) => settingsWindow.Close();
|
|
||||||
settingsWindow.ShowDialog();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnOpenScriptCommand()
|
private void OnOpenScriptCommand()
|
||||||
{
|
{
|
||||||
var openFileDialog = new OpenFileDialog
|
var openFileDialog = new OpenFileDialog
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
using System;
|
using System.IO;
|
||||||
using System.IO;
|
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using Filtration.Common.ViewModels;
|
using Filtration.Common.ViewModels;
|
||||||
using Filtration.Properties;
|
using Filtration.Properties;
|
||||||
|
@ -8,41 +7,27 @@ using GalaSoft.MvvmLight.CommandWpf;
|
||||||
|
|
||||||
namespace Filtration.ViewModels
|
namespace Filtration.ViewModels
|
||||||
{
|
{
|
||||||
internal interface ISettingsWindowViewModel
|
internal interface ISettingsPageViewModel
|
||||||
{
|
{
|
||||||
event EventHandler OnRequestClose;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class SettingsWindowViewModel : FiltrationViewModelBase, ISettingsWindowViewModel
|
internal class SettingsPageViewModel : FiltrationViewModelBase, ISettingsPageViewModel
|
||||||
{
|
{
|
||||||
private readonly IItemFilterPersistenceService _itemFilterPersistenceService;
|
private readonly IItemFilterPersistenceService _itemFilterPersistenceService;
|
||||||
|
|
||||||
public SettingsWindowViewModel(IItemFilterPersistenceService itemFilterPersistenceService)
|
public SettingsPageViewModel(IItemFilterPersistenceService itemFilterPersistenceService)
|
||||||
{
|
{
|
||||||
_itemFilterPersistenceService = itemFilterPersistenceService;
|
_itemFilterPersistenceService = itemFilterPersistenceService;
|
||||||
CancelCommand = new RelayCommand(OnCancelCommand);
|
|
||||||
SaveCommand = new RelayCommand(OnSaveCommand);
|
SaveCommand = new RelayCommand(OnSaveCommand);
|
||||||
|
|
||||||
DefaultFilterDirectory = Settings.Default.DefaultFilterDirectory;
|
DefaultFilterDirectory = Settings.Default.DefaultFilterDirectory;
|
||||||
ExtraLineBetweenBlocks = Settings.Default.ExtraLineBetweenBlocks;
|
ExtraLineBetweenBlocks = Settings.Default.ExtraLineBetweenBlocks;
|
||||||
}
|
}
|
||||||
|
|
||||||
public event EventHandler OnRequestClose;
|
|
||||||
|
|
||||||
public RelayCommand CancelCommand { get; private set; }
|
|
||||||
public RelayCommand SaveCommand { get; private set; }
|
public RelayCommand SaveCommand { get; private set; }
|
||||||
|
|
||||||
public string DefaultFilterDirectory { get; set; }
|
public string DefaultFilterDirectory { get; set; }
|
||||||
public bool ExtraLineBetweenBlocks { get; set; }
|
public bool ExtraLineBetweenBlocks { get; set; }
|
||||||
|
|
||||||
private void OnCancelCommand()
|
|
||||||
{
|
|
||||||
if (OnRequestClose != null)
|
|
||||||
{
|
|
||||||
OnRequestClose(this, new EventArgs());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnSaveCommand()
|
private void OnSaveCommand()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -50,10 +35,6 @@ namespace Filtration.ViewModels
|
||||||
_itemFilterPersistenceService.SetItemFilterScriptDirectory(DefaultFilterDirectory);
|
_itemFilterPersistenceService.SetItemFilterScriptDirectory(DefaultFilterDirectory);
|
||||||
|
|
||||||
Settings.Default.ExtraLineBetweenBlocks = ExtraLineBetweenBlocks;
|
Settings.Default.ExtraLineBetweenBlocks = ExtraLineBetweenBlocks;
|
||||||
if (OnRequestClose != null)
|
|
||||||
{
|
|
||||||
OnRequestClose(this, new EventArgs());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (DirectoryNotFoundException)
|
catch (DirectoryNotFoundException)
|
||||||
{
|
{
|
|
@ -6,21 +6,30 @@
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:fluent="clr-namespace:Fluent;assembly=Fluent"
|
xmlns:fluent="clr-namespace:Fluent;assembly=Fluent"
|
||||||
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
||||||
xmlns:fa="http://schemas.fontawesome.io/icons/"
|
|
||||||
xmlns:viewsAvalonDock="clr-namespace:Filtration.Views.AvalonDock"
|
xmlns:viewsAvalonDock="clr-namespace:Filtration.Views.AvalonDock"
|
||||||
xmlns:converters="clr-namespace:Filtration.Converters"
|
xmlns:converters="clr-namespace:Filtration.Converters"
|
||||||
|
xmlns:views="clr-namespace:Filtration.Views"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DataContext="{d:DesignInstance Type=viewModels:MainWindowViewModel}"
|
d:DataContext="{d:DesignInstance Type=viewModels:MainWindowViewModel}"
|
||||||
Title="{Binding WindowTitle}" Height="768" Width="1100" BorderThickness="1" BorderBrush="Black" Icon="{StaticResource MenuPasteIcon}">
|
Title="{Binding WindowTitle}" Height="768" Width="1100" BorderThickness="1" BorderBrush="Black" Icon="{StaticResource MenuPasteIcon}">
|
||||||
<fluent:RibbonWindow.Resources>
|
<fluent:RibbonWindow.Resources>
|
||||||
<converters:BooleanVisibilityConverterCopy x:Key="BooleanVisibilityConverterCopy" />
|
<converters:BooleanVisibilityConverterCopy x:Key="BooleanVisibilityConverterCopy" />
|
||||||
</fluent:RibbonWindow.Resources>
|
</fluent:RibbonWindow.Resources>
|
||||||
<DockPanel>
|
<DockPanel x:Name="RootDockPanel">
|
||||||
<fluent:Ribbon DockPanel.Dock="Top">
|
<fluent:Ribbon DockPanel.Dock="Top">
|
||||||
<fluent:Ribbon.Menu>
|
<fluent:Ribbon.Menu>
|
||||||
<fluent:Backstage>
|
<fluent:Backstage>
|
||||||
<fluent:BackstageTabControl>
|
<fluent:BackstageTabControl>
|
||||||
<fluent:BackstageTabItem Header="Filtration" />
|
<fluent:BackstageTabItem Header="Filtration" Content="{StaticResource SettingsIcon}">
|
||||||
|
<fluent:BackstageTabItem.ContentTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<StackPanel>
|
||||||
|
<TextBlock Margin="20">One day there will be something here! Maybe recent documents or something? For now here's a picture of Doge:</TextBlock>
|
||||||
|
<Image Source="/Filtration;component/Resources/Images/doge.jpg" Margin="20" Width="300" Height="300" />
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
|
</fluent:BackstageTabItem.ContentTemplate>
|
||||||
|
</fluent:BackstageTabItem>
|
||||||
<fluent:Button Header="New Script" Command="{Binding NewScriptCommand}" Icon="{StaticResource NewIcon}" />
|
<fluent:Button Header="New Script" Command="{Binding NewScriptCommand}" Icon="{StaticResource NewIcon}" />
|
||||||
<fluent:Button Header="Open Script" Command="{Binding OpenScriptCommand}" Icon="{StaticResource OpenIcon}" />
|
<fluent:Button Header="Open Script" Command="{Binding OpenScriptCommand}" Icon="{StaticResource OpenIcon}" />
|
||||||
<fluent:Button Header="Open Theme" Command="{Binding OpenThemeCommand}" Icon="{StaticResource OpenIcon}" />
|
<fluent:Button Header="Open Theme" Command="{Binding OpenThemeCommand}" Icon="{StaticResource OpenIcon}" />
|
||||||
|
@ -28,19 +37,25 @@
|
||||||
<fluent:Button Header="Save As" Command="{Binding SaveAsCommand}" Icon="{StaticResource SaveIcon}" />
|
<fluent:Button Header="Save As" Command="{Binding SaveAsCommand}" Icon="{StaticResource SaveIcon}" />
|
||||||
<fluent:Button Header="Close" Command="{Binding CloseCommand}" />
|
<fluent:Button Header="Close" Command="{Binding CloseCommand}" />
|
||||||
<fluent:SeparatorTabItem />
|
<fluent:SeparatorTabItem />
|
||||||
<fluent:Button Header="Settings" Command="{Binding OpenSettingsWindowCommand}" Icon="{StaticResource SettingsIcon}" />
|
<fluent:BackstageTabItem Header="Settings" Content="{StaticResource SettingsIcon}">
|
||||||
|
<fluent:BackstageTabItem.ContentTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<views:SettingsPageView DataContext="{Binding ElementName=RootDockPanel, Path=DataContext.SettingsPageViewModel}" />
|
||||||
|
</DataTemplate>
|
||||||
|
</fluent:BackstageTabItem.ContentTemplate>
|
||||||
|
</fluent:BackstageTabItem>
|
||||||
<fluent:SeparatorTabItem />
|
<fluent:SeparatorTabItem />
|
||||||
<fluent:Button Header="About Filtration" Icon="{StaticResource AboutIcon}" Command="{Binding OpenAboutWindowCommand}" VerticalAlignment="Bottom" />
|
<fluent:Button Header="About Filtration" Icon="{StaticResource AboutIcon}" Command="{Binding OpenAboutWindowCommand}" VerticalAlignment="Bottom" />
|
||||||
</fluent:BackstageTabControl>
|
</fluent:BackstageTabControl>
|
||||||
</fluent:Backstage>
|
</fluent:Backstage>
|
||||||
</fluent:Ribbon.Menu>
<fluent:Ribbon.ContextualGroups>
<fluent:RibbonContextualTabGroup Header="Script Tools"
Background="ForestGreen"
BorderBrush="ForestGreen"
x:Name="ScriptToolsGroup"
Visibility="{Binding ActiveDocumentIsScript, Converter={StaticResource BooleanVisibilityConverterCopy}, ConverterParameter={x:Static Visibility.Hidden}, Mode=OneWay}" />
</fluent:Ribbon.ContextualGroups>
|
</fluent:Ribbon.Menu>
|
||||||
<fluent:RibbonTabItem Header="View">
|
<fluent:Ribbon.ContextualGroups>
|
||||||
<fluent:RibbonGroupBox Header="Tools">
|
<fluent:RibbonContextualTabGroup Header="Script Tools"
|
||||||
<fluent:ToggleButton Header="Section Browser" SizeDefinition="Middle" Icon="{StaticResource AddSectionIcon}" IsChecked="{Binding AvalonDockWorkspaceViewModel.SectionBrowserViewModel.IsVisible}" />
|
Background="ForestGreen"
|
||||||
<fluent:ToggleButton Header="Block Group Browser" SizeDefinition="Middle" Icon="{StaticResource BlockGroupBrowserIcon}" IsChecked="{Binding AvalonDockWorkspaceViewModel.BlockGroupBrowserViewModel.IsVisible}" />
|
BorderBrush="ForestGreen"
|
||||||
<fluent:ToggleButton Header="Block Output Preview" SizeDefinition="Middle" Icon="{StaticResource BlockOutputPreviewIcon}" IsChecked="{Binding AvalonDockWorkspaceViewModel.BlockOutputPreviewViewModel.IsVisible}" />
|
x:Name="ScriptToolsGroup"
|
||||||
</fluent:RibbonGroupBox>
|
Visibility="{Binding ActiveDocumentIsScript, Converter={StaticResource BooleanVisibilityConverterCopy}, ConverterParameter={x:Static Visibility.Hidden}, Mode=OneWay}" />
|
||||||
</fluent:RibbonTabItem>
|
</fluent:Ribbon.ContextualGroups>
|
||||||
<fluent:RibbonTabItem Header="Script Tools" Group="{Binding ElementName=ScriptToolsGroup}" >
|
<fluent:RibbonTabItem Header="Script Tools" Group="{Binding ElementName=ScriptToolsGroup}" >
|
||||||
<fluent:RibbonGroupBox Header="Clipboard">
|
<fluent:RibbonGroupBox Header="Clipboard">
|
||||||
<fluent:Button Header="Copy Block" Command="{Binding CopyBlockCommand}" Icon="{StaticResource CopyIcon}" LargeIcon="{StaticResource CopyIcon}">
|
<fluent:Button Header="Copy Block" Command="{Binding CopyBlockCommand}" Icon="{StaticResource CopyIcon}" LargeIcon="{StaticResource CopyIcon}">
|
||||||
|
@ -50,10 +65,14 @@
|
||||||
<fluent:Button Header="Paste Style" Command="{Binding PasteBlockStyleCommand}" Icon="{StaticResource PasteStyleIcon}" LargeIcon="{StaticResource PasteIcon}" SizeDefinition="Middle" />
|
<fluent:Button Header="Paste Style" Command="{Binding PasteBlockStyleCommand}" Icon="{StaticResource PasteStyleIcon}" LargeIcon="{StaticResource PasteIcon}" SizeDefinition="Middle" />
|
||||||
<fluent:Button Header="Copy Script" Command="{Binding CopyScriptCommand}" Icon="{StaticResource CopyIcon}" LargeIcon="{StaticResource PasteIcon}" SizeDefinition="Middle" />
|
<fluent:Button Header="Copy Script" Command="{Binding CopyScriptCommand}" Icon="{StaticResource CopyIcon}" LargeIcon="{StaticResource PasteIcon}" SizeDefinition="Middle" />
|
||||||
</fluent:RibbonGroupBox>
|
</fluent:RibbonGroupBox>
|
||||||
<fluent:RibbonGroupBox Header="Block Shizzle">
|
<fluent:RibbonGroupBox Header="Blocks">
|
||||||
<fluent:Button Header="Add Block" Command="{Binding AddBlockCommand}" SizeDefinition="Middle" Icon="{StaticResource AddBlockIcon}" />
|
<fluent:Button Header="Add Block" Command="{Binding AddBlockCommand}" SizeDefinition="Middle" Icon="{StaticResource AddBlockIcon}" />
|
||||||
<fluent:Button Header="Add Section" Command="{Binding AddSectionCommand}" SizeDefinition="Middle" Icon="{StaticResource AddSectionIcon}" />
|
<fluent:Button Header="Add Section" Command="{Binding AddSectionCommand}" SizeDefinition="Middle" Icon="{StaticResource AddSectionIcon}" />
|
||||||
<fluent:Button Header="Delete Block" Command="{Binding DeleteBlockCommand}" SizeDefinition="Middle" Icon="{StaticResource DeleteIcon}" />
|
<fluent:Button Header="Delete Block" Command="{Binding DeleteBlockCommand}" SizeDefinition="Middle" Icon="{StaticResource DeleteIcon}" />
|
||||||
|
<fluent:Button Header="Move To Top" Command="{Binding MoveBlockToTopCommand}" SizeDefinition="Middle" Icon="{StaticResource MoveToTopIcon}" />
|
||||||
|
<fluent:Button Header="Move Up" Command="{Binding MoveBlockUpCommand}" SizeDefinition="Middle" Icon="{StaticResource MoveUpIcon}" />
|
||||||
|
<fluent:Button Header="Move Down" Command="{Binding MoveBlockDownCommand}" SizeDefinition="Middle" Icon="{StaticResource MoveDownIcon}" />
|
||||||
|
<fluent:Button Header="Move To Bottom" Command="{Binding MoveBlockToBottomCommand}" SizeDefinition="Middle" Icon="{StaticResource MoveToBottomIcon}" />
|
||||||
</fluent:RibbonGroupBox>
|
</fluent:RibbonGroupBox>
|
||||||
<fluent:RibbonGroupBox Header="Expand / Collapse">
|
<fluent:RibbonGroupBox Header="Expand / Collapse">
|
||||||
<fluent:Button Header="Expand All" Command="{Binding ExpandAllBlocksCommand}" SizeDefinition="Middle" Icon="{StaticResource ExpandIcon}" />
|
<fluent:Button Header="Expand All" Command="{Binding ExpandAllBlocksCommand}" SizeDefinition="Middle" Icon="{StaticResource ExpandIcon}" />
|
||||||
|
@ -63,18 +82,19 @@
|
||||||
<fluent:ToggleButton Command="{Binding ToggleShowAdvancedCommand}" CommandParameter="{Binding Path=IsChecked, RelativeSource={RelativeSource Self}}" Header="Show Advanced Blocks" SizeDefinition="Middle" Icon="{StaticResource ShowAdvancedIcon}" IsChecked="{Binding ShowAdvancedStatus, Mode=OneWay}" />
|
<fluent:ToggleButton Command="{Binding ToggleShowAdvancedCommand}" CommandParameter="{Binding Path=IsChecked, RelativeSource={RelativeSource Self}}" Header="Show Advanced Blocks" SizeDefinition="Middle" Icon="{StaticResource ShowAdvancedIcon}" IsChecked="{Binding ShowAdvancedStatus, Mode=OneWay}" />
|
||||||
<fluent:Button Header="Clear All Filters" Command="{Binding ClearFiltersCommand}" SizeDefinition="Middle" Icon="{StaticResource ClearFilterIcon}" />
|
<fluent:Button Header="Clear All Filters" Command="{Binding ClearFiltersCommand}" SizeDefinition="Middle" Icon="{StaticResource ClearFilterIcon}" />
|
||||||
</fluent:RibbonGroupBox>
|
</fluent:RibbonGroupBox>
|
||||||
<fluent:RibbonGroupBox Header="Block Movement">
|
|
||||||
<fluent:Button Header="Move To Top" Command="{Binding MoveBlockToTopCommand}" SizeDefinition="Middle" Icon="{StaticResource MoveToTopIcon}" />
|
|
||||||
<fluent:Button Header="Move Up" Command="{Binding MoveBlockUpCommand}" SizeDefinition="Middle" Icon="{StaticResource MoveUpIcon}" />
|
|
||||||
<fluent:Button Header="Move Down" Command="{Binding MoveBlockDownCommand}" SizeDefinition="Middle" Icon="{StaticResource MoveDownIcon}" />
|
|
||||||
<fluent:Button Header="Move To Bottom" Command="{Binding MoveBlockToBottomCommand}" SizeDefinition="Middle" Icon="{StaticResource MoveToBottomIcon}" />
|
|
||||||
</fluent:RibbonGroupBox>
|
|
||||||
<fluent:RibbonGroupBox Header="Themes">
|
<fluent:RibbonGroupBox Header="Themes">
|
||||||
<fluent:Button Header="Apply Theme" Command="{Binding ApplyThemeToScriptCommand}" Icon="{StaticResource ThemeIcon}" LargeIcon="{StaticResource ThemeIcon}" />
|
<fluent:Button Header="Apply Theme" Command="{Binding ApplyThemeToScriptCommand}" Icon="{StaticResource ThemeIcon}" LargeIcon="{StaticResource ThemeIcon}" />
|
||||||
<fluent:Button Header="Create Theme" Command="{Binding CreateThemeCommand}" Icon="{StaticResource ThemeIcon}" LargeIcon="{StaticResource ThemeIcon}" />
|
<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:Button Header="Replace Colours" Command="{Binding ReplaceColorsCommand}" Icon="{StaticResource ReplaceColorsIcon}" LargeIcon="{StaticResource ReplaceColorsIcon}" />
|
||||||
</fluent:RibbonGroupBox>
|
</fluent:RibbonGroupBox>
|
||||||
</fluent:RibbonTabItem>
|
</fluent:RibbonTabItem>
|
||||||
|
<fluent:RibbonTabItem Header="View">
|
||||||
|
<fluent:RibbonGroupBox Header="Tools">
|
||||||
|
<fluent:ToggleButton Header="Section Browser" SizeDefinition="Middle" Icon="{StaticResource AddSectionIcon}" IsChecked="{Binding AvalonDockWorkspaceViewModel.SectionBrowserViewModel.IsVisible}" />
|
||||||
|
<fluent:ToggleButton Header="Block Group Browser" SizeDefinition="Middle" Icon="{StaticResource BlockGroupBrowserIcon}" IsChecked="{Binding AvalonDockWorkspaceViewModel.BlockGroupBrowserViewModel.IsVisible}" />
|
||||||
|
<fluent:ToggleButton Header="Block Output Preview" SizeDefinition="Middle" Icon="{StaticResource BlockOutputPreviewIcon}" IsChecked="{Binding AvalonDockWorkspaceViewModel.BlockOutputPreviewViewModel.IsVisible}" />
|
||||||
|
</fluent:RibbonGroupBox>
|
||||||
|
</fluent:RibbonTabItem>
|
||||||
</fluent:Ribbon>
|
</fluent:Ribbon>
|
||||||
<Grid>
|
<Grid>
|
||||||
<viewsAvalonDock:AvalonDockWorkspaceView DataContext="{Binding AvalonDockWorkspaceViewModel}" />
|
<viewsAvalonDock:AvalonDockWorkspaceView DataContext="{Binding AvalonDockWorkspaceViewModel}" />
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
<Window x:Class="Filtration.Views.SettingsWindow"
|
<UserControl x:Class="Filtration.Views.SettingsPageView"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DataContext="{d:DesignInstance Type=viewModels:SettingsWindowViewModel}"
|
d:DataContext="{d:DesignInstance Type=viewModels:SettingsPageViewModel}">
|
||||||
Title="Options" Height="150" Width="500">
|
|
||||||
<!--IsMaxRestoreButtonEnabled="False"-->
|
<!--IsMaxRestoreButtonEnabled="False"-->
|
||||||
<Border BorderBrush="Black" BorderThickness="1">
|
<Border BorderBrush="Black" BorderThickness="1">
|
||||||
<DockPanel Margin="10">
|
<DockPanel Margin="10">
|
||||||
<Grid DockPanel.Dock="Bottom">
|
<Grid DockPanel.Dock="Bottom">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="*" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Grid Grid.Row="0">
|
<Grid Grid.Row="0">
|
||||||
|
@ -25,10 +24,10 @@
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="5" />
|
<RowDefinition Height="5" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="*" />
|
<RowDefinition Height="Auto" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0">Default Filter Directory:</TextBlock>
|
<TextBlock Grid.Row="0" Grid.Column="0">Default Filter Directory:</TextBlock>
|
||||||
<TextBox Grid.Row="0" Grid.Column="2" Text="{Binding DefaultFilterDirectory}" />
|
<TextBox Grid.Row="0" Grid.Column="2" Text="{Binding DefaultFilterDirectory}" Width="250" />
|
||||||
<TextBlock Grid.Row="2" Grid.Column="0">Add blank line between blocks when saving</TextBlock>
|
<TextBlock Grid.Row="2" Grid.Column="0">Add blank line between blocks when saving</TextBlock>
|
||||||
<CheckBox Grid.Row="2" Grid.Column="2" IsChecked="{Binding ExtraLineBetweenBlocks}" />
|
<CheckBox Grid.Row="2" Grid.Column="2" IsChecked="{Binding ExtraLineBetweenBlocks}" />
|
||||||
</Grid>
|
</Grid>
|
||||||
|
@ -39,10 +38,9 @@
|
||||||
<Setter Property="Margin" Value="3" />
|
<Setter Property="Margin" Value="3" />
|
||||||
</Style>
|
</Style>
|
||||||
</StackPanel.Resources>
|
</StackPanel.Resources>
|
||||||
<Button Command="{Binding SaveCommand}">OK</Button>
|
<Button Command="{Binding SaveCommand}">Save</Button>
|
||||||
<Button Command="{Binding CancelCommand}">Cancel</Button>
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</DockPanel>
|
</DockPanel>
|
||||||
</Border>
|
</Border>
|
||||||
</Window>
|
</UserControl>
|
|
@ -1,8 +1,8 @@
|
||||||
namespace Filtration.Views
|
namespace Filtration.Views
|
||||||
{
|
{
|
||||||
public partial class SettingsWindow
|
public partial class SettingsPageView
|
||||||
{
|
{
|
||||||
public SettingsWindow()
|
public SettingsPageView()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
|
@ -57,8 +57,8 @@ namespace Filtration.WindsorInstallers
|
||||||
.LifeStyle.Singleton);
|
.LifeStyle.Singleton);
|
||||||
|
|
||||||
container.Register(
|
container.Register(
|
||||||
Component.For<ISettingsWindowViewModel>()
|
Component.For<ISettingsPageViewModel>()
|
||||||
.ImplementedBy<SettingsWindowViewModel>()
|
.ImplementedBy<SettingsPageViewModel>()
|
||||||
.LifeStyle.Transient);
|
.LifeStyle.Transient);
|
||||||
|
|
||||||
container.Register(
|
container.Register(
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
<package id="CommonServiceLocator" version="1.3" targetFramework="net451" />
|
<package id="CommonServiceLocator" version="1.3" targetFramework="net451" />
|
||||||
<package id="Extended.Wpf.Toolkit" version="2.4" targetFramework="net451" />
|
<package id="Extended.Wpf.Toolkit" version="2.4" targetFramework="net451" />
|
||||||
<package id="Fluent.Ribbon" version="3.4.0" targetFramework="net451" />
|
<package id="Fluent.Ribbon" version="3.4.0" targetFramework="net451" />
|
||||||
<package id="FontAwesome.WPF" version="4.3.0.3" targetFramework="net451" />
|
|
||||||
<package id="MvvmLightLibs" version="5.1.1.0" targetFramework="net451" />
|
<package id="MvvmLightLibs" version="5.1.1.0" targetFramework="net451" />
|
||||||
<package id="WPFToolkit" version="3.5.50211.1" targetFramework="net451" />
|
<package id="WPFToolkit" version="3.5.50211.1" targetFramework="net451" />
|
||||||
</packages>
|
</packages>
|
Loading…
Reference in New Issue