27#include <qcalendarwidget.h>
29#include "moc_qgsdatetimesearchwidgetwrapper.cpp"
31using namespace Qt::StringLiterals;
54 const bool fieldIsoFormat =
config( u
"field_iso_format"_s,
false ).toBool();
58 return mDateTimeEdit->dateTime().toString( Qt::ISODate );
62 return mDateTimeEdit->dateTime().toString( fieldFormat );
83 return fieldName +
" IS NULL";
85 return fieldName +
" IS NOT NULL";
87 const QVariant v =
value();
92 return fieldName +
"='" + v.toString() +
'\'';
94 return fieldName +
"<>'" + v.toString() +
'\'';
96 return fieldName +
">'" + v.toString() +
'\'';
98 return fieldName +
"<'" + v.toString() +
'\'';
100 return fieldName +
">='" + v.toString() +
'\'';
102 return fieldName +
"<='" + v.toString() +
'\'';
111 mDateTimeEdit->setEmpty();
119 mDateTimeEdit->setEnabled( enabled );
133 const QString str = u
"%1 = '%3'"_s
138void QgsDateTimeSearchWidgetWrapper::dateTimeChanged(
const QDateTime &dt )
142 const QString exp =
value().toString();
144 if ( dt.isValid() && !dt.isNull() )
161 mDateTimeEdit = qobject_cast<QgsDateTimeEdit *>( editor );
165 mDateTimeEdit->setAllowNull(
false );
168 mDateTimeEdit->setDisplayFormat( displayFormat );
170 const bool calendar =
config( u
"calendar_popup"_s,
false ).toBool();
171 mDateTimeEdit->setCalendarPopup( calendar );
172 if ( calendar && mDateTimeEdit->calendarWidget() )
175 QTextCharFormat todayFormat;
176 todayFormat.setBackground( QColor( 160, 180, 200 ) );
177 mDateTimeEdit->calendarWidget()->setDateTextFormat( QDate::currentDate(), todayFormat );
180 mDateTimeEdit->setEmpty();
182 connect( mDateTimeEdit, &QDateTimeEdit::dateTimeChanged,
this, &QgsDateTimeSearchWidgetWrapper::dateTimeChanged );
A QDateTimeEdit with the capability of setting/reading null date/times.
static QString quotedColumnRef(QString name)
Returns a quoted column reference (in double quotes).
QgsField at(int i) const
Returns the field at particular index (must be in range 0..N-1).
Represents a vector layer which manages a vector based dataset.