patches/gaim-09-gtk-file-chooser.diff
author dcarbery
Fri, 24 Nov 2006 16:37:59 +0000
branch217update
changeset 19096 d542fc2c823e
parent 8587 5a4ef0118d2f
child 8666 a73e4fd629f6
permissions -rw-r--r--
Merged trunk changes r9797:9829 into 217update branch.

--- gaim-2.0.0beta4/gtk/gtkimhtml.c	2006-10-19 01:37:48.000000000 +0800
+++ gaim-2.0.0beta4-2/gtk/gtkimhtml.c	2006-11-16 16:25:55.154676000 +0800
@@ -3376,14 +3376,12 @@
 	g_free(filename);
 }
 
-#if !GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
 static void
 image_save_cancel_cb(GtkIMHtmlImage *image)
 {
 	gtk_widget_destroy(image->filesel);
 	image->filesel = NULL;
 }
-#endif /* FILECHOOSER */
 
 static void
 gtk_imhtml_image_save(GtkWidget *w, GtkIMHtmlImage *image)
@@ -3393,19 +3391,6 @@
 		return;
 	}
 
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-	image->filesel = gtk_file_chooser_dialog_new(_("Save Image"),
-						NULL,
-						GTK_FILE_CHOOSER_ACTION_SAVE,
-						GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-						GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
-						NULL);
-	gtk_dialog_set_default_response(GTK_DIALOG(image->filesel), GTK_RESPONSE_ACCEPT);
-	if (image->filename != NULL)
-		gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(image->filesel), image->filename);
-	g_signal_connect(G_OBJECT(GTK_FILE_CHOOSER(image->filesel)), "response",
-					 G_CALLBACK(image_save_check_if_exists_cb), image);
-#else /* FILECHOOSER */
 	image->filesel = gtk_file_selection_new(_("Save Image"));
 	if (image->filename != NULL)
 		gtk_file_selection_set_filename(GTK_FILE_SELECTION(image->filesel), image->filename);
@@ -3415,7 +3400,6 @@
 							 "clicked", G_CALLBACK(image_save_cancel_cb), image);
 	g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(image->filesel)->ok_button), "clicked",
 					 G_CALLBACK(image_save_check_if_exists_cb), image);
-#endif /* FILECHOOSER */
 
 	gtk_widget_show(image->filesel);
 }
--- gaim-2.0.0beta4/gtk/gtkimhtmltoolbar.c	2006-10-19 01:37:48.000000000 +0800
+++ gaim-2.0.0beta4-2/gtk/gtkimhtmltoolbar.c	2006-11-16 16:27:36.053762000 +0800
@@ -438,33 +438,23 @@
 	GtkTextIter iter;
 	GtkTextMark *ins;
 
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-	if (response != GTK_RESPONSE_ACCEPT) {
-#else /* FILECHOOSER */
 	if (response != GTK_RESPONSE_OK) {
-#endif /* FILECHOOSER */
 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->image), FALSE);
 		return;
 	}
 
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-	filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(widget));
-#else /* FILECHOOSER */
 	filename = g_strdup(gtk_file_selection_get_filename(GTK_FILE_SELECTION(widget)));
-#endif /* FILECHOOSER */
 
 	if (filename == NULL) {
 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->image), FALSE);
 		return;
 	}
 
-#if !GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
 	if (gaim_gtk_check_if_dir(filename, GTK_FILE_SELECTION(widget))) {
 		g_free(filename);
 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->image), FALSE);
 		return;
 	}
-#endif /* FILECHOOSER */
 
 	/* The following triggers a callback that closes the widget */
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->image), FALSE);
@@ -509,22 +499,10 @@
 	GtkWidget *window;
 
 	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->image))) {
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-		window = gtk_file_chooser_dialog_new(_("Insert Image"),
-						NULL,
-						GTK_FILE_CHOOSER_ACTION_OPEN,
-						GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-						GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
-						NULL);
-		gtk_dialog_set_default_response(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT);
-		g_signal_connect(G_OBJECT(GTK_FILE_CHOOSER(window)),
-				"response", G_CALLBACK(do_insert_image_cb), toolbar);
-#else /* FILECHOOSER */
 		window = gtk_file_selection_new(_("Insert Image"));
 		gtk_dialog_set_default_response(GTK_DIALOG(window), GTK_RESPONSE_OK);
 		g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(window)),
 				"response", G_CALLBACK(do_insert_image_cb), toolbar);
-#endif /* FILECHOOSER */
 
 		gtk_widget_show(window);
 		toolbar->image_dialog = window;
