aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/imports/calendar/qquickcalendar.cpp2
-rw-r--r--src/imports/controls/SpinBox.qml2
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button-focused.pngbin1482 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button-normal.pngbin1257 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-button-pressed.pngbin1196 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-switch-disabled.pngbin2633 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-switch-focused.pngbin2532 -> 0 bytes
-rw-r--r--src/imports/controls/doc/images/qtquickcontrols2-switch-normal.pngbin2249 -> 0 bytes
-rw-r--r--src/imports/controls/material/SpinBox.qml2
-rw-r--r--src/imports/controls/universal/SpinBox.qml2
-rw-r--r--src/quicktemplates2/qquickdial.cpp14
-rw-r--r--src/quicktemplates2/qquickdial_p.h2
-rw-r--r--src/quicktemplates2/qquickstackview.cpp11
-rw-r--r--src/quicktemplates2/qquickswipedelegate.cpp15
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
deleted file mode 100644
index a487bd27..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-normal.png b/src/imports/controls/doc/images/qtquickcontrols2-button-normal.png
deleted file mode 100644
index 7e7e281b..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button-normal.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-button-pressed.png b/src/imports/controls/doc/images/qtquickcontrols2-button-pressed.png
deleted file mode 100644
index 2dff7764..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-button-pressed.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switch-disabled.png b/src/imports/controls/doc/images/qtquickcontrols2-switch-disabled.png
deleted file mode 100644
index 060d2b2a..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-switch-disabled.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switch-focused.png b/src/imports/controls/doc/images/qtquickcontrols2-switch-focused.png
deleted file mode 100644
index 2384f76a..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-switch-focused.png
+++ /dev/null
Binary files differ
diff --git a/src/imports/controls/doc/images/qtquickcontrols2-switch-normal.png b/src/imports/controls/doc/images/qtquickcontrols2-switch-normal.png
deleted file mode 100644
index 5f84f62a..00000000
--- a/src/imports/controls/doc/images/qtquickcontrols2-switch-normal.png
+++ /dev/null
Binary files differ
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 ||