on xenial help sign in
proper "radio button" check item
22ba8d6Lukáš Tinkl
qml/Panel/Indicators/MenuItemFactory.qml+29−4
@@ -990,17 +990,27 @@ Item {
990 Component {
990 Component {
991 id: keymapMenu;
991 id: keymapMenu;
992
992
993− Menus.CheckableMenu {
993+ // FIXME this should use a "radio button" menu, once we have it in the SDK
994+ ListItems.Empty {
994 id: checkItem
995 id: checkItem
995 objectName: "keymapMenu"
996 objectName: "keymapMenu"
996 property QtObject menuData: null
997 property QtObject menuData: null
997 property int menuIndex: -1
998 property int menuIndex: -1
998 readonly property bool serverChecked: menuData && menuData.isToggled || false
999 readonly property bool serverChecked: menuData && menuData.isToggled || false
999
1000
1000− text: menuData && menuData.label || ""
1001 enabled: menuData && menuData.sensitive || false
1001 enabled: menuData && menuData.sensitive || false
1002− checked: serverChecked
1003 highlightWhenPressed: false
1002 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+ }
1004
1014
1005 ServerPropertySynchroniser {
1015 ServerPropertySynchroniser {
1006 objectName: "sync"
1016 objectName: "sync"
@@ -1008,13 +1018,28 @@ Item {
1008
1018
1009 serverTarget: checkItem
1019 serverTarget: checkItem
1010 serverProperty: "serverChecked"
1020 serverProperty: "serverChecked"
1011− userTarget: checkItem
1021+ userTarget: checkbox
1012 userProperty: "checked"
1022 userProperty: "checked"
1013
1023
1014 onSyncTriggered: {
1024 onSyncTriggered: {
1015 menuModel.activate(checkItem.menuIndex);
1025 menuModel.activate(checkItem.menuIndex);
1016 }
1026 }
1017 }
1027 }
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);
1018 }
1043 }
1019 }
1044 }
1020
1045