@@ -53,6 +53,7 @@ Item {
54 "unity.widgets.systemsettings.tablet.wifisection" : wifiSection,
54 "unity.widgets.systemsettings.tablet.wifisection" : wifiSection,
55 "unity.widgets.systemsettings.tablet.accesspoint" : accessPoint,
55 "unity.widgets.systemsettings.tablet.accesspoint" : accessPoint,
56+ "com.canonical.indicator.network.modeminfoitem" : modeminfoitem,
58 function getExtendedProperty(object, propertyName, defaultValue) {
59 function getExtendedProperty(object, propertyName, defaultValue) {
@@ -363,6 +364,80 @@ Item {
370+ objectName: "modemInfoItem"
371+ property QtObject menuData: null
372+ property var menuModel: menuFactory.menuModel
373+ property int menuIndex: -1
374+ property var extendedData: menuData && menuData.ext || undefined
376+ property var statusLabelAction: QMenuModel.UnityMenuAction {
379+ name: getExtendedProperty(extendedData, "xCanonicalModemStatusLabelAction", "")
381+ statusText: statusLabelAction.valid ? statusLabelAction.state : ""
383+ property var statusIconAction: QMenuModel.UnityMenuAction {
386+ name: getExtendedProperty(extendedData, "xCanonicalModemStatusIconAction", "")
388+ statusIcon: statusIconAction.valid ? statusIconAction.state : ""
390+ property var connectivityIconAction: QMenuModel.UnityMenuAction {
393+ name: getExtendedProperty(extendedData, "xCanonicalModemConnectivityIconAction", "")
395+ connectivityIcon: connectivityIconAction.valid ? connectivityIconAction.state : ""
397+ property var simIdentifierLabelAction: QMenuModel.UnityMenuAction {
400+ name: getExtendedProperty(extendedData, "xCanonicalModemSimIdentifierLabelAction", "")
402+ simIdentifierText: simIdentifierLabelAction.valid ? simIdentifierLabelAction.state : ""
404+ property var roamingAction: QMenuModel.UnityMenuAction {
407+ name: getExtendedProperty(extendedData, "xCanonicalModemRoamingAction", "")
409+ roaming: roamingAction.valid ? roamingAction.state : false
411+ property var unlockAction: QMenuModel.UnityMenuAction {
414+ name: getExtendedProperty(extendedData, "xCanonicalModemLockedAction", "")
417+ unlockAction.activate();
418+ shell.hideIndicatorMenu(UbuntuAnimation.BriskDuration);
420+ locked: unlockAction.valid ? unlockAction.state : false
422+ onMenuModelChanged: {
425+ onMenuIndexChanged: {
429+ function loadAttributes() {
430+ if (!menuModel || menuIndex == -1) return;
431+ menuModel.loadExtendedAttributes(menuIndex, {'x-canonical-modem-status-label-action': 'string',
432+ 'x-canonical-modem-status-icon-action': 'string',
433+ 'x-canonical-modem-connectivity-icon-action': 'string',
434+ 'x-canonical-modem-sim-identifier-label': 'string',
435+ 'x-canonical-modem-roaming-action': 'string',
436+ 'x-canonical-modem-locked-action': 'string'});
366 Component {
441 Component {
367 id: messageItem
442 id: messageItem
368 MessageMenuItemFactory {
443 MessageMenuItemFactory {