--- gaim-2.0.0beta4/gtk/gtkrequest.c	2006-10-19 01:37:48.000000000 +0800
+++ gaim-2.0.0beta4-2/gtk/gtkrequest.c	2006-11-16 16:31:17.343607000 +0800
@@ -1394,33 +1394,6 @@
 	}
 }
 
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-static void
-file_ok_check_if_exists_cb(GtkWidget *widget, gint response, GaimGtkRequestData *data)
-{
-	gchar *current_folder;
-
-	generic_response_start(data);
-
-	if (response != GTK_RESPONSE_ACCEPT) {
-		if (data->cbs[0] != NULL)
-			((GaimRequestFileCb)data->cbs[0])(data->user_data, NULL);
-		gaim_request_close(data->type, data);
-		return;
-	}
-
-	data->u.file.name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(data->dialog));
-	current_folder = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(data->dialog));
-	if (current_folder != NULL) {
-		if (data->u.file.savedialog) {
-			gaim_prefs_set_string("/gaim/gtk/filelocations/last_save_folder", current_folder);
-		} else {
-			gaim_prefs_set_string("/gaim/gtk/filelocations/last_open_folder", current_folder);
-		}
-		g_free(current_folder);
-	}
-
-#else /* FILECHOOSER */
 
 static void
 file_ok_check_if_exists_cb(GtkWidget *button, GaimGtkRequestData *data)
@@ -1460,8 +1433,6 @@
 		g_free(current_folder);
 	}
 
-#endif /* FILECHOOSER */
-
 	if ((data->u.file.savedialog == TRUE) &&
 		(g_file_test(data->u.file.name, G_FILE_TEST_EXISTS))) {
 		gaim_request_action(data, NULL, _("That file already exists"),
@@ -1472,7 +1443,6 @@
 		file_yes_no_cb(data, 1);
 }
 
-#if !GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
 static void
 file_cancel_cb(GaimGtkRequestData *data)
 {
@@ -1483,7 +1453,6 @@
 
 	gaim_request_close(data->type, data);
 }
-#endif /* FILECHOOSER */
 
 static void *
 gaim_gtk_request_file(const char *title, const char *filename,
@@ -1507,48 +1476,6 @@
 	data->cbs[1] = ok_cb;
 	data->u.file.savedialog = savedialog;
 
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-	filesel = gtk_file_chooser_dialog_new(
-						title ? title : (savedialog ? _("Save File...")
-													: _("Open File...")),
-						NULL,
-						savedialog ? GTK_FILE_CHOOSER_ACTION_SAVE
-								   : GTK_FILE_CHOOSER_ACTION_OPEN,
-						GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-						savedialog ? GTK_STOCK_SAVE
-								   : GTK_STOCK_OPEN,
-						GTK_RESPONSE_ACCEPT,
-						NULL);
-	gtk_dialog_set_default_response(GTK_DIALOG(filesel), GTK_RESPONSE_ACCEPT);
-
-	if (savedialog) {
-		current_folder = gaim_prefs_get_string("/gaim/gtk/filelocations/last_save_folder");
-	} else {
-		current_folder = gaim_prefs_get_string("/gaim/gtk/filelocations/last_open_folder");
-	}
-
-	if (filename != NULL)
-		gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(filesel), filename);
-	if ((current_folder != NULL) && (*current_folder != '\0')) {
-		folder_set = gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(filesel), current_folder);
-	}
-
-#ifdef _WIN32
-	if (!folder_set) {
-		char *my_documents = wgaim_get_special_folder(CSIDL_PERSONAL);
-
-		if (my_documents != NULL) {
-			gtk_file_chooser_set_current_folder(
-					GTK_FILE_CHOOSER(filesel), my_documents);
-
-			g_free(my_documents);
-		}
-	}
-
-#endif
-	g_signal_connect(G_OBJECT(GTK_FILE_CHOOSER(filesel)), "response",
-					 G_CALLBACK(file_ok_check_if_exists_cb), data);
-#else /* FILECHOOSER */
 	filesel = gtk_file_selection_new(
 			title ? title : (savedialog ? _("Save File...")
 				: _("Open File...")));
@@ -1571,7 +1498,6 @@
 					 "clicked", G_CALLBACK(file_cancel_cb), data);
 	g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "clicked",
 					 G_CALLBACK(file_ok_check_if_exists_cb), data);
-#endif /* FILECHOOSER */
 
 	data->dialog = filesel;
 	gtk_widget_show(filesel);
