# HG changeset patch # User reimar # Date 1222880718 0 # Node ID 98478619a22c79f6b713b6c7b47a284c013dd72b # Parent 7327f61a0a4f1d17917c6a8fbe3376fdea9471cc Add a m_property_flag_ro function for the default behaviour of a read-only flag. diff -r 7327f61a0a4f -r 98478619a22c m_property.c --- a/m_property.c Wed Oct 01 06:47:26 2008 +0000 +++ b/m_property.c Wed Oct 01 17:05:18 2008 +0000 @@ -245,6 +245,17 @@ return m_property_int_range(prop,action,arg,var); } +int m_property_flag_ro(const m_option_t* prop,int action, + void* arg,int var) { + switch(action) { + case M_PROPERTY_PRINT: + if(!arg) return 0; + *(char**)arg = strdup((var > prop->min) ? MSGTR_Enabled : MSGTR_Disabled); + return 1; + } + return m_property_int_ro(prop,action,arg,var); +} + int m_property_flag(const m_option_t* prop,int action, void* arg,int* var) { switch(action) { @@ -253,9 +264,7 @@ *var = *var == prop->min ? prop->max : prop->min; return 1; case M_PROPERTY_PRINT: - if(!arg) return 0; - *(char**)arg = strdup((*var > prop->min) ? MSGTR_Enabled : MSGTR_Disabled); - return 1; + return m_property_flag_ro(prop, action, arg, *var); } return m_property_int_range(prop,action,arg,var); } diff -r 7327f61a0a4f -r 98478619a22c m_property.h --- a/m_property.h Wed Oct 01 06:47:26 2008 +0000 +++ b/m_property.h Wed Oct 01 17:05:18 2008 +0000 @@ -169,6 +169,9 @@ int m_property_choice(const m_option_t* prop,int action, void* arg,int* var); +int m_property_flag_ro(const m_option_t* prop,int action, + void* arg,int var); + /// Switch betwen min and max. int m_property_flag(const m_option_t* prop,int action, void* arg,int* var);