summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-03-31 03:02:06 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2020-03-31 03:02:06 +0200
commita69544a7b444301c1d3f7956c89eb65ea0b3ab83 (patch)
tree979de669a8c29a92337c358f42fe29b36bc5c2b4
parent0f3d4118e607a6b8b4d1090489a2277f33019a05 (diff)
parente9ad3352df0815761c1fde8ea36b040e8431f360 (diff)
downloadqtquickcontrols-a69544a7b444301c1d3f7956c89eb65ea0b3ab83.tar.gz
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: Ie8fd52e91dd0ee6ba504095ba2aec0866046f6c3
-rw-r--r--src/controls/TreeView.qml8
-rw-r--r--src/controls/doc/src/qtquickcontrolsstyles-index.qdoc4
-rw-r--r--src/dialogs/qquickdialog.cpp2
-rw-r--r--src/extras/Styles/Flat/qquicktexthandle.cpp3
-rw-r--r--tests/auto/controls/data/tst_treeview.qml25
5 files changed, 39 insertions, 3 deletions
diff --git a/src/controls/TreeView.qml b/src/controls/TreeView.qml
index 6a38acff..2bedb9e6 100644
--- a/src/controls/TreeView.qml
+++ b/src/controls/TreeView.qml
@@ -49,7 +49,7 @@ BasicTableView {
property var model: null
property alias rootIndex: modelAdaptor.rootIndex
- readonly property var currentIndex: modelAdaptor.mapRowToModelIndex(__currentRow)
+ readonly property var currentIndex: modelAdaptor.updateCount, modelAdaptor.mapRowToModelIndex(__currentRow)
property ItemSelectionModel selection: null
signal activated(var index)
@@ -96,6 +96,12 @@ BasicTableView {
id: modelAdaptor
model: root.model
+ // Hack to force re-evaluation of the currentIndex binding
+ property int updateCount: 0
+ onModelReset: updateCount++
+ onRowsInserted: updateCount++
+ onRowsRemoved: updateCount++
+
onExpanded: root.expanded(index)
onCollapsed: root.collapsed(index)
}
diff --git a/src/controls/doc/src/qtquickcontrolsstyles-index.qdoc b/src/controls/doc/src/qtquickcontrolsstyles-index.qdoc
index 9333ee27..c86488fa 100644
--- a/src/controls/doc/src/qtquickcontrolsstyles-index.qdoc
+++ b/src/controls/doc/src/qtquickcontrolsstyles-index.qdoc
@@ -60,7 +60,7 @@
\title Qt Quick Controls 1 Styles
\brief The Qt Quick Controls Styles submodule provides custom styles for Qt Quick Controls.
- \deprecation-warning
+ \deprecationwarning
The Qt Quick Controls Styles submodule allows custom styling for \l {Qt Quick Controls 1}.
@@ -132,7 +132,7 @@
\ingroup qmlmodules
\brief Provides QML types for Qt Quick Controls styles.
- \deprecation-warning
+ \deprecationwarning
The \l{Qt Quick Controls 1} module provides a set of QML types for handling
styles.
diff --git a/src/dialogs/qquickdialog.cpp b/src/dialogs/qquickdialog.cpp
index 4ccc0f9d..eeb9cda8 100644
--- a/src/dialogs/qquickdialog.cpp
+++ b/src/dialogs/qquickdialog.cpp
@@ -56,6 +56,8 @@ QT_BEGIN_NAMESPACE
The purpose of Dialog is to wrap arbitrary content into a \e {dialog window}
including a row of platform-tailored buttons.
+ \note On Android, it is recommended to use \l {QQuickDialog}{Qt Quick Controls 2 Dialog}.
+
The \l contentItem is the default property (the only allowed child
element), and items declared inside the Dialog will actually be children of
another Item inside the \c contentItem. The row of \l standardButtons will
diff --git a/src/extras/Styles/Flat/qquicktexthandle.cpp b/src/extras/Styles/Flat/qquicktexthandle.cpp
index 60393e9e..41854292 100644
--- a/src/extras/Styles/Flat/qquicktexthandle.cpp
+++ b/src/extras/Styles/Flat/qquicktexthandle.cpp
@@ -38,6 +38,9 @@
****************************************************************************/
#include "qquicktexthandle.h"
+#include <QPainterPath>
+
+#include <QPainterPath>
#include <QtGui/qpainterpath.h>
diff --git a/tests/auto/controls/data/tst_treeview.qml b/tests/auto/controls/data/tst_treeview.qml
index 902d2178..324d9cff 100644
--- a/tests/auto/controls/data/tst_treeview.qml
+++ b/tests/auto/controls/data/tst_treeview.qml
@@ -848,5 +848,30 @@ Item {
mouseClick(tree, semiIndent + 50, 20 + 50, Qt.LeftButton)
verify(selectionModel.isSelected(parentItem))
}
+
+ function test_QTBUG_53097_currentIndex_on_model_reset()
+ {
+ var component = Qt.createComponent("treeview/treeview_1.qml")
+ compare(component.status, Component.Ready)
+ var tree = component.createObject(container);
+ verify(tree !== null, "tree created is null")
+ tree.headerVisible = false
+ var model = tree.model
+ waitForRendering(tree)
+
+ /* Select the first row */
+ verify(!tree.currentIndex.valid)
+ mouseClick(tree, semiIndent + 50, 20, Qt.LeftButton)
+ compare(tree.currentIndex.row, 0)
+
+ spy.clear()
+ spy.target = tree
+ spy.signalName = "currentIndexChanged"
+ compare(spy.count, 0)
+
+ /* delete the row: the currentIndex must be updated */
+ model.removeRows(0, 1)
+ compare(spy.count, 1)
+ }
}
}