@@ -1596,22 +1522,6 @@
 	data->cbs[1] = ok_cb;
 	data->u.file.savedialog = FALSE;
 	
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-	dirsel = gtk_file_chooser_dialog_new(
-						title ? title : _("Select Folder..."),
-						NULL,
-						GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
-						GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-						GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
-						NULL);
-	gtk_dialog_set_default_response(GTK_DIALOG(dirsel), GTK_RESPONSE_ACCEPT);
-
-	if ((dirname != NULL) && (*dirname != '\0'))
-		gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dirsel), dirname);
-
-	g_signal_connect(G_OBJECT(GTK_FILE_CHOOSER(dirsel)), "response",
-						G_CALLBACK(file_ok_check_if_exists_cb), data);
-#else
 	dirsel = gtk_file_selection_new(title ? title : _("Select Folder..."));
 
 	g_signal_connect_swapped(G_OBJECT(dirsel), "delete_event",
@@ -1620,7 +1530,6 @@
 					 "clicked", G_CALLBACK(file_cancel_cb), data);
 	g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(dirsel)->ok_button), "clicked",
 					 G_CALLBACK(file_ok_check_if_exists_cb), data);
-#endif
 
 	data->dialog = dirsel;
 	gtk_widget_show(dirsel);
--- gaim-2.0.0beta4/gtk/gtkutils.c	2006-10-19 01:37:48.000000000 +0800
+++ gaim-2.0.0beta4-2/gtk/gtkutils.c	2006-11-16 16:29:19.207494000 +0800
@@ -2224,7 +2224,6 @@
 	gpointer data;
 };
 
-#if !GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
 static void
 icon_filesel_delete_cb(GtkWidget *w, struct _icon_chooser *dialog)
 {
@@ -2236,35 +2235,8 @@
 
 	g_free(dialog);
 }
-#endif /* FILECHOOSER */
 
 
-
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-static void
-icon_filesel_choose_cb(GtkWidget *widget, gint response, struct _icon_chooser *dialog)
-{
-	char *filename, *current_folder;
-
-	if (response != GTK_RESPONSE_ACCEPT) {
-		if (response == GTK_RESPONSE_CANCEL) {
-			gtk_widget_destroy(dialog->icon_filesel);
-		}
-		dialog->icon_filesel = NULL;
-		if (dialog->callback)
-			dialog->callback(NULL, dialog->data);
-		g_free(dialog);
-		return;
-	}
-
-	filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog->icon_filesel));
-	current_folder = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(dialog->icon_filesel));
-	if (current_folder != NULL) {
-		gaim_prefs_set_string("/gaim/gtk/filelocations/last_icon_folder", current_folder);
-		g_free(current_folder);
-	}
-
-#else /* FILECHOOSER */
 static void
 icon_filesel_choose_cb(GtkWidget *w, struct _icon_chooser *dialog)
 {
@@ -2287,7 +2259,6 @@
 		g_free(current_folder);
 	}
 
-#endif /* FILECHOOSER */
 	if (dialog->callback)
 		dialog->callback(filename, dialog->data);
 	gtk_widget_destroy(dialog->icon_filesel);
@@ -2297,11 +2268,7 @@
 
 
 static void
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-icon_preview_change_cb(GtkFileChooser *widget, struct _icon_chooser *dialog)
-#else /* FILECHOOSER */
 icon_preview_change_cb(GtkTreeSelection *sel, struct _icon_chooser *dialog)
