@@ -990,17 +990,27 @@ Item {
990990 Component {
991991 id: keymapMenu;
992992
993− Menus.CheckableMenu {
993+ // FIXME this should use a "radio button" menu, once we have it in the SDK
994+ ListItems.Empty {
994995 id: checkItem
995996 objectName: "keymapMenu"
996997 property QtObject menuData: null
997998 property int menuIndex: -1
998999 readonly property bool serverChecked: menuData && menuData.isToggled || false
9991000
1000− text: menuData && menuData.label || ""
10011001 enabled: menuData && menuData.sensitive || false
1002− checked: serverChecked
10031002 highlightWhenPressed: false
1003+ __acceptEvents: !serverChecked
1004+
1005+ CheckBox {
1006+ id: checkbox
1007+ __acceptEvents: !checkItem.serverChecked
1008+ anchors {
1009+ left: parent.left
1010+ leftMargin: checkItem.__contentsMargins
1011+ verticalCenter: parent.verticalCenter
1012+ }
1013+ }
10041014
10051015 ServerPropertySynchroniser {
10061016 objectName: "sync"
@@ -1008,13 +1018,28 @@ Item {
10081018
10091019 serverTarget: checkItem
10101020 serverProperty: "serverChecked"
1011− userTarget: checkItem
1021+ userTarget: checkbox
10121022 userProperty: "checked"
10131023
10141024 onSyncTriggered: {
10151025 menuModel.activate(checkItem.menuIndex);
10161026 }
10171027 }
1028+
1029+ Label {
1030+ id: label
1031+ anchors {
1032+ left: checkbox.right
1033+ leftMargin: checkItem.__contentsMargins
1034+ right: parent.right
1035+ rightMargin: checkItem.__contentsMargins
1036+ verticalCenter: parent.verticalCenter
1037+ }
1038+ elide: Text.ElideRight
1039+ text: checkItem.menuData && checkItem.menuData.label || ""
1040+ }
1041+
1042+ onClicked: menuModel.activate(menuIndex);
10181043 }
10191044 }
10201045