Make wxPG_COLOUR_ALLOW_CUSTOM a Boolean property

So far it was implemented as property which could take int values 0/1 so it was acting essentially as a Boolean property. Implementing it explicitly as a Boolean one will make it more intuitive. Legacy code setting 0/1 int values shouldn't be affected because conversion from int to bool is implicit.
This commit is contained in:
Artur Wieczorek
2019-05-12 12:49:38 +02:00
parent bb232f42c1
commit fde9bb6d41
3 changed files with 17 additions and 6 deletions

View File

@@ -1571,16 +1571,16 @@ bool wxSystemColourProperty::DoSetAttribute( const wxString& name, wxVariant& va
{
if ( name == wxPG_COLOUR_ALLOW_CUSTOM )
{
int ival = value.GetLong();
bool allow = value.GetBool();
if ( ival && (m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) )
if ( allow && (m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) )
{
// Show custom choice
/* TRANSLATORS: Custom colour choice entry */
m_choices.Add(_("Custom"), wxPG_COLOUR_CUSTOM);
m_flags &= ~(wxPG_PROP_HIDE_CUSTOM_COLOUR);
}
else if ( !ival && !(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) )
else if ( !allow && !(m_flags & wxPG_PROP_HIDE_CUSTOM_COLOUR) )
{
// Hide custom choice
m_choices.RemoveAt(GetCustomColourIndex());