Controller dialog: Make it more awesome #14494
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This improves the controller dialog in several ways:
First, @da-anda and @pkerling removed all logos from controllers in kodi-game/controller-topology-project#30. Just to be safe.
Next, I've exposed the controller descriptions I wrote as part of the Controller Topology Project. Even though logos are gone, we could still be targeted by <insert litigious game company>. Showing descriptions strengthens our argument for fair use because it becomes informative and historical.
Next, because it's so awesome to read descriptions about all controllers, I added "Get all" button below the "Get more..." button to install the entire controller topology project. I've never observed anyone actually using the "Get more..." button, but I wanted a way to install everything in one click.
Next, I removed some code that hides controllers with no mappable features, such as hubs and unfinished controllers. Even though they can't be mapped, with descriptions, it's still fun to read about them.
Finally, I fixed a bug that didn't refresh controller profiles when new ones are installed.
TODO: When the list refreshes with a new controller, it should be made active.
Motivation and Context
Adding ideas that came to me during my DevCon presentation in Sofia.
How Has This Been Tested?
It probably hard-crashes on startup.
But seriously, test builds are here: https://github.com/garbear/xbmc/releases/tag/retroplayer-18beta3-20181001
Screenshots (if appropriate):
Controller descriptions:
"Get all" dialog:
Progress dialog while installing controller add-ons:
Controller profile with nothing to map:
Types of change