diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/imports/calendar/qquickcalendar.cpp | 2 | ||||
-rw-r--r-- | src/imports/controls/SpinBox.qml | 2 | ||||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-button-focused.png | bin | 1482 -> 0 bytes | |||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-button-normal.png | bin | 1257 -> 0 bytes | |||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-button-pressed.png | bin | 1196 -> 0 bytes | |||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-switch-disabled.png | bin | 2633 -> 0 bytes | |||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-switch-focused.png | bin | 2532 -> 0 bytes | |||
-rw-r--r-- | src/imports/controls/doc/images/qtquickcontrols2-switch-normal.png | bin | 2249 -> 0 bytes | |||
-rw-r--r-- | src/imports/controls/material/SpinBox.qml | 2 | ||||
-rw-r--r-- | src/imports/controls/universal/SpinBox.qml | 2 | ||||
-rw-r--r-- | src/quicktemplates2/qquickdial.cpp | 14 | ||||
-rw-r--r-- | src/quicktemplates2/qquickdial_p.h | 2 | ||||
-rw-r--r-- | src/quicktemplates2/qquickstackview.cpp | 11 | ||||
-rw-r--r-- | src/quicktemplates2/qquickswipedelegate.cpp | 15 |
14 files changed, 46 insertions, 4 deletions
diff --git a/src/imports/calendar/qquickcalendar.cpp b/src/imports/calendar/qquickcalendar.cpp index b64759f2..cb543012 100644 --- a/src/imports/calendar/qquickcalendar.cpp +++ b/src/imports/calendar/qquickcalendar.cpp @@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE The Qt Labs Calendar module uses 0-based month numbers to be consistent with the JavaScript Date type, that is used by the QML language. This means that \c Date::getMonth() can be assigned to MonthGrid::month and - WeekNumberColumn::month as is. When dealing with dealing with month numbers + WeekNumberColumn::month as is. When dealing with month numbers directly, it is highly recommended to use the following enumeration values to avoid confusion. diff --git a/src/imports/controls/SpinBox.qml b/src/imports/controls/SpinBox.qml index 6a564d6e..fd81337d 100644 --- a/src/imports/controls/SpinBox.qml +++ b/src/imports/controls/SpinBox.qml @@ -76,7 +76,7 @@ T.SpinBox { readOnly: !control.editable validator: control.validator - inputMethodHints: Qt.ImhFormattedNumbersOnly + inputMethodHints: Qt.ImhDigitsOnly Rectangle { x: -6 - (down.indicator ? 1 : 0) diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-focused.png b/src/imports/controls/doc/images/qtquickcontrols2-button-focused.png Binary files differdeleted file mode 100644 index a487bd27..00000000 --- a/src/imports/controls/doc/images/qtquickcontrols2-button-focused.png +++ /dev/null diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-normal.png b/src/imports/controls/doc/images/qtquickcontrols2-button-normal.png Binary files differdeleted file mode 100644 index 7e7e281b..00000000 --- a/src/imports/controls/doc/images/qtquickcontrols2-button-normal.png +++ /dev/null diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-pressed.png b/src/imports/controls/doc/images/qtquickcontrols2-button-pressed.png Binary files differdeleted file mode 100644 index 2dff7764..00000000 --- a/src/imports/controls/doc/images/qtquickcontrols2-button-pressed.png +++ /dev/null diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switch-disabled.png b/src/imports/controls/doc/images/qtquickcontrols2-switch-disabled.png Binary files differdeleted file mode 100644 index 060d2b2a..00000000 --- a/src/imports/controls/doc/images/qtquickcontrols2-switch-disabled.png +++ /dev/null diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switch-focused.png b/src/imports/controls/doc/images/qtquickcontrols2-switch-focused.png Binary files differdeleted file mode 100644 index 2384f76a..00000000 --- a/src/imports/controls/doc/images/qtquickcontrols2-switch-focused.png +++ /dev/null diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switch-normal.png b/src/imports/controls/doc/images/qtquickcontrols2-switch-normal.png Binary files differdeleted file mode 100644 index 5f84f62a..00000000 --- a/src/imports/controls/doc/images/qtquickcontrols2-switch-normal.png +++ /dev/null diff --git a/src/imports/controls/material/SpinBox.qml b/src/imports/controls/material/SpinBox.qml index 6881fc23..110032be 100644 --- a/src/imports/controls/material/SpinBox.qml +++ b/src/imports/controls/material/SpinBox.qml @@ -101,7 +101,7 @@ T.SpinBox { readOnly: !control.editable validator: control.validator - inputMethodHints: Qt.ImhFormattedNumbersOnly + inputMethodHints: Qt.ImhDigitsOnly } up.indicator: Item { diff --git a/src/imports/controls/universal/SpinBox.qml b/src/imports/controls/universal/SpinBox.qml index 57120a7b..40060038 100644 --- a/src/imports/controls/universal/SpinBox.qml +++ b/src/imports/controls/universal/SpinBox.qml @@ -79,7 +79,7 @@ T.SpinBox { readOnly: !control.editable validator: control.validator - inputMethodHints: Qt.ImhFormattedNumbersOnly + inputMethodHints: Qt.ImhDigitsOnly } up.indicator: Item { diff --git a/src/quicktemplates2/qquickdial.cpp b/src/quicktemplates2/qquickdial.cpp index 79aff781..2b9f83a4 100644 --- a/src/quicktemplates2/qquickdial.cpp +++ b/src/quicktemplates2/qquickdial.cpp @@ -606,6 +606,20 @@ void QQuickDial::mouseUngrabEvent() setPressed(false); } +void QQuickDial::wheelEvent(QWheelEvent *event) +{ + Q_D(QQuickDial); + QQuickControl::wheelEvent(event); + if (d->wheelEnabled) { + const qreal oldValue = d->value; + const QPointF angle = event->angleDelta(); + const qreal delta = (qFuzzyIsNull(angle.y()) ? angle.x() : angle.y()) / QWheelEvent::DefaultDeltasPerStep; + const qreal step = qFuzzyIsNull(d->stepSize) ? 0.1 : d->stepSize; + setValue(oldValue + step * delta); + event->setAccepted(!qFuzzyCompare(d->value, oldValue)); + } +} + void QQuickDial::mirrorChange() { QQuickControl::mirrorChange(); diff --git a/src/quicktemplates2/qquickdial_p.h b/src/quicktemplates2/qquickdial_p.h index 2d87d6d9..291a6ac2 100644 --- a/src/quicktemplates2/qquickdial_p.h +++ b/src/quicktemplates2/qquickdial_p.h @@ -132,6 +132,8 @@ protected: void mouseMoveEvent(QMouseEvent *event) override; void mouseReleaseEvent(QMouseEvent *event) override; void mouseUngrabEvent() override; + void wheelEvent(QWheelEvent *event) override; + void mirrorChange() override; void componentComplete() override; diff --git a/src/quicktemplates2/qquickstackview.cpp b/src/quicktemplates2/qquickstackview.cpp index d16d7b16..07c471b5 100644 --- a/src/quicktemplates2/qquickstackview.cpp +++ b/src/quicktemplates2/qquickstackview.cpp @@ -464,6 +464,8 @@ QQuickItem *QQuickStackView::find(const QJSValue &callback, LoadBehavior behavio \value StackView.ReplaceTransition An operation with replace transitions (since QtQuick.Controls 2.1). \value StackView.PopTransition An operation with pop transitions (since QtQuick.Controls 2.1). + \note Items that already exist in the stack are not pushed. + \sa initialItem, {Pushing Items} */ void QQuickStackView::push(QQmlV4Function *args) @@ -484,6 +486,15 @@ void QQuickStackView::push(QQmlV4Function *args) operation = static_cast<Operation>(lastArg->toInt32()); QList<QQuickStackElement *> elements = d->parseElements(args); + // Remove any items that are already in the stack, as they can't be in two places at once. + for (int i = 0; i < elements.size(); ) { + QQuickStackElement *element = elements.at(i); + if (element->item && d->findElement(element->item)) + elements.removeAt(i); + else + ++i; + } + if (elements.isEmpty()) { qmlInfo(this) << "push: nothing to push"; args->setReturnValue(QV4::Encode::null()); diff --git a/src/quicktemplates2/qquickswipedelegate.cpp b/src/quicktemplates2/qquickswipedelegate.cpp index 5430a4de..d4688867 100644 --- a/src/quicktemplates2/qquickswipedelegate.cpp +++ b/src/quicktemplates2/qquickswipedelegate.cpp @@ -737,6 +737,21 @@ bool QQuickSwipeDelegatePrivate::handleMouseReleaseEvent(QQuickItem *item, QMous const bool hadGrabbedMouse = q->keepMouseGrab(); q->setKeepMouseGrab(false); + // Animations for the background and contentItem delegates are typically + // only enabled when !control.down, so that the animations aren't running + // when the user is swiping. To ensure that the animations are enabled + // *before* the positions of these delegates change (via the swipe.setPosition() calls below), + // we must cancel the press. QQuickAbstractButton::mouseUngrabEvent() does this + // for us, but by then it's too late. + if (hadGrabbedMouse) { + // TODO: this is copied from QQuickAbstractButton::mouseUngrabEvent(). + // Eventually it should be moved into a private helper so that we don't have to duplicate it. + q->setPressed(false); + stopPressRepeat(); + stopPressAndHold(); + emit q->canceled(); + } + // The control can be exposed by either swiping past the halfway mark, or swiping fast enough. const qreal swipeVelocity = swipePrivate->velocityCalculator.velocity().x(); if (swipePrivate->position > 0.5 || |