diff --git a/src/widgets/widgets/qcalendarwidget.cpp b/src/widgets/widgets/qcalendarwidget.cpp index 987d25c7210..3e038002292 100644 --- a/src/widgets/widgets/qcalendarwidget.cpp +++ b/src/widgets/widgets/qcalendarwidget.cpp @@ -2513,6 +2513,11 @@ void QCalendarWidget::setMinimumDate(QDate date) } } +void QCalendarWidget::clearMinimumDate() +{ + setMinimumDate(QDate::fromJulianDay(1)); +} + /*! \property QCalendarWidget::maximumDate \brief the maximum date of the currently specified date range. @@ -2564,6 +2569,11 @@ void QCalendarWidget::setMaximumDate(QDate date) } } +void QCalendarWidget::clearMaximumDate() +{ + setMaximumDate(QDate(9999, 12, 31)); +} + /*! Defines a date range by setting the minimumDate and maximumDate properties. diff --git a/src/widgets/widgets/qcalendarwidget.h b/src/widgets/widgets/qcalendarwidget.h index c7b2854079e..034c95dd624 100644 --- a/src/widgets/widgets/qcalendarwidget.h +++ b/src/widgets/widgets/qcalendarwidget.h @@ -21,8 +21,8 @@ class Q_WIDGETS_EXPORT QCalendarWidget : public QWidget Q_OBJECT Q_ENUMS(Qt::DayOfWeek) Q_PROPERTY(QDate selectedDate READ selectedDate WRITE setSelectedDate) - Q_PROPERTY(QDate minimumDate READ minimumDate WRITE setMinimumDate) - Q_PROPERTY(QDate maximumDate READ maximumDate WRITE setMaximumDate) + Q_PROPERTY(QDate minimumDate READ minimumDate WRITE setMinimumDate RESET clearMinimumDate) + Q_PROPERTY(QDate maximumDate READ maximumDate WRITE setMaximumDate RESET clearMaximumDate) Q_PROPERTY(Qt::DayOfWeek firstDayOfWeek READ firstDayOfWeek WRITE setFirstDayOfWeek) Q_PROPERTY(bool gridVisible READ isGridVisible WRITE setGridVisible) Q_PROPERTY(SelectionMode selectionMode READ selectionMode WRITE setSelectionMode) @@ -68,9 +68,11 @@ public: QDate minimumDate() const; void setMinimumDate(QDate date); + void clearMinimumDate(); QDate maximumDate() const; void setMaximumDate(QDate date); + void clearMaximumDate(); Qt::DayOfWeek firstDayOfWeek() const; void setFirstDayOfWeek(Qt::DayOfWeek dayOfWeek); diff --git a/tests/auto/widgets/widgets/qcalendarwidget/tst_qcalendarwidget.cpp b/tests/auto/widgets/widgets/qcalendarwidget/tst_qcalendarwidget.cpp index 31da429a8ff..2fd9d1b48dc 100644 --- a/tests/auto/widgets/widgets/qcalendarwidget/tst_qcalendarwidget.cpp +++ b/tests/auto/widgets/widgets/qcalendarwidget/tst_qcalendarwidget.cpp @@ -110,11 +110,19 @@ void tst_QCalendarWidget::getSetCheck() object.setSelectedDate(selectedDate); QCOMPARE(minDate, object.selectedDate()); QVERIFY(selectedDate != object.selectedDate()); + object.clearMinimumDate(); + object.setSelectedDate(selectedDate); + QCOMPARE(selectedDate, object.selectedDate()); + //date should not go beyond the maximum. selectedDate = maxDate.addDays(10); object.setSelectedDate(selectedDate); QCOMPARE(maxDate, object.selectedDate()); QVERIFY(selectedDate != object.selectedDate()); + object.clearMaximumDate(); + object.setSelectedDate(selectedDate); + QCOMPARE(selectedDate, object.selectedDate()); + //show today QDate today = QDate::currentDate(); object.showToday();