@@ -16,6 +16,7 @@
17import QtQuick 2.0
17import QtQuick 2.0
18import QMenuModel 0.1 as QMenuModel
18import QMenuModel 0.1 as QMenuModel
19+import QtSystemInfo 5.0
19import Ubuntu.Components 0.1
20import Ubuntu.Components 0.1
20import Ubuntu.Components.ListItems 0.1 as ListItem
21import Ubuntu.Components.ListItems 0.1 as ListItem
21import Ubuntu.Settings.Menus 0.1 as Menus
22import Ubuntu.Settings.Menus 0.1 as Menus
@@ -28,7 +29,7 @@ LocalComponents.Page {
28 title: i18n.tr("Connect to Wi‑Fi")
29 title: i18n.tr("Connect to Wi‑Fi")
29 forwardButtonSourceComponent: forwardButton
30 forwardButtonSourceComponent: forwardButton
31− readonly property bool connected: mainMenu.connectedAPs === 1
32+ readonly property bool connected: networkInfo.accessPointName
33 function getExtendedProperty(object, propertyName, defaultValue) {
34 function getExtendedProperty(object, propertyName, defaultValue) {
34 if (object && object.hasOwnProperty(propertyName)) {
35 if (object && object.hasOwnProperty(propertyName)) {
@@ -44,6 +45,31 @@ LocalComponents.Page {
44 menuObjectPath: "/com/canonical/indicator/network/phone_wifi_settings"
45 menuObjectPath: "/com/canonical/indicator/network/phone_wifi_settings"
51+ property string accessPointName
53+ monitorCurrentNetworkMode: true
54+ monitorNetworkName: true
55+ monitorNetworkStatus: true
57+ onCurrentNetworkModeChanged: getAccessPointName()
58+ onNetworkNameChanged: getAccessPointName()
59+ onNetworkStatusChanged: if (status !== NetworkInfo.HomeNetwork) accessPointName = ""
61+ Component.onCompleted: getAccessPointName()
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);
69+ accessPointName = "";
47 Component {
73 Component {
48 id: accessPointComponent
74 id: accessPointComponent
49 ListItem.Standard {
75 ListItem.Standard {
@@ -119,11 +145,6 @@ LocalComponents.Page {
119 onCheckedChanged: {
145 onCheckedChanged: {
120 // Can't rely on binding. Checked is assigned on click.
146 // Can't rely on binding. Checked is assigned on click.
121 checkBoxActive.checked = checked;
147 checkBoxActive.checked = checked;
123− mainMenu.connectedAPs++
125− mainMenu.connectedAPs--
128 onActivate: unityMenuModel.activate(menuIndex);
149 onActivate: unityMenuModel.activate(menuIndex);
@@ -165,9 +186,6 @@ LocalComponents.Page {
165 Repeater {
186 Repeater {
166 id: mainMenu
187 id: mainMenu
168− // FIXME Check connection better https://bugs.launchpad.net/indicator-network/+bug/1349371
169− property int connectedAPs: 0
171 model: menuModel
189 model: menuModel
173 delegate: Loader {
191 delegate: Loader {