27#include <qcalendarwidget.h>
29#include "moc_qgsdatetimesearchwidgetwrapper.cpp"
31using namespace Qt::StringLiterals;
53 const bool fieldIsoFormat =
config( u
"field_iso_format"_s,
false ).toBool();
57 return mDateTimeEdit->dateTime().toString( Qt::ISODate );
61 return mDateTimeEdit->dateTime().toString( fieldFormat );
82 return fieldName +
" IS NULL";
84 return fieldName +
" IS NOT NULL";
86 const QVariant v =
value();
91 return fieldName +
"='" + v.toString() +
'\'';
93 return fieldName +
"<>'" + v.toString() +
'\'';
95 return fieldName +
">'" + v.toString() +
'\'';
97 return fieldName +
"<'" + v.toString() +
'\'';
99 return fieldName +
">='" + v.toString() +
'\'';
101 return fieldName +
"<='" + v.toString() +
'\'';
110 mDateTimeEdit->setEmpty();
118 mDateTimeEdit->setEnabled( enabled );
136void QgsDateTimeSearchWidgetWrapper::dateTimeChanged(
const QDateTime &dt )
140 const QString exp =
value().toString();
142 if ( dt.isValid() && !dt.isNull() )
159 mDateTimeEdit = qobject_cast<QgsDateTimeEdit *>( editor );
163 mDateTimeEdit->setAllowNull(
false );
166 mDateTimeEdit->setDisplayFormat( displayFormat );
168 const bool calendar =
config( u
"calendar_popup"_s,
false ).toBool();
169 mDateTimeEdit->setCalendarPopup( calendar );
170 if ( calendar && mDateTimeEdit->calendarWidget() )
173 QTextCharFormat todayFormat;
174 todayFormat.setBackground( QColor( 160, 180, 200 ) );
175 mDateTimeEdit->calendarWidget()->setDateTextFormat( QDate::currentDate(), todayFormat );
178 mDateTimeEdit->setEmpty();
180 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.