diff --git a/autotests/pagepool/tst_layers.qml b/autotests/pagepool/tst_layers.qml index 3b97ee077c08263d45ae794878b95892626a37f0..fd602958c35943c143928a0bb0bd392e8b1af01e 100644 --- a/autotests/pagepool/tst_layers.qml +++ b/autotests/pagepool/tst_layers.qml @@ -57,6 +57,10 @@ TestCase { for (var spy of [stackSpy, layerSpy, checkSpy_A, checkSpy_B, checkSpy_C, checkSpy_D, checkSpy_E]) { spy.clear() } + + // Give mainWindow a bit of room to breathe so it can process item + // deletion and other delayed signals. + wait(10) } ActionGroup { diff --git a/src/controls/OverlayDrawer.qml b/src/controls/OverlayDrawer.qml index df04e3816890a6779fe00239a4e42ab6405a28dd..2da4be85c54a933ff86403faa4452366f7abd71e 100644 --- a/src/controls/OverlayDrawer.qml +++ b/src/controls/OverlayDrawer.qml @@ -81,6 +81,8 @@ T.OverlayDrawer { Theme.backgroundColor: handleGraphics.Theme.backgroundColor Theme.textColor: handleGraphics.Theme.textColor + asynchronous: true + source: { var edge = root.edge; if (Qt.application.layoutDirection == Qt.RightToLeft) { diff --git a/src/controls/Page.qml b/src/controls/Page.qml index 105b5d828bf112d2216c154ca0ff9bea32e6f4bb..229b840adabac482e99994c865845eb706bc626d 100644 --- a/src/controls/Page.qml +++ b/src/controls/Page.qml @@ -382,6 +382,7 @@ QQC2.Page { property T2.StackView stack visible: active + asynchronous: true active: (root.titleDelegate !== defaultTitleDelegate || root.globalToolBarStyle === Kirigami.ApplicationHeaderStyle.ToolBar || root.globalToolBarStyle === Kirigami.ApplicationHeaderStyle.Titles) onActiveChanged: { if (active) { @@ -429,6 +430,8 @@ QQC2.Page { property Item page: root height: item ? item.implicitHeight : 0 + asynchronous: true + property bool pageComplete: false active: { diff --git a/src/controls/PageRow.qml b/src/controls/PageRow.qml index 9468a21a4b3bbad9ed34da882cbf15ea7dbd639d..3455bcbd7049ef0911a391284d7496d7e02a3bc2 100644 --- a/src/controls/PageRow.qml +++ b/src/controls/PageRow.qml @@ -765,6 +765,7 @@ T.Control { active: globalToolBar.actualStyle != ApplicationHeaderStyle.None || (firstVisibleItem && firstVisibleItem.globalToolBarStyle == ApplicationHeaderStyle.ToolBar) visible: active height: active ? implicitHeight : 0 + asynchronous: true source: Qt.resolvedUrl("private/globaltoolbar/PageRowGlobalToolBarUI.qml"); } diff --git a/src/controls/private/globaltoolbar/PageRowGlobalToolBarUI.qml b/src/controls/private/globaltoolbar/PageRowGlobalToolBarUI.qml index 3ddf19dbd256113099a9916f784453989b67658c..8dbe246586d5f482e8346d71110657e0c6087340 100644 --- a/src/controls/private/globaltoolbar/PageRowGlobalToolBarUI.qml +++ b/src/controls/private/globaltoolbar/PageRowGlobalToolBarUI.qml @@ -109,6 +109,8 @@ Kirigami.AbstractApplicationHeader { opacity: layerIsMainRow && active enabled: opacity > 0 + asynchronous: true + active: (globalToolBar.actualStyle == Kirigami.ApplicationHeaderStyle.TabBar || globalToolBar.actualStyle == Kirigami.ApplicationHeaderStyle.Breadcrumb) && currentItem && currentItem.globalToolBarStyle != Kirigami.ApplicationHeaderStyle.None //TODO: different implementation? diff --git a/src/controls/private/globaltoolbar/TitlesPageHeader.qml b/src/controls/private/globaltoolbar/TitlesPageHeader.qml index a7110266dc457ea8f7660c1a0b6f62a7c18775e6..d822676ebc81ffbf3fb4767bf1f0db5bef3ca647 100644 --- a/src/controls/private/globaltoolbar/TitlesPageHeader.qml +++ b/src/controls/private/globaltoolbar/TitlesPageHeader.qml @@ -26,6 +26,8 @@ AbstractPageHeader { ? (item.Layout.preferredHeight > 0 ? item.Layout.preferredHeight : item.implicitHeight) : 0) + asynchronous: true + sourceComponent: page ? page.titleDelegate : null } } diff --git a/src/controls/private/globaltoolbar/ToolBarPageHeader.qml b/src/controls/private/globaltoolbar/ToolBarPageHeader.qml index 47e475b8626e7f01bf8120cd05088de265c2d308..41373348e60cc8c4c2d70378e9d4babb5d785551 100644 --- a/src/controls/private/globaltoolbar/ToolBarPageHeader.qml +++ b/src/controls/private/globaltoolbar/ToolBarPageHeader.qml @@ -41,6 +41,8 @@ AbstractPageHeader { Layout.preferredWidth: item ? item.Layout.preferredWidth : undefined Layout.maximumWidth: item ? item.Layout.maximumWidth : undefined + asynchronous: true + sourceComponent: page ? page.titleDelegate : null } diff --git a/src/controls/templates/ApplicationHeader.qml b/src/controls/templates/ApplicationHeader.qml index 6935652e283e77d410ed8b32eb377319df518089..3aa54063380cc4b5df613a290244c0f64ea64a68 100644 --- a/src/controls/templates/ApplicationHeader.qml +++ b/src/controls/templates/ApplicationHeader.qml @@ -197,6 +197,7 @@ AbstractApplicationHeader { Repeater { model: pageRow.layers.depth -1 delegate: Loader { + asynchronous: true sourceComponent: header.pageDelegate readonly property Page page: pageRow.layers.get(modelData+1) readonly property bool current: true; diff --git a/src/controls/templates/SwipeListItem.qml b/src/controls/templates/SwipeListItem.qml index e1a400c5f1f2359ada0752ed99686c7792083feb..9b0b0d1f972e1483cec1ba83a31680a148349e45 100644 --- a/src/controls/templates/SwipeListItem.qml +++ b/src/controls/templates/SwipeListItem.qml @@ -220,6 +220,7 @@ T2.SwipeDelegate { width: item ? item.implicitWidth : actionsLayout.implicitWidth active: !listItem.alwaysVisibleActions && Kirigami.Settings.tabletMode visible: listItem.actionsVisible && opacity > 0 + asynchronous: true sourceComponent: handleComponent opacity: listItem.alwaysVisibleActions || Kirigami.Settings.tabletMode || listItem.hovered || !listItem.supportsMouseEvents ? 1 : 0 Behavior on opacity {