diff src/dialogs.c @ 608:e33dfed611c9

[gaim-migrate @ 618] removed modality from the remaining im-window dialogs, and kept -Wall nice and clean while i was at it! :) committer: Tailor Script <tailor@pidgin.im>
author Todd Kulesza <fflewddur>
date Fri, 04 Aug 2000 21:56:18 +0000
parents 01a9c6998719
children 1301715fc119
line wrap: on
line diff
--- a/src/dialogs.c	Fri Aug 04 17:45:43 2000 +0000
+++ b/src/dialogs.c	Fri Aug 04 21:56:18 2000 +0000
@@ -71,7 +71,7 @@
 
 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */
 static GList *dialogwindows = NULL;
-static GtkWidget *linkdialog, *exportdialog, *importdialog, *logdialog;
+static GtkWidget *exportdialog, *importdialog;
 
 struct create_away {
         GtkWidget *window;
@@ -299,6 +299,13 @@
 		set_state_lock(0);
 		c->smiley_dialog = NULL;
 	}
+	else if (!g_strcasecmp(object_data, "log dialog"))
+	{
+		set_state_lock(1);
+		gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->wood), FALSE);
+		set_state_lock(0);
+		c->log_dialog = NULL;
+	}
 	
 	return FALSE;
 }
@@ -321,18 +328,6 @@
 	if (dest == importdialog)
 		importdialog = NULL;
 
-	if (dest == logdialog)
-		logdialog = NULL;
-
-/*	if (GTK_COLOR_SELECTION_DIALOG(dest))
-		color_dialog = NULL;*/
-
-	if (dest == linkdialog)
-		linkdialog = NULL;
-	
-/*	if (dest == fontdialog)
-		fontdialog = NULL;*/
-
         dialogwindows = g_list_remove(dialogwindows, dest);
         gtk_widget_destroy(dest);
 
@@ -359,16 +354,6 @@
                 imdialog = NULL;
         }
         
-	if (linkdialog) {
-		destroy_dialog(NULL, linkdialog);
-		linkdialog = NULL;
-	}
-/* is this needed? */
-/*	if (colordialog) {
-		destroy_dialog(NULL, colordialog);
-		colordialog = NULL;
-	}*/
-
         if (exportdialog) {
                 destroy_dialog(NULL, exportdialog);
                 exportdialog = NULL;
@@ -378,16 +363,6 @@
                 destroy_dialog(NULL, importdialog);
                 importdialog = NULL;
         }
-	
-	if (logdialog) {
-		destroy_dialog(NULL, logdialog);
-		logdialog = NULL;
-	}
-/* is this needed? */
-/*	if (fontdialog) {
-		destroy_dialog(NULL, fontdialog);
-		fontdialog = NULL;
-	}*/
 }
 
 static void do_warn(GtkWidget *widget, struct warning *w)
@@ -1849,20 +1824,31 @@
 
 
 /*------------------------------------------------------------------------*/
-/*  Function Called To Add A Log                                          */
+/*  Functions Called To Add A Log                                          */
 /*------------------------------------------------------------------------*/
 
