refs #212, fixed parsing for PQs

* trimmed strings
* renamed to parseToVariant methods avos ambiguity with template method
This commit is contained in:
Klaus Basan
2014-04-26 15:15:18 +02:00
parent ce619e7a50
commit 03580b9cdc
2 changed files with 13 additions and 9 deletions

View File

@@ -74,15 +74,16 @@ namespace BlackMisc
//! \brief Register metadata
static void registerMetadata();
//! \brief parse a string value like "100m", "10.3Mhz"
static QVariant parse(const QString &value);
//! Parse a string value like "100m", "10.3Mhz"
static QVariant parseToVariant(const QString &value);
//! \brief parse into concrete type
template <class PQ> static const PQ parse(const QString &symbol)
//! Parse into concrete type
template <class PQ> static PQ parse(const QString &value)
{
PQ invalid;
if (symbol.isEmpty()) return invalid;
QVariant qv = CPqString::parse(symbol);
invalid.setNull();
if (value.isEmpty()) return invalid;
QVariant qv = CPqString::parseToVariant(value);
if (!qv.isNull() && qv.canConvert<PQ>())
{
return qv.value<PQ>();