mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +01:00
* Suppress warnings for read-only collection properties (see code comments) * Call ConfigureAwait on tasks * Add CultureInfo and StringComparison policy for certain string operations * Add checks and exceptions for null arguments to public methods * Rename RaisePropertyChanged to NotifyPropertyChanged * Suppress CA1000 warning on SettingsRepository class * Implement Disposable pattern in HotkeySettingsControlHook * Modify null argument handling in KeyboardManagerViewModel::CombineShortcutLists
37 lines
1.1 KiB
C#
37 lines
1.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.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace Microsoft.PowerToys.Settings.UI.Lib.CustomAction
|
|
{
|
|
public class SendCustomAction
|
|
{
|
|
private readonly string moduleName;
|
|
|
|
public SendCustomAction(string moduleName)
|
|
{
|
|
this.moduleName = moduleName;
|
|
}
|
|
|
|
[JsonPropertyName("action")]
|
|
public ModuleCustomAction Action { get; set; }
|
|
|
|
public string ToJsonString()
|
|
{
|
|
var jsonSerializerOptions = new JsonSerializerOptions
|
|
{
|
|
PropertyNamingPolicy = new CustomNamePolicy((propertyName) =>
|
|
{
|
|
// Using Ordinal as this is an internal property name
|
|
return propertyName.Equals("ModuleAction", System.StringComparison.Ordinal) ? moduleName : propertyName;
|
|
}),
|
|
};
|
|
|
|
return JsonSerializer.Serialize(this, jsonSerializerOptions);
|
|
}
|
|
}
|
|
}
|