Skip to content

Commit 1d0b082

Browse files
committed
correctly emit NULL and not empty string for date/time widget for string fields
1 parent 8bd4896 commit 1d0b082

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

src/gui/editorwidgets/qgsdatetimeeditwrapper.cpp

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,15 +126,22 @@ void QgsDateTimeEditWrapper::dateTimeChanged( const QDateTime &dateTime )
126126
emit valueChanged( dateTime.time() );
127127
break;
128128
default:
129-
const bool fieldIsoFormat = config( QStringLiteral( "field_iso_format" ), false ).toBool();
130-
const QString fieldFormat = config( QStringLiteral( "field_format" ), QgsDateTimeFieldFormatter::defaultFormat( field().type() ) ).toString();
131-
if ( fieldIsoFormat )
129+
if ( !dateTime.isValid() || dateTime.isNull() )
132130
{
133-
emit valueChanged( dateTime.toString( Qt::ISODate ) );
131+
emit valueChanged( QVariant( field().type() ) );
134132
}
135133
else
136134
{
137-
emit valueChanged( dateTime.toString( fieldFormat ) );
135+
const bool fieldIsoFormat = config( QStringLiteral( "field_iso_format" ), false ).toBool();
136+
const QString fieldFormat = config( QStringLiteral( "field_format" ), QgsDateTimeFieldFormatter::defaultFormat( field().type() ) ).toString();
137+
if ( fieldIsoFormat )
138+
{
139+
emit valueChanged( dateTime.toString( Qt::ISODate ) );
140+
}
141+
else
142+
{
143+
emit valueChanged( dateTime.toString( fieldFormat ) );
144+
}
138145
}
139146
break;
140147
}

0 commit comments

Comments
 (0)