Tue Sep 21 18:05:34 2004 Jonathan Blandford <jrb@redhat.com>
* configure.in: Add graphics * panel-applet/Makefile.am: Add graphics * panel-applet/icons/*: Add graphics * panel-applet/NMWirelessApplet.c: Use new menu times to display the icons fully lined up. * panel-applet/menu-info.c: * panel-applet/menu-info.h: Add another menu type. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@163 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
14
ChangeLog
14
ChangeLog
@@ -1,3 +1,17 @@
|
|||||||
|
Tue Sep 21 18:05:34 2004 Jonathan Blandford <jrb@redhat.com>
|
||||||
|
|
||||||
|
* configure.in: Add graphics
|
||||||
|
|
||||||
|
* panel-applet/Makefile.am: Add graphics
|
||||||
|
|
||||||
|
* panel-applet/icons/*: Add graphics
|
||||||
|
|
||||||
|
* panel-applet/NMWirelessApplet.c: Use new menu times to display
|
||||||
|
the icons fully lined up.
|
||||||
|
|
||||||
|
* panel-applet/menu-info.c:
|
||||||
|
* panel-applet/menu-info.h: Add another menu type.
|
||||||
|
|
||||||
Fri Sep 17 14:04:34 2004 Jonathan Blandford <jrb@redhat.com>
|
Fri Sep 17 14:04:34 2004 Jonathan Blandford <jrb@redhat.com>
|
||||||
|
|
||||||
* panel-applet/NMWirelessApplet.c: Redo the menu item code.
|
* panel-applet/NMWirelessApplet.c: Redo the menu item code.
|
||||||
|
@@ -141,6 +141,7 @@ src/Makefile
|
|||||||
dispatcher-daemon/Makefile
|
dispatcher-daemon/Makefile
|
||||||
info-daemon/Makefile
|
info-daemon/Makefile
|
||||||
panel-applet/Makefile
|
panel-applet/Makefile
|
||||||
|
panel-applet/icons/Makefile
|
||||||
test/Makefile
|
test/Makefile
|
||||||
initscript/Makefile
|
initscript/Makefile
|
||||||
initscript/RedHat/Makefile
|
initscript/RedHat/Makefile
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
SUBDIRS=icons
|
||||||
|
|
||||||
NULL=
|
NULL=
|
||||||
|
|
||||||
INCLUDES = \
|
INCLUDES = \
|
||||||
|
@@ -566,48 +566,46 @@ static void nmwa_menu_add_text_item (GtkWidget *menu, char *text)
|
|||||||
* Add a network device to the menu
|
* Add a network device to the menu
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static void nmwa_menu_add_device_item (GtkWidget *menu, GdkPixbuf *icon, char *name, char *nm_device, gboolean current, NMWirelessApplet *applet)
|
static void nmwa_menu_add_device_item (GtkWidget *menu, NetworkDevice *device, gboolean current, gboolean multiple_devices, NMWirelessApplet *applet)
|
||||||
{
|
{
|
||||||
GtkWidget *menu_item;
|
GtkWidget *menu_item;
|
||||||
GtkWidget *label;
|
|
||||||
GtkWidget *hbox;
|
|
||||||
GtkWidget *image;
|
|
||||||
|
|
||||||
g_return_if_fail (menu != NULL);
|
g_return_if_fail (menu != NULL);
|
||||||
g_return_if_fail (icon != NULL);
|
|
||||||
g_return_if_fail (name != NULL);
|
|
||||||
g_return_if_fail (nm_device != NULL);
|
|
||||||
|
|
||||||
menu_item = gtk_check_menu_item_new ();
|
menu_item = nm_menu_network_new (applet->image_size_group);
|
||||||
hbox = gtk_hbox_new (FALSE, 2);
|
nm_menu_network_update (NM_MENU_NETWORK (menu_item), device, multiple_devices);
|
||||||
gtk_container_add (GTK_CONTAINER (menu_item), hbox);
|
|
||||||
gtk_widget_show (hbox);
|
|
||||||
|
|
||||||
if ((image = gtk_image_new_from_pixbuf (icon)))
|
g_object_set_data (G_OBJECT (menu_item), "device", g_strdup (device->nm_device));
|
||||||
{
|
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
|
|
||||||
gtk_widget_show (image);
|
|
||||||
gtk_size_group_add_widget (applet->image_size_group, image);
|
|
||||||
}
|
|
||||||
|
|
||||||
label = gtk_label_new (name);
|
|
||||||
if (current)
|
|
||||||
{
|
|
||||||
char *markup = g_markup_printf_escaped ("<span weight=\"bold\">%s</span>", name);
|
|
||||||
gtk_label_set_markup (GTK_LABEL (label), markup);
|
|
||||||
g_free (markup);
|
|
||||||
}
|
|
||||||
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
|
|
||||||
gtk_widget_show (label);
|
|
||||||
|
|
||||||
g_object_set_data (G_OBJECT (menu_item), "device", g_strdup (nm_device));
|
|
||||||
g_signal_connect(G_OBJECT (menu_item), "activate", G_CALLBACK(nmwa_menu_item_activate), applet);
|
g_signal_connect(G_OBJECT (menu_item), "activate", G_CALLBACK(nmwa_menu_item_activate), applet);
|
||||||
|
|
||||||
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
|
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
|
||||||
gtk_widget_show (menu_item);
|
gtk_widget_show (menu_item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void nmwa_menu_add_custom_essid_item (GtkWidget *menu, NetworkDevice *device, NMWirelessApplet *applet)
|
||||||
|
{
|
||||||
|
GtkWidget *menu_item;
|
||||||
|
GtkWidget *spacer;
|
||||||
|
GtkWidget *hbox;
|
||||||
|
GtkWidget *label;
|
||||||
|
|
||||||
|
menu_item = gtk_menu_item_new ();
|
||||||
|
hbox = gtk_hbox_new (FALSE, 2);
|
||||||
|
spacer = gtk_frame_new (NULL);
|
||||||
|
gtk_size_group_add_widget (applet->image_size_group, spacer);
|
||||||
|
gtk_frame_set_shadow_type (GTK_FRAME (spacer), GTK_SHADOW_NONE);
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox), spacer, FALSE, FALSE, 0);
|
||||||
|
label = gtk_label_new (_("Other Wireless Network..."));
|
||||||
|
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
|
||||||
|
|
||||||
|
gtk_container_add (GTK_CONTAINER (menu_item), hbox);
|
||||||
|
g_object_set_data (G_OBJECT (menu_item), "device", g_strdup (device->nm_device));
|
||||||
|
gtk_widget_set_sensitive (menu_item, FALSE); // FIXME: make this work.
|
||||||
|
gtk_widget_show_all (menu_item);
|
||||||
|
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* nmwa_menu_device_add_networks
|
* nmwa_menu_device_add_networks
|
||||||
@@ -625,23 +623,11 @@ static void nmwa_menu_device_add_networks (GtkWidget *menu, NetworkDevice *dev,
|
|||||||
if (dev->type != DEVICE_TYPE_WIRELESS_ETHERNET)
|
if (dev->type != DEVICE_TYPE_WIRELESS_ETHERNET)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (dev->networks == NULL)
|
|
||||||
{
|
|
||||||
nmwa_menu_add_text_item (menu, _("There are no wireless networks..."));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Check for any security */
|
/* Check for any security */
|
||||||
for (list = dev->networks; list; list = list->next)
|
for (list = dev->networks; list; list = list->next)
|
||||||
{
|
{
|
||||||
WirelessNetwork *network = list->data;
|
WirelessNetwork *network = list->data;
|
||||||
|
|
||||||
if (FALSE && !has_encrypted)//BADHACKTOTEST
|
|
||||||
{ // REMOVE!
|
|
||||||
network->encrypted = TRUE; // REMOVE!
|
|
||||||
network->active = TRUE; // REMOVE!
|
|
||||||
} // REMOVE!
|
|
||||||
|
|
||||||
if (network->encrypted)
|
if (network->encrypted)
|
||||||
has_encrypted = TRUE;
|
has_encrypted = TRUE;
|
||||||
}
|
}
|
||||||
@@ -665,6 +651,9 @@ static void nmwa_menu_device_add_networks (GtkWidget *menu, NetworkDevice *dev,
|
|||||||
|
|
||||||
gtk_widget_show (menu_item);
|
gtk_widget_show (menu_item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Add the 'Select a custom esssid entry */
|
||||||
|
nmwa_menu_add_custom_essid_item (menu, dev, applet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -675,37 +664,59 @@ static void nmwa_menu_device_add_networks (GtkWidget *menu, NetworkDevice *dev,
|
|||||||
static void nmwa_menu_add_devices (GtkWidget *menu, NMWirelessApplet *applet)
|
static void nmwa_menu_add_devices (GtkWidget *menu, NMWirelessApplet *applet)
|
||||||
{
|
{
|
||||||
GSList *element;
|
GSList *element;
|
||||||
|
gint n_wireless_interfaces = 0;
|
||||||
|
gint n_wired_interfaces = 0;
|
||||||
|
|
||||||
g_return_if_fail (menu != NULL);
|
g_return_if_fail (menu != NULL);
|
||||||
g_return_if_fail (applet != NULL);
|
g_return_if_fail (applet != NULL);
|
||||||
|
|
||||||
g_mutex_lock (applet->data_mutex);
|
g_mutex_lock (applet->data_mutex);
|
||||||
element = applet->devices;
|
|
||||||
if (!element)
|
if (! applet->devices)
|
||||||
nmwa_menu_add_text_item (menu, _("There are no network devices..."));
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
|
nmwa_menu_add_text_item (menu, _("No network devices have been found"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (element = applet->devices; element; element = element->next)
|
||||||
|
{
|
||||||
|
NetworkDevice *dev = (NetworkDevice *)(element->data);
|
||||||
|
|
||||||
|
g_assert (dev);
|
||||||
|
|
||||||
|
switch (dev->type)
|
||||||
|
{
|
||||||
|
case DEVICE_TYPE_WIRELESS_ETHERNET:
|
||||||
|
n_wireless_interfaces++;
|
||||||
|
break;
|
||||||
|
case DEVICE_TYPE_WIRED_ETHERNET:
|
||||||
|
n_wired_interfaces++;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Add all devices in our device list to the menu */
|
/* Add all devices in our device list to the menu */
|
||||||
while (element)
|
for (element = applet->devices; element; element = element->next)
|
||||||
{
|
{
|
||||||
NetworkDevice *dev = (NetworkDevice *)(element->data);
|
NetworkDevice *dev = (NetworkDevice *)(element->data);
|
||||||
|
|
||||||
if (dev && ((dev->type == DEVICE_TYPE_WIRED_ETHERNET) || (dev->type == DEVICE_TYPE_WIRELESS_ETHERNET)))
|
if (dev && ((dev->type == DEVICE_TYPE_WIRED_ETHERNET) || (dev->type == DEVICE_TYPE_WIRELESS_ETHERNET)))
|
||||||
{
|
{
|
||||||
GdkPixbuf *icon = (dev->type == DEVICE_TYPE_WIRED_ETHERNET) ? applet->wired_icon : applet->wireless_icon;
|
|
||||||
char *name_string;
|
|
||||||
gboolean current = (dev == applet->active_device);
|
gboolean current = (dev == applet->active_device);
|
||||||
|
gboolean multiple_devices;
|
||||||
|
|
||||||
name_string = g_strdup_printf ("%s (%s)", (dev->hal_name ? dev->hal_name : dev->nm_name),
|
if (dev->type == DEVICE_TYPE_WIRED_ETHERNET)
|
||||||
(dev->type == DEVICE_TYPE_WIRED_ETHERNET) ? "wired" : "wireless");
|
multiple_devices = (n_wired_interfaces > 1);
|
||||||
nmwa_menu_add_device_item (menu, icon, name_string, dev->nm_device, current, applet);
|
else if (dev->type == DEVICE_TYPE_WIRELESS_ETHERNET)
|
||||||
g_free (name_string);
|
multiple_devices = (n_wireless_interfaces > 1);
|
||||||
|
|
||||||
|
nmwa_menu_add_device_item (menu, dev, current, multiple_devices, applet);
|
||||||
nmwa_menu_device_add_networks (menu, dev, applet);
|
nmwa_menu_device_add_networks (menu, dev, applet);
|
||||||
nmwa_menu_add_separator_item (menu);
|
|
||||||
}
|
|
||||||
element = g_slist_next (element);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
g_mutex_unlock (applet->data_mutex);
|
g_mutex_unlock (applet->data_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -774,9 +785,7 @@ static GtkWidget * nmwa_populate_menu (NMWirelessApplet *applet)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
nmwa_menu_add_text_item (menu, _("Network Connections"));
|
|
||||||
nmwa_menu_add_devices (menu, applet);
|
nmwa_menu_add_devices (menu, applet);
|
||||||
nmwa_menu_add_text_item (menu, _("Other Wireless Network..."));
|
|
||||||
|
|
||||||
return (menu);
|
return (menu);
|
||||||
}
|
}
|
||||||
@@ -992,6 +1001,14 @@ setup_stock (void)
|
|||||||
ifactory = gtk_icon_factory_new ();
|
ifactory = gtk_icon_factory_new ();
|
||||||
iset = gtk_icon_set_new ();
|
iset = gtk_icon_set_new ();
|
||||||
isource = gtk_icon_source_new ();
|
isource = gtk_icon_source_new ();
|
||||||
|
|
||||||
|
/* Set up custom stock images. We a bunch of icons. */
|
||||||
|
/* All but gnome-lockscreen are icons we install. */
|
||||||
|
gtk_icon_source_set_icon_name (isource, "nm-");
|
||||||
|
gtk_icon_set_add_source (iset, isource);
|
||||||
|
gtk_icon_factory_add (ifactory, "gnome-lockscreen", iset);
|
||||||
|
gtk_icon_factory_add_default (ifactory);
|
||||||
|
|
||||||
gtk_icon_source_set_icon_name (isource, "gnome-lockscreen");
|
gtk_icon_source_set_icon_name (isource, "gnome-lockscreen");
|
||||||
gtk_icon_set_add_source (iset, isource);
|
gtk_icon_set_add_source (iset, isource);
|
||||||
gtk_icon_factory_add (ifactory, "gnome-lockscreen", iset);
|
gtk_icon_factory_add (ifactory, "gnome-lockscreen", iset);
|
||||||
|
2
panel-applet/icons/.cvsignore
Normal file
2
panel-applet/icons/.cvsignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Makefile.in
|
||||||
|
Makefile
|
10
panel-applet/icons/Makefile.am
Normal file
10
panel-applet/icons/Makefile.am
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
NULL =
|
||||||
|
|
||||||
|
largeicondir=${datadir}/icons/hicolor/48x48/apps
|
||||||
|
largeicon_DATA=\
|
||||||
|
nm-device-wired.png \
|
||||||
|
nm-device-wireless.png \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
EXTRA_DIST=\
|
||||||
|
$(largeicon_DATA)
|
BIN
panel-applet/icons/nm-device-wired.png
Normal file
BIN
panel-applet/icons/nm-device-wired.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
BIN
panel-applet/icons/nm-device-wireless.png
Normal file
BIN
panel-applet/icons/nm-device-wireless.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
@@ -28,7 +28,151 @@
|
|||||||
#include "menu-info.h"
|
#include "menu-info.h"
|
||||||
#include "gtkcellview.h"
|
#include "gtkcellview.h"
|
||||||
#include "gtkcellrendererprogress.h"
|
#include "gtkcellrendererprogress.h"
|
||||||
|
#include "NMWirelessAppletDbus.h"
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
|
G_DEFINE_TYPE (NMMenuNetwork, nm_menu_network, GTK_TYPE_CHECK_MENU_ITEM);
|
||||||
|
|
||||||
|
static void nm_menu_network_update_image (NMMenuNetwork *menu_network);
|
||||||
|
|
||||||
|
static void
|
||||||
|
nm_menu_network_init (NMMenuNetwork *menu_network)
|
||||||
|
{
|
||||||
|
GtkWidget *hbox;
|
||||||
|
|
||||||
|
gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (menu_network), TRUE);
|
||||||
|
hbox = gtk_hbox_new (FALSE, 2);
|
||||||
|
menu_network->image = gtk_image_new ();
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox), menu_network->image, FALSE, FALSE, 0);
|
||||||
|
menu_network->label = gtk_label_new (NULL);
|
||||||
|
gtk_misc_set_alignment (GTK_MISC (menu_network->label), 0.0, 0.5);
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox), menu_network->label, TRUE, TRUE, 0);
|
||||||
|
gtk_container_add (GTK_CONTAINER (menu_network), hbox);
|
||||||
|
gtk_widget_show_all (hbox);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
nm_menu_network_style_set (GtkWidget *widget,
|
||||||
|
GtkStyle *previous_style)
|
||||||
|
{
|
||||||
|
GTK_WIDGET_CLASS (nm_menu_network_parent_class)->style_set (widget, previous_style);
|
||||||
|
|
||||||
|
nm_menu_network_update_image (NM_MENU_NETWORK (widget));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
nm_menu_network_draw_indicator (GtkCheckMenuItem *check_menu_item,
|
||||||
|
GdkRectangle *area)
|
||||||
|
{
|
||||||
|
/* Only draw the indicator if we're an ethernet 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
nm_menu_network_class_init (NMMenuNetworkClass *menu_network)
|
||||||
|
{
|
||||||
|
GtkWidgetClass *widget_class;
|
||||||
|
GtkCheckMenuItemClass *check_menu_item_class;
|
||||||
|
|
||||||
|
widget_class = GTK_WIDGET_CLASS (menu_network);
|
||||||
|
check_menu_item_class = GTK_CHECK_MENU_ITEM_CLASS (menu_network);
|
||||||
|
|
||||||
|
widget_class->style_set = nm_menu_network_style_set;
|
||||||
|
check_menu_item_class->draw_indicator = nm_menu_network_draw_indicator;
|
||||||
|
}
|
||||||
|
|
||||||
|
GtkWidget *
|
||||||
|
nm_menu_network_new (GtkSizeGroup *image_size_group)
|
||||||
|
{
|
||||||
|
GtkWidget *retval = g_object_new (nm_menu_network_get_type (), NULL);
|
||||||
|
|
||||||
|
gtk_size_group_add_widget (image_size_group,
|
||||||
|
NM_MENU_NETWORK (retval)->image);
|
||||||
|
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* updates the image based on the icon type. It is called when themes
|
||||||
|
* change too as the icon size is theme dependent */
|
||||||
|
static void
|
||||||
|
nm_menu_network_update_image (NMMenuNetwork *menu_network)
|
||||||
|
{
|
||||||
|
GtkIconTheme *icon_theme;
|
||||||
|
GdkPixbuf *icon;
|
||||||
|
const gchar *icon_name = NULL;
|
||||||
|
gint size;
|
||||||
|
|
||||||
|
if (menu_network->type == DEVICE_TYPE_WIRED_ETHERNET)
|
||||||
|
{
|
||||||
|
icon_name = "nm-device-wired";
|
||||||
|
}
|
||||||
|
else if (menu_network->type == DEVICE_TYPE_WIRELESS_ETHERNET)
|
||||||
|
{
|
||||||
|
icon_name = "nm-device-wireless";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gtk_image_set_from_pixbuf (GTK_IMAGE (menu_network->image), NULL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
gtk_icon_size_lookup_for_settings (gtk_settings_get_default (),
|
||||||
|
GTK_ICON_SIZE_MENU,
|
||||||
|
&size, NULL);
|
||||||
|
|
||||||
|
icon_theme = gtk_icon_theme_get_default ();
|
||||||
|
icon = gtk_icon_theme_load_icon (icon_theme,
|
||||||
|
icon_name,
|
||||||
|
size, 0, NULL);
|
||||||
|
gtk_image_set_from_pixbuf (GTK_IMAGE (menu_network->image), icon);
|
||||||
|
if (icon)
|
||||||
|
g_object_unref (icon);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
nm_menu_network_update (NMMenuNetwork *menu_network,
|
||||||
|
NetworkDevice *network,
|
||||||
|
gint n_devices)
|
||||||
|
{
|
||||||
|
char *text;
|
||||||
|
const char *network_name;
|
||||||
|
gint n_essids;
|
||||||
|
|
||||||
|
menu_network->type = network->type;
|
||||||
|
n_essids = g_slist_length (network->networks);
|
||||||
|
network_name = network->hal_name ? network->hal_name : network->nm_name;
|
||||||
|
|
||||||
|
switch (menu_network->type)
|
||||||
|
{
|
||||||
|
case DEVICE_TYPE_WIRED_ETHERNET:
|
||||||
|
if (n_devices > 1)
|
||||||
|
text = g_strdup_printf (_("Wired Network (%s)"), network_name);
|
||||||
|
else
|
||||||
|
text = g_strdup (_("Wired Network"));
|
||||||
|
break;
|
||||||
|
case DEVICE_TYPE_WIRELESS_ETHERNET:
|
||||||
|
if (n_devices > 1)
|
||||||
|
text = g_strdup_printf (ngettext ("Wireless Network (%s)", "Wireless Networks (%s)", n_essids), network_name);
|
||||||
|
else
|
||||||
|
text = g_strdup (ngettext ("Wireless Network", "Wireless Networks", n_essids));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
g_assert_not_reached ();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
gtk_label_set_text (GTK_LABEL (menu_network->label), text);
|
||||||
|
g_free (text);
|
||||||
|
nm_menu_network_update_image (menu_network);
|
||||||
|
|
||||||
|
if (menu_network->type == DEVICE_TYPE_WIRELESS_ETHERNET)
|
||||||
|
gtk_widget_set_sensitive (GTK_WIDGET (menu_network), FALSE);
|
||||||
|
else
|
||||||
|
gtk_widget_set_sensitive (GTK_WIDGET (menu_network), TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* NMMenuWireless items*/
|
||||||
G_DEFINE_TYPE (NMMenuWireless, nm_menu_wireless, GTK_TYPE_CHECK_MENU_ITEM);
|
G_DEFINE_TYPE (NMMenuWireless, nm_menu_wireless, GTK_TYPE_CHECK_MENU_ITEM);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -94,19 +238,9 @@ nm_menu_wireless_update (NMMenuWireless *menu_info,
|
|||||||
char *display_essid;
|
char *display_essid;
|
||||||
|
|
||||||
display_essid = nm_menu_wireless_escape_essid_for_display (network->essid);
|
display_essid = nm_menu_wireless_escape_essid_for_display (network->essid);
|
||||||
if (network->active)
|
|
||||||
{
|
|
||||||
char *markup_essid;
|
|
||||||
markup_essid = g_markup_printf_escaped ("<b>%s</b>", display_essid);
|
|
||||||
gtk_label_set_markup (GTK_LABEL (menu_info->label), markup_essid);
|
|
||||||
g_free (markup_essid);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gtk_label_set_text (GTK_LABEL (menu_info->label), display_essid);
|
gtk_label_set_text (GTK_LABEL (menu_info->label), display_essid);
|
||||||
}
|
|
||||||
|
|
||||||
g_free (display_essid);
|
g_free (display_essid);
|
||||||
|
|
||||||
g_object_set (G_OBJECT (menu_info->progress_bar),
|
g_object_set (G_OBJECT (menu_info->progress_bar),
|
||||||
"value", CLAMP ((int) network->strength, 0, 100),
|
"value", CLAMP ((int) network->strength, 0, 100),
|
||||||
NULL);
|
NULL);
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* menu-info.h: Simple menu item for the Applet to use
|
/* menu-info.h: Simple menu items for the Applet to use
|
||||||
*
|
*
|
||||||
* Jonathan Blandford <jrb@redhat.com>
|
* Jonathan Blandford <jrb@redhat.com>
|
||||||
*
|
*
|
||||||
@@ -23,12 +23,31 @@
|
|||||||
#define MENU_INFO_H
|
#define MENU_INFO_H
|
||||||
|
|
||||||
|
|
||||||
|
/* We have two widgets that we use here.
|
||||||
|
*/
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
#include "NMWirelessApplet.h"
|
#include "NMWirelessApplet.h"
|
||||||
|
|
||||||
|
#define NM_TYPE_MENU_NETWORK (nm_menu_network_get_type ())
|
||||||
|
#define NM_MENU_NETWORK(widget) (G_TYPE_CHECK_INSTANCE_CAST ((widget), NM_TYPE_MENU_NETWORK, NMMenuNetwork))
|
||||||
|
|
||||||
#define NM_TYPE_MENU_WIRELESS (nm_menu_wireless_get_type ())
|
#define NM_TYPE_MENU_WIRELESS (nm_menu_wireless_get_type ())
|
||||||
#define NM_MENU_WIRELESS(widget) (G_TYPE_CHECK_INSTANCE_CAST ((widget), NM_TYPE_MENU_WIRELESS, NMMenuWireless))
|
#define NM_MENU_WIRELESS(widget) (G_TYPE_CHECK_INSTANCE_CAST ((widget), NM_TYPE_MENU_WIRELESS, NMMenuWireless))
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
GtkCheckMenuItemClass parent_class;
|
||||||
|
} NMMenuNetworkClass;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
GtkCheckMenuItem parent;
|
||||||
|
GtkWidget *image;
|
||||||
|
GtkWidget *label;
|
||||||
|
int type;
|
||||||
|
} NMMenuNetwork;
|
||||||
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GtkCheckMenuItemClass parent_class;
|
GtkCheckMenuItemClass parent_class;
|
||||||
@@ -45,6 +64,14 @@ typedef struct
|
|||||||
} NMMenuWireless;
|
} NMMenuWireless;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GType nm_menu_network_get_type (void);
|
||||||
|
GtkWidget *nm_menu_network_new (GtkSizeGroup *image_size_group);
|
||||||
|
void nm_menu_network_update (NMMenuNetwork *menu_network,
|
||||||
|
NetworkDevice *network,
|
||||||
|
gboolean multiple_devices);
|
||||||
|
|
||||||
GType nm_menu_wireless_get_type (void);
|
GType nm_menu_wireless_get_type (void);
|
||||||
GtkWidget *nm_menu_wireless_new (GtkSizeGroup *image_size_group,
|
GtkWidget *nm_menu_wireless_new (GtkSizeGroup *image_size_group,
|
||||||
GtkSizeGroup *encryption_size_group);
|
GtkSizeGroup *encryption_size_group);
|
||||||
|
Reference in New Issue
Block a user