2021-11-22 13:31:31 +00:00
|
|
|
|
// 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.
|
|
|
|
|
|
|
2023-07-26 23:48:00 +09:00
|
|
|
|
using System.Globalization;
|
|
|
|
|
|
using System.Runtime.InteropServices;
|
2021-11-22 13:31:31 +00:00
|
|
|
|
using System.Text.Json.Serialization;
|
|
|
|
|
|
using Microsoft.PowerToys.Settings.UI.Library.Interfaces;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.Library
|
|
|
|
|
|
{
|
|
|
|
|
|
public class MouseHighlighterSettings : BasePTModuleSettings, ISettingsConfig
|
|
|
|
|
|
{
|
|
|
|
|
|
public const string ModuleName = "MouseHighlighter";
|
|
|
|
|
|
|
|
|
|
|
|
[JsonPropertyName("properties")]
|
|
|
|
|
|
public MouseHighlighterProperties Properties { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public MouseHighlighterSettings()
|
|
|
|
|
|
{
|
|
|
|
|
|
Name = ModuleName;
|
|
|
|
|
|
Properties = new MouseHighlighterProperties();
|
2023-07-26 23:48:00 +09:00
|
|
|
|
Version = "1.2";
|
2021-11-22 13:31:31 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string GetModuleName()
|
|
|
|
|
|
{
|
|
|
|
|
|
return Name;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// This can be utilized in the future if the settings.json file is to be modified/deleted.
|
|
|
|
|
|
public bool UpgradeSettingsConfiguration()
|
|
|
|
|
|
{
|
2023-07-26 23:48:00 +09:00
|
|
|
|
if (Version == "1.0" || Version == "1.1")
|
2022-10-16 14:51:08 +02:00
|
|
|
|
{
|
2023-07-26 23:48:00 +09:00
|
|
|
|
string opacity;
|
|
|
|
|
|
if (Version == "1.0")
|
|
|
|
|
|
{
|
|
|
|
|
|
opacity = string.Format(CultureInfo.InvariantCulture, "{0:X2}", Properties.HighlightOpacity.Value);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
// 1.1
|
|
|
|
|
|
opacity = string.Format(CultureInfo.InvariantCulture, "{0:X2}", Properties.HighlightOpacity.Value * 255 / 100);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Properties.LeftButtonClickColor = new StringProperty(string.Concat("#", opacity, Properties.LeftButtonClickColor.Value.ToString().Substring(1, 6)));
|
|
|
|
|
|
Properties.RightButtonClickColor = new StringProperty(string.Concat("#", opacity, Properties.RightButtonClickColor.Value.ToString().Substring(1, 6)));
|
|
|
|
|
|
Version = "1.2";
|
2022-10-16 14:51:08 +02:00
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2021-11-22 13:31:31 +00:00
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|