network-manager-applet r1073 - in branches/NETWORKMANAGER_APPLET_0_7: . src
- From: dcbw svn gnome org
- To: svn-commits-list gnome org
- Subject: network-manager-applet r1073 - in branches/NETWORKMANAGER_APPLET_0_7: . src
- Date: Thu, 11 Dec 2008 22:52:35 +0000 (UTC)
Author: dcbw
Date: Thu Dec 11 22:52:35 2008
New Revision: 1073
URL: http://svn.gnome.org/viewvc/network-manager-applet?rev=1073&view=rev
Log:
2008-12-11 Dan Williams <dcbw redhat com>
* src/ap-menu-item.c
src/ap-menu-item.h
- (nm_network_menu_item_set_detail): disable the menu item if the device
can't even connect to the AP
* src/applet-device-wifi.c
- (add_new_ap_item): send device capabilities to menu item
Modified:
branches/NETWORKMANAGER_APPLET_0_7/ChangeLog
branches/NETWORKMANAGER_APPLET_0_7/src/ap-menu-item.c
branches/NETWORKMANAGER_APPLET_0_7/src/ap-menu-item.h
branches/NETWORKMANAGER_APPLET_0_7/src/applet-device-wifi.c
Modified: branches/NETWORKMANAGER_APPLET_0_7/src/ap-menu-item.c
==============================================================================
--- branches/NETWORKMANAGER_APPLET_0_7/src/ap-menu-item.c (original)
+++ branches/NETWORKMANAGER_APPLET_0_7/src/ap-menu-item.c Thu Dec 11 22:52:35 2008
@@ -187,24 +187,25 @@
void
nm_network_menu_item_set_detail (NMNetworkMenuItem * item,
NMAccessPoint * ap,
- GdkPixbuf * adhoc_icon)
+ GdkPixbuf * adhoc_icon,
+ guint32 dev_caps)
{
- gboolean encrypted = FALSE, adhoc = FALSE;
- guint32 flags, wpa_flags, rsn_flags;
+ gboolean encrypted = FALSE, is_adhoc = FALSE;
+ guint32 ap_flags, ap_wpa, ap_rsn;
- flags = nm_access_point_get_flags (ap);
- wpa_flags = nm_access_point_get_wpa_flags (ap);
- rsn_flags = nm_access_point_get_rsn_flags (ap);
-
- if ( (flags & NM_802_11_AP_FLAGS_PRIVACY)
- || (wpa_flags != NM_802_11_AP_SEC_NONE)
- || (rsn_flags != NM_802_11_AP_SEC_NONE))
+ ap_flags = nm_access_point_get_flags (ap);
+ ap_wpa = nm_access_point_get_wpa_flags (ap);
+ ap_rsn = nm_access_point_get_rsn_flags (ap);
+
+ if ( (ap_flags & NM_802_11_AP_FLAGS_PRIVACY)
+ || (ap_wpa != NM_802_11_AP_SEC_NONE)
+ || (ap_rsn != NM_802_11_AP_SEC_NONE))
encrypted = TRUE;
if (nm_access_point_get_mode (ap) == NM_802_11_MODE_ADHOC)
- adhoc = TRUE;
+ is_adhoc = TRUE;
- if (adhoc) {
+ if (is_adhoc) {
gtk_image_set_from_pixbuf (GTK_IMAGE (item->detail), adhoc_icon);
} else if (encrypted) {
if (gtk_icon_theme_has_icon (gtk_icon_theme_get_default (), "network-wireless-encrypted"))
@@ -214,6 +215,18 @@
} else {
gtk_image_set_from_stock (GTK_IMAGE (item->detail), NULL, GTK_ICON_SIZE_MENU);
}
+
+ /* Don't enable the menu item the device can't even connect to the AP */
+ if ( !nm_utils_security_valid (NMU_SEC_NONE, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_STATIC_WEP, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_LEAP, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_DYNAMIC_WEP, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_WPA_PSK, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_WPA2_PSK, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_WPA_ENTERPRISE, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn)
+ && !nm_utils_security_valid (NMU_SEC_WPA2_ENTERPRISE, dev_caps, TRUE, is_adhoc, ap_flags, ap_wpa, ap_rsn)) {
+ gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE);
+ }
}
gboolean
Modified: branches/NETWORKMANAGER_APPLET_0_7/src/ap-menu-item.h
==============================================================================
--- branches/NETWORKMANAGER_APPLET_0_7/src/ap-menu-item.h (original)
+++ branches/NETWORKMANAGER_APPLET_0_7/src/ap-menu-item.h Thu Dec 11 22:52:35 2008
@@ -75,7 +75,8 @@
guint32 * length);
void nm_network_menu_item_set_detail (NMNetworkMenuItem * item,
NMAccessPoint * ap,
- GdkPixbuf * adhoc_icon);
+ GdkPixbuf * adhoc_icon,
+ guint32 dev_caps);
gboolean nm_network_menu_item_find_dupe (NMNetworkMenuItem *item,
NMAccessPoint *ap);
Modified: branches/NETWORKMANAGER_APPLET_0_7/src/applet-device-wifi.c
==============================================================================
--- branches/NETWORKMANAGER_APPLET_0_7/src/applet-device-wifi.c (original)
+++ branches/NETWORKMANAGER_APPLET_0_7/src/applet-device-wifi.c Thu Dec 11 22:52:35 2008
@@ -475,6 +475,7 @@
GSList *ap_connections = NULL;
const GByteArray *ssid;
guint8 strength;
+ guint32 dev_caps;
ap_connections = filter_connections_for_access_point (connections, device, ap);
@@ -488,7 +489,8 @@
strength = nm_access_point_get_strength (ap);
nm_network_menu_item_set_strength (item, strength);
- nm_network_menu_item_set_detail (item, ap, applet->adhoc_icon);
+ dev_caps = nm_device_wifi_get_capabilities (device);
+ nm_network_menu_item_set_detail (item, ap, applet->adhoc_icon, dev_caps);
nm_network_menu_item_add_dupe (item, ap);
g_object_set_data (G_OBJECT (item), "device", NM_DEVICE (device));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]