Changeset View
Changeset View
Standalone View
Standalone View
src/controls/private/GlobalDrawerActionItem.qml
Show All 39 Lines | 25 | BasicListItem { | |||
---|---|---|---|---|---|
40 | 40 | | |||
41 | label: width > height * 2 ? MnemonicData.richTextLabel : "" | 41 | label: width > height * 2 ? MnemonicData.richTextLabel : "" | ||
42 | 42 | | |||
43 | MnemonicData.enabled: listItem.enabled && listItem.visible | 43 | MnemonicData.enabled: listItem.enabled && listItem.visible | ||
44 | MnemonicData.controlType: MnemonicData.MenuItem | 44 | MnemonicData.controlType: MnemonicData.MenuItem | ||
45 | MnemonicData.label: modelData.text | 45 | MnemonicData.label: modelData.text | ||
46 | property ActionsMenu actionsMenu: ActionsMenu { | 46 | property ActionsMenu actionsMenu: ActionsMenu { | ||
47 | x: Qt.application.layoutDirection === Qt.RightToLeft ? -width : listItem.width | 47 | x: Qt.application.layoutDirection === Qt.RightToLeft ? -width : listItem.width | ||
48 | actions: modelData.children | 48 | actions: modelData.hasOwnProperty("children") ? modelData.children : null | ||
49 | submenuComponent: Component { | 49 | submenuComponent: Component { | ||
50 | ActionsMenu {} | 50 | ActionsMenu {} | ||
51 | } | 51 | } | ||
52 | onVisibleChanged: { | 52 | onVisibleChanged: { | ||
53 | if (visible) { | 53 | if (visible) { | ||
54 | stackView.openSubMenu = listItem.actionsMenu; | 54 | stackView.openSubMenu = listItem.actionsMenu; | ||
55 | } else if (stackView.openSubMenu === listItem.actionsMenu) { | 55 | } else if (stackView.openSubMenu === listItem.actionsMenu) { | ||
56 | stackView.openSubMenu = null; | 56 | stackView.openSubMenu = null; | ||
Show All 33 Lines | 85 | Icon { | |||
90 | isMask: true | 90 | isMask: true | ||
91 | Layout.alignment: Qt.AlignVCenter | 91 | Layout.alignment: Qt.AlignVCenter | ||
92 | Layout.rightMargin: !Settings.isMobile && mainFlickable.contentHeight > mainFlickable.height ? Units.gridUnit : 0 | 92 | Layout.rightMargin: !Settings.isMobile && mainFlickable.contentHeight > mainFlickable.height ? Units.gridUnit : 0 | ||
93 | Layout.leftMargin: !root.collapsed ? 0 : parent.width - listItem.width | 93 | Layout.leftMargin: !root.collapsed ? 0 : parent.width - listItem.width | ||
94 | Layout.preferredHeight: !root.collapsed ? Units.iconSizes.smallMedium : Units.iconSizes.small/2 | 94 | Layout.preferredHeight: !root.collapsed ? Units.iconSizes.smallMedium : Units.iconSizes.small/2 | ||
95 | selected: listItem.checked || listItem.pressed | 95 | selected: listItem.checked || listItem.pressed | ||
96 | Layout.preferredWidth: Layout.preferredHeight | 96 | Layout.preferredWidth: Layout.preferredHeight | ||
97 | source: (LayoutMirroring.enabled ? "go-next-symbolic-rtl" : "go-next-symbolic") | 97 | source: (LayoutMirroring.enabled ? "go-next-symbolic-rtl" : "go-next-symbolic") | ||
98 | visible: (!isExpandible || root.collapsed) && !listItem.isSeparator && modelData.children!==undefined && modelData.children.length > 0 | 98 | visible: (!isExpandible || root.collapsed) && !listItem.isSeparator && modelData.hasOwnProperty("children") && modelData.children!==undefined && modelData.children.length > 0 | ||
99 | } | 99 | } | ||
100 | data: [ | 100 | data: [ | ||
101 | QQC2.ToolTip { | 101 | QQC2.ToolTip { | ||
102 | visible: !listItem.isSeparator && (modelData.tooltip.length || root.collapsed) && (!actionsMenu || !actionsMenu.visible) && listItem.hovered && text.length > 0 | 102 | visible: !listItem.isSeparator && (modelData.hasOwnProperty("tooltip") && modelData.tooltip.length || root.collapsed) && (!actionsMenu || !actionsMenu.visible) && listItem.hovered && text.length > 0 | ||
103 | text: modelData.tooltip.length ? modelData.tooltip : modelData.text | 103 | text: modelData.hasOwnProperty("tooltip") && modelData.tooltip.length ? modelData.tooltip : modelData.text | ||
104 | delay: Units.toolTipDelay | 104 | delay: Units.toolTipDelay | ||
105 | timeout: 5000 | 105 | timeout: 5000 | ||
106 | y: listItem.height/2 - height/2 | 106 | y: listItem.height/2 - height/2 | ||
107 | x: Qt.application.layoutDirection === Qt.RightToLeft ? -width : listItem.width | 107 | x: Qt.application.layoutDirection === Qt.RightToLeft ? -width : listItem.width | ||
108 | } | 108 | } | ||
109 | ] | 109 | ] | ||
110 | 110 | | |||
111 | onHoveredChanged: { | 111 | onHoveredChanged: { | ||
Show All 12 Lines | 115 | if (stackView.openSubMenu) { | |||
124 | } | 124 | } | ||
125 | } | 125 | } | ||
126 | } | 126 | } | ||
127 | onClicked: { | 127 | onClicked: { | ||
128 | if (!supportsMouseEvents) { | 128 | if (!supportsMouseEvents) { | ||
129 | return; | 129 | return; | ||
130 | } | 130 | } | ||
131 | modelData.trigger(); | 131 | modelData.trigger(); | ||
132 | if (modelData.children!==undefined && modelData.children.length > 0) { | 132 | if (modelData.hasOwnProperty("children") && modelData.children!==undefined && modelData.children.length > 0) { | ||
133 | if (root.collapsed) { | 133 | if (root.collapsed) { | ||
134 | //fallbacks needed for Qt 5.9 | 134 | //fallbacks needed for Qt 5.9 | ||
135 | if ((!listItem.actionsMenu.hasOwnProperty("count") || listItem.actionsMenu.count>0) && !listItem.actionsMenu.visible) { | 135 | if ((!listItem.actionsMenu.hasOwnProperty("count") || listItem.actionsMenu.count>0) && !listItem.actionsMenu.visible) { | ||
136 | stackView.openSubMenu = listItem.actionsMenu; | 136 | stackView.openSubMenu = listItem.actionsMenu; | ||
137 | if (listItem.actionsMenu.hasOwnProperty("popup")) { | 137 | if (listItem.actionsMenu.hasOwnProperty("popup")) { | ||
138 | listItem.actionsMenu.popup(listItem, listItem.width, 0) | 138 | listItem.actionsMenu.popup(listItem, listItem.width, 0) | ||
139 | } else { | 139 | } else { | ||
140 | listItem.actionsMenu.visible = true; | 140 | listItem.actionsMenu.visible = true; | ||
Show All 11 Lines |