@@ -197,11 +197,15 @@ Item {
197 objectName: "checkableMenu"
197 objectName: "checkableMenu"
198 property QtObject menuData: null
198 property QtObject menuData: null
199 property int menuIndex: -1
199 property int menuIndex: -1
200+ property bool serverChecked: menuData && menuData.isToggled || false
201 text: menuData && menuData.label || ""
202 text: menuData && menuData.label || ""
202 enabled: menuData && menuData.sensitive || false
203 enabled: menuData && menuData.sensitive || false
203− checked: menuData && menuData.isToggled || false
205+ onServerCheckedChanged: {
206+ // value can be changed by menu, so a binding won't work.
207+ checked = serverChecked;
205 onTriggered: {
209 onTriggered: {
206 menuModel.activate(menuIndex);
210 menuModel.activate(menuIndex);
@@ -216,12 +220,16 @@ Item {
216 objectName: "switchMenu"
220 objectName: "switchMenu"
217 property QtObject menuData: null
221 property QtObject menuData: null
218 property int menuIndex: -1
222 property int menuIndex: -1
223+ property bool serverChecked: menuData && menuData.isToggled || false
220 text: menuData && menuData.label || ""
225 text: menuData && menuData.label || ""
221 iconSource: menuData && menuData.icon || ""
226 iconSource: menuData && menuData.icon || ""
222 enabled: menuData && menuData.sensitive || false
227 enabled: menuData && menuData.sensitive || false
223− checked: menuData && menuData.isToggled || false
229+ onServerCheckedChanged: {
230+ // value can be changed by menu, so a binding won't work.
231+ checked = serverChecked;
225 onTriggered: {
233 onTriggered: {
226 menuModel.activate(menuIndex);
234 menuModel.activate(menuIndex);
@@ -342,6 +350,7 @@ Item {
342 property var menuModel: menuFactory.menuModel
350 property var menuModel: menuFactory.menuModel
343 property int menuIndex: -1
351 property int menuIndex: -1
344 property var extendedData: menuData && menuData.ext || undefined
352 property var extendedData: menuData && menuData.ext || undefined
353+ property bool serverChecked: menuData && menuData.isToggled || false
346 property var strengthAction: UnityMenuAction {
355 property var strengthAction: UnityMenuAction {
347 model: menuModel
356 model: menuModel
@@ -351,11 +360,14 @@ Item {
352 text: menuData && menuData.label || ""
361 text: menuData && menuData.label || ""
353 enabled: menuData && menuData.sensitive || false
362 enabled: menuData && menuData.sensitive || false
354− checked: menuData && menuData.isToggled || false
355 secure: getExtendedProperty(extendedData, "xCanonicalWifiApIsSecure", false)
363 secure: getExtendedProperty(extendedData, "xCanonicalWifiApIsSecure", false)
356 adHoc: getExtendedProperty(extendedData, "xCanonicalWifiApIsAdhoc", false)
364 adHoc: getExtendedProperty(extendedData, "xCanonicalWifiApIsAdhoc", false)
357 signalStrength: strengthAction.valid ? strengthAction.state : 0
365 signalStrength: strengthAction.valid ? strengthAction.state : 0
367+ onServerCheckedChanged: {
368+ // value can be changed by menu, so a binding won't work.
369+ checked = serverChecked;
359 onMenuModelChanged: {
371 onMenuModelChanged: {
360 loadAttributes();
372 loadAttributes();