summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2023-01-11 18:39:00 +0100
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2023-01-13 12:26:06 +0100
commit51272017a7a4ba29a1bd1af093422778d0c51a58 (patch)
tree6045f702d7c48371bc7e9eceacd7a4d01c62ed3f
parente3458aac6406e5b624cd54e28b5784fb09f07bc3 (diff)
QCalendarWidget: Add reset functions for minimum/maximumDate
QDateTimeEdit has such reset functions for the minimum/maximum range properties, this makes QCalendarWidget consistent with the simpler editors. Fixes: QTBUG-62448 Change-Id: Iabb89f599e4996f00488a885a5b8a009471838b3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
-rw-r--r--src/widgets/widgets/qcalendarwidget.cpp10
-rw-r--r--src/widgets/widgets/qcalendarwidget.h6
-rw-r--r--tests/auto/widgets/widgets/qcalendarwidget/tst_qcalendarwidget.cpp8
3 files changed, 22 insertions, 2 deletions
diff --git a/src/widgets/widgets/qcalendarwidget.cpp b/src/widgets/widgets/qcalendarwidget.cpp
index 987d25c721..3e03800229 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 c7b2854079..034c95dd62 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 31da429a8f..2fd9d1b48d 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();