Changeset View
Changeset View
Standalone View
Standalone View
applets/kicker/package/contents/ui/ActionMenu.qml
Context not available. | |||||
64 | 64 | | |||
---|---|---|---|---|---|
65 | menu = contextMenuComponent.createObject(root); | 65 | menu = contextMenuComponent.createObject(root); | ||
66 | 66 | | |||
67 | actionList.forEach(function(actionItem) { | 67 | fillMenu(menu, actionList); | ||
68 | var item = contextMenuItemComponent.createObject(menu, { | 68 | } | ||
69 | "actionItem": actionItem, | 69 | | ||
70 | }); | 70 | function fillMenu(menu, items) { | ||
71 | items.forEach(function(actionItem) { | ||||
72 | if (actionItem.subActions) { | ||||
73 | // This is a menu | ||||
74 | var submenuItem = contextSubmenuItemComponent.createObject( | ||||
75 | menu, { "actionItem" : actionItem }); | ||||
76 | | ||||
77 | fillMenu(submenuItem.submenu, actionItem.subActions); | ||||
78 | | ||||
79 | } else { | ||||
80 | var item = contextMenuItemComponent.createObject( | ||||
81 | menu, | ||||
82 | { | ||||
83 | "actionItem": actionItem, | ||||
84 | } | ||||
85 | ); | ||||
86 | } | ||||
71 | }); | 87 | }); | ||
88 | | ||||
72 | } | 89 | } | ||
73 | 90 | | |||
74 | Component { | 91 | Component { | ||
Context not available. | |||||
80 | } | 97 | } | ||
81 | 98 | | |||
82 | Component { | 99 | Component { | ||
83 | id: contextMenuItemComponent | 100 | id: contextSubmenuItemComponent | ||
84 | 101 | | |||
85 | PlasmaComponents.MenuItem { | 102 | PlasmaComponents.MenuItem { | ||
103 | id: submenuItem | ||||
104 | | ||||
86 | property variant actionItem | 105 | property variant actionItem | ||
87 | 106 | | |||
88 | text: actionItem.text ? actionItem.text : "" | 107 | text: actionItem.text ? actionItem.text : "" | ||
89 | enabled: actionItem.type != "title" && ("enabled" in actionItem ? actionItem.enabled : true) | | |||
90 | separator: actionItem.type == "separator" | | |||
91 | section: actionItem.type == "title" | | |||
92 | icon: actionItem.icon ? actionItem.icon : null | 108 | icon: actionItem.icon ? actionItem.icon : null | ||
93 | 109 | | |||
110 | property variant submenu : submenu_ | ||||
111 | | ||||
112 | PlasmaComponents.ContextMenu { | ||||
113 | id: submenu_ | ||||
114 | visualParent: submenuItem.action | ||||
115 | } | ||||
116 | } | ||||
117 | } | ||||
118 | | ||||
119 | Component { | ||||
120 | id: contextMenuItemComponent | ||||
121 | | ||||
122 | PlasmaComponents.MenuItem { | ||||
123 | property variant actionItem | ||||
124 | | ||||
125 | text : actionItem.text ? actionItem.text : "" | ||||
126 | enabled : actionItem.type != "title" && ("enabled" in actionItem ? actionItem.enabled : true) | ||||
127 | separator : actionItem.type == "separator" | ||||
128 | section : actionItem.type == "title" | ||||
129 | icon : actionItem.icon ? actionItem.icon : null | ||||
130 | checkable : actionItem.checkable ? actionItem.checkable : false | ||||
131 | checked : actionItem.checked ? actionItem.checked : false | ||||
132 | | ||||
94 | onClicked: { | 133 | onClicked: { | ||
95 | actionClicked(actionItem.actionId, actionItem.actionArgument); | 134 | actionClicked(actionItem.actionId, actionItem.actionArgument); | ||
96 | } | 135 | } | ||
Context not available. |