-void do_log(GtkWidget *w, char *name)
+void cancel_log(GtkWidget *widget, struct conversation *c)
+{	
+	if (c->wood)
+	{
+		set_state_lock(1);
+		gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->wood), FALSE);
+		set_state_lock(0);
+	}
+	dialogwindows = g_list_remove(dialogwindows, c->log_dialog);
+	gtk_widget_destroy(c->log_dialog);
+	c->log_dialog = NULL;	
+}
+
+void do_log(GtkWidget *w, struct conversation *c)
 {
         struct log_conversation *l;
-	struct conversation *c;
         char buf[128];
 
-	c = find_conversation(name);
-        if (!find_log_info(name)) {
+        if (!find_log_info(c->name)) {
                 l = (struct log_conversation *)g_new0(struct log_conversation, 1);
-                strcpy(l->name, name);
-                strcpy(l->filename, gtk_file_selection_get_filename(GTK_FILE_SELECTION(logdialog)));
+                strcpy(l->name, c->name);
+                strcpy(l->filename, gtk_file_selection_get_filename(GTK_FILE_SELECTION(c->log_dialog)));
                 log_conversations = g_list_append(log_conversations, l);
 
                 if (c != NULL)
@@ -1873,11 +1859,10 @@
         }
 
         save_prefs();
-
-        destroy_dialog(NULL, logdialog);
-        logdialog = NULL;
+        cancel_log(NULL, c);
 } 
 
+/*
 static void cancel_log(GtkWidget *w, char *name)
 {
 	
@@ -1891,32 +1876,29 @@
         }
 	destroy_dialog(NULL, logdialog);
 }
-
-void show_log_dialog(char *bname)
+*/
+
+void show_log_dialog(struct conversation *c)
 {
 	char *buf = g_malloc(BUF_LEN);
-        struct conversation *c = find_conversation(bname);
-
 	
-	if (!logdialog) {
-		logdialog = gtk_file_selection_new(_("Gaim - Log Conversation"));
+	if (!c->log_dialog) {
+		c->log_dialog = gtk_file_selection_new(_("Gaim - Log Conversation"));
+		
+		gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(c->log_dialog));	
 		
-		gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(logdialog));	
-
-                gtk_object_set_user_data(GTK_OBJECT(logdialog), c);
-		
-		g_snprintf(buf, BUF_LEN - 1, "%s/%s.log", getenv("HOME"), bname);
-		
-		gtk_file_selection_set_filename(GTK_FILE_SELECTION(logdialog), buf);
-		gtk_signal_connect(GTK_OBJECT(logdialog), "delete_event", GTK_SIGNAL_FUNC(cancel_log), c);
-		gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(logdialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(do_log), bname);
-		gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(logdialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(cancel_log), bname);
+		g_snprintf(buf, BUF_LEN - 1, "%s/%s.log", getenv("HOME"), c->name);
+		gtk_object_set_user_data(GTK_OBJECT(c->log_dialog), "log dialog");
+		gtk_file_selection_set_filename(GTK_FILE_SELECTION(c->log_dialog), buf);
+		gtk_signal_connect(GTK_OBJECT(c->log_dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event_dialog), c);
+		gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(do_log), c);
+		gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(cancel_log), c);
 	}
 
 	g_free(buf);
 
-	gtk_widget_show(logdialog);
-	gdk_window_raise(logdialog->window);
+	gtk_widget_show(c->log_dialog);
+	gdk_window_raise(c->log_dialog->window);
 }
 
 /*------------------------------------------------------*/
@@ -2185,14 +2167,15 @@
 /* Link Dialog                                          */
 /*------------------------------------------------------*/
 
-void cancel_link(GtkWidget *widget, struct linkdlg *b)
+void cancel_link(GtkWidget *widget, struct conversation *c)
 {
-	if (b->toggle) {
+	if (c->link) {
 		set_state_lock(1);
-		gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->toggle), FALSE);
+		gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->link), FALSE);
 		set_state_lock(0);
 	}	
-	destroy_dialog(NULL, b->window);
+	destroy_dialog(NULL, c->link_dialog);
+	c->link_dialog = NULL;
 }
 
 void do_add_link(GtkWidget *widget, struct linkdlg *b)
@@ -2213,7 +2196,7 @@
 }
 
 
-void show_add_link(GtkWidget *entry, GtkWidget *link)
+void show_add_link(GtkWidget *linky, struct conversation *c)
 {
 	GtkWidget *vbox;
 	GtkWidget *bbox;
@@ -2222,14 +2205,14 @@
 	GtkWidget *frame;
 	GtkWidget *fbox;
 
-	if (!linkdialog) {
+	if (!c->link_dialog) {
 		struct linkdlg *b = g_new0(struct linkdlg, 1);
-		linkdialog = gtk_window_new(GTK_WINDOW_DIALOG);
-		dialogwindows = g_list_prepend(dialogwindows, linkdialog);
-
-		gtk_widget_set_usize(linkdialog, 270, 165);
-		gtk_window_set_policy(GTK_WINDOW(linkdialog), FALSE, FALSE, TRUE);
-		gtk_widget_show(linkdialog);
+		c->link_dialog = gtk_window_new(GTK_WINDOW_DIALOG);
+		dialogwindows = g_list_prepend(dialogwindows, c->link_dialog);
+
+		gtk_widget_set_usize(c->link_dialog, 270, 165);
+		gtk_window_set_policy(GTK_WINDOW(c->link_dialog), FALSE, FALSE, TRUE);
+		gtk_widget_show(c->link_dialog);
 
 		vbox = gtk_vbox_new(FALSE, 10);
 		bbox = gtk_hbox_new(TRUE, 10);
@@ -2238,8 +2221,8 @@
 
 		/* Build OK Button */
 
-		b->ok = picture_button(linkdialog, _("OK"), ok_xpm);
-		b->cancel = picture_button(linkdialog, _("Cancel"), cancel_xpm);
+		b->ok = picture_button(c->link_dialog, _("OK"), ok_xpm);
+		b->cancel = picture_button(c->link_dialog, _("Cancel"), cancel_xpm);
 
 		gtk_box_pack_start(GTK_BOX(bbox), b->ok, FALSE, FALSE, 10);
 		gtk_box_pack_end(GTK_BOX(bbox), b->cancel, FALSE, FALSE, 10);
@@ -2274,27 +2257,27 @@
 		gtk_box_pack_start(GTK_BOX(fbox), bbox, TRUE, TRUE, 5);
 		gtk_widget_show(vbox);
 
-		gtk_signal_connect(GTK_OBJECT(linkdialog), "destroy",
-				   GTK_SIGNAL_FUNC(cancel_link), b);
+		gtk_signal_connect(GTK_OBJECT(c->link_dialog), "destroy",
+				   GTK_SIGNAL_FUNC(cancel_link), c);
 		gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked",
-				   GTK_SIGNAL_FUNC(cancel_link), b);
+				   GTK_SIGNAL_FUNC(cancel_link), c);
 		gtk_signal_connect(GTK_OBJECT(b->ok), "clicked",
 				   GTK_SIGNAL_FUNC(do_add_link), b);
 
-		gtk_container_add(GTK_CONTAINER(linkdialog  ), fbox);
-		gtk_container_border_width(GTK_CONTAINER(linkdialog  ), 10);
-		gtk_window_set_title(GTK_WINDOW(linkdialog  ), _("GAIM - Add URL"));
-		gtk_window_set_focus(GTK_WINDOW(linkdialog  ), b->url);
-		b->window = linkdialog;
-		b->toggle = link;
-                b->entry = entry;
-                gtk_widget_realize(linkdialog);
-		aol_icon(linkdialog->window);
+		gtk_container_add(GTK_CONTAINER(c->link_dialog  ), fbox);
+		gtk_container_border_width(GTK_CONTAINER(c->link_dialog  ), 10);
+		gtk_window_set_title(GTK_WINDOW(c->link_dialog  ), _("GAIM - Add URL"));
+		gtk_window_set_focus(GTK_WINDOW(c->link_dialog  ), b->url);
+		b->window = c->link_dialog;
+		b->toggle = linky;
+        b->entry = c->entry;
+                gtk_widget_realize(c->link_dialog);
+		aol_icon(c->link_dialog->window);
 
 	}
 
-	gtk_widget_show(linkdialog);
-	gdk_window_raise(linkdialog->window);
+	gtk_widget_show(c->link_dialog);
+	gdk_window_raise(c->link_dialog->window);
 }