Index: sources/utility/format.cpp =================================================================== diff -u -r8f6f7c11390e3ed6d918f1717d8e8b7ae5b7e5c6 -r69a5a75443d827d5f9a81529e353084e0bd201f4 --- sources/utility/format.cpp (.../format.cpp) (revision 8f6f7c11390e3ed6d918f1717d8e8b7ae5b7e5c6) +++ sources/utility/format.cpp (.../format.cpp) (revision 69a5a75443d827d5f9a81529e353084e0bd201f4) @@ -39,6 +39,12 @@ 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 0xFF will be returned + */ QByteArray Format::fromVariant(const QVariant &vData) { QByteArray mData; @@ -54,42 +60,21 @@ if ( vData.type() == static_cast(QMetaType::Float) ) { Types::F32 f32; - float value; - bool ok = false; - value = vData.toFloat(&ok); - if (ok) { - f32.value = value; - } else { - f32.value = 0; - } + f32.value = vData.toFloat(); Types::setValue(f32, mData); return mData; } if ( vData.type() == QVariant::UInt ) { Types::U32 u32; - quint32 value; - bool ok = false; - value = vData.toUInt(&ok); - if (ok) { - u32.value = value; - } else { - u32.value = 0; - } + u32.value = vData.toUInt(); Types::setValue(u32, mData); return mData; } if ( vData.type() == QVariant::Int ) { Types::S32 s32; - qint32 value; - bool ok = false; - value = vData.toInt(&ok); - if (ok) { - s32.value = value; - } else { - s32.value = 0; - } + s32.value = vData.toInt(); Types::setValue(s32, mData); return mData; } @@ -102,7 +87,12 @@ return mData; } - mData += vData.toUInt(); + if ( vData.type() == QVariant::Bool ) { + mData += vData.toUInt(); + return mData; + } + + mData += 0xFF; return mData; }