Open Vulpine05 opened 2 years ago
CTransparentCheckBox
and other CTransparent*
classes are used in the Simple View preferences dialog because skins have the option of specifying a bitmap for the background of this dialog using the XML tag _dialog_backgroundimage in the skin.xml file as described here. The default BOINC skin does not use this option, so its background is white.
FWIW, This is not an issue on MacOS; the backgrounds of the checkboxes are consistent with other text:
I'll check this, but as far as I remember, OSX and Windows are fine and fixable, but linux just doesn't support UI components with transparent background. I plan to work on this and somehow fix this behavior but it's definitely not in a near future :)
Just to clarify:
The default BOINC skin does not use this option, so its background is white.
But some branded versions of BOINC, such as GridRepublic and CharityEngine do use the _dialog_backgroundimage XML tag to specify a bitmap as the background for the Simple View preferences dialog. Older versions of World Community Grid also did. In addition, numerous custom skins have been created and shared by users; some of these may also use this option.
Changing the CTransparentCheckBox
calls to wxCheckBox
would cause problems for those skins.
Describe the bug Under simple view's computing preferences, the background text color for any checkbox text is a gray color, but the background is white. Text without a checkbox appears to have the same background color.
Expected behavior Text background color should be consistent, with or without text.
Screenshots
System Information
Additional context Walking the code, I see there is a difference in the checkbox class that is used between advanced and simple modes. For simple mode, these check boxes are using the class CTransparentCheckBox, which is defined in sg_CustomControls, and is dependent on the wxCheckBox class. For advanced view, the checkboxes for preferences all use wxCheckBox.
The easy solution, I think, would be to switch all CTransparentCheckBox to wxCheckBox. However, I'm assuming there is a reason this custom check box was made in the first place.