accept action lists

This commit is contained in:
Marco Martin 2011-12-29 11:39:57 +01:00
parent 1348d9d2a9
commit ecc105c564

View File

@ -67,7 +67,7 @@ import org.kde.plasma.components 0.1
Menu { Menu {
id: root id: root
property QtObject model property variant model
onModelChanged: rebuildMenu() onModelChanged: rebuildMenu()
Component.onCompleted: if (model != undefined) rebuildMenu() Component.onCompleted: if (model != undefined) rebuildMenu()
@ -78,7 +78,9 @@ Menu {
for (var i = 0; i < items.length; ++i) { for (var i = 0; i < items.length; ++i) {
addMenuItem(items[i].text) addMenuItem(items[i].text)
} }
if (model != undefined) {
//it's a model
if (model != undefined && model.count) {
for (var j = 0; j < model.count; ++j) { for (var j = 0; j < model.count; ++j) {
var data = model.get(j) var data = model.get(j)
var text = data.text var text = data.text
@ -88,6 +90,25 @@ Menu {
} }
addMenuItem(text) addMenuItem(text)
//enabled property must be present -and- be false
if (data.enabled === false) {
items[items.length-1].enabled = false
}
if (data.separator === true) {
items[items.length-1].separator = true
}
}
//it's a list
} else if (model != undefined && model.length) {
for (var j = 0; j < model.length; ++j) {
var data = model[j]
var text = data.text
if (!text) {
text = data.display
}
addMenuItem(text)
//enabled property must be present -and- be false //enabled property must be present -and- be false
if (data.enabled === false) { if (data.enabled === false) {
items[items.length-1].enabled = false items[items.length-1].enabled = false