mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-10-03 10:36:30 +13:00
Refactor color and language settings
This commit is contained in:
parent
36cbd9f633
commit
22679392f4
9 changed files with 160 additions and 159 deletions
|
@ -4,8 +4,7 @@
|
|||
|
||||
namespace SystemTrayMenu
|
||||
{
|
||||
using System.Windows.Media;
|
||||
using Color = System.Drawing.Color;
|
||||
using System.Drawing;
|
||||
|
||||
internal static class AppColors
|
||||
{
|
||||
|
@ -80,16 +79,5 @@ namespace SystemTrayMenu
|
|||
public static Color Icons { get; set; }
|
||||
|
||||
public static Color DarkModeIcons { get; set; }
|
||||
|
||||
// TODO: WPF: Remove by not using system drawing colors
|
||||
public static SolidColorBrush ToSolidColorBrush(this Color color)
|
||||
{
|
||||
return new SolidColorBrush(System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B));
|
||||
}
|
||||
|
||||
public static SolidColorBrush SolidColorBrushFromString(string value)
|
||||
{
|
||||
return new SolidColorBrush((System.Windows.Media.Color)ColorConverter.ConvertFromString(value));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
// <copyright file="ColorAndCode.cs" company="PlaceholderCompany">
|
||||
// Copyright (c) PlaceholderCompany. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace SystemTrayMenu
|
||||
{
|
||||
using System.Drawing;
|
||||
|
||||
internal struct ColorAndCode
|
||||
{
|
||||
public Color Color { get; set; }
|
||||
|
||||
public string HtmlColorCode { get; set; }
|
||||
}
|
||||
}
|
103
Config/Config.cs
103
Config/Config.cs
|
@ -192,225 +192,225 @@ namespace SystemTrayMenu
|
|||
{
|
||||
ColorConverter converter = new();
|
||||
ColorAndCode colorAndCode = default;
|
||||
bool changed = false;
|
||||
bool resetDefaults = false;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSelectedItem;
|
||||
colorAndCode.Color = Color.FromArgb(204, 232, 255);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSelectedItem = colorAndCode.HtmlColorCode;
|
||||
AppColors.SelectedItem = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeSelecetedItem;
|
||||
colorAndCode.Color = Color.FromArgb(51, 51, 51);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorDarkModeSelecetedItem = colorAndCode.HtmlColorCode;
|
||||
AppColors.DarkModeSelecetedItem = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSelectedItemBorder;
|
||||
colorAndCode.Color = Color.FromArgb(153, 209, 255);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSelectedItemBorder = colorAndCode.HtmlColorCode;
|
||||
AppColors.SelectedItemBorder = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeSelectedItemBorder;
|
||||
colorAndCode.Color = Color.FromArgb(20, 29, 75);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorDarkModeSelectedItemBorder = colorAndCode.HtmlColorCode;
|
||||
AppColors.DarkModeSelectedItemBorder = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorOpenFolder;
|
||||
colorAndCode.Color = Color.FromArgb(194, 245, 222);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorOpenFolder = colorAndCode.HtmlColorCode;
|
||||
AppColors.OpenFolder = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeOpenFolder;
|
||||
colorAndCode.Color = Color.FromArgb(20, 65, 42);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorDarkModeOpenFolder = colorAndCode.HtmlColorCode;
|
||||
AppColors.DarkModeOpenFolder = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorOpenFolderBorder;
|
||||
colorAndCode.Color = Color.FromArgb(153, 255, 165);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorOpenFolderBorder = colorAndCode.HtmlColorCode;
|
||||
AppColors.OpenFolderBorder = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeOpenFolderBorder;
|
||||
colorAndCode.Color = Color.FromArgb(20, 75, 85);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorDarkModeOpenFolderBorder = colorAndCode.HtmlColorCode;
|
||||
AppColors.DarkModeOpenFolderBorder = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorIcons;
|
||||
colorAndCode.Color = Color.FromArgb(149, 160, 166);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorIcons = colorAndCode.HtmlColorCode;
|
||||
AppColors.Icons = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeIcons;
|
||||
colorAndCode.Color = Color.FromArgb(149, 160, 166);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorDarkModeIcons = colorAndCode.HtmlColorCode;
|
||||
AppColors.DarkModeIcons = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSearchField;
|
||||
colorAndCode.Color = Color.FromArgb(255, 255, 255);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSearchField = colorAndCode.HtmlColorCode;
|
||||
AppColors.SearchField = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeSearchField;
|
||||
colorAndCode.Color = Color.FromArgb(25, 25, 25);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorDarkModeSearchField = colorAndCode.HtmlColorCode;
|
||||
AppColors.DarkModeSearchField = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorBackground;
|
||||
colorAndCode.Color = Color.FromArgb(255, 255, 255);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorBackground = colorAndCode.HtmlColorCode;
|
||||
AppColors.Background = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeBackground;
|
||||
colorAndCode.Color = Color.FromArgb(32, 32, 32);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorDarkModeBackground = colorAndCode.HtmlColorCode;
|
||||
AppColors.DarkModeBackground = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorBackgroundBorder;
|
||||
colorAndCode.Color = Color.FromArgb(0, 0, 0);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorBackgroundBorder = colorAndCode.HtmlColorCode;
|
||||
AppColors.BackgroundBorder = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorDarkModeBackgroundBorder;
|
||||
colorAndCode.Color = Color.FromArgb(0, 0, 0);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorDarkModeBackgroundBorder = colorAndCode.HtmlColorCode;
|
||||
AppColors.DarkModeBackgroundBorder = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorArrow;
|
||||
colorAndCode.Color = Color.FromArgb(96, 96, 96);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorArrow = colorAndCode.HtmlColorCode;
|
||||
AppColors.Arrow = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorArrowHoverBackground;
|
||||
colorAndCode.Color = Color.FromArgb(218, 218, 218);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorArrowHoverBackground = colorAndCode.HtmlColorCode;
|
||||
AppColors.ArrowHoverBackground = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorArrowHover;
|
||||
colorAndCode.Color = Color.FromArgb(0, 0, 0);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorArrowHover = colorAndCode.HtmlColorCode;
|
||||
AppColors.ArrowHover = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorArrowClick;
|
||||
colorAndCode.Color = Color.FromArgb(255, 255, 255);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorArrowClick = colorAndCode.HtmlColorCode;
|
||||
AppColors.ArrowClick = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorArrowClickBackground;
|
||||
colorAndCode.Color = Color.FromArgb(96, 96, 96);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorArrowClickBackground = colorAndCode.HtmlColorCode;
|
||||
AppColors.ArrowClickBackground = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSliderArrowsAndTrackHover;
|
||||
colorAndCode.Color = Color.FromArgb(192, 192, 192);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSliderArrowsAndTrackHover = colorAndCode.HtmlColorCode;
|
||||
AppColors.SliderArrowsAndTrackHover = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSlider;
|
||||
colorAndCode.Color = Color.FromArgb(205, 205, 205);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSlider = colorAndCode.HtmlColorCode;
|
||||
AppColors.Slider = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSliderHover;
|
||||
colorAndCode.Color = Color.FromArgb(166, 166, 166);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSliderHover = colorAndCode.HtmlColorCode;
|
||||
AppColors.SliderHover = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSliderDragging;
|
||||
colorAndCode.Color = Color.FromArgb(96, 96, 96);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSliderDragging = colorAndCode.HtmlColorCode;
|
||||
AppColors.SliderDragging = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorScrollbarBackground;
|
||||
colorAndCode.Color = Color.FromArgb(240, 240, 240);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorScrollbarBackground = colorAndCode.HtmlColorCode;
|
||||
AppColors.ScrollbarBackground = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorArrowDarkMode;
|
||||
colorAndCode.Color = Color.FromArgb(103, 103, 103);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorArrowDarkMode = colorAndCode.HtmlColorCode;
|
||||
AppColors.ArrowDarkMode = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorArrowHoverBackgroundDarkMode;
|
||||
colorAndCode.Color = Color.FromArgb(55, 55, 55);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorArrowHoverBackgroundDarkMode = colorAndCode.HtmlColorCode;
|
||||
AppColors.ArrowHoverBackgroundDarkMode = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorArrowHoverDarkMode;
|
||||
colorAndCode.Color = Color.FromArgb(103, 103, 103);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorArrowHoverDarkMode = colorAndCode.HtmlColorCode;
|
||||
AppColors.ArrowHoverDarkMode = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorArrowClickDarkMode;
|
||||
colorAndCode.Color = Color.FromArgb(23, 23, 23);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorArrowClickDarkMode = colorAndCode.HtmlColorCode;
|
||||
AppColors.ArrowClickDarkMode = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorArrowClickBackgroundDarkMode;
|
||||
colorAndCode.Color = Color.FromArgb(166, 166, 166);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorArrowClickBackgroundDarkMode = colorAndCode.HtmlColorCode;
|
||||
AppColors.ArrowClickBackgroundDarkMode = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSliderArrowsAndTrackHoverDarkMode;
|
||||
colorAndCode.Color = Color.FromArgb(77, 77, 77);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSliderArrowsAndTrackHoverDarkMode = colorAndCode.HtmlColorCode;
|
||||
AppColors.SliderArrowsAndTrackHoverDarkMode = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSliderDarkMode;
|
||||
colorAndCode.Color = Color.FromArgb(77, 77, 77);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSliderDarkMode = colorAndCode.HtmlColorCode;
|
||||
AppColors.SliderDarkMode = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSliderHoverDarkMode;
|
||||
colorAndCode.Color = Color.FromArgb(122, 122, 122);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSliderHoverDarkMode = colorAndCode.HtmlColorCode;
|
||||
AppColors.SliderHoverDarkMode = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorSliderDraggingDarkMode;
|
||||
colorAndCode.Color = Color.FromArgb(166, 166, 166);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorSliderDraggingDarkMode = colorAndCode.HtmlColorCode;
|
||||
AppColors.SliderDraggingDarkMode = colorAndCode.Color;
|
||||
|
||||
colorAndCode.HtmlColorCode = Settings.Default.ColorScrollbarBackgroundDarkMode;
|
||||
colorAndCode.Color = Color.FromArgb(23, 23, 23);
|
||||
colorAndCode = ProcessColorAndCode(converter, colorAndCode, ref changed);
|
||||
ProcessColorAndCode(converter, ref colorAndCode, ref resetDefaults);
|
||||
Settings.Default.ColorScrollbarBackgroundDarkMode = colorAndCode.HtmlColorCode;
|
||||
AppColors.ScrollbarBackgroundDarkMode = colorAndCode.Color;
|
||||
|
||||
if (save && changed)
|
||||
if (save && resetDefaults)
|
||||
{
|
||||
Settings.Default.Save();
|
||||
}
|
||||
|
@ -422,7 +422,7 @@ namespace SystemTrayMenu
|
|||
|
||||
try
|
||||
{
|
||||
object registryHideFileExt = Registry.GetValue(keyName, valueName, 1);
|
||||
object? registryHideFileExt = Registry.GetValue(keyName, valueName, 1);
|
||||
|
||||
if (registryHideFileExt == null)
|
||||
{
|
||||
|
@ -460,23 +460,36 @@ namespace SystemTrayMenu
|
|||
}
|
||||
}
|
||||
|
||||
private static ColorAndCode ProcessColorAndCode(
|
||||
private static void ProcessColorAndCode(
|
||||
ColorConverter colorConverter,
|
||||
ColorAndCode colorAndCode,
|
||||
ref bool changedHtmlColorCode)
|
||||
ref ColorAndCode colorAndCode,
|
||||
ref bool resetDefaults)
|
||||
{
|
||||
Color? color;
|
||||
try
|
||||
{
|
||||
colorAndCode.Color = (Color)colorConverter.ConvertFromString(colorAndCode.HtmlColorCode);
|
||||
color = (Color?)colorConverter.ConvertFromString(colorAndCode.HtmlColorCode);
|
||||
if (color != null)
|
||||
{
|
||||
colorAndCode.Color = (Color)color;
|
||||
}
|
||||
}
|
||||
catch (ArgumentException ex)
|
||||
{
|
||||
Log.Warn($"HtmlColorCode {colorAndCode.HtmlColorCode}", ex);
|
||||
colorAndCode.HtmlColorCode = ColorTranslator.ToHtml(colorAndCode.Color);
|
||||
changedHtmlColorCode = true;
|
||||
resetDefaults = true;
|
||||
}
|
||||
}
|
||||
|
||||
return colorAndCode;
|
||||
/// <summary>
|
||||
/// Helper class to process color settings.
|
||||
/// </summary>
|
||||
private struct ColorAndCode
|
||||
{
|
||||
public Color Color { get; set; }
|
||||
|
||||
public string HtmlColorCode { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
// <copyright file="Language.cs" company="PlaceholderCompany">
|
||||
// Copyright (c) PlaceholderCompany. All rights reserved.
|
||||
// </copyright>
|
||||
|
||||
namespace SystemTrayMenu.UserInterface
|
||||
{
|
||||
public class Language
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Value { get; set; }
|
||||
}
|
||||
}
|
|
@ -111,11 +111,11 @@ namespace SystemTrayMenu.UserInterface
|
|||
backColor = AppColors.DarkModeBackground.ToSolidColorBrush();
|
||||
backColorSearch = AppColors.DarkModeSearchField.ToSolidColorBrush();
|
||||
backgroundBorder = AppColors.DarkModeBackgroundBorder.ToSolidColorBrush();
|
||||
Resources["ic_fluent_svgColor"] = AppColors.SolidColorBrushFromString(Settings.Default.ColorDarkModeIcons);
|
||||
Resources["ic_fluent_svgColor"] = WPFExtensions.SolidColorBrushFromString(Settings.Default.ColorDarkModeIcons);
|
||||
}
|
||||
else
|
||||
{
|
||||
Resources["ic_fluent_svgColor"] = AppColors.SolidColorBrushFromString(Settings.Default.ColorIcons);
|
||||
Resources["ic_fluent_svgColor"] = WPFExtensions.SolidColorBrushFromString(Settings.Default.ColorIcons);
|
||||
}
|
||||
|
||||
labelTitle.Foreground = foreColor;
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
</DockPanel>
|
||||
</GroupBox>
|
||||
<GroupBox Header="{u:Translate 'Language'}">
|
||||
<ComboBox x:Name="comboBoxLanguage" HorizontalAlignment="Left" IsReadOnly="True" DisplayMemberPath="Name" SelectedValuePath="Value" MinWidth="120"/>
|
||||
<ComboBox x:Name="comboBoxLanguage" HorizontalAlignment="Left" IsReadOnly="True" DisplayMemberPath="DisplayName" SelectedValuePath="Code" MinWidth="120"/>
|
||||
</GroupBox>
|
||||
<Button Content="{u:Translate 'Default'}" Margin="3" MinWidth="76" Click="ButtonGeneralDefault_Click" HorizontalAlignment="Left"/>
|
||||
</StackPanel>
|
||||
|
|
|
@ -110,75 +110,75 @@ namespace SystemTrayMenu.UserInterface
|
|||
InitializeLanguage();
|
||||
void InitializeLanguage()
|
||||
{
|
||||
List<Language> dataSource = new()
|
||||
List<LanguageID> dataSource = new()
|
||||
{
|
||||
new Language() { Name = "Afrikaans", Value = "af" },
|
||||
new Language() { Name = "Azərbaycan", Value = "az" },
|
||||
new Language() { Name = "bahasa Indonesia", Value = "id" },
|
||||
new Language() { Name = "català", Value = "ca" },
|
||||
new Language() { Name = "čeština", Value = "cs" },
|
||||
new Language() { Name = "Cymraeg", Value = "cy" },
|
||||
new Language() { Name = "dansk", Value = "da" },
|
||||
new Language() { Name = "Deutsch", Value = "de" },
|
||||
new Language() { Name = "eesti keel", Value = "et" },
|
||||
new Language() { Name = "English", Value = "en" },
|
||||
new Language() { Name = "English (United Kingdom)", Value = "en-GB" },
|
||||
new Language() { Name = "Español", Value = "es" },
|
||||
new Language() { Name = "Esperanto", Value = "eo" },
|
||||
new Language() { Name = "euskara", Value = "eu" },
|
||||
new Language() { Name = "Filipino", Value = "tl" },
|
||||
new Language() { Name = "Français", Value = "fr" },
|
||||
new Language() { Name = "Italian", Value = "it" },
|
||||
new Language() { Name = "galego", Value = "gl" },
|
||||
new Language() { Name = "Hrvatski", Value = "hr" },
|
||||
new Language() { Name = "Gaeilge", Value = "ga" },
|
||||
new Language() { Name = "íslenskur", Value = "is" },
|
||||
new Language() { Name = "kiswahili", Value = "sw" },
|
||||
new Language() { Name = "Kreyòl ayisyen", Value = "ht" },
|
||||
new Language() { Name = "Latinus", Value = "la" },
|
||||
new Language() { Name = "latviski", Value = "lv" },
|
||||
new Language() { Name = "lietuvių", Value = "lt" },
|
||||
new Language() { Name = "Magyar", Value = "hu" },
|
||||
new Language() { Name = "Malti", Value = "mt" },
|
||||
new Language() { Name = "Melayu", Value = "ms" },
|
||||
new Language() { Name = "Nederlands", Value = "nl" },
|
||||
new Language() { Name = "norsk", Value = "no" },
|
||||
new Language() { Name = "Polski", Value = "pl" },
|
||||
new Language() { Name = "Português (Brasil)", Value = "pt-BR" },
|
||||
new Language() { Name = "português (Portugal)", Value = "pt-PT" },
|
||||
new Language() { Name = "Română", Value = "ro" },
|
||||
new Language() { Name = "shqiptare", Value = "sq" },
|
||||
new Language() { Name = "Slovenščina", Value = "sl" },
|
||||
new Language() { Name = "slovenský", Value = "sk" },
|
||||
new Language() { Name = "Suorittaa loppuun", Value = "fi" },
|
||||
new Language() { Name = "svenska", Value = "sv" },
|
||||
new Language() { Name = "Tiếng Việt", Value = "vi" },
|
||||
new Language() { Name = "Türkçe ", Value = "tr" },
|
||||
new Language() { Name = "Ελληνικά", Value = "el" },
|
||||
new Language() { Name = "беларуская", Value = "bg" },
|
||||
new Language() { Name = "македонски", Value = "mk" },
|
||||
new Language() { Name = "русский", Value = "ru" },
|
||||
new Language() { Name = "Српски", Value = "sr" },
|
||||
new Language() { Name = "український", Value = "uk" },
|
||||
new Language() { Name = "ქართული", Value = "ka" },
|
||||
new Language() { Name = "հայերեն", Value = "hy" },
|
||||
new Language() { Name = "יידיש", Value = "yi" },
|
||||
new Language() { Name = "עִברִית", Value = "iw" },
|
||||
new Language() { Name = "اردو", Value = "ur" },
|
||||
new Language() { Name = "عربي", Value = "ar" },
|
||||
new Language() { Name = "فارسی", Value = "fa" },
|
||||
new Language() { Name = "हिन्दी", Value = "hi" },
|
||||
new Language() { Name = "ગુજરાતી", Value = "gu" },
|
||||
new Language() { Name = "தமிழ்", Value = "ta" },
|
||||
new Language() { Name = "తెలుగు", Value = "te" },
|
||||
new Language() { Name = "ಕನ್ನಡ", Value = "kn" },
|
||||
new Language() { Name = "ไทย", Value = "th" },
|
||||
new Language() { Name = "ພາສາລາວ", Value = "lo" },
|
||||
new Language() { Name = "ខ្មែរ", Value = "km" },
|
||||
new Language() { Name = "한국어", Value = "ko" },
|
||||
new Language() { Name = "中文(正體)", Value = "zh-TW" },
|
||||
new Language() { Name = "中文(简体)", Value = "zh-CN" },
|
||||
new Language() { Name = "日本語", Value = "ja" },
|
||||
new ("Afrikaans", "af"),
|
||||
new ("Azərbaycan", "az"),
|
||||
new ("bahasa Indonesia", "id"),
|
||||
new ("català", "ca"),
|
||||
new ("čeština", "cs"),
|
||||
new ("Cymraeg", "cy"),
|
||||
new ("dansk", "da"),
|
||||
new ("Deutsch", "de"),
|
||||
new ("eesti keel", "et"),
|
||||
new ("English", "en"),
|
||||
new ("English (United Kingdom)", "en-GB"),
|
||||
new ("Español", "es"),
|
||||
new ("Esperanto", "eo"),
|
||||
new ("euskara", "eu"),
|
||||
new ("Filipino", "tl"),
|
||||
new ("Français", "fr"),
|
||||
new ("Italian", "it"),
|
||||
new ("galego", "gl"),
|
||||
new ("Hrvatski", "hr"),
|
||||
new ("Gaeilge", "ga"),
|
||||
new ("íslenskur", "is"),
|
||||
new ("kiswahili", "sw"),
|
||||
new ("Kreyòl ayisyen", "ht"),
|
||||
new ("Latinus", "la"),
|
||||
new ("latviski", "lv"),
|
||||
new ("lietuvių", "lt"),
|
||||
new ("Magyar", "hu"),
|
||||
new ("Malti", "mt"),
|
||||
new ("Melayu", "ms"),
|
||||
new ("Nederlands", "nl"),
|
||||
new ("norsk", "no"),
|
||||
new ("Polski", "pl"),
|
||||
new ("Português (Brasil)", "pt-BR"),
|
||||
new ("português (Portugal)", "pt-PT"),
|
||||
new ("Română", "ro"),
|
||||
new ("shqiptare", "sq"),
|
||||
new ("Slovenščina", "sl"),
|
||||
new ("slovenský", "sk"),
|
||||
new ("Suorittaa loppuun", "fi"),
|
||||
new ("svenska", "sv"),
|
||||
new ("Tiếng Việt", "vi"),
|
||||
new ("Türkçe ", "tr"),
|
||||
new ("Ελληνικά", "el"),
|
||||
new ("беларуская", "bg"),
|
||||
new ("македонски", "mk"),
|
||||
new ("русский", "ru"),
|
||||
new ("Српски", "sr"),
|
||||
new ("український", "uk"),
|
||||
new ("ქართული", "ka"),
|
||||
new ("հայերեն", "hy"),
|
||||
new ("יידיש", "yi"),
|
||||
new ("עִברִית", "iw"),
|
||||
new ("اردو", "ur"),
|
||||
new ("عربي", "ar"),
|
||||
new ("فارسی", "fa"),
|
||||
new ("हिन्दी", "hi"),
|
||||
new ("ગુજરાતી", "gu"),
|
||||
new ("தமிழ்", "ta"),
|
||||
new ("తెలుగు", "te"),
|
||||
new ("ಕನ್ನಡ", "kn"),
|
||||
new ("ไทย", "th"),
|
||||
new ("ພາສາລາວ", "lo"),
|
||||
new ("ខ្មែរ", "km"),
|
||||
new ("한국어", "ko"),
|
||||
new ("中文(正體)", "zh-TW"),
|
||||
new ("中文(简体)", "zh-CN"),
|
||||
new ("日本語", "ja"),
|
||||
};
|
||||
comboBoxLanguage.ItemsSource = dataSource;
|
||||
comboBoxLanguage.SelectedValue = Settings.Default.CurrentCultureInfoName;
|
||||
|
@ -666,8 +666,8 @@ namespace SystemTrayMenu.UserInterface
|
|||
|
||||
#if TODO // HOTKEY
|
||||
Settings.Default.HotKey = new KeysConverter().ConvertToInvariantString(textBoxHotkey.Hotkey | textBoxHotkey.HotkeyModifiers);
|
||||
Settings.Default.CurrentCultureInfoName = comboBoxLanguage.SelectedValue.ToString();
|
||||
#endif
|
||||
Settings.Default.CurrentCultureInfoName = comboBoxLanguage.SelectedValue.ToString();
|
||||
Settings.Default.SizeInPercent = numericUpDownSizeInPercent.Value;
|
||||
Settings.Default.IconSizeInPercent = numericUpDownIconSizeInPercent.Value;
|
||||
if (DllImports.NativeMethods.IsTouchEnabled())
|
||||
|
@ -1223,5 +1223,21 @@ namespace SystemTrayMenu.UserInterface
|
|||
|
||||
public bool ColumnOnlyFiles { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Pairs of language display names and their ISO 639-1 standard language codes.
|
||||
/// </summary>
|
||||
private class LanguageID
|
||||
{
|
||||
public LanguageID(string displayName, string languageCode)
|
||||
{
|
||||
DisplayName = displayName;
|
||||
Code = languageCode;
|
||||
}
|
||||
|
||||
public string DisplayName { get; set; }
|
||||
|
||||
public string Code { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -125,9 +125,10 @@ namespace SystemTrayMenu.Utilities
|
|||
internal static void WriteApplicationRuns()
|
||||
{
|
||||
Assembly assembly = Assembly.GetExecutingAssembly();
|
||||
Version? version = assembly.GetName().Version;
|
||||
LogValue.Info($"Application Start " +
|
||||
assembly.ManifestModule.Name + " | " +
|
||||
assembly.GetName().Version.ToString() + " | " +
|
||||
(version != null ? version.ToString() : string.Empty) + " | " +
|
||||
$"ScalingFactor={Scaling.Factor}");
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ namespace SystemTrayMenu.Utilities
|
|||
using System.Windows.Controls;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Threading;
|
||||
using Color = System.Windows.Media.Color;
|
||||
using Point = System.Windows.Point;
|
||||
|
||||
internal static class WPFExtensions
|
||||
|
@ -106,5 +107,15 @@ namespace SystemTrayMenu.Utilities
|
|||
null!,
|
||||
CultureInfo.InvariantCulture);
|
||||
}
|
||||
|
||||
internal static SolidColorBrush ToSolidColorBrush(this System.Drawing.Color color)
|
||||
{
|
||||
return new SolidColorBrush(Color.FromArgb(color.A, color.R, color.G, color.B));
|
||||
}
|
||||
|
||||
internal static SolidColorBrush SolidColorBrushFromString(string value)
|
||||
{
|
||||
return new SolidColorBrush((Color)System.Windows.Media.ColorConverter.ConvertFromString(value));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue