The “I/O” tab of the “Preferences” dialog should use radio buttons instead of checkboxes
The I/O tab of the Preferences dialog allows the user to select among different I/O subsystems. These options are mutually exclusive; i.e., selecting one automatically causes the previous selection to be cleared. However, the options are visually presented to the user as checkboxes instead of radio buttons. This is confusing.
The underlying technical reason for this is that the Qt framework does not allow group boxes to have radio buttons. However, this can be worked around by subclassing the
QGroupBox class and rendering the checkboxes to look like radio buttons. This is sufficient for our purposes because the application already overrides the checkboxes' behavior to work like radio buttons.
Originally reported here.