35 |
35 |
#include <QMap>
|
36 |
36 |
#include <QString>
|
37 |
37 |
#include <QTextCodec>
|
|
38 |
#include <QDateTime>
|
38 |
39 |
|
39 |
40 |
#include "qgsapplication.h"
|
40 |
41 |
#include "qgsdataprovider.h"
|
... | ... | |
391 |
392 |
{
|
392 |
393 |
case OFTInteger: varType = QVariant::Int; break;
|
393 |
394 |
case OFTReal: varType = QVariant::Double; break;
|
394 |
|
// unsupported in OGR 1.3
|
395 |
|
//case OFTDateTime: varType = QVariant::DateTime; break;
|
396 |
395 |
#if defined(GDAL_VERSION_NUM) && GDAL_VERSION_NUM >= 1400
|
|
396 |
case OFTDateTime: varType = QVariant::DateTime; break;
|
397 |
397 |
case OFTString: varType = QVariant::String; break;
|
398 |
398 |
#endif
|
399 |
399 |
default: varType = QVariant::String; // other unsupported, leave it as a string
|
... | ... | |
730 |
730 |
case QVariant::String: value = QVariant( mEncoding->toUnicode( OGR_F_GetFieldAsString( ogrFet, attindex ) ) ); break;
|
731 |
731 |
case QVariant::Int: value = QVariant( OGR_F_GetFieldAsInteger( ogrFet, attindex ) ); break;
|
732 |
732 |
case QVariant::Double: value = QVariant( OGR_F_GetFieldAsDouble( ogrFet, attindex ) ); break;
|
733 |
|
//case QVariant::DateTime: value = QVariant(QDateTime::fromString(str)); break;
|
|
733 |
#if defined(GDAL_VERSION_NUM) && GDAL_VERSION_NUM >= 1400
|
|
734 |
case QVariant::DateTime:
|
|
735 |
int year, month, day, hour, minute, second, tz;
|
|
736 |
|
|
737 |
OGR_F_GetFieldAsDateTime( ogrFet, attindex, &year, &month, &day, &hour, &minute, &second, &tz );
|
|
738 |
value = QVariant(QDateTime( QDate( year, month, day ), QTime( hour, minute, second )));
|
|
739 |
break;
|
|
740 |
#endif
|
734 |
741 |
default: assert( NULL && "unsupported field type" );
|
735 |
742 |
}
|
736 |
743 |
}
|