Document how keyboard tracking can prevent use of a date/time editor
This follows up on commit 580e9eedf783ccbdcb67baa3d1a9dcdd53922f86; if the allowed range is narrower than some time interval whose end it straddles, users can only access the later part of the range if keyboard tracking is disabled. Pick-to: 5.15 Task-number: QTBUG-65 Change-Id: Ie8882bd65bda603133abaa82ad83eb1cdd91f175 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
This commit is contained in:
parent
8f53d66e3e
commit
d5ef011b73
@ -104,6 +104,23 @@ QT_BEGIN_NAMESPACE
|
|||||||
calendar pop-up by calling the setCalendarWidget() function. The existing
|
calendar pop-up by calling the setCalendarWidget() function. The existing
|
||||||
calendar widget can be retrieved with calendarWidget().
|
calendar widget can be retrieved with calendarWidget().
|
||||||
|
|
||||||
|
\section1 Keyboard Tracking
|
||||||
|
|
||||||
|
When \l{QAbstractSpinBox::keyboardTracking}{keyboard tracking} is enabled
|
||||||
|
(the default), every keystroke of editing a field triggers signals for value
|
||||||
|
changes.
|
||||||
|
|
||||||
|
When the allowed \l{QDateTimeEdit::setDateTimeRange}{range} is narrower than
|
||||||
|
some time interval whose end it straddles, keyboard tracking prevents the
|
||||||
|
user editing the date or time to access the later part of the interval. For
|
||||||
|
example, for a range from 29.04.2020 to 02.05.2020 and an initial date of
|
||||||
|
30.04.2020, the user can change neither the month (May 30th is outside the
|
||||||
|
range) nor the day (April 2nd is outside the range).
|
||||||
|
|
||||||
|
When keyboard tracking is disabled, changes are only signalled when focus
|
||||||
|
leaves the text field after edits have modified the content. This allows the
|
||||||
|
user to edit via an invalid date-time to reach a valid one.
|
||||||
|
|
||||||
\sa QDateEdit, QTimeEdit, QDate, QTime
|
\sa QDateEdit, QTimeEdit, QDate, QTime
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -128,6 +145,8 @@ QT_BEGIN_NAMESPACE
|
|||||||
|
|
||||||
This signal is emitted whenever the date or time is changed. The
|
This signal is emitted whenever the date or time is changed. The
|
||||||
new date and time is passed in \a datetime.
|
new date and time is passed in \a datetime.
|
||||||
|
|
||||||
|
\sa {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -135,6 +154,8 @@ QT_BEGIN_NAMESPACE
|
|||||||
|
|
||||||
This signal is emitted whenever the time is changed. The new time
|
This signal is emitted whenever the time is changed. The new time
|
||||||
is passed in \a time.
|
is passed in \a time.
|
||||||
|
|
||||||
|
\sa {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -142,6 +163,8 @@ QT_BEGIN_NAMESPACE
|
|||||||
|
|
||||||
This signal is emitted whenever the date is changed. The new date
|
This signal is emitted whenever the date is changed. The new date
|
||||||
is passed in \a date.
|
is passed in \a date.
|
||||||
|
|
||||||
|
\sa {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -352,7 +375,8 @@ void QDateTimeEdit::setCalendar(QCalendar calendar)
|
|||||||
property's default is the start of September 14, 1752 CE. This default can be
|
property's default is the start of September 14, 1752 CE. This default can be
|
||||||
restored with clearMinimumDateTime().
|
restored with clearMinimumDateTime().
|
||||||
|
|
||||||
\sa maximumDateTime, minimumTime, minimumDate, setDateTimeRange(), QDateTime::isValid()
|
\sa maximumDateTime, minimumTime, minimumDate, setDateTimeRange(),
|
||||||
|
QDateTime::isValid(), {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QDateTime QDateTimeEdit::minimumDateTime() const
|
QDateTime QDateTimeEdit::minimumDateTime() const
|
||||||
@ -393,7 +417,8 @@ void QDateTimeEdit::setMinimumDateTime(const QDateTime &dt)
|
|||||||
default for this property. This default can be restored with
|
default for this property. This default can be restored with
|
||||||
clearMaximumDateTime().
|
clearMaximumDateTime().
|
||||||
|
|
||||||
\sa minimumDateTime, maximumTime, maximumDate(), setDateTimeRange(), QDateTime::isValid()
|
\sa minimumDateTime, maximumTime, maximumDate(), setDateTimeRange(),
|
||||||
|
QDateTime::isValid(), {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QDateTime QDateTimeEdit::maximumDateTime() const
|
QDateTime QDateTimeEdit::maximumDateTime() const
|
||||||
@ -433,7 +458,12 @@ void QDateTimeEdit::setMaximumDateTime(const QDateTime &dt)
|
|||||||
If either \a min or \a max is invalid, this function does nothing. If \a max
|
If either \a min or \a max is invalid, this function does nothing. If \a max
|
||||||
is less than \a min, \a min is used also as \a max.
|
is less than \a min, \a min is used also as \a max.
|
||||||
|
|
||||||
\sa minimumDateTime, maximumDateTime, setDateRange(), setTimeRange(), QDateTime::isValid()
|
If the range is narrower then a time interval whose end it spans, for example
|
||||||
|
a week that spans the end of a month, users can only edit the date-time to one
|
||||||
|
in the later part of the range if keyboard-tracking is disabled.
|
||||||
|
|
||||||
|
\sa minimumDateTime, maximumDateTime, setDateRange(), setTimeRange(),
|
||||||
|
QDateTime::isValid(), {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void QDateTimeEdit::setDateTimeRange(const QDateTime &min, const QDateTime &max)
|
void QDateTimeEdit::setDateTimeRange(const QDateTime &min, const QDateTime &max)
|
||||||
@ -463,7 +493,8 @@ void QDateTimeEdit::setDateTimeRange(const QDateTime &min, const QDateTime &max)
|
|||||||
default for this property is September 14, 1752 CE. This default can be
|
default for this property is September 14, 1752 CE. This default can be
|
||||||
restored with clearMinimumDateTime().
|
restored with clearMinimumDateTime().
|
||||||
|
|
||||||
\sa maximumDate, minimumTime, minimumDateTime, setDateRange(), QDate::isValid()
|
\sa maximumDate, minimumTime, minimumDateTime, setDateRange(),
|
||||||
|
QDate::isValid(), {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QDate QDateTimeEdit::minimumDate() const
|
QDate QDateTimeEdit::minimumDate() const
|
||||||
@ -503,7 +534,8 @@ void QDateTimeEdit::clearMinimumDate()
|
|||||||
default for this property. This default can be restored with
|
default for this property. This default can be restored with
|
||||||
clearMaximumDateTime().
|
clearMaximumDateTime().
|
||||||
|
|
||||||
\sa minimumDate, maximumTime, maximumDateTime, setDateRange(), QDate::isValid()
|
\sa minimumDate, maximumTime, maximumDateTime, setDateRange(),
|
||||||
|
QDate::isValid(), {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QDate QDateTimeEdit::maximumDate() const
|
QDate QDateTimeEdit::maximumDate() const
|
||||||
@ -540,7 +572,8 @@ void QDateTimeEdit::clearMaximumDate()
|
|||||||
contains a time of 00:00:00 and 0 milliseconds. This default can be restored
|
contains a time of 00:00:00 and 0 milliseconds. This default can be restored
|
||||||
with clearMinimumTime().
|
with clearMinimumTime().
|
||||||
|
|
||||||
\sa maximumTime, minimumDate, minimumDateTime, setTimeRange(), QTime::isValid()
|
\sa maximumTime, minimumDate, minimumDateTime, setTimeRange(),
|
||||||
|
QTime::isValid(), {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
QTime QDateTimeEdit::minimumTime() const
|
QTime QDateTimeEdit::minimumTime() const
|
||||||
@ -579,7 +612,8 @@ void QDateTimeEdit::clearMinimumTime()
|
|||||||
contains a time of 23:59:59 and 999 milliseconds. This default can be restored
|
contains a time of 23:59:59 and 999 milliseconds. This default can be restored
|
||||||
with clearMaximumTime().
|
with clearMaximumTime().
|
||||||
|
|
||||||
\sa minimumTime, maximumDate, maximumDateTime, setTimeRange(), QTime::isValid()
|
\sa minimumTime, maximumDate, maximumDateTime, setTimeRange(),
|
||||||
|
QTime::isValid(), {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
QTime QDateTimeEdit::maximumTime() const
|
QTime QDateTimeEdit::maximumTime() const
|
||||||
{
|
{
|
||||||
@ -620,7 +654,11 @@ void QDateTimeEdit::clearMaximumTime()
|
|||||||
minimumTime property, the \l maximumTime property is set to the \l minimumTime
|
minimumTime property, the \l maximumTime property is set to the \l minimumTime
|
||||||
property. Otherwise, this preserves the \l maximumTime property.
|
property. Otherwise, this preserves the \l maximumTime property.
|
||||||
|
|
||||||
\sa minimumDate, maximumDate, setDateTimeRange(), QDate::isValid()
|
If the range is narrower then a time interval whose end it spans, for example
|
||||||
|
a week that spans the end of a month, users can only edit the date to one in
|
||||||
|
the later part of the range if keyboard-tracking is disabled.
|
||||||
|
|
||||||
|
\sa minimumDate, maximumDate, setDateTimeRange(), QDate::isValid(), {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void QDateTimeEdit::setDateRange(QDate min, QDate max)
|
void QDateTimeEdit::setDateRange(QDate min, QDate max)
|
||||||
@ -654,7 +692,12 @@ void QDateTimeEdit::setDateRange(QDate min, QDate max)
|
|||||||
function preserves the \l minimumDate and \l maximumDate properties. If those
|
function preserves the \l minimumDate and \l maximumDate properties. If those
|
||||||
properties coincide and \a max is less than \a min, \a min is used as \a max.
|
properties coincide and \a max is less than \a min, \a min is used as \a max.
|
||||||
|
|
||||||
\sa minimumTime, maximumTime, setDateTimeRange(), QTime::isValid()
|
If the range is narrower then a time interval whose end it spans, for example
|
||||||
|
the interval from ten to an hour to ten past the same hour, users can only
|
||||||
|
edit the time to one in the later part of the range if keyboard-tracking is
|
||||||
|
disabled.
|
||||||
|
|
||||||
|
\sa minimumTime, maximumTime, setDateTimeRange(), QTime::isValid(), {Keyboard Tracking}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void QDateTimeEdit::setTimeRange(QTime min, QTime max)
|
void QDateTimeEdit::setTimeRange(QTime min, QTime max)
|
||||||
|
Loading…
Reference in New Issue
Block a user