diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-10-22 22:18:32 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-10-22 22:20:46 +0200 |
commit | d1990ff285a8a265fc41d193179ce8fb6746f7b3 (patch) | |
tree | d4e78a873de079a04d2b4d64d81e4a4af84b3ae7 /src | |
parent | 309170a7f97759aa3f2e25a6c5202a6438a8bf4f (diff) | |
parent | 53c4bc2d1004fe963759b4009508bbc3e3fbca3e (diff) |
Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: I9188f94e40e2ecb4da1963ce2fcf915ab7a4b4fb
Diffstat (limited to 'src')
-rw-r--r-- | src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-slider.qml | 8 | ||||
-rw-r--r-- | src/quicktemplates2/qquickcontainer.cpp | 40 | ||||
-rw-r--r-- | src/quicktemplates2/qquickcontainer_p.h | 2 | ||||
-rw-r--r-- | src/quicktemplates2/qquickcontainer_p_p.h | 1 | ||||
-rw-r--r-- | src/quicktemplates2/qquickdialogbuttonbox.cpp | 4 | ||||
-rw-r--r-- | src/quicktemplates2/qquicktooltip.cpp | 2 |
6 files changed, 40 insertions, 17 deletions
diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-slider.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-slider.qml index de872300..9e5d991a 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-slider.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-tooltip-slider.qml @@ -1,7 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2017 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ +** Contact: https://www.qt.io/licensing/ ** ** This file is part of the documentation of the Qt Toolkit. ** @@ -11,8 +11,8 @@ ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. ** ** GNU Free Documentation License Usage ** Alternatively, this file may be used under the terms of the GNU Free @@ -20,7 +20,7 @@ ** Foundation and appearing in the file included in the packaging of ** this file. Please review the following information to ensure ** the GNU Free Documentation License version 1.3 requirements -** will be met: http://www.gnu.org/copyleft/fdl.html. +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. ** $QT_END_LICENSE$ ** ****************************************************************************/ diff --git a/src/quicktemplates2/qquickcontainer.cpp b/src/quicktemplates2/qquickcontainer.cpp index a62de655..07fe04d2 100644 --- a/src/quicktemplates2/qquickcontainer.cpp +++ b/src/quicktemplates2/qquickcontainer.cpp @@ -324,6 +324,24 @@ void QQuickContainerPrivate::removeItem(int index, QQuickItem *item) updatingCurrent = false; } +void QQuickContainerPrivate::reorderItems() +{ + Q_Q(QQuickContainer); + if (!contentItem) + return; + + QList<QQuickItem *> siblings = effectiveContentItem(contentItem)->childItems(); + + int to = 0; + for (int i = 0; i < siblings.count(); ++i) { + QQuickItem* sibling = siblings.at(i); + if (QQuickItemPrivate::get(sibling)->isTransparentForPositioner()) + continue; + int index = contentModel->indexOf(sibling, nullptr); + q->moveItem(index, to++); + } +} + void QQuickContainerPrivate::_q_currentIndexChanged() { Q_Q(QQuickContainer); @@ -347,18 +365,11 @@ void QQuickContainerPrivate::itemParentChanged(QQuickItem *item, QQuickItem *par void QQuickContainerPrivate::itemSiblingOrderChanged(QQuickItem *) { - // reorder the restacked items (eg. by a Repeater) - Q_Q(QQuickContainer); - QList<QQuickItem *> siblings = effectiveContentItem(contentItem)->childItems(); + if (!componentComplete) + return; - int to = 0; - for (int i = 0; i < siblings.count(); ++i) { - QQuickItem* sibling = siblings.at(i); - if (QQuickItemPrivate::get(sibling)->isTransparentForPositioner()) - continue; - int index = contentModel->indexOf(sibling, nullptr); - q->moveItem(index, to++); - } + // reorder the restacked items (eg. by a Repeater) + reorderItems(); } void QQuickContainerPrivate::itemDestroyed(QQuickItem *item) @@ -737,6 +748,13 @@ QQuickItem *QQuickContainer::currentItem() const return itemAt(d->currentIndex); } +void QQuickContainer::componentComplete() +{ + Q_D(QQuickContainer); + QQuickControl::componentComplete(); + d->reorderItems(); +} + void QQuickContainer::itemChange(ItemChange change, const ItemChangeData &data) { Q_D(QQuickContainer); diff --git a/src/quicktemplates2/qquickcontainer_p.h b/src/quicktemplates2/qquickcontainer_p.h index 5ac585c2..d8773684 100644 --- a/src/quicktemplates2/qquickcontainer_p.h +++ b/src/quicktemplates2/qquickcontainer_p.h @@ -100,6 +100,8 @@ Q_SIGNALS: protected: QQuickContainer(QQuickContainerPrivate &dd, QQuickItem *parent); + void componentComplete() override; + void itemChange(ItemChange change, const ItemChangeData &data) override; void contentItemChange(QQuickItem *newItem, QQuickItem *oldItem) override; diff --git a/src/quicktemplates2/qquickcontainer_p_p.h b/src/quicktemplates2/qquickcontainer_p_p.h index 54fc5c60..7791b69c 100644 --- a/src/quicktemplates2/qquickcontainer_p_p.h +++ b/src/quicktemplates2/qquickcontainer_p_p.h @@ -74,6 +74,7 @@ public: void insertItem(int index, QQuickItem *item); void moveItem(int from, int to, QQuickItem *item); void removeItem(int index, QQuickItem *item); + void reorderItems(); void _q_currentIndexChanged(); diff --git a/src/quicktemplates2/qquickdialogbuttonbox.cpp b/src/quicktemplates2/qquickdialogbuttonbox.cpp index 7c2f17c4..45924139 100644 --- a/src/quicktemplates2/qquickdialogbuttonbox.cpp +++ b/src/quicktemplates2/qquickdialogbuttonbox.cpp @@ -238,8 +238,8 @@ void QQuickDialogButtonBoxPrivate::updateLayout() const int valign = alignment & Qt::AlignVertical_Mask; QVector<QQuickAbstractButton *> buttons; - const qreal maxItemWidth = (contentItem->width() - qMax(0, count - 1) * spacing) / count; - const qreal maxItemHeight = contentItem->height(); + const qreal maxItemWidth = ((contentItem ? contentItem->width() : q->availableWidth()) - qMax(0, count - 1) * spacing) / count; + const qreal maxItemHeight = contentItem ? contentItem->height() : q->availableHeight(); for (int i = 0; i < count; ++i) { QQuickItem *item = q->itemAt(i); diff --git a/src/quicktemplates2/qquicktooltip.cpp b/src/quicktemplates2/qquicktooltip.cpp index 1aeb9914..f0bc6ffc 100644 --- a/src/quicktemplates2/qquicktooltip.cpp +++ b/src/quicktemplates2/qquicktooltip.cpp @@ -36,6 +36,7 @@ #include "qquicktooltip_p.h" #include "qquickpopup_p_p.h" +#include "qquickpopupitem_p_p.h" #include "qquickcontrol_p_p.h" #include <QtCore/qbasictimer.h> @@ -172,6 +173,7 @@ QQuickToolTip::QQuickToolTip(QQuickItem *parent) Q_D(QQuickToolTip); d->allowVerticalFlip = true; d->allowHorizontalFlip = true; + d->popupItem->setHoverEnabled(false); // QTBUG-63644 } /*! |