예제 #1
0
Grantlee::SafeString Grantlee::toString( const QVariantList &list )
{
  QString output( QLatin1Char( '[' ) );
  QVariantList::const_iterator it = list.constBegin();
  const QVariantList::const_iterator end = list.constEnd();
  while ( it != end ) {
    const QVariant item = *it;
    if ( isSafeString( item ) ) {
      output += QLatin1Literal( "u\'" )
              + static_cast<QString>( getSafeString( item ).get() )
              + QLatin1Char( '\'' );
    }
    if ( ( item.type() == QVariant::Int )
      || ( item.type() == QVariant::UInt )
      || ( item.type() == QVariant::Double )
      || ( item.userType() == QMetaType::Float )
      || ( item.type() == QVariant::LongLong )
      || ( item.type() == QVariant::ULongLong )
    ) {
      output += item.toString();
    }
    if ( item.type() == QVariant::List ) {
      output += static_cast<QString>( toString( item.toList() ).get() );
    }
    if ( ( it + 1 ) != end )
      output += QLatin1String( ", " );
    ++it;
  }

  return output.append( QLatin1Char( ']' ) );
}
예제 #2
0
파일: util.cpp 프로젝트: heirecka/grantlee
Grantlee::SafeString Grantlee::toString( const QVariantList &list )
{
  QString output( QLatin1Char( '[' ) );
  QVariantList::const_iterator it = list.constBegin();
  const QVariantList::const_iterator end = list.constEnd();
  while ( it != end ) {
    const QVariant item = *it;
    if ( isSafeString( item ) ) {
      output += QStringLiteral( "u\'" )
              + static_cast<QString>( getSafeString( item ).get() )
              + QLatin1Char( '\'' );
    }
    if ( ( item.userType() == qMetaTypeId<int>() )
      || ( item.userType() == qMetaTypeId<uint>() )
      || ( item.userType() == qMetaTypeId<double>() )
      || ( item.userType() == qMetaTypeId<float>() )
      || ( item.userType() == qMetaTypeId<long long>() )
      || ( item.userType() == qMetaTypeId<unsigned long long>() )
    ) {
      output += item.value<QString>();
    }
    if ( item.userType() == qMetaTypeId<QVariantList>() ) {
      output += static_cast<QString>( toString( item.value<QVariantList>() ).get() );
    }
    if ( ( it + 1 ) != end )
      output += QStringLiteral( ", " );
    ++it;
  }

  return output.append( QLatin1Char( ']' ) );
}