This patch does two things:
1) It alters the behavior of OptionalPropertySheets. Currently, the default behavior is the window is always displayed (with an optional behavior to not display unless the Shift/Ctrl key is pressed). The patch changes the default behavior so that pressing the Shift/Ctrl key skips the display of the dialog.
2) It changes the UI so that instead of a checkbox that reads "Display only if Shift/Ctrl key is down" it has a dropdown list box that has two entries "Show by default (Shift/Ctrl to hide)" and "Hide by default (Shift/Ctrl key to show)". There are no changes to the underlying storage. The first entry corresponds to the checkbox not being selected and the second entry is when the checkbox is selected.
(note - the combo box is not perfectly displayed and can use some tweaking).
Rational for change:
I am an occaisonal user of WinCVS. I don't use it much but then I will use it a lot for a short period of time. While I like to be able to skip the dialog, I don't like the option to hide it by default and have a 'magic' way to temporarily to show it again as I may forget the magic in the long run.
By allowing the 'magic' to temporarily not show the dialog, I can use to speed up my work but safely know that if I forget in between uses of WinCVS the dialog will show again by default the next time I use it.
patch to implement suggested behavior change