src/dialogs.c

changeset 935
d772a17fe057
parent 934
aa207620a0c1
child 940
b3985f53a6c0
--- a/src/dialogs.c	Thu Sep 21 19:21:35 2000 +0000
+++ b/src/dialogs.c	Fri Sep 22 10:16:40 2000 +0000
@@ -71,6 +71,7 @@
 GdkColor fgcolor;
 
 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */
+static GtkWidget *infodialog = NULL;
 static GList *dialogwindows = NULL;
 static GtkWidget *exportdialog, *importdialog;
 static GtkWidget *aliasdlg = NULL;
@@ -332,6 +333,9 @@
         if (dest == imdialog)
 		imdialog = NULL;
 
+	if (dest == infodialog)
+		infodialog = NULL;
+
 	if (dest == exportdialog)
 		exportdialog = NULL;
 
@@ -369,6 +373,11 @@
                 destroy_dialog(NULL, imdialog);
                 imdialog = NULL;
         }
+
+	if (infodialog) {
+                destroy_dialog(NULL, infodialog);
+                infodialog = NULL;
+        }
         
         if (exportdialog) {
                 destroy_dialog(NULL, exportdialog);
@@ -639,6 +648,24 @@
         g_free(who);
 }
 
+static void do_info(GtkWidget *widget, GtkWidget *infoentry)
+{
+	char *who;
+	
+        who = g_strdup(normalize(gtk_entry_get_text(GTK_ENTRY(infoentry))));
+	destroy_dialog(NULL, infodialog);
+        infodialog = NULL;
+        
+        if (!strcasecmp(who, "")) {
+                g_free(who);
+		return;
+	}
+	
+	serv_get_info(who);
+
+	g_free(who);
+}
+
 void show_ee_dialog(int ee)
 {
 	GtkWidget *ok;
@@ -682,7 +709,7 @@
 	gtk_widget_show(eedialog);
 }
 
-void show_im_dialog(GtkWidget *w, GtkWidget *w2)
+void show_im_dialog()
 {
 	GtkWidget *button;
 	GtkWidget *imentry;
@@ -722,7 +749,7 @@
 		gtk_signal_connect(GTK_OBJECT(button), "clicked",
 				   GTK_SIGNAL_FUNC(destroy_dialog), imdialog);
 
-                label = gtk_label_new(_("IM who: "));
+                label = gtk_label_new(_("IM who:"));
                 gtk_box_pack_start(GTK_BOX(ebox), label, TRUE, TRUE, 10);
                 gtk_widget_show(label);
 
@@ -757,6 +784,81 @@
         gtk_widget_show(imdialog);
 }
 
+void show_info_dialog()
+{
+	GtkWidget *button;
+	GtkWidget *infoentry;
+        GtkWidget *vbox;
+        GtkWidget *ebox;
+        GtkWidget *bbox;
+        GtkWidget *label;
+	GtkWidget *frame;
+	GtkWidget *fbox;
+
+        if (!infodialog) {
+
+                infodialog = gtk_window_new(GTK_WINDOW_DIALOG);
+		gtk_window_set_wmclass(GTK_WINDOW(infodialog), "infodialog",
+                                       "Gaim");
+		gtk_widget_set_usize(infodialog, 255, 105);
+		gtk_container_border_width(GTK_CONTAINER(infodialog), 5);
+		gtk_window_set_policy(GTK_WINDOW(infodialog), FALSE, FALSE, TRUE);
+		gtk_widget_show(infodialog);
+
+		bbox = gtk_hbox_new(TRUE, 10);
+                vbox = gtk_vbox_new(FALSE, 5);
+                ebox = gtk_hbox_new(FALSE, 2);
+		fbox = gtk_vbox_new(TRUE, 10);
+
+		frame = gtk_frame_new(_("Get User Info"));
+	
+		infoentry = gtk_entry_new();
+
+		button = picture_button(infodialog, _("OK"), ok_xpm);
+		gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);	
+		gtk_signal_connect(GTK_OBJECT(button), "clicked",
+				   GTK_SIGNAL_FUNC(do_info), infoentry);
+
+		button = picture_button(infodialog, _("Cancel"), cancel_xpm);
+		gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);	
+		gtk_signal_connect(GTK_OBJECT(button), "clicked",
+				   GTK_SIGNAL_FUNC(destroy_dialog), infodialog);
+
+                label = gtk_label_new(_("User:"));
+                gtk_box_pack_start(GTK_BOX(ebox), label, TRUE, TRUE, 10);
+                gtk_widget_show(label);
+
+                gtk_box_pack_start(GTK_BOX(ebox), infoentry, TRUE, TRUE, 10);
+
+                gtk_box_pack_start(GTK_BOX(vbox), ebox, FALSE, FALSE, 5);
+                gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5);
+
+                /* Handle closes right */
+		gtk_signal_connect(GTK_OBJECT(infoentry), "activate",
+				   GTK_SIGNAL_FUNC(do_info), infoentry);
+                gtk_signal_connect(GTK_OBJECT(infodialog), "destroy",
+                                   GTK_SIGNAL_FUNC(destroy_dialog), infodialog);
+
+		/* Finish up */
+                gtk_widget_show(ebox);
+                gtk_widget_show(infoentry);
+                gtk_widget_show(bbox);
+                gtk_widget_show(vbox);
+		gtk_widget_show(fbox);
+		gtk_widget_show(frame);
+		gtk_container_add(GTK_CONTAINER(frame), vbox);
+		gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5);
+		gtk_window_set_title(GTK_WINDOW(infodialog), _("Gaim - Get User Info"));
+                gtk_container_add(GTK_CONTAINER(infodialog), fbox);
+                gtk_widget_grab_focus(infoentry);
+                gtk_widget_realize(infodialog);
+		
+		aol_icon(infodialog->window);
+
+        }
+        gtk_widget_show(infodialog);
+}
+
 
 /*------------------------------------------------------------------------*/
 /*  The dialog for adding buddies                                         */

mercurial