Wed Sep 22 13:51:45 2004 Jonathan Blandford <jrb@redhat.com>

* panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
        the logic to make this right.

        * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
        devices so that wired networks are always first.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@169 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
Jonathan Blandford 2004-09-22 17:54:42 +00:00
parent 14653e2021
commit 7c6ac395c9
3 changed files with 56 additions and 2 deletions

View file

@ -1,3 +1,11 @@
Wed Sep 22 13:51:45 2004 Jonathan Blandford <jrb@redhat.com>
* panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
the logic to make this right.
* panel-applet/NMWirelessApplet.c (sort_networks_function): sort
devices so that wired networks are always first.
2004-09-22 <clarkbw@cvs.gnome.org>
* initscript/Debian/.cvsignore:

View file

@ -574,6 +574,8 @@ static void nmwa_menu_add_device_item (GtkWidget *menu, NetworkDevice *device, g
menu_item = nm_menu_network_new (applet->image_size_group);
nm_menu_network_update (NM_MENU_NETWORK (menu_item), device, multiple_devices);
if (applet->active_device == device && device->type == DEVICE_TYPE_WIRED_ETHERNET)
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_item), TRUE);
g_object_set_data (G_OBJECT (menu_item), "device", g_strdup (device->nm_device));
g_signal_connect(G_OBJECT (menu_item), "activate", G_CALLBACK(nmwa_menu_item_activate), applet);
@ -643,6 +645,8 @@ static void nmwa_menu_device_add_networks (GtkWidget *menu, NetworkDevice *dev,
menu_item = nm_menu_wireless_new (applet->image_size_group,
applet->encryption_size_group);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
if (applet->active_device == dev && net->active)
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_item), TRUE);
nm_menu_wireless_update (NM_MENU_WIRELESS (menu_item), net, has_encrypted);
g_object_set_data (G_OBJECT (menu_item), "network", g_strdup (net->essid));
@ -656,6 +660,44 @@ static void nmwa_menu_device_add_networks (GtkWidget *menu, NetworkDevice *dev,
nmwa_menu_add_custom_essid_item (menu, dev, applet);
}
static int
sort_networks_function (gconstpointer a, gconstpointer b)
{
NetworkDevice *dev_a = (NetworkDevice *) a;
NetworkDevice *dev_b = (NetworkDevice *) b;
char *name_a;
char *name_b;
if (dev_a->hal_name)
name_a = dev_a->hal_name;
else if (dev_a->nm_name)
name_a = dev_a->nm_name;
else
name_a = "";
if (dev_b->hal_name)
name_b = dev_b->hal_name;
else if (dev_b->nm_name)
name_b = dev_b->nm_name;
else
name_b = "";
if (dev_a->type == dev_b->type)
{
return strcmp (name_a, name_b);
}
if (dev_a->type == DEVICE_TYPE_WIRED_ETHERNET)
return -1;
if (dev_b->type == DEVICE_TYPE_WIRED_ETHERNET)
return 1;
if (dev_a->type == DEVICE_TYPE_WIRELESS_ETHERNET)
return -1;
if (dev_b->type == DEVICE_TYPE_WIRELESS_ETHERNET)
return 1;
/* Unknown device types. Sort by name only at this point. */
return strcmp (name_a, name_b);
}
/*
* nmwa_menu_add_devices
@ -678,6 +720,8 @@ static void nmwa_menu_add_devices (GtkWidget *menu, NMWirelessApplet *applet)
return;
}
applet->devices = g_slist_sort (applet->devices, sort_networks_function);
for (element = applet->devices; element; element = element->next)
{
NetworkDevice *dev = (NetworkDevice *)(element->data);

View file

@ -65,9 +65,11 @@ static void
nm_menu_network_draw_indicator (GtkCheckMenuItem *check_menu_item,
GdkRectangle *area)
{
/* Only draw the indicator if we're an ethernet device */
/* Don't draw the indicator if we're a wireless device */
if (NM_MENU_NETWORK (check_menu_item)->type == DEVICE_TYPE_WIRELESS_ETHERNET)
GTK_CHECK_MENU_ITEM_CLASS (nm_menu_network_parent_class)->draw_indicator (check_menu_item, area);
return;
GTK_CHECK_MENU_ITEM_CLASS (nm_menu_network_parent_class)->draw_indicator (check_menu_item, area);
}
static void