Skip to content

Commit f6e4e75

Browse files
committedNov 18, 2015
[FEATURE]postgres provider: add support for timestamp types
1 parent 7b0815b commit f6e4e75

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed
 

‎src/gui/editorwidgets/qgsdatetimeedit.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,3 @@ void QgsDateTimeEdit::resizeEvent( QResizeEvent * event )
136136
mNullLabel->setMinimumSize( rect().adjusted( 0, 0, -spinButtonWidth(), 0 ).size() );
137137
mNullLabel->setMaximumSize( rect().adjusted( 0, 0, -spinButtonWidth(), 0 ).size() );
138138
}
139-
140-
141-
142-

‎src/gui/editorwidgets/qgsdatetimeeditwrapper.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,18 @@ QVariant QgsDateTimeEditWrapper::value()
106106
if ( !mQDateTimeEdit )
107107
return QVariant( field().type() );
108108

109+
if ( field().type() == QVariant::DateTime )
110+
{
111+
if ( mQgsDateTimeEdit )
112+
{
113+
return mQgsDateTimeEdit->dateTime();
114+
}
115+
else
116+
{
117+
return mQDateTimeEdit->dateTime();
118+
}
119+
}
120+
109121
const QString fieldFormat = config( "field_format", QGSDATETIMEEDIT_DATEFORMAT ).toString();
110122

111123
if ( mQgsDateTimeEdit )
@@ -124,7 +136,7 @@ void QgsDateTimeEditWrapper::setValue( const QVariant &value )
124136
return;
125137

126138
const QString fieldFormat = config( "field_format", QGSDATETIMEEDIT_DATEFORMAT ).toString();
127-
const QDateTime date = QDateTime::fromString( value.toString(), fieldFormat );
139+
const QDateTime date = field().type() == QVariant::DateTime ? value.toDateTime() : QDateTime::fromString( value.toString(), fieldFormat );
128140

129141
if ( mQgsDateTimeEdit )
130142
{

‎src/providers/postgres/qgspostgresprovider.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -878,6 +878,11 @@ bool QgsPostgresProvider::loadFields()
878878
fieldType = QVariant::Date;
879879
fieldSize = -1;
880880
}
881+
else if ( fieldTypeName == "timestamp" )
882+
{
883+
fieldType = QVariant::DateTime;
884+
fieldSize = -1;
885+
}
881886
else if ( fieldTypeName == "text" ||
882887
fieldTypeName == "bool" ||
883888
fieldTypeName == "geometry" ||

0 commit comments

Comments
 (0)
Please sign in to comment.