fluid-lab / gamepad-navigator

GSoC 2020 project
Other
6 stars 10 forks source link

Refactor configuration interface. #103

Closed duhrer closed 5 months ago

duhrer commented 8 months ago

Currently, we have a small popup for all supported configuration options, with an idealised picture of a gamepad, and a complex form where you select the input (button or axis) with one drop down, and then select the action to assign to the button. Once both drop-downs are selected, any additional tool options appear.

This refactor covers:

  1. Expanding the popup to a modal dialogue that includes scrollbars.
  2. Presenting the current configuration as an editable list of "bindings" (control->action).
  3. Presenting overall configuration options like the anti-jitter "cutoff" and the home page that will be used for tabs/windows.
duhrer commented 8 months ago

As part of this, we need to politely "defang" the current configuration panel, which appears when the user clicks the gamepad navigator icon. This should be replaced with a simple page that displays:

  1. Information about the name and version of the plugin.
  2. A link to the documentation (the repo for now until #114 is done).
  3. A button to open the action launcher.
  4. A button to open the new configuration panel.
duhrer commented 7 months ago

Because there's at least one field (homepage URL) that needs to be edited as text, we need to be able to use this in combination with the onscreen keyboard modal. If the options panel itself is also a modal, we'd have to manage a transition between two modals.

Since we needed an options menu for #120, I ended up moving this to a standalone page.

Unlike the previous control panel, I included the navigation on the new options panel, which means you can change settings using a gamepad, and can also change to another window or close the window using a gamepad.