-#endif /* FILECHOOSER */
 {
 	GdkPixbuf *pixbuf, *scale;
 	int height, width;
@@ -2309,13 +2276,8 @@
 	struct stat st;
 	char *filename;
 
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-	filename = gtk_file_chooser_get_preview_filename(
-					GTK_FILE_CHOOSER(dialog->icon_filesel));
-#else /* FILECHOOSER */
 	filename = g_strdup(gtk_file_selection_get_filename(
 		GTK_FILE_SELECTION(dialog->icon_filesel)));
-#endif /* FILECHOOSER */
 
 	if (!filename || g_stat(filename, &st))
 	{
@@ -2327,10 +2289,6 @@
 	if (!pixbuf) {
 		gtk_image_set_from_pixbuf(GTK_IMAGE(dialog->icon_preview), NULL);
 		gtk_label_set_markup(GTK_LABEL(dialog->icon_text), "");
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-		gtk_file_chooser_set_preview_widget_active(
-					GTK_FILE_CHOOSER(dialog->icon_filesel), FALSE);
-#endif /* FILECHOOSER */
 		g_free(filename);
 		return;
 	}
@@ -2347,10 +2305,6 @@
 	scale = gdk_pixbuf_scale_simple(pixbuf, width * 50 / height,
 									50, GDK_INTERP_BILINEAR);
 	gtk_image_set_from_pixbuf(GTK_IMAGE(dialog->icon_preview), scale);
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-	gtk_file_chooser_set_preview_widget_active(
-					GTK_FILE_CHOOSER(dialog->icon_filesel), TRUE);
-#endif /* FILECHOOSER */
 	gtk_label_set_markup(GTK_LABEL(dialog->icon_text), markup);
 
 	g_object_unref(G_OBJECT(pixbuf));
@@ -2365,11 +2319,9 @@
 GtkWidget *gaim_gtk_buddy_icon_chooser_new(GtkWindow *parent, void(*callback)(const char *, gpointer), gpointer data) {
 	struct _icon_chooser *dialog = g_new0(struct _icon_chooser, 1);
 
-#if !GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
 	GtkWidget *hbox;
 	GtkWidget *tv;
 	GtkTreeSelection *sel;
-#endif /* FILECHOOSER */
 	const char *current_folder;
 
 	dialog->callback = callback;
@@ -2381,30 +2333,6 @@
 	}
 
 	current_folder = gaim_prefs_get_string("/gaim/gtk/filelocations/last_icon_folder");
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-
-	dialog->icon_filesel = gtk_file_chooser_dialog_new(_("Buddy Icon"),
-							   parent,
-							   GTK_FILE_CHOOSER_ACTION_OPEN,
-							   GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-							   GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
-							   NULL);
-	gtk_dialog_set_default_response(GTK_DIALOG(dialog->icon_filesel), GTK_RESPONSE_ACCEPT);
-	if ((current_folder != NULL) && (*current_folder != '\0'))
-		gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog->icon_filesel),
-						    current_folder);
-
-	dialog->icon_preview = gtk_image_new();
-	dialog->icon_text = gtk_label_new(NULL);
-	gtk_widget_set_size_request(GTK_WIDGET(dialog->icon_preview), -1, 50);
-	gtk_file_chooser_set_preview_widget(GTK_FILE_CHOOSER(dialog->icon_filesel),
-					    GTK_WIDGET(dialog->icon_preview));
-	g_signal_connect(G_OBJECT(dialog->icon_filesel), "update-preview",
-					 G_CALLBACK(icon_preview_change_cb), dialog);
-	g_signal_connect(G_OBJECT(dialog->icon_filesel), "response",
-					 G_CALLBACK(icon_filesel_choose_cb), dialog);
-	icon_preview_change_cb(NULL, dialog);
-#else /* FILECHOOSER */
 	dialog->icon_filesel = gtk_file_selection_new(_("Buddy Icon"));
 	dialog->icon_preview = gtk_image_new();
 	dialog->icon_text = gtk_label_new(NULL);
@@ -2436,7 +2364,6 @@
 		G_CALLBACK(icon_filesel_delete_cb), dialog);
 	g_signal_connect(G_OBJECT(dialog->icon_filesel), "destroy",
 					 G_CALLBACK(icon_filesel_delete_cb), dialog);
-#endif /* FILECHOOSER */
 	return 	dialog->icon_filesel;
 }
 
--- gaim-2.0.0beta4/gtk/gtkwhiteboard.c	2006-10-19 01:37:48.000000000 +0800
+++ gaim-2.0.0beta4-2/gtk/gtkwhiteboard.c	2006-11-16 16:32:01.677911000 +0800
@@ -752,29 +752,8 @@
 
 	int result;
 
-#if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */
-	dialog = gtk_file_chooser_dialog_new (_("Save File"),
-										  GTK_WINDOW(gtkwb->window),
-										  GTK_FILE_CHOOSER_ACTION_SAVE,
-										  GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-										  GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
-										  NULL);
-
-	/* gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), (gboolean)(TRUE)); */
-
-	/* if(user_edited_a_new_document) */
-	{
-	/* gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), default_folder_for_saving); */
-		gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), "whiteboard.jpg");
-	}
-	/*
-	else
-		gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), filename_for_existing_document);
-	*/
-#else
 	dialog = gtk_file_selection_new(_("Save File"));
 	gtk_file_selection_set_filename(GTK_FILE_SELECTION(dialog), "whiteboard.jpg");
-#endif
 	result = gtk_dialog_run(GTK_DIALOG(dialog));
 
 	if(result == GTK_RESPONSE_ACCEPT)