diff --git a/Config/AppColors.cs b/Config/AppColors.cs
index 7d462fb..08a13e6 100644
--- a/Config/AppColors.cs
+++ b/Config/AppColors.cs
@@ -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));
- }
}
}
\ No newline at end of file
diff --git a/Config/ColorAndCode.cs b/Config/ColorAndCode.cs
deleted file mode 100644
index 2e93e2a..0000000
--- a/Config/ColorAndCode.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Copyright (c) PlaceholderCompany. All rights reserved.
-//
-
-namespace SystemTrayMenu
-{
- using System.Drawing;
-
- internal struct ColorAndCode
- {
- public Color Color { get; set; }
-
- public string HtmlColorCode { get; set; }
- }
-}
\ No newline at end of file
diff --git a/Config/Config.cs b/Config/Config.cs
index da271a8..c8d1e49 100644
--- a/Config/Config.cs
+++ b/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;
+ ///
+ /// Helper class to process color settings.
+ ///
+ private struct ColorAndCode
+ {
+ public Color Color { get; set; }
+
+ public string HtmlColorCode { get; set; }
}
}
}
diff --git a/UserInterface/Language.cs b/UserInterface/Language.cs
deleted file mode 100644
index 0e31a08..0000000
--- a/UserInterface/Language.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-// Copyright (c) PlaceholderCompany. All rights reserved.
-//
-
-namespace SystemTrayMenu.UserInterface
-{
- public class Language
- {
- public string Name { get; set; }
-
- public string Value { get; set; }
- }
-}
diff --git a/UserInterface/Menu.xaml.cs b/UserInterface/Menu.xaml.cs
index 31fb70c..27cd926 100644
--- a/UserInterface/Menu.xaml.cs
+++ b/UserInterface/Menu.xaml.cs
@@ -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;
diff --git a/UserInterface/SettingsWindow.xaml b/UserInterface/SettingsWindow.xaml
index 69b5ac7..da3a80d 100644
--- a/UserInterface/SettingsWindow.xaml
+++ b/UserInterface/SettingsWindow.xaml
@@ -55,7 +55,7 @@
-
+
diff --git a/UserInterface/SettingsWindow.xaml.cs b/UserInterface/SettingsWindow.xaml.cs
index c211d66..20c6016 100644
--- a/UserInterface/SettingsWindow.xaml.cs
+++ b/UserInterface/SettingsWindow.xaml.cs
@@ -110,75 +110,75 @@ namespace SystemTrayMenu.UserInterface
InitializeLanguage();
void InitializeLanguage()
{
- List dataSource = new()
+ List 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; }
}
+
+ ///
+ /// Pairs of language display names and their ISO 639-1 standard language codes.
+ ///
+ private class LanguageID
+ {
+ public LanguageID(string displayName, string languageCode)
+ {
+ DisplayName = displayName;
+ Code = languageCode;
+ }
+
+ public string DisplayName { get; set; }
+
+ public string Code { get; set; }
+ }
}
}
diff --git a/Utilities/Log.cs b/Utilities/Log.cs
index cbe8062..1c3ec15 100644
--- a/Utilities/Log.cs
+++ b/Utilities/Log.cs
@@ -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}");
}
diff --git a/Utilities/WPFExtensions.cs b/Utilities/WPFExtensions.cs
index b8c5b23..e588574 100644
--- a/Utilities/WPFExtensions.cs
+++ b/Utilities/WPFExtensions.cs
@@ -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));
+ }
}
}