Index: sources/utility/format.cpp =================================================================== diff -u -rae97f70129df818530bcb70c934c42fa28eb6034 -r4295d12645b607b7c0cca8733c3d9eb5f538b418 --- sources/utility/format.cpp (.../format.cpp) (revision ae97f70129df818530bcb70c934c42fa28eb6034) +++ sources/utility/format.cpp (.../format.cpp) (revision 4295d12645b607b7c0cca8733c3d9eb5f538b418) @@ -39,6 +39,14 @@ return string; } +/*! + * \brief Format::fromVariant + * \details This static method converts the defined types into QByteArray + * \param vData - The value + * \return The QByteAttay of the value vData if can't be converted 0x00 will be returned + * \note Regarding the QVariant type conversion, if cannot be cionverted 0 will be returned + * This rule has been used and also to be consistent followed the sae rule. + */ QByteArray Format::fromVariant(const QVariant &vData) { QByteArray mData; @@ -55,24 +63,21 @@ if ( vData.type() == static_cast(QMetaType::Float) || vData.type() == QVariant::Double ) { Types::F32 f32; - bool ok = false; - f32.value = vData.toFloat(&ok); + f32.value = vData.toFloat(); Types::setValue(f32, mData); return mData; } if ( vData.type() == QVariant::UInt ) { Types::U32 u32; - bool ok = false; - u32.value = vData.toUInt(&ok); + u32.value = vData.toUInt(); Types::setValue(u32, mData); return mData; } if ( vData.type() == QVariant::Int ) { Types::S32 s32; - bool ok = false; - s32.value = vData.toInt(&ok); + s32.value = vData.toInt(); Types::setValue(s32, mData); return mData; } @@ -85,7 +90,11 @@ return mData; } - mData += vData.toUInt(); + if ( vData.type() == QVariant::Bool ) { + mData += vData.toUInt(); + return mData; + } + + mData += '\0'; return mData; } -