mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-04 18:26:39 +02:00
* [MouseHighlighter]Add always pointer Make color pick UI ARGB Delete Opacity setting * Fix opacity and color Fix "always color" incorrectly initialized Revert default opacity to 65%, which was unintentionally lowered to 25% when changing to percent * Fix crash when opening MouseUtils settings page Migration code was bugged, made malformed json and led to settings page crash. * Implement migration in module side
68 lines
2.1 KiB
C#
68 lines
2.1 KiB
C#
// Copyright (c) Microsoft Corporation
|
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
|
// See the LICENSE file in the project root for more information.
|
|
|
|
using System.Drawing;
|
|
using System.Globalization;
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.Library.Helpers
|
|
{
|
|
public static class SettingsUtilities
|
|
{
|
|
public static string ToRGBHex(string color)
|
|
{
|
|
if (color == null)
|
|
{
|
|
return "#FFFFFF";
|
|
}
|
|
|
|
// Using InvariantCulture as these are expected to be hex codes.
|
|
bool success = int.TryParse(
|
|
color.Replace("#", string.Empty),
|
|
System.Globalization.NumberStyles.HexNumber,
|
|
CultureInfo.InvariantCulture,
|
|
out int argb);
|
|
|
|
if (success)
|
|
{
|
|
Color clr = Color.FromArgb(argb);
|
|
return "#" + clr.R.ToString("X2", CultureInfo.InvariantCulture) +
|
|
clr.G.ToString("X2", CultureInfo.InvariantCulture) +
|
|
clr.B.ToString("X2", CultureInfo.InvariantCulture);
|
|
}
|
|
else
|
|
{
|
|
return "#FFFFFF";
|
|
}
|
|
}
|
|
|
|
public static string ToARGBHex(string color)
|
|
{
|
|
if (color == null)
|
|
{
|
|
return "#FFFFFFFF";
|
|
}
|
|
|
|
// Using InvariantCulture as these are expected to be hex codes.
|
|
bool success = int.TryParse(
|
|
color.Replace("#", string.Empty),
|
|
System.Globalization.NumberStyles.HexNumber,
|
|
CultureInfo.InvariantCulture,
|
|
out int argb);
|
|
|
|
if (success)
|
|
{
|
|
Color clr = Color.FromArgb(argb);
|
|
return "#" + clr.A.ToString("X2", CultureInfo.InvariantCulture) +
|
|
clr.R.ToString("X2", CultureInfo.InvariantCulture) +
|
|
clr.G.ToString("X2", CultureInfo.InvariantCulture) +
|
|
clr.B.ToString("X2", CultureInfo.InvariantCulture);
|
|
}
|
|
else
|
|
{
|
|
return "#FFFFFFFF";
|
|
}
|
|
}
|
|
}
|
|
}
|