Files
PowerToys/src/core/Microsoft.PowerToys.Settings.UI.Lib/KeysDataModel.cs
Luthfi Mawarid 889f20c4a7 [fxcop] Settings UI library (part 1) (#7187)
* Mark methods static and replace Count() with Length

* Use IsNullOrEmpty for null string checks

* Remove redundant initializations to default values

* Use nameof(property name) in place of string literals

* Add NativeMethods class

* Rename property getters in KeysDataModel & AppSpecificKeysDataModel

* Remove underscores from method names

* Mark Helper class static

* Address comments & typo fixes

* Add EncoderGuid property and fix failing build

* Update binding in GeneralPages.xaml
2020-10-09 17:58:52 -07:00

46 lines
1.2 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.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.PowerToys.Settings.UI.Lib.Utilities;
namespace Microsoft.PowerToys.Settings.UI.Lib
{
public class KeysDataModel
{
[JsonPropertyName("originalKeys")]
public string OriginalKeys { get; set; }
[JsonPropertyName("newRemapKeys")]
public string NewRemapKeys { get; set; }
private static List<string> MapKeys(string stringOfKeys)
{
return stringOfKeys
.Split(';')
.Select(uint.Parse)
.Select(Helper.GetKeyName)
.ToList();
}
public List<string> GetMappedOriginalKeys()
{
return MapKeys(OriginalKeys);
}
public List<string> GetMappedNewRemapKeys()
{
return MapKeys(NewRemapKeys);
}
public string ToJsonString()
{
return JsonSerializer.Serialize(this);
}
}
}