[patch] more stetic!



Some more stuff from this kernel-hacker-turned-UI-ninja.

Some of this might be a bit more contentious, but it is all in the name
of the illusive "stetic":

	- Rename "Other Wireless Networks..." to "Connect to Other
	  Wireless Network..."
	- Rename "Create new Wireless Network..." to "Create New
	  Wireless Network..."
	- Don't center the "Wireless Networks" menu item.
	- Actually make the "Wireless Networks" menu item inactive.
	  I realize this was done deliberately (with the nasty signal
	  hack), but the thing /is/ insensitive, unselectable, and a
	  label, not a menu item.  The greyed-out look is in.
	- Use gtk_menu_new_with_label(), not the previous complications.
	- Consolidate a few seemingly related functions, all called from
	  the same place once, into one.
	- Misc. cleanup: net patch change is -36 lines!

Compare:

	http://rlove.org/log/2005061601.html

All my love,

	Robert Love

 applet.c     |   23 +++++++++---------
 menu-items.c |   72 ++++++++++++-----------------------------------------------
 menu-items.h |    9 +++++--
 3 files changed, 34 insertions(+), 70 deletions(-)

Index: gnome/applet/applet.c
===================================================================
RCS file: /cvs/gnome/NetworkManager/gnome/applet/applet.c,v
retrieving revision 1.12
diff -u -u -r1.12 applet.c
--- gnome/applet/applet.c	12 Jun 2005 14:35:58 -0000	1.12
+++ gnome/applet/applet.c	16 Jun 2005 20:12:00 -0000
@@ -1298,16 +1298,17 @@
 
 		case DEVICE_TYPE_WIRELESS_ETHERNET:
 		{
-			NMWirelessMenuItem *item = wireless_menu_item_new ();
-			GtkMenuItem *gtk_item = wireless_menu_item_get_item (item);
-		     wireless_menu_item_update (item, device, n_devices);
-
-			g_object_set_data (G_OBJECT (gtk_item), "device", g_strdup (network_device_get_nm_path (device)));
-			g_object_set_data (G_OBJECT (gtk_item), "nm-item-data", item);
-			g_signal_connect(G_OBJECT (gtk_item), "activate", G_CALLBACK (nmwa_menu_item_activate), applet);
+			NMWirelessMenuItem *item = wireless_menu_item_new (device, n_devices);
 
-			gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (gtk_item));
-			gtk_widget_show (GTK_WIDGET (gtk_item));
+			g_object_set_data (G_OBJECT (item->menu_item), "device", g_strdup (network_device_get_nm_path (device)));
+			g_object_set_data (G_OBJECT (item->menu_item), "nm-item-data", item);
+			g_signal_connect (G_OBJECT (item->menu_item), "activate", G_CALLBACK (nmwa_menu_item_activate), applet);
+
+			gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (item->separator));
+			gtk_widget_show (GTK_WIDGET (item->separator));
+
+			gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (item->menu_item));
+			gtk_widget_show (GTK_WIDGET (item->menu_item));
 			break;
 		}
 
@@ -1329,7 +1330,7 @@
   GtkWidget *label;
 
   menu_item = gtk_menu_item_new ();
-  label = gtk_label_new (_("Other Wireless Networks..."));
+  label = gtk_label_new (_("Connect to Other Wireless Network..."));
   gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
   gtk_container_add (GTK_CONTAINER (menu_item), label);
   gtk_widget_show_all (menu_item);
@@ -1350,7 +1351,7 @@
   GtkWidget *label;
 
   menu_item = gtk_menu_item_new ();
-  label = gtk_label_new (_("Create new Wireless Network..."));
+  label = gtk_label_new (_("Create New Wireless Network..."));
   gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
   gtk_container_add (GTK_CONTAINER (menu_item), label);
   gtk_widget_show_all (menu_item);
Index: gnome/applet/menu-items.c
===================================================================
RCS file: /cvs/gnome/NetworkManager/gnome/applet/menu-items.c,v
retrieving revision 1.2
diff -u -u -r1.2 menu-items.c
--- gnome/applet/menu-items.c	6 May 2005 02:58:05 -0000	1.2
+++ gnome/applet/menu-items.c	16 Jun 2005 20:12:00 -0000
@@ -101,76 +101,34 @@
 		gtk_widget_set_sensitive (GTK_WIDGET (item->check_item), network_device_get_link (dev));
 }
 
