@@ -283,12 +283,17 @@ Item {
283 objectName: "checkableMenu"
283 objectName: "checkableMenu"
284 property QtObject menuData: null
284 property QtObject menuData: null
285 property int menuIndex: -1
285 property int menuIndex: -1
286+ property bool serverChecked: menuData && menuData.isToggled || false
287 text: menuData && menuData.label || ""
288 text: menuData && menuData.label || ""
288 enabled: menuData && menuData.sensitive || false
289 enabled: menuData && menuData.sensitive || false
289− checked: menuData && menuData.isToggled || false
290+ checked: serverChecked
290 highlightWhenPressed: false
291 highlightWhenPressed: false
293+ onServerCheckedChanged: {
294+ // value can be changed by menu, so a binding won't work.
295+ checked = serverChecked;
292 onTriggered: {
297 onTriggered: {
293 menuModel.activate(menuIndex);
298 menuModel.activate(menuIndex);
@@ -302,13 +307,18 @@ Item {
302 objectName: "switchMenu"
307 objectName: "switchMenu"
303 property QtObject menuData: null
308 property QtObject menuData: null
304 property int menuIndex: -1
309 property int menuIndex: -1
310+ property bool serverChecked: menuData && menuData.isToggled || false
306 text: menuData && menuData.label || ""
312 text: menuData && menuData.label || ""
307 iconSource: menuData && menuData.icon || ""
313 iconSource: menuData && menuData.icon || ""
308 enabled: menuData && menuData.sensitive || false
314 enabled: menuData && menuData.sensitive || false
309− checked: menuData && menuData.isToggled || false
315+ checked: serverChecked
310 highlightWhenPressed: false
316 highlightWhenPressed: false
318+ onServerCheckedChanged: {
319+ // value can be changed by menu, so a binding won't work.
320+ checked = serverChecked;
312 onTriggered: {
322 onTriggered: {
313 menuModel.activate(menuIndex);
323 menuModel.activate(menuIndex);
@@ -431,6 +441,7 @@ Item {
431 property var menuModel: menuFactory.menuModel
441 property var menuModel: menuFactory.menuModel
432 property int menuIndex: -1
442 property int menuIndex: -1
433 property var extendedData: menuData && menuData.ext || undefined
443 property var extendedData: menuData && menuData.ext || undefined
444+ property bool serverChecked: menuData && menuData.isToggled || false
435 property var strengthAction: UnityMenuAction {
446 property var strengthAction: UnityMenuAction {
436 model: menuModel
447 model: menuModel
@@ -440,12 +451,16 @@ Item {
441 text: menuData && menuData.label || ""
452 text: menuData && menuData.label || ""
442 enabled: menuData && menuData.sensitive || false
453 enabled: menuData && menuData.sensitive || false
443− active: menuData && menuData.isToggled || false
454+ active: serverChecked
444 secure: getExtendedProperty(extendedData, "xCanonicalWifiApIsSecure", false)
455 secure: getExtendedProperty(extendedData, "xCanonicalWifiApIsSecure", false)
445 adHoc: getExtendedProperty(extendedData, "xCanonicalWifiApIsAdhoc", false)
456 adHoc: getExtendedProperty(extendedData, "xCanonicalWifiApIsAdhoc", false)
446 signalStrength: strengthAction.valid ? strengthAction.state : 0
457 signalStrength: strengthAction.valid ? strengthAction.state : 0
447 highlightWhenPressed: false
458 highlightWhenPressed: false
460+ onServerCheckedChanged: {
461+ // value can be changed by menu, so a binding won't work.
462+ active = serverChecked;
449 onMenuModelChanged: {
464 onMenuModelChanged: {
450 loadAttributes();
465 loadAttributes();