* 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
* create "About" page in settings
* add content to About page
* Get latest version from GitHub
* Add NotificationService to servies
* Enable actions on notifications
* Get latest version asynchroniously
* Handle when latest version is not found and clean code
* Remove old UpdateService
* Remove old NotificationService
* Add icon for about tab
* Update About page styling
* Make About menu item a footer menu item
* Update About page layout
Based on suggestions by @felixse
* Instatiate temporary navigation item only once
This seems to solve display issues when opening the "About" page multiple times where the main navigation list is being rerendered for no apparent reason.
* Revert unintended changes
* Added shortcut to about page in hamburger menu
* Move About page properties to the AboutPageViewModel
* Make "loading..." and "Not found" italic to indicate non-default behaviour
* move update check back to systemtray
* Made IUpdateService async