## Summary of the Pull Request ![cmdpal-icons](https://user-images.githubusercontent.com/18356694/90916410-97dada00-e3a6-11ea-9fb0-755938a68a05.gif) Adds support for setting a command's `icon`. This supports a couple different scenarios: * setting a path to an image * on `"iterateOn": "profiles"` commands, setting the icon to `${profile.icon}` (to use the profile's icon) * setting the icon to a symbol from [Segoe MDL2 Assets](https://docs.microsoft.com/en-us/windows/uwp/design/style/segoe-ui-symbol-font) * setting the icon to an emoji * setting the icon to a character (what is an emoji other than a character, after all?) ## References * Big s/o to @leonMSFT in #6732, who really did all the hard work here. ## PR Checklist * [x] Closes #6644 * [x] I work here * [ ] Tests added/passed * [n/a] Requires documentation to be updated ## Detailed Description of the Pull Request / Additional comments Importantly, the creation of these icons must occur on the UI thread. That's why it's done in a "load the path from json", then "get the actual IconSource" structure. ## Validation Steps Performed see the gif
23 lines
585 B
Plaintext
23 lines
585 B
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
import "ShortcutActionDispatch.idl";
|
|
|
|
namespace TerminalApp
|
|
{
|
|
[default_interface] runtimeclass Command : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
|
{
|
|
Command();
|
|
|
|
String Name;
|
|
ActionAndArgs Action;
|
|
String KeyChordText;
|
|
|
|
Windows.UI.Xaml.Controls.IconSource IconSource;
|
|
void RefreshIcon();
|
|
|
|
Boolean HasNestedCommands { get; };
|
|
Windows.Foundation.Collections.IMapView<String, Command> NestedCommands { get; };
|
|
}
|
|
}
|