mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-07 03:36:44 +02:00
Refactoring blur
1. Refactoring blur, see discussion in : 7f8bb80 2. Releated issue: #330
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using Wox.Core.i18n;
|
||||
@@ -9,34 +10,34 @@ namespace Wox.Core.UI
|
||||
{
|
||||
public static class ResourceMerger
|
||||
{
|
||||
private static void RemoveResource(string resourceDirectoryName)
|
||||
private static void RemoveResource(string directoryName)
|
||||
{
|
||||
var mergedDictionaries = Application.Current.Resources.MergedDictionaries;
|
||||
foreach (var resource in mergedDictionaries)
|
||||
directoryName = $"{Path.DirectorySeparatorChar}{directoryName}";
|
||||
var dictionaries = Application.Current.Resources.MergedDictionaries;
|
||||
foreach (var resource in dictionaries)
|
||||
{
|
||||
int directoryPosition = resource.Source.Segments.Length - 2;
|
||||
string currentDirectoryName = resource.Source.Segments[directoryPosition];
|
||||
if (currentDirectoryName == resourceDirectoryName)
|
||||
string currentDirectoryName = Path.GetDirectoryName(resource.Source.AbsolutePath);
|
||||
if (currentDirectoryName == directoryName)
|
||||
{
|
||||
mergedDictionaries.Remove(resource);
|
||||
dictionaries.Remove(resource);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void ApplyThemeResource(Theme.Theme t)
|
||||
public static void UpdateResource(Theme.Theme t)
|
||||
{
|
||||
RemoveResource(Theme.Theme.DirectoryName);
|
||||
Application.Current.Resources.MergedDictionaries.Add(t.GetResourceDictionary());
|
||||
}
|
||||
|
||||
public static void ApplyLanguageResources(Internationalization i)
|
||||
public static void UpdateResources(Internationalization i)
|
||||
{
|
||||
RemoveResource(Internationalization.DirectoryName);
|
||||
Application.Current.Resources.MergedDictionaries.Add(i.GetResourceDictionary());
|
||||
}
|
||||
|
||||
internal static void ApplyPluginLanguages()
|
||||
internal static void UpdatePluginLanguages()
|
||||
{
|
||||
RemoveResource(PluginManager.DirectoryName);
|
||||
foreach (var languageFile in PluginManager.GetPluginsForInterface<IPluginI18n>().
|
||||
|
||||
Reference in New Issue
Block a user