-
-/****************************************************************
- *   Wireless menu item
- ****************************************************************/
-
-struct NMWirelessMenuItem
-{
-	GtkMenuItem	*menu_item;
-	GtkLabel		*label;
-};
-
-
-static gboolean label_expose (GtkWidget *widget)
+NMWirelessMenuItem *wireless_menu_item_new (NetworkDevice *dev, const gint n_devices)
 {
-	/* Bad hack to make the label draw normally, instead of insensitive. */
-	widget->state = GTK_STATE_NORMAL;
-  
-	return FALSE;
-}
-
-NMWirelessMenuItem *wireless_menu_item_new (void)
-{
-	NMWirelessMenuItem	*item = g_malloc0 (sizeof (NMWirelessMenuItem));
-
-	g_return_val_if_fail (item != NULL, NULL);
-
-	item->menu_item = GTK_MENU_ITEM (gtk_menu_item_new ());
-
-	/* Make sure it looks slightly different if the label determines the width of the widget */
-	item->label = GTK_LABEL (gtk_label_new (NULL));
-	gtk_misc_set_padding (GTK_MISC (item->label), 6, 0);
-	g_signal_connect (G_OBJECT (item->label), "expose-event", G_CALLBACK (label_expose), NULL);
-
-	gtk_container_add (GTK_CONTAINER (item->menu_item), GTK_WIDGET (item->label));
-	gtk_widget_show (GTK_WIDGET (item->label));
-
-	gtk_widget_set_sensitive (GTK_WIDGET (item->menu_item), FALSE);
-
-	return item;
-}
-
-GtkMenuItem *wireless_menu_item_get_item (NMWirelessMenuItem *item)
-{
-	g_return_val_if_fail (item != NULL, NULL);
-
-	return item->menu_item;
-}
-
-void wireless_menu_item_update (NMWirelessMenuItem *item, NetworkDevice *dev, const gint n_devices)
-{
-	char *text;
-	const char *dev_name;
+	NMWirelessMenuItem *item = g_malloc0 (sizeof (NMWirelessMenuItem));
 	gint n_essids;
+	char *text;
 
-	g_return_if_fail (dev != NULL);
-	g_return_if_fail (item != NULL);
+	g_return_val_if_fail (dev != NULL, NULL);
+	g_return_val_if_fail (item != NULL, NULL);
 	g_assert (network_device_is_wireless (dev));
 
-	n_essids = network_device_get_num_wireless_networks (dev);
-	dev_name = network_device_get_desc (dev) ? network_device_get_desc (dev) : network_device_get_iface (dev);
+	item->separator = gtk_separator_menu_item_new ();
 
+	n_essids = network_device_get_num_wireless_networks (dev);
 	if (n_devices > 1)
+	{
+		const char *dev_name = network_device_get_desc (dev) ? network_device_get_desc (dev) : network_device_get_iface (dev);
 		text = g_strdup_printf (ngettext ("Wireless Network (%s)", "Wireless Networks (%s)", n_essids), dev_name);
+	}
 	else
 		text = g_strdup (ngettext ("Wireless Network", "Wireless Networks", n_essids));
 
-	gtk_label_set_markup (GTK_LABEL (item->label), text);
+	item->menu_item = GTK_MENU_ITEM (gtk_menu_item_new_with_label (text));
+	gtk_widget_set_sensitive (GTK_WIDGET (item->menu_item), FALSE);
+
 	g_free (text);
-}
 
+	return item;
+}
 
 /****************************************************************
  *   Wireless Network menu item
Index: gnome/applet/menu-items.h
===================================================================
RCS file: /cvs/gnome/NetworkManager/gnome/applet/menu-items.h,v
retrieving revision 1.1
diff -u -u -r1.1 menu-items.h
--- gnome/applet/menu-items.h	27 Apr 2005 18:05:02 -0000	1.1
+++ gnome/applet/menu-items.h	16 Jun 2005 20:12:00 -0000
@@ -27,15 +27,20 @@
 
 
 typedef struct NMWiredMenuItem NMWiredMenuItem;
-typedef struct NMWirelessMenuItem NMWirelessMenuItem;
 typedef struct NMNetworkMenuItem NMNetworkMenuItem;
 
+typedef struct NMWirelessMenuItem
+{
+	GtkWidget		*separator;
+	GtkMenuItem	*menu_item;
+	GtkLabel		*label;
+} NMWirelessMenuItem;
 
 NMWiredMenuItem	*wired_menu_item_new (void);
 GtkCheckMenuItem	*wired_menu_item_get_check_item (NMWiredMenuItem *item);
 void				 wired_menu_item_update (NMWiredMenuItem *item, NetworkDevice *dev, const gint n_devices);
 
-NMWirelessMenuItem	*wireless_menu_item_new (void);
+NMWirelessMenuItem	*wireless_menu_item_new (NetworkDevice *dev, const gint nr_devices);
 GtkMenuItem		*wireless_menu_item_get_item (NMWirelessMenuItem *item);
 void				 wireless_menu_item_update (NMWirelessMenuItem *item, NetworkDevice *dev, const gint n_devices);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]