* Added new command wrapper, abstracts static and dynamic commands
- All uses of the `Command` are replaced with either `AppCommand`, for a command that is static to the scope of the application, or a reference to an ICommand (specifically, an `EnumCommand<AppCommand>()` instance), which provides the abstract wrapper.
- Functionality seems intact.
- Next step is to have the MainViewModel add the per-shell commands via SettingsService.CreateShellKeyboardShortcuts(), and have the SettingsService.ParseCommandString() function parse the command strings passed around properly.
- Finally, add the keyboard chord input to each shell's settings page.
* First kick at adding a new terminal keyboard command.
- It isn't presented anywhere, but references to keybindings should be using the ICommand key as their identifier for recognizing anything, and when xterm passes back a keyboard command event, the SettingsService is asked to convert the string into an ICommand.
* Renaming ICommand to Command.
It's not longer an interface, so this makes more sense.
* Renaming back to Command, and new class is AbstractCommand.
Going to simplify the PR diff considerably.
* Shortcuts for default shells work. Need to get the shell profile edit UI elements working.
* Added keyboard shortcut UI elements to shell profile pages.
* New and deleted shell profiles propagate to all terminal views.
* A bit of cleanup.
* Camel-casing command text to fix Ctrl+C and copy behaviour.
* Fixed failing test.
The new on disk store uses a .ToString(), not the Enum description, since the command isn't an Enum, it's a class now in general, and those semantics make more sense.
* Adding default value for null keybindings in shell profiles.
* Merge branch 'shell_commands' of https://github.com/Riebart/FluentTerminal into pr/85
Improved default value for keybinding property
* Renamed KeyBinding collection to KeyBindings
* Use strings as Command parameter of KeyBinding
* Added missing Commands to keyBindings of default shellProfiles
* fix build and unit tests after merge with master
* improve UI
* Split OnShellProfileCollectionChanged event
* Add "Show in system tray" option to the SettingsView
* Implement "Show in system tray" requiring restart
* Add warning to restart program when toggling tray
* Update warning text for toggling tray option
* add padding setting
* `=` instead of `:`
Co-Authored-By: fauzie811 <fauzie811@yahoo.com>
* call setPadding in createTerminal function
* Add "px" suffix to padding slider tooltip
Based on this tutorial:
https://www.codeproject.com/Tips/715438/Slider-Thumb-Tooltip
* term.fit() after setPadding()
* move back term.fit() below term.open()
* Changed max value, added throttling, moved converter