From c9cb4a7435c413bf831536088d55227b91dba079 Mon Sep 17 00:00:00 2001 From: Seraphima Zykova Date: Wed, 2 Sep 2020 19:27:35 +0300 Subject: [PATCH] [FancyZones] Convert ARGB color values to RGB (#6277) --- .../ViewModels/FancyZonesViewModel.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/core/Microsoft.PowerToys.Settings.UI.Lib/ViewModels/FancyZonesViewModel.cs b/src/core/Microsoft.PowerToys.Settings.UI.Lib/ViewModels/FancyZonesViewModel.cs index fa9bcce3ce..e61ca546be 100644 --- a/src/core/Microsoft.PowerToys.Settings.UI.Lib/ViewModels/FancyZonesViewModel.cs +++ b/src/core/Microsoft.PowerToys.Settings.UI.Lib/ViewModels/FancyZonesViewModel.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.Drawing; using System.Runtime.CompilerServices; using Microsoft.PowerToys.Settings.UI.Lib.Helpers; using Microsoft.PowerToys.Settings.UI.Lib.ViewModels.Commands; @@ -401,6 +402,7 @@ namespace Microsoft.PowerToys.Settings.UI.Lib.ViewModels set { + value = ToRGBHex(value); if (!value.Equals(_zoneHighlightColor)) { _zoneHighlightColor = value; @@ -419,6 +421,7 @@ namespace Microsoft.PowerToys.Settings.UI.Lib.ViewModels set { + value = ToRGBHex(value); if (!value.Equals(_zoneBorderColor, StringComparison.OrdinalIgnoreCase)) { _zoneBorderColor = value; @@ -437,6 +440,7 @@ namespace Microsoft.PowerToys.Settings.UI.Lib.ViewModels set { + value = ToRGBHex(value); if (!value.Equals(_zoneInActiveColor)) { _zoneInActiveColor = value; @@ -524,5 +528,19 @@ namespace Microsoft.PowerToys.Settings.UI.Lib.ViewModels SendConfigMSG(ipcMessage.ToJsonString()); } } + + private string ToRGBHex(string color) + { + try + { + int argb = int.Parse(color.Replace("#", string.Empty), System.Globalization.NumberStyles.HexNumber); + Color clr = Color.FromArgb(argb); + return "#" + clr.R.ToString("X2") + clr.G.ToString("X2") + clr.B.ToString("X2"); + } + catch (Exception) + { + return "#FFFFFF"; + } + } } }