Blob Blame History Raw
--- control-center-2.17.91/capplets/about-me/gnome-about-me.c.passwd	2007-02-12 04:28:24.000000000 -0500
+++ control-center-2.17.91/capplets/about-me/gnome-about-me.c	2007-02-13 12:18:59.000000000 -0500
@@ -36,7 +36,6 @@
 #include <libebook/e-book.h>
 
 #include "e-image-chooser.h"
-#include "gnome-about-me-password.h"
 
 #include "capplet-util.h"
 
@@ -719,10 +718,12 @@
 static void
 about_me_passwd_clicked_cb (GtkWidget *button, GnomeAboutMe *me)
 {
+        gchar *argv[2]; 
 	GladeXML *dialog;
 	
-	dialog = me->dialog;
-	gnome_about_me_password (GTK_WINDOW (WID ("about-me-dialog")));
+        argv[0] = "/usr/bin/userpasswd";
+        argv[1] = NULL;
+	g_spawn_async (NULL, argv, NULL, 0, NULL, NULL, NULL, NULL);
 }
 
 static gint
@@ -733,10 +734,7 @@
 	GtkIconInfo  *icon;
 	GladeXML     *dialog;
 	GError 	     *error = NULL;
-
-	struct passwd *pwent;
-	gchar *str;
-	gchar **tok;
+        gchar        *str;
 
 	me = g_new0 (GnomeAboutMe, 1);
 
@@ -805,34 +803,14 @@
 		} 
 	}
 
-	/************************************************/
-	me->login = get_user_login ();
-	setpwent ();
-	pwent = getpwnam (me->login);
-	if (pwent == NULL) {
-		about_me_error (GTK_WINDOW (WID ("about-me-dialog")), 
-				_("Unknown login ID, the user database might be corrupted"));
-		about_me_destroy (me);
-		return -1;
-	}
-	tok = g_strsplit (pwent->pw_gecos, ",", 0);
-
-	/************************************************/
-
-	if (tok[0] == NULL || strlen (tok[0]) == 0)
-		me->username = NULL;
-	else
-		me->username = g_strdup (tok[0]);
+	me->login = g_strdup (g_get_user_name ());
+        me->username = g_strdup (g_get_real_name ());
 
 	/* Contact Tab */
 	about_me_load_photo (me, me->contact);
 
 	widget = WID ("fullname"); 
-	if (tok[0] == NULL || strlen (tok[0]) == 0) {
-		str = g_strdup_printf ("<b><span size=\"xx-large\">%s</span></b>", me->login);
-	} else {
-		str = g_strdup_printf ("<b><span size=\"xx-large\">%s</span></b>", tok[0]);
-	}
+        str = g_strdup_printf ("<b><span size=\"xx-large\">%s</span></b>", me->username);
 
 	gtk_label_set_markup (GTK_LABEL (widget), str);
 	g_free (str);
@@ -840,14 +818,9 @@
 	widget = WID ("login");
 	gtk_label_set_text (GTK_LABEL (widget), me->login);
 
-	if (tok[0] == NULL || strlen (tok[0]) == 0) {
-		str = g_strdup_printf (_("About %s"), me->login);
-	} else {
-		str = g_strdup_printf (_("About %s"), tok[0]);
-	}
+        str = g_strdup_printf (_("About %s"), me->username);
 	gtk_window_set_title (GTK_WINDOW (main_dialog), str);
 	g_free (str);
-	g_strfreev (tok);
 
 	widget = WID ("password");
 	g_signal_connect (G_OBJECT (widget), "clicked",