More theme changes
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
<Application x:Class="Filtration.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:converters="clr-namespace:Filtration.Converters"
|
||||
Startup="Application_Startup">
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/Filtration.Common;component/Styles/SharedResourcesDictionary.xaml" />
|
||||
|
||||
<ResourceDictionary Source="pack://application:,,,/Fluent;Component/Themes/Generic.xaml" />
|
||||
<ResourceDictionary Source="pack://application:,,,/Fluent;component/Themes/windows8/silver.xaml" />
|
||||
<ResourceDictionary Source="Views/Styles/Colours.xaml" />
|
||||
@@ -24,6 +27,7 @@
|
||||
|
||||
<ResourceDictionary Source="Views/CrossButton.xaml" />
|
||||
<ResourceDictionary Source="Views/IconsDictionary.xaml" />
|
||||
<ResourceDictionary Source="Views/ExpanderStyle.xaml" />
|
||||
|
||||
<ResourceDictionary>
|
||||
<Style TargetType="ComboBox" BasedOn="{StaticResource MetroComboBox}" />
|
||||
@@ -31,6 +35,14 @@
|
||||
<Style TargetType="ScrollBar" BasedOn="{StaticResource MetroScrollBar}" />
|
||||
<Style TargetType="TextBox" BasedOn="{StaticResource MetroTextBox}" />
|
||||
</ResourceDictionary>
|
||||
<ResourceDictionary>
|
||||
<converters:BlockItemToRemoveEnabledVisibilityConverter x:Key="BlockItemToRemoveEnabledVisibilityConverter" />
|
||||
<converters:IntToItemRarityConverter x:Key="IntToItemRarityConverter" />
|
||||
<converters:BooleanToBlockActionConverter x:Key="BooleanToBlockActionConverter" />
|
||||
<converters:BlockItemTypeToStringConverter x:Key="BlockItemTypeToStringConverter" />
|
||||
<converters:BooleanToBlockActionInverseConverter x:Key="BooleanToBlockActionInverseConverter" />
|
||||
<converters:AvailableThemeComponentsConverter x:Key="AvailableThemeComponentsConverter" />
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace Filtration.Converters
|
||||
{
|
||||
internal class BoolInverterConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter,
|
||||
CultureInfo culture)
|
||||
{
|
||||
if (value is bool)
|
||||
{
|
||||
return !(bool)value;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter,
|
||||
CultureInfo culture)
|
||||
{
|
||||
if (value is bool)
|
||||
{
|
||||
return !(bool)value;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace Filtration.Converters
|
||||
{
|
||||
public class ColorToSolidColorBrushConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||||
{
|
||||
return value != null ? new SolidColorBrush((Color)value) : null;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
||||
{
|
||||
if (value != null)
|
||||
return ((SolidColorBrush)value).Color;
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace Filtration.Converters
|
||||
{
|
||||
internal class InverseBooleanVisibilityConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is bool && targetType == typeof (Visibility))
|
||||
{
|
||||
var val = (bool) value;
|
||||
if (val)
|
||||
{
|
||||
return Visibility.Collapsed;
|
||||
}
|
||||
if (parameter is Visibility)
|
||||
{
|
||||
return parameter;
|
||||
}
|
||||
return Visibility.Visible;
|
||||
}
|
||||
if (value != null)
|
||||
{
|
||||
return Visibility.Collapsed;
|
||||
}
|
||||
|
||||
if (parameter is Visibility)
|
||||
{
|
||||
return parameter;
|
||||
}
|
||||
return Visibility.Visible;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace Filtration.Converters
|
||||
{
|
||||
internal class StringToVisibilityConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (String.IsNullOrEmpty((string)value))
|
||||
{
|
||||
return Visibility.Collapsed;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Visibility.Visible;
|
||||
}
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -134,15 +134,11 @@
|
||||
<Compile Include="Converters\BlockGroupAdvancedColorConverter.cs" />
|
||||
<Compile Include="Converters\BlockGroupVisibilityConverter.cs" />
|
||||
<Compile Include="Converters\BlockItemTypeToStringConverter.cs" />
|
||||
<Compile Include="Converters\BooleanInverterConverter.cs" />
|
||||
<Compile Include="Converters\BooleanToBlockActionInverseConverter.cs" />
|
||||
<Compile Include="Converters\BooleanToBlockActionConverter.cs" />
|
||||
<Compile Include="Converters\BlockItemToRemoveEnabledVisibilityConverter.cs" />
|
||||
<Compile Include="Converters\ColorToSolidColorBrushConverter.cs" />
|
||||
<Compile Include="Converters\HashSignRemovalConverter.cs" />
|
||||
<Compile Include="Converters\ItemRarityConverter.cs" />
|
||||
<Compile Include="Converters\InverseBooleanVisibilityConverter.cs" />
|
||||
<Compile Include="Converters\StringToVisibilityConverter.cs" />
|
||||
<Compile Include="Converters\TreeViewMarginConverter.cs" />
|
||||
<Compile Include="Extensions\EnumerationExtension.cs" />
|
||||
<Compile Include="Extensions\HyperlinkExtensions.cs" />
|
||||
@@ -309,10 +305,6 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\SharedResourcesDictionary.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\ItemFilterScriptView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
|
||||
@@ -13,21 +13,6 @@
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=userControls:BlockItemControl}"
|
||||
d:DesignHeight="200" d:DesignWidth="150">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary>
|
||||
<Style TargetType="{x:Type Border}" x:Key="BlockItemBorder">
|
||||
<Setter Property="BorderThickness" Value="1" />
|
||||
<Setter Property="BorderBrush" Value="Black" />
|
||||
<Setter Property="CornerRadius" Value="3" />
|
||||
<Setter Property="Margin" Value="0,0,5,5" />
|
||||
</Style>
|
||||
</ResourceDictionary>
|
||||
<ResourceDictionary Source="../Views/SharedResourcesDictionary.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
<Border Style="{StaticResource BlockItemBorder}" Width="142">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
|
||||
@@ -7,9 +7,6 @@
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=userControls:ItemPreviewControl}"
|
||||
d:DesignHeight="35" d:DesignWidth="170">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary Source="../Views/SharedResourcesDictionary.xaml" />
|
||||
</UserControl.Resources>
|
||||
<Border BorderBrush="Black" BorderThickness="1">
|
||||
<Grid Width="166" Height="39">
|
||||
<Image Source="pack://application:,,,/resources/groundtile.png" Stretch="Fill" />
|
||||
|
||||
@@ -11,8 +11,7 @@
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="..\Views\SharedResourcesDictionary.xaml" />
|
||||
<ResourceDictionary></ResourceDictionary>
|
||||
<ResourceDictionary Source="pack://application:,,,/Filtration.Common;component/Styles/SharedResourcesDictionary.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</UserControl.Resources>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using Filtration.Common.ViewModels;
|
||||
using Filtration.Interface;
|
||||
using Filtration.ThemeEditor.ViewModels;
|
||||
@@ -22,6 +23,7 @@ namespace Filtration.ViewModels
|
||||
void AddDocument(IDocument document);
|
||||
void CloseDocument(IDocument document);
|
||||
void SwitchActiveDocument(IDocument document);
|
||||
IThemeEditorViewModel OpenMasterThemeForScript(IItemFilterScriptViewModel scriptViewModel);
|
||||
}
|
||||
|
||||
internal class AvalonDockWorkspaceViewModel : FiltrationViewModelBase, IAvalonDockWorkspaceViewModel
|
||||
@@ -180,5 +182,19 @@ namespace Filtration.ViewModels
|
||||
|
||||
ActiveDocument = document;
|
||||
}
|
||||
|
||||
public IThemeEditorViewModel OpenMasterThemeForScript(IItemFilterScriptViewModel scriptViewModel)
|
||||
{
|
||||
var existingMasterThemeViewModelCount =
|
||||
OpenDocuments.OfType<IThemeEditorViewModel>()
|
||||
.Count(c => c.IsMasterThemeForScript == scriptViewModel.Script);
|
||||
if (existingMasterThemeViewModelCount > 0)
|
||||
{
|
||||
return OpenDocuments.OfType<IThemeEditorViewModel>()
|
||||
.First(c => c.IsMasterThemeForScript == scriptViewModel.Script);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ using Filtration.Common.ViewModels;
|
||||
using Filtration.Interface;
|
||||
using Filtration.ObjectModel;
|
||||
using Filtration.ObjectModel.BlockItemBaseTypes;
|
||||
using Filtration.ObjectModel.ThemeEditor;
|
||||
using Filtration.Services;
|
||||
using Filtration.Translators;
|
||||
using GalaSoft.MvvmLight.CommandWpf;
|
||||
@@ -493,6 +492,13 @@ namespace Filtration.ViewModels
|
||||
|
||||
private void CloseScript()
|
||||
{
|
||||
var openMasterThemForScript =
|
||||
_avalonDockWorkspaceViewModel.OpenMasterThemeForScript(this);
|
||||
if (openMasterThemForScript != null)
|
||||
{
|
||||
_avalonDockWorkspaceViewModel.CloseDocument(openMasterThemForScript);
|
||||
}
|
||||
|
||||
_avalonDockWorkspaceViewModel.ActiveDocumentChanged -= OnActiveDocumentChanged;
|
||||
_avalonDockWorkspaceViewModel.CloseDocument(this);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ using Filtration.ObjectModel.ThemeEditor;
|
||||
using Filtration.Properties;
|
||||
using Filtration.Repositories;
|
||||
using Filtration.Services;
|
||||
using Filtration.ThemeEditor.Messages;
|
||||
using Filtration.ThemeEditor.Providers;
|
||||
using Filtration.ThemeEditor.Services;
|
||||
using Filtration.ThemeEditor.ViewModels;
|
||||
@@ -128,6 +129,12 @@ namespace Filtration.ViewModels
|
||||
icon.EndInit();
|
||||
Icon = icon;
|
||||
|
||||
Messenger.Default.Register<ThemeClosedMessage>(this, message =>
|
||||
{
|
||||
if (message.ClosedViewModel == null) return;
|
||||
AvalonDockWorkspaceViewModel.CloseDocument(message.ClosedViewModel);
|
||||
});
|
||||
|
||||
Messenger.Default.Register<NotificationMessage>(this, message =>
|
||||
{
|
||||
switch (message.Notification)
|
||||
@@ -294,24 +301,14 @@ namespace Filtration.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
//public bool ActiveDocumentIsScript
|
||||
//{
|
||||
// get { return AvalonDockWorkspaceViewModel.ActiveDocument is ItemFilterScriptViewModel; }
|
||||
//}
|
||||
|
||||
public bool ActiveScriptHasSelectedBlock
|
||||
{
|
||||
get { return AvalonDockWorkspaceViewModel.ActiveScriptViewModel.SelectedBlockViewModel != null; }
|
||||
}
|
||||
|
||||
//public bool ActiveDocumentIsTheme
|
||||
//{
|
||||
// get { return AvalonDockWorkspaceViewModel.ActiveDocument is ThemeEditorViewModel; }
|
||||
//}
|
||||
|
||||
|
||||
public bool ActiveThemeIsEditable
|
||||
{
|
||||
get { return AvalonDockWorkspaceViewModel.ActiveThemeViewModel.EditEnabled; }
|
||||
get { return AvalonDockWorkspaceViewModel.ActiveThemeViewModel.IsMasterTheme; }
|
||||
}
|
||||
|
||||
private bool ActiveDocumentIsEditable()
|
||||
@@ -335,9 +332,19 @@ namespace Filtration.ViewModels
|
||||
|
||||
private void OnEditMasterThemeCommand()
|
||||
{
|
||||
var themeViewModel =
|
||||
_themeProvider.MasterThemeForScript(AvalonDockWorkspaceViewModel.ActiveScriptViewModel.Script);
|
||||
OpenTheme(themeViewModel);
|
||||
var openMasterThemForScript =
|
||||
AvalonDockWorkspaceViewModel.OpenMasterThemeForScript(AvalonDockWorkspaceViewModel.ActiveScriptViewModel);
|
||||
|
||||
if (openMasterThemForScript != null)
|
||||
{
|
||||
AvalonDockWorkspaceViewModel.SwitchActiveDocument(openMasterThemForScript);
|
||||
}
|
||||
else
|
||||
{
|
||||
var themeViewModel =
|
||||
_themeProvider.MasterThemeForScript(AvalonDockWorkspaceViewModel.ActiveScriptViewModel.Script);
|
||||
OpenTheme(themeViewModel);
|
||||
}
|
||||
}
|
||||
|
||||
private void OpenTheme(IThemeEditorViewModel themeEditorViewModel)
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="SharedResourcesDictionary.xaml" />
|
||||
<ResourceDictionary>
|
||||
<views:BindingProxy x:Key="proxy" Data="{Binding}" />
|
||||
<converters:BlockGroupAdvancedFillColorConverter x:Key="BlockGroupAdvancedFillColorConverter" />
|
||||
|
||||
@@ -11,14 +11,6 @@
|
||||
Title="Replace Script Colors" Height="280" Width="540"
|
||||
BorderThickness="1" BorderBrush="Black"
|
||||
Loaded="ReplaceColorsWindow_OnLoaded" ResizeMode="CanMinimize">
|
||||
<!--ShowMaxRestoreButton="False"-->
|
||||
<Window.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="SharedResourcesDictionary.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Window.Resources>
|
||||
<Grid Margin="5">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"></RowDefinition>
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:converters="clr-namespace:Filtration.Converters"
|
||||
xmlns:commonConverters="clr-namespace:Filtration.Common.Converters;assembly=Filtration.Common"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
mc:Ignorable="d" >
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary>
|
||||
<Style x:Key="PathOfExileFont">
|
||||
<Setter Property="TextElement.FontFamily" Value="pack://application:,,,/resources/#Fontin SmallCaps" />
|
||||
</Style>
|
||||
<Style x:Key="ChromelessToggleButton" TargetType="{x:Type ToggleButton}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="ToggleButton">
|
||||
<Border BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<ContentPresenter/>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
<Style x:Key="ChromelessButton" TargetType="{x:Type Button}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<ContentPresenter/>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
<converters:IntToItemRarityConverter x:Key="IntToItemRarityConverter" />
|
||||
<converters:StringToVisibilityConverter x:Key="StringToVisibilityConverter" />
|
||||
<converters:BoolInverterConverter x:Key="BoolInverterConverter" />
|
||||
<converters:ColorToSolidColorBrushConverter x:Key="ColorToSolidColorBrushConverter" />
|
||||
<converters:BooleanToBlockActionConverter x:Key="BooleanToBlockActionConverter" />
|
||||
<converters:BooleanToBlockActionInverseConverter x:Key="BooleanToBlockActionInverseConverter" />
|
||||
<converters:BlockItemTypeToStringConverter x:Key="BlockItemTypeToStringConverter" />
|
||||
<commonConverters:BooleanVisibilityConverter x:Key="BooleanVisibilityConverter" />
|
||||
<converters:InverseBooleanVisibilityConverter x:Key="InverseBooleanVisibilityConverter" />
|
||||
<converters:BlockItemToRemoveEnabledVisibilityConverter x:Key="BlockItemToRemoveEnabledVisibilityConverter" />
|
||||
<converters:AvailableThemeComponentsConverter x:Key="AvailableThemeComponentsConverter" />
|
||||
</ResourceDictionary>
|
||||
<ResourceDictionary Source="ExpanderStyle.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
Reference in New Issue
Block a user