8import QtQuick.Controls as QQC
9import org.kde.kirigami as Kirigami
11Kirigami.AbstractApplicationHeader {
14 property Item container
17 minimumHeight: pageRow ? pageRow.globalToolBar.minimumHeight : Kirigami.Units.iconSizes.medium + Kirigami.Units.smallSpacing * 2
18 maximumHeight: pageRow ? pageRow.globalToolBar.maximumHeight : minimumHeight
19 preferredHeight: pageRow ? pageRow.globalToolBar.preferredHeight : minimumHeight
21 separatorVisible: pageRow ? pageRow.globalToolBar.separatorVisible : true
23 Kirigami.Theme.colorSet: pageRow ? pageRow.globalToolBar.colorSet : Kirigami.Theme.Header
25 readonly property Item __stackPage: pageRow?.items.indexOf(page) > -1 ? pageRow.columnView.parent : page
28 property: "leftPadding"
30 when: __stackPage.QQC.StackView.status !== QQC.StackView.Deactivating
32 restoreMode: Binding.RestoreNone
35 return Kirigami.Units.smallSpacing
38 if (!pageRow.wideMode) {
39 return Math.max(pageRow.globalToolBar.leftReservedSpace, pageRow.globalToolBar.titleLeftPadding)
44 if (
Qt.application.layoutDirection ===
Qt.RightToLeft) {
45 displacement = (page.Kirigami.ScenePosition.x + page.width)
46 - (pageRow.Kirigami.ScenePosition.x + pageRow.width - pageRow.globalToolBar.leftReservedSpace)
48 displacement = pageRow.Kirigami.ScenePosition.x
49 - page.Kirigami.ScenePosition.x
50 + pageRow.globalToolBar.leftReservedSpace
53 return Math.max(pageRow.globalToolBar.titleLeftPadding,
54 Math.min(displacement,
55 pageRow.globalToolBar.leftReservedSpace))
64 if (!pageRow.wideMode) {
65 return pageRow.globalToolBar.rightReservedSpace
69 if (
Qt.application.layoutDirection ===
Qt.RightToLeft) {
70 displacement = pageRow.Kirigami.ScenePosition.x
71 - page.Kirigami.ScenePosition.x
72 + pageRow.globalToolBar.rightReservedSpace
74 displacement = -pageRow.width
75 - pageRow.Kirigami.ScenePosition.x
77 + page.Kirigami.ScenePosition.x
78 + pageRow.globalToolBar.rightReservedSpace
81 return Math.max(0, displacement)