[vlmc-devel] [PATCH] Make SettingsValue emit change(val) when it is initially loaded.
Hugo Beauzée-Luyssen
hugo at beauzee.fr
Mon Mar 7 16:57:54 CET 2016
On 03/07/2016 04:54 PM, Yikai Lu wrote:
> ---
> src/Settings/SettingValue.cpp | 8 +++++++-
> src/Settings/SettingValue.h | 1 +
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/src/Settings/SettingValue.cpp b/src/Settings/SettingValue.cpp
> index 7f35926..126d399 100644
> --- a/src/Settings/SettingValue.cpp
> +++ b/src/Settings/SettingValue.cpp
> @@ -30,7 +30,8 @@ SettingValue::SettingValue( const QString& key, SettingValue::Type type, const Q
> m_name( name ),
> m_desc( desc ),
> m_type( type ),
> - m_flags( flags )
> + m_flags( flags ),
> + m_initLoad( true )
> {
> }
>
> @@ -52,6 +53,11 @@ SettingValue::set( const QVariant& _val )
> m_val = val;
> emit changed( m_val );
> }
> + else if ( m_initLoad )
> + {
> + emit changed( m_val );
> + m_initLoad = false;
Sorry about missing this in the previous review, though you'll need to
unconditionally set m_initLoad to false after the first set, otherwise
if the loaded value differs from the default value, the changed signal
will be emited upon subsequent set, even if the value hasn't changed at all.
> + }
> }
>
> const QVariant&
> diff --git a/src/Settings/SettingValue.h b/src/Settings/SettingValue.h
> index 60f1bea..ebc225e 100644
> --- a/src/Settings/SettingValue.h
> +++ b/src/Settings/SettingValue.h
> @@ -130,6 +130,7 @@ class SettingValue : public QObject
> Flags m_flags;
> QVariant m_min;
> QVariant m_max;
> + bool m_initLoad;
> signals:
> /**
> * \brief This signal is emmited while the m_val
>
Regards,
More information about the Vlmc-devel
mailing list