diff --git a/src/blackmisc/pq/pqstring.cpp b/src/blackmisc/pq/pqstring.cpp index 86fce5647..06bf67a51 100644 --- a/src/blackmisc/pq/pqstring.cpp +++ b/src/blackmisc/pq/pqstring.cpp @@ -29,7 +29,6 @@ namespace BlackMisc { namespace PhysicalQuantities { - QString CPqString::convertToQString(bool /** i18n **/) const { return this->m_string; @@ -40,7 +39,7 @@ namespace BlackMisc CVariant v; // fine tuning of the string - QString vs = value.trimmed().simplified(); + const QString vs = value.trimmed().simplified(); // check if (vs.isEmpty()) { return v; } diff --git a/src/blackmisc/pq/pqstring.h b/src/blackmisc/pq/pqstring.h index d28b1a1b6..56a5c2f43 100644 --- a/src/blackmisc/pq/pqstring.h +++ b/src/blackmisc/pq/pqstring.h @@ -24,7 +24,6 @@ namespace BlackMisc { namespace PhysicalQuantities { - /*! * Represents a physical quantity by a string * \details Used to parse strings into physical quantities, validate strings @@ -63,15 +62,16 @@ namespace BlackMisc //! Parse into concrete type template static PQ parse(const QString &value, SeparatorMode mode = SeparatorsCLocale) { - PQ invalid; - invalid.setNull(); - if (value.isEmpty()) return invalid; - CVariant qv = parseToVariant(value, mode); + PQ null; + null.setNull(); + if (value.isEmpty()) {return null; } + if (value.contains("null", Qt::CaseInsensitive)) { return null; } + const CVariant qv = parseToVariant(value, mode); if (!qv.isNull() && qv.canConvert()) { return qv.value(); } - return invalid; + return null; } //! Locale aware parsing @@ -85,9 +85,8 @@ namespace BlackMisc BLACK_METAMEMBER(string) ); }; - - } -} + } // ns +} // ns Q_DECLARE_METATYPE(BlackMisc::PhysicalQuantities::CPqString)