@@ -16,6 +16,7 @@
1616
1717import QtQuick 2.0
1818import QMenuModel 0.1 as QMenuModel
19+import QtSystemInfo 5.0
1920import Ubuntu.Components 0.1
2021import Ubuntu.Components.ListItems 0.1 as ListItem
2122import Ubuntu.Settings.Menus 0.1 as Menus
@@ -28,7 +29,7 @@ LocalComponents.Page {
2829 title: i18n.tr("Connect to Wi‑Fi")
2930 forwardButtonSourceComponent: forwardButton
3031
31− readonly property bool connected: mainMenu.connectedAPs === 1
32+ readonly property bool connected: networkInfo.accessPointName
3233
3334 function getExtendedProperty(object, propertyName, defaultValue) {
3435 if (object && object.hasOwnProperty(propertyName)) {
@@ -44,6 +45,31 @@ LocalComponents.Page {
4445 menuObjectPath: "/com/canonical/indicator/network/phone_wifi_settings"
4546 }
4647
48+ NetworkInfo {
49+ id: networkInfo
50+
51+ property string accessPointName
52+
53+ monitorCurrentNetworkMode: true
54+ monitorNetworkName: true
55+ monitorNetworkStatus: true
56+
57+ onCurrentNetworkModeChanged: getAccessPointName()
58+ onNetworkNameChanged: getAccessPointName()
59+ onNetworkStatusChanged: if (status !== NetworkInfo.HomeNetwork) accessPointName = ""
60+
61+ Component.onCompleted: getAccessPointName()
62+
63+ function getAccessPointName() {
64+ // 0 is the interface
65+ if (currentNetworkMode === NetworkInfo.WlanMode &&
66+ networkStatus(NetworkInfo.WlanMode, 0) === NetworkInfo.HomeNetwork)
67+ accessPointName = networkName(NetworkInfo.WlanMode, 0);
68+ else
69+ accessPointName = "";
70+ }
71+ }
72+
4773 Component {
4874 id: accessPointComponent
4975 ListItem.Standard {
@@ -119,11 +145,6 @@ LocalComponents.Page {
119145 onCheckedChanged: {
120146 // Can't rely on binding. Checked is assigned on click.
121147 checkBoxActive.checked = checked;
122− if (checked) {
123− mainMenu.connectedAPs++
124− } else {
125− mainMenu.connectedAPs--
126− }
127148 }
128149 onActivate: unityMenuModel.activate(menuIndex);
129150 }
@@ -165,9 +186,6 @@ LocalComponents.Page {
165186 Repeater {
166187 id: mainMenu
167188
168− // FIXME Check connection better https://bugs.launchpad.net/indicator-network/+bug/1349371
169− property int connectedAPs: 0
170−
171189 model: menuModel
172190
173191 delegate: Loader {