Integrate keyboard manager with settings v2[Part-2] (#2107)

* Added CustomAction Data Models

* Updated data model

* Updated Button command trigger for keyboard manager

* Integerated custom actions in Keyboard manager module backend

* Allow Runner to launch windows on foreground

* Refactor and moved the execution logic to background thread

* Removed non-required unlock calls

* Fixed typo

* Resolve PR comments
This commit is contained in:
udit3333
2020-04-14 09:24:11 -07:00
committed by GitHub
parent 79fcd45d5f
commit a88d66b48b
13 changed files with 292 additions and 40 deletions

View File

@@ -0,0 +1,35 @@
// 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) =>
{
return propertyName.Equals("ModuleAction") ? moduleName : propertyName;
}),
};
return JsonSerializer.Serialize(this, jsonSerializerOptions);
}
}
}