10import QtQuick.Controls as QQC2
11import QtQuick.Templates as T
12import org.kde.kirigami as Kirigami
42 readonly
property alias actions: layout.actions
49 property bool flat:
true
65 property int display: QQC2.Button.TextBesideIcon
81 property alias alignment: layout.alignment
94 property int position: parent instanceof T.ToolBar ? parent.position : QQC2.ToolBar.Header
106 readonly
property alias maximumContentWidth: layout.implicitWidth
116 property string overflowIconName:
"overflow-menu"
122 readonly
property alias visibleWidth: layout.visibleWidth
141 property alias heightMode: layout.heightMode
144 implicitHeight: layout.implicitHeight
145 implicitWidth: layout.implicitWidth
147 Layout.minimumWidth: layout.minimumWidth
148 Layout.preferredWidth: 0
149 Layout.fillWidth:
true
156 contentItem: Kirigami.ToolBarLayout {
158 spacing: Kirigami.Units.smallSpacing
159 layoutDirection: root.mirrored ?
Qt.RightToLeft :
Qt.LeftToRight
161 fullDelegate: P.PrivateActionToolButton {
163 display: root.display
164 action: Kirigami.ToolBarLayout.action
167 iconDelegate: P.PrivateActionToolButton {
169 display: QQC2.Button.IconOnly
170 action: Kirigami.ToolBarLayout.action
175 if (action.displayComponent) {
179 if (action instanceof Kirigami.Action) {
180 return action.children;
187 moreButton: P.PrivateActionToolButton {
190 action: Kirigami.Action {
191 tooltip: qsTr(
"More Actions")
192 icon.name: root.overflowIconName
193 displayHint: Kirigami.DisplayHint.IconOnly | Kirigami.DisplayHint.HideChildIndicator
196 Accessible.name: action.tooltip
198 menuActions: root.actions
200 menuComponent: P.ActionsMenu {
201 submenuComponent: P.ActionsMenu {
205 value: layout.hiddenActions.includes(parentAction)
206 && (!(parentAction instanceof Kirigami.Action) || parentAction.visible)
207 restoreMode: Binding.RestoreBinding
211 itemDelegate: P.ActionMenuItem {
212 visible: layout.hiddenActions.includes(action)
213 && (!(action instanceof Kirigami.Action) || action.visible)
216 loaderDelegate: Loader {
217 property T.Action action
218 height: visible ? implicitHeight : 0
219 visible: layout.hiddenActions.includes(action)
220 && (!(action instanceof Kirigami.Action) || action.visible)
223 separatorDelegate: QQC2.MenuSeparator {
224 property T.Action action
225 visible: layout.hiddenActions.includes(action)
226 && (!(action instanceof Kirigami.Action) || action.visible)