@@ -174,6 +174,25 @@ Item {
174174 }
175175 }
176176
177+ Component {
178+ id: checkableMenu;
179+ Menus.CheckableMenu {
180+ objectName: "checkableMenu"
181+ property QtObject menuData: null
182+ property int menuIndex: -1
183+
184+ text: menuData && menuData.label || ""
185+ enabled: menuData && menuData.sensitive || false
186+ checked: menuData && menuData.isToggled || false
187+
188+ onTriggered: {
189+ menuModel.activate(menuIndex);
190+ shell.hideIndicatorMenu(UbuntuAnimation.BriskDuration);
191+ }
192+ }
193+ }
194+
195+
177196 Component {
178197 id: switchMenu;
179198 Menus.SwitchMenu {
@@ -386,6 +405,7 @@ Item {
386405 Component {
387406 id: mediaPayerMenu;
388407 Menus.MediaPlayerMenu {
408+ objectName: "mediaPayerMenu"
389409 property QtObject menuData: null
390410 property var menuModel: menuFactory.menuModel
391411 property int menuIndex: -1
@@ -410,6 +430,7 @@ Item {
410430 Component {
411431 id: playbackItemMenu;
412432 Menus.PlaybackItemMenu {
433+ objectName: "playbackItemMenu"
413434 property var menuModel: menuFactory.menuModel
414435 property int menuIndex: -1
415436 property var extendedData: menuData && menuData.ext || undefined
@@ -467,6 +488,9 @@ Item {
467488 return component;
468489 }
469490 }
491+ if (modelData.isCheck || modelData.isRadio) {
492+ return checkableMenu;
493+ }
470494 if (modelData.isSeparator) {
471495 return separatorMenu;
472496 }