network-manager-applet r507 - in trunk: . src



Author: dcbw
Date: Mon Feb  4 21:03:38 2008
New Revision: 507
URL: http://svn.gnome.org/viewvc/network-manager-applet?rev=507&view=rev

Log:
2008-02-04  Dan Williams  <dcbw redhat com>

	* src/applet-device-cdma.c
	  src/applet-device-gsm.c
		- (cdma_add_menu_item, gsm_add_menu_item): add a default connection
			item when no connections are defined so that at least something can
			be picked from the menu



Modified:
   trunk/ChangeLog
   trunk/src/applet-device-cdma.c
   trunk/src/applet-device-gsm.c

Modified: trunk/src/applet-device-cdma.c
==============================================================================
--- trunk/src/applet-device-cdma.c	(original)
+++ trunk/src/applet-device-cdma.c	Mon Feb  4 21:03:38 2008
@@ -52,6 +52,8 @@
 	g_slice_free (CdmaMenuItemInfo, data);
 }
 
+#define DEFAULT_CDMA_NAME _("Auto CDMA network connection")
+
 static NMConnection *
 cdma_new_auto_connection (NMDevice *device,
                           NMApplet *applet,
@@ -82,7 +84,7 @@
 	nm_connection_add_setting (connection, NM_SETTING (s_ppp));
 
 	s_con = NM_SETTING_CONNECTION (nm_setting_connection_new ());
-	s_con->id = g_strdup (_("Auto CDMA dialup connection"));
+	s_con->id = g_strdup (DEFAULT_CDMA_NAME);
 	s_con->type = g_strdup (NM_SETTING (s_cdma)->name);
 	s_con->autoconnect = FALSE;
 	nm_connection_add_setting (connection, NM_SETTING (s_con));
@@ -139,6 +141,29 @@
 }
 
 static void
+add_default_connection_item (NMDevice *device,
+                             GtkWidget *menu,
+                             NMApplet *applet)
+{
+	CdmaMenuItemInfo *info;
+	GtkWidget *item;
+	
+	item = gtk_check_menu_item_new_with_label (DEFAULT_CDMA_NAME);
+	gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (item), TRUE);
+
+	info = g_slice_new0 (CdmaMenuItemInfo);
+	info->applet = applet;
+	info->device = g_object_ref (G_OBJECT (device));
+
+	g_signal_connect_data (item, "activate",
+	                       G_CALLBACK (cdma_menu_item_activate),
+	                       info,
+	                       (GClosureNotify) cdma_menu_item_info_destroy, 0);
+
+	gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+}
+
+static void
 cdma_menu_item_deactivate (GtkMenuItem *item, gpointer user_data)
 {
 	CdmaMenuItemInfo *info = (CdmaMenuItemInfo *) user_data;
@@ -229,7 +254,10 @@
 
 	gtk_widget_set_sensitive (item, FALSE);
 
-	add_connection_items (device, connections, active, menu, applet);
+	if (g_slist_length (connections))
+		add_connection_items (device, connections, active, menu, applet);
+	else
+		add_default_connection_item (device, menu, applet);
 	add_disconnect_item (device, menu, applet);
 
 	gtk_widget_show (item);

Modified: trunk/src/applet-device-gsm.c
==============================================================================
--- trunk/src/applet-device-gsm.c	(original)
+++ trunk/src/applet-device-gsm.c	Mon Feb  4 21:03:38 2008
@@ -52,6 +52,8 @@
 	g_slice_free (GSMMenuItemInfo, data);
 }
 
+#define DEFAULT_GSM_NAME _("Auto GSM network connection")
+
 static NMConnection *
 gsm_new_auto_connection (NMDevice *device,
                          NMApplet *applet,
@@ -82,7 +84,7 @@
 	nm_connection_add_setting (connection, NM_SETTING (s_ppp));
 
 	s_con = NM_SETTING_CONNECTION (nm_setting_connection_new ());
-	s_con->id = g_strdup (_("Auto GSM dialup connection"));
+	s_con->id = g_strdup (DEFAULT_GSM_NAME);
 	s_con->type = g_strdup (NM_SETTING (s_gsm)->name);
 	s_con->autoconnect = FALSE;
 	nm_connection_add_setting (connection, NM_SETTING (s_con));
@@ -139,6 +141,29 @@
 }
 
 static void
+add_default_connection_item (NMDevice *device,
+                             GtkWidget *menu,
+                             NMApplet *applet)
+{
+	GSMMenuItemInfo *info;
+	GtkWidget *item;
+	
+	item = gtk_check_menu_item_new_with_label (DEFAULT_GSM_NAME);
+	gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (item), TRUE);
+
+	info = g_slice_new0 (GSMMenuItemInfo);
+	info->applet = applet;
+	info->device = g_object_ref (G_OBJECT (device));
+
+	g_signal_connect_data (item, "activate",
+	                       G_CALLBACK (gsm_menu_item_activate),
+	                       info,
+	                       (GClosureNotify) gsm_menu_item_info_destroy, 0);
+
+	gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+}
+
+static void
 gsm_menu_item_deactivate (GtkMenuItem *item, gpointer user_data)
 {
 	GSMMenuItemInfo *info = (GSMMenuItemInfo *) user_data;
@@ -229,7 +254,10 @@
 
 	gtk_widget_set_sensitive (item, FALSE);
 
-	add_connection_items (device, connections, active, menu, applet);
+	if (g_slist_length (connections))
+		add_connection_items (device, connections, active, menu, applet);
+	else
+		add_default_connection_item (device, menu, applet);
 	add_disconnect_item (device, menu, applet);
 
 	gtk_widget_show (item);



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