Skip to content

Commit 93a8025

Browse files
authored
Merge pull request #4842 from mj10777/master3.qgsdatetimeedit
changes to QgsDateTimeEdit to support the minimal Date supported by Q…
2 parents 64575b3 + 6434d8d commit 93a8025

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/gui/editorwidgets/qgsdatetimeedit.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ QgsDateTimeEdit::QgsDateTimeEdit( QWidget *parent )
5252

5353
// init with current time so mIsNull is properly initialized
5454
QDateTimeEdit::setDateTime( QDateTime::currentDateTime() );
55+
setMinimumEditDateTime();
5556
}
5657

5758
void QgsDateTimeEdit::setAllowNull( bool allowNull )

src/gui/editorwidgets/qgsdatetimeedit.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,21 @@ class GUI_EXPORT QgsDateTimeEdit : public QDateTimeEdit
8282
QLineEdit *mNullLabel = nullptr;
8383
QToolButton *mClearButton = nullptr;
8484

85+
/** Set the lowest Date that can be displayed with the Qt::ISODate format
86+
* - uses QDateTimeEdit::setMinimumDateTime (since Qt 4.4)
87+
* \note
88+
* - QDate and QDateTime does not support minus years for the Qt::ISODate format
89+
* -> returns empty (toString) or invalid (fromString) values
90+
* - QDateTimeEdit::setMinimumDateTime does not support dates < '0100-01-01'
91+
* -> it is not for us to wonder why [defined in qdatetimeparser_p.h]
92+
* \since QGIS 3.0
93+
* \note not available in Python bindings
94+
*/
95+
void setMinimumEditDateTime()
96+
{
97+
setMinimumDateTime( QDateTime::fromString( "0100-01-01", Qt::ISODate ) );
98+
}
99+
85100
};
86101

87102
#endif // QGSDATETIMEEDIT_H

0 commit comments

Comments
 (0)