on fcbade5 help sign in
68 lines 2.3 kB history raw
1/*
2 * Copyright 2013 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authors:
17 * Renato Araujo Oliveira Filho <renato@canonical.com>
18 */
20import QtQuick 2.0
21import Ubuntu.Components 0.1
22import Ubuntu.Components.ListItems 0.1 as ListItem
23import Unity.Indicators 0.1 as Indicators
25Indicators.MenuItem {
26 id: accessPoint
27 property variant actionWifiApStrength : menu && actionGroup ? actionGroup.action(menu.extra.canonical_wifi_ap_strength_action) : null
28 property variant wifiApStrength : actionWifiApStrength && actionWifiApStrength.valid ? actionWifiApStrength.state : "0"
30 function getNetworkIcon(data) {
31 var imageName = "nm-signal-100"
32 var signalStrength = parseInt(wifiApStrength)
34 if (data.extra.canonical_wifi_ap_is_adhoc) {
35 imageName = "nm-adhoc";
36 } else if (signalStrength == 0) {
37 imageName = "nm-signal-00";
38 } else if (signalStrength <= 25) {
39 imageName = "nm-signal-25";
40 } else if (signalStrength <= 50) {
41 imageName = "nm-signal-50";
42 } else if (signalStrength <= 75) {
43 imageName = "nm-signal-75";
44 }
46 if (data.extra.canonical_wifi_ap_is_secure) {
47 imageName += "-secure";
48 }
50 return "image://gicon/" + imageName;
51 }
53 icon: menu && wifiApStrength ? getNetworkIcon(menu) : "image://gicon/wifi-none"
54 iconFrame: false
55 control: CheckBox {
56 id: checkBoxActive
57 height: units.gu(4)
58 width: units.gu(4)
59 anchors.centerIn: parent
60 }
62 Indicators.MenuActionBinding {
63 actionGroup: accessPoint.actionGroup
64 action: menu ? menu.action : ""
65 target: checkBoxActive
66 property: "checked"
67 }