diff src/server.c @ 2768:8a918df1a5ed

[gaim-migrate @ 2781] you can change your registered email address committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Mon, 19 Nov 2001 16:37:32 +0000
parents 8eb8db9a8449
children a0fd8f91e294
line wrap: on
line diff
--- a/src/server.c	Mon Nov 19 15:25:36 2001 +0000
+++ b/src/server.c	Mon Nov 19 16:37:32 2001 +0000
@@ -31,6 +31,7 @@
 #include <sys/time.h>
 #include <unistd.h>
 #include <errno.h>
+#include "gtkimhtml.h"
 #include "prpl.h"
 #include "multi.h"
 #include "gaim.h"
@@ -40,6 +41,7 @@
 
 #include "pixmaps/ok.xpm"
 #include "pixmaps/cancel.xpm"
+#include "pixmaps/tb_search.xpm"
 
 void serv_login(struct aim_user *user)
 {
@@ -950,3 +952,60 @@
 	chat_write(b, who, w, buf, mtime);
 	g_free(buf);
 }
+
+static void des_popup(GtkWidget *w, GtkWidget *window)
+{
+	if (w == window) {
+		char *u = gtk_object_get_user_data(GTK_OBJECT(window));
+		g_free(u);
+	}
+	gtk_widget_destroy(window);
+}
+
+void serv_got_popup(char *msg, char *u, int wid, int hei)
+{
+	GtkWidget *window;
+	GtkWidget *vbox;
+	GtkWidget *sw;
+	GtkWidget *text;
+	GtkWidget *hbox;
+	GtkWidget *button;
+	char *url = g_strdup(u);
+
+	GAIM_DIALOG(window);
+	gtk_window_set_wmclass(GTK_WINDOW(window), "popup", "Gaim");
+	gtk_window_set_policy(GTK_WINDOW(window), FALSE, FALSE, TRUE);
+	gtk_window_set_title(GTK_WINDOW(window), "Gaim - Popup");
+	gtk_container_set_border_width(GTK_CONTAINER(window), 5);
+	gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(des_popup), window);
+	gtk_object_set_user_data(GTK_OBJECT(window), url);
+	gtk_widget_realize(window);
+	aol_icon(window->window);
+
+	vbox = gtk_vbox_new(FALSE, 5);
+	gtk_container_add(GTK_CONTAINER(window), vbox);
+
+	sw = gtk_scrolled_window_new(NULL, NULL);
+	gtk_widget_set_usize(sw, wid, hei);
+	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
+	gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);
+
+	text = gtk_imhtml_new(NULL, NULL);
+	gtk_container_add(GTK_CONTAINER(sw), text);
+	gaim_setup_imhtml(text);
+
+	hbox = gtk_hbox_new(FALSE, 5);
+	gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
+
+	button = picture_button(window, _("Close"), cancel_xpm);
+	gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5);
+	gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(des_popup), window);
+
+	button = picture_button(window, _("More Info"), tb_search_xpm);
+	gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5);
+	gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(open_url_nw), url);
+
+	gtk_widget_show_all(window);
+
+	gtk_imhtml_append_text(GTK_IMHTML(text), msg, GTK_IMHTML_NO_NEWLINE);
+}