diff src/gtkdebug.c @ 9482:b917acdc982f

[gaim-migrate @ 10307] Alright, the buddy icon selector is done. It should rock now. I also made a few tweaks to the debug save window. gaim_notify_close_with_handle() and gaim_request_close_with_handle() are sweet. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 08 Jul 2004 04:07:23 +0000
parents 91856b52a391
children 59d986a931d4
line wrap: on
line diff
--- a/src/gtkdebug.c	Thu Jul 08 02:20:38 2004 +0000
+++ b/src/gtkdebug.c	Thu Jul 08 04:07:23 2004 +0000
@@ -96,9 +96,9 @@
 }
 
 static void
-do_find_cb(GtkWidget *widget, gint resp, struct _find *f)
+do_find_cb(GtkWidget *widget, gint response, struct _find *f)
 {
-	switch (resp) {
+	switch (response) {
 	case GTK_RESPONSE_OK:
 	    gtk_imhtml_search_find(GTK_IMHTML(f->window->text),
 							   gtk_entry_get_text(GTK_ENTRY(f->entry)));
@@ -172,7 +172,7 @@
 }
 
 static void
-do_save_cb(GtkWidget *widget)
+save_writefile_cb(GtkWidget *widget)
 {
 	const char *filename;
 	char *tmp;
@@ -186,13 +186,15 @@
 	filename = gtk_file_selection_get_filename(GTK_FILE_SELECTION(debug_win->save));
 #endif /* FILECHOOSER */
 
+	gaim_notify_close_with_handle(debug_win->save);
+
 	if (filename == NULL) {
-		gaim_notify_error(NULL, NULL, _("Invalid file name."), NULL);
+		gaim_notify_error(debug_win->save, NULL, _("Invalid file name."), NULL);
 		return;
 	}
 
 	if ((fp = fopen(filename, "w+")) == NULL) {
-		gaim_notify_error(NULL, NULL, _("Unable to open file."), NULL);
+		gaim_notify_error(debug_win->save, NULL, _("Unable to open file."), NULL);
 		return;
 	}
 
@@ -209,9 +211,8 @@
 
 #if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
 static void
-do_check_save_cb(GtkWidget *widget, gint response, gpointer data)
+save_checkfile_cb(GtkWidget *widget, gint response, DebugWindow *win)
 {
-	DebugWindow *win = (DebugWindow *)data;
 	const char *filename;
 
 	if (response != GTK_RESPONSE_ACCEPT) {
@@ -224,7 +225,7 @@
 	filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(win->save));
 #else /* FILECHOOSER */
 static void
-do_check_save_cb(GtkWidget *widget, DebugWindow *win)
+save_checkfile_cb(GtkWidget *widget, DebugWindow *win)
 {
 	const char *filename;
 
@@ -237,17 +238,18 @@
 
 	if (g_file_test(filename, G_FILE_TEST_EXISTS))
 	{
-		gaim_request_yes_no(NULL, NULL, _("That file already exists"),
+		gaim_request_close_with_handle(win->save);
+		gaim_request_yes_no(win->save, NULL, _("That file already exists"),
 							_("Would you like to overwrite it?"), 1,
-							win->save, G_CALLBACK(do_save_cb), NULL);
+							win->save, G_CALLBACK(save_writefile_cb), NULL);
 	}
 	else
-		do_save_cb(win->save);
+		save_writefile_cb(win->save);
 }
 
 #if !GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
 static void
-cancel_save_cb(GtkWidget *widget, DebugWindow *win)
+save_destroy_cb(GtkWidget *widget, DebugWindow *win)
 {
 	if (win->save != NULL)
 		gtk_widget_destroy(win->save);
@@ -260,8 +262,7 @@
 save_cb(GtkWidget *w, DebugWindow *win)
 {
 	if (win->save != NULL) {
-		gtk_widget_show(win->save);
-		gdk_window_raise(win->save->window);
+		gtk_window_present(GTK_WINDOW(win->save));
 		return;
 	}
 
@@ -275,8 +276,8 @@
 	gtk_dialog_set_default_response(GTK_DIALOG(win->save), GTK_RESPONSE_ACCEPT);
 	gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(win->save),
 									  "gaim-debug.log");
-	g_signal_connect(G_OBJECT(win->save),
-					 "response", G_CALLBACK(do_check_save_cb), win->save);
+	g_signal_connect(G_OBJECT(win->save), "response",
+					 G_CALLBACK(save_checkfile_cb), win);
 #else /* FILECHOOSER */
 	gchar *buf;
 
@@ -286,14 +287,14 @@
 	gtk_file_selection_set_filename(GTK_FILE_SELECTION(win->save), buf);
 	g_free(buf);
 	g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(win->save)->ok_button),
-					 "clicked", G_CALLBACK(do_check_save_cb), win);
+					 "clicked", G_CALLBACK(save_checkfile_cb), win);
 	g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(win->save)->cancel_button),
-					 "clicked", G_CALLBACK(cancel_save_cb), win);
+					 "clicked", G_CALLBACK(save_destroy_cb), win);
 	g_signal_connect(G_OBJECT(win->save),
-					 "destroy", G_CALLBACK(cancel_save_cb), win);
+					 "destroy", G_CALLBACK(save_destroy_cb), win);
 #endif /* FILECHOOSER */
 
-	gtk_widget_show(win->save);
+	gtk_widget_show_all(GTK_WIDGET(win->save));
 }
 
 static void