on xenial help sign in
Fixed server bindings
7ad04cbNick Dedekind
qml/Panel/Indicators/MenuItemFactory.qml+15−3
@@ -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
200
201
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
204
204
205+ onServerCheckedChanged: {
206+ // value can be changed by menu, so a binding won't work.
207+ checked = serverChecked;
208+ }
205 onTriggered: {
209 onTriggered: {
206 menuModel.activate(menuIndex);
210 menuModel.activate(menuIndex);
207 }
211 }
@@ -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
219
224
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
224
228
229+ onServerCheckedChanged: {
230+ // value can be changed by menu, so a binding won't work.
231+ checked = serverChecked;
232+ }
225 onTriggered: {
233 onTriggered: {
226 menuModel.activate(menuIndex);
234 menuModel.activate(menuIndex);
227 }
235 }
@@ -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
345
354
346 property var strengthAction: UnityMenuAction {
355 property var strengthAction: UnityMenuAction {
347 model: menuModel
356 model: menuModel
@@ -351,11 +360,14 @@ Item {
351
360
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
358
366
367+ onServerCheckedChanged: {
368+ // value can be changed by menu, so a binding won't work.
369+ checked = serverChecked;
370+ }
359 onMenuModelChanged: {
371 onMenuModelChanged: {
360 loadAttributes();
372 loadAttributes();
361 }
373 }