I have binary properties, say A, B, C, D, that a user can independently switch. This is usually done using checkboxes as so:
download bmml source – Wireframes created with Balsamiq Mockups
But I also want to add the functionality so that when the user wants to turn on just one of them (which frequently happens), it can be done easily (ideally by one click). I came up with an idea of using radio buttons in combination with the checkboxes as so:
so that when the user clicks on one of the checkboxes, the radio button selection becomes irrelevant, and when the user clicks on one of the radio buttons, then the checkboxes will be synchronized automatically with the state of the corresponding radio buttons.
But this looks complicated to the user, and I am not sure if it works. Is there a better way?