aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-03-21 03:05:59 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-03-21 03:05:59 +0100
commit62c8ae30880886f3ed17ddc17713db1a7410964e (patch)
treed573dda83de51f6fd839395f526b6fb526fdec52
parent418cb72b9346ddb258cb1384fd6b95af143c2059 (diff)
parentac9d427cd22e9b0c820dafd68ab17cca930c841d (diff)
Merge remote-tracking branch 'origin/5.14' into 5.15
-rw-r--r--src/imports/calendar/doc/src/qtlabscalendar-qmltypes.qdoc4
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-index.qdoc4
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc4
-rw-r--r--src/imports/platform/doc/src/qtlabsplatform-qmltypes.qdoc4
-rw-r--r--src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc6
-rw-r--r--src/quicktemplates2/qquickpopup.cpp1
-rw-r--r--src/quicktemplates2/qquickpopuppositioner.cpp14
-rw-r--r--tests/auto/controls/data/tst_popup.qml17
8 files changed, 28 insertions, 26 deletions
diff --git a/src/imports/calendar/doc/src/qtlabscalendar-qmltypes.qdoc b/src/imports/calendar/doc/src/qtlabscalendar-qmltypes.qdoc
index 81abf52a..b63263a9 100644
--- a/src/imports/calendar/doc/src/qtlabscalendar-qmltypes.qdoc
+++ b/src/imports/calendar/doc/src/qtlabscalendar-qmltypes.qdoc
@@ -38,9 +38,9 @@
The QML types can be imported into your application using the
following import statement in your .qml file:
- \badcode
+ \qml
import Qt.labs.calendar 1.0
- \endcode
+ \endqml
\section1 QML Types
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc
index 395f3b36..ac306aaa 100644
--- a/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc
+++ b/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc
@@ -46,9 +46,9 @@
The \l{Qt Quick Controls QML Types}{QML types} can be imported into your
application using the following import statement in your \c {.qml} file:
- \code \QtMinorVersion
+ \qml \QtMinorVersion
import QtQuick.Controls 2.\1
- \endcode
+ \endqml
The \l{Qt Quick Controls C++ Classes}{C++ classes} can be included into
your application using the following include statement:
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc
index 360d2059..7fbc8c4d 100644
--- a/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc
+++ b/src/imports/controls/doc/src/qtquickcontrols2-qmltypes.qdoc
@@ -40,9 +40,9 @@
Qt Quick Controls QML types can be imported into your application
using the following import statement in your .qml file:
- \badcode \QtMinorVersion
+ \qml \QtMinorVersion
import QtQuick.Controls 2.\1
- \endcode
+ \endqml
\section1 QML Types
\generatelist {qmltypesbymodule QtQuick.Controls}
diff --git a/src/imports/platform/doc/src/qtlabsplatform-qmltypes.qdoc b/src/imports/platform/doc/src/qtlabsplatform-qmltypes.qdoc
index dec67b72..f1a4daf3 100644
--- a/src/imports/platform/doc/src/qtlabsplatform-qmltypes.qdoc
+++ b/src/imports/platform/doc/src/qtlabsplatform-qmltypes.qdoc
@@ -38,9 +38,9 @@
The QML types can be imported into your application using the
following import statement in your .qml file:
- \badcode
+ \qml
import Qt.labs.platform 1.1
- \endcode
+ \endqml
\section1 QML Types
diff --git a/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc b/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc
index f93d6a37..fb7809e4 100644
--- a/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc
+++ b/src/imports/templates/doc/src/qtquicktemplates2-qmltypes.qdoc
@@ -37,9 +37,9 @@
The QML types can be imported using the following import statement in your
\c .qml file:
- \badcode
- import QtQuick.Templates 2.12 as T
- \endcode
+ \qml \QtMinorVersion
+ import QtQuick.Templates 2.\1 as T
+ \endqml
For the sake of clarity, there is a one-to-one mapping between the types
provided by the \c QtQuick.Templates and \c QtQuick.Controls imports. For
diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp
index 7a7e00b1..b5a6e992 100644
--- a/src/quicktemplates2/qquickpopup.cpp
+++ b/src/quicktemplates2/qquickpopup.cpp
@@ -471,6 +471,7 @@ void QQuickPopupPrivate::finalizeEnterTransition()
if (focus)
popupItem->setFocus(true);
transitionState = NoTransition;
+ getPositioner()->reposition();
emit q->openedChanged();
emit q->opened();
}
diff --git a/src/quicktemplates2/qquickpopuppositioner.cpp b/src/quicktemplates2/qquickpopuppositioner.cpp
index ebd8ff29..dbe8ac1d 100644
--- a/src/quicktemplates2/qquickpopuppositioner.cpp
+++ b/src/quicktemplates2/qquickpopuppositioner.cpp
@@ -108,10 +108,11 @@ void QQuickPopupPositioner::reposition()
return;
}
- const qreal w = popupItem->width();
- const qreal h = popupItem->height();
- const qreal iw = popupItem->implicitWidth();
- const qreal ih = popupItem->implicitHeight();
+ const qreal scale = popupItem->scale();
+ const qreal w = popupItem->width() * scale;
+ const qreal h = popupItem->height() * scale;
+ const qreal iw = popupItem->implicitWidth() * scale;
+ const qreal ih = popupItem->implicitHeight() * scale;
bool widthAdjusted = false;
bool heightAdjusted = false;
@@ -257,10 +258,9 @@ void QQuickPopupPositioner::reposition()
}
if (!p->hasWidth && widthAdjusted && rect.width() > 0)
- popupItem->setWidth(rect.width());
+ popupItem->setWidth(rect.width() / scale);
if (!p->hasHeight && heightAdjusted && rect.height() > 0)
- popupItem->setHeight(rect.height());
-
+ popupItem->setHeight(rect.height() / scale);
m_positioning = false;
}
diff --git a/tests/auto/controls/data/tst_popup.qml b/tests/auto/controls/data/tst_popup.qml
index 27043d1c..71d6f2d7 100644
--- a/tests/auto/controls/data/tst_popup.qml
+++ b/tests/auto/controls/data/tst_popup.qml
@@ -326,6 +326,7 @@ TestCase {
var control = createTemporaryObject(popupControl, testCase, {visible: true, margins: 0})
verify(control)
+ control.scale = 1.0
control.width = control.implicitWidth = testCase.width + 10
control.height = control.implicitHeight = testCase.height + 10
@@ -1293,8 +1294,8 @@ TestCase {
// Center the popup in the window via the overlay.
control.anchors.centerIn = Qt.binding(function() { return control.parent; })
compare(centerInSpy.count, 1)
- compare(control.x, (overlay.width - control.width) / 2)
- compare(control.y, (overlay.height - control.height) / 2)
+ compare(control.x, (overlay.width - (control.width * control.scale)) / 2)
+ compare(control.y, (overlay.height - (control.width * control.scale)) / 2)
// Ensure that it warns when trying to set it to an item that's not its parent.
var anotherItem = createTemporaryObject(rect, applicationWindow.contentItem, { x: 100, y: 100, width: 50, height: 50 })
@@ -1317,14 +1318,14 @@ TestCase {
compare(control.parent, anotherItem)
compare(control.anchors.centerIn, anotherItem)
compare(centerInSpy.count, 4)
- compare(control.x, (anotherItem.width - control.width) / 2)
- compare(control.y, (anotherItem.height - control.height) / 2)
+ compare(control.x, (anotherItem.width - (control.width * control.scale)) / 2)
+ compare(control.y, (anotherItem.height - (control.height * control.scale)) / 2)
// Check that anchors.centerIn beats x and y coordinates as it does in QQuickItem.
control.x = 33;
control.y = 44;
- compare(control.x, (anotherItem.width - control.width) / 2)
- compare(control.y, (anotherItem.height - control.height) / 2)
+ compare(control.x, (anotherItem.width - (control.width * control.scale)) / 2)
+ compare(control.y, (anotherItem.height - (control.height * control.scale)) / 2)
// Check that the popup's x and y coordinates are restored when it's no longer centered.
control.anchors.centerIn = undefined
@@ -1335,8 +1336,8 @@ TestCase {
// Test centering in the overlay while having a different parent (anotherItem).
control.anchors.centerIn = overlay
compare(centerInSpy.count, 6)
- compare(control.x, (overlay.width - control.width) / 2)
- compare(control.y, (overlay.height - control.height) / 2)
+ compare(control.x, (overlay.width - (control.width * control.scale)) / 2)
+ compare(control.y, (overlay.height - (control.height * control.scale)) / 2)
// TODO: do this properly by creating a component or something
applicationWindow.visible = false