eog r4879 - in trunk: . src



Author: friemann
Date: Thu Nov 20 10:51:41 2008
New Revision: 4879
URL: http://svn.gnome.org/viewvc/eog?rev=4879&view=rev

Log:
2008-11-20  Felix Riemann  <friemann svn gnome org>

	* src/eog-file-chooser.c: (save_response_cb):
	* src/eog-save-as-dialog-helper.c: (set_default_values),
	(eog_save_as_dialog_get_converter):
	* src/eog-window.c: (eog_window_retrieve_save_as_file):
	Switch from GtkFileChooser's old uri-based API to the new GFile-based
	API new to GTK+-2.14 where applicable.


Modified:
   trunk/ChangeLog
   trunk/src/eog-file-chooser.c
   trunk/src/eog-save-as-dialog-helper.c
   trunk/src/eog-window.c

Modified: trunk/src/eog-file-chooser.c
==============================================================================
--- trunk/src/eog-file-chooser.c	(original)
+++ trunk/src/eog-file-chooser.c	Thu Nov 20 10:51:41 2008
@@ -101,17 +101,14 @@
 static void
 save_response_cb (GtkDialog *dlg, gint id, gpointer data)
 {
-	gchar *filename;
 	GFile *file;
 	GdkPixbufFormat *format;
 
 	if (id != GTK_RESPONSE_OK)
 		return;
 
-	filename = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (dlg));
-	file = g_file_new_for_uri (filename);
+	file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dlg));
 	format = eog_pixbuf_get_format (file);
-	g_free (filename);
 	g_object_unref (file);
 
 	if (!format || !gdk_pixbuf_format_is_writable (format)) {

Modified: trunk/src/eog-save-as-dialog-helper.c
==============================================================================
--- trunk/src/eog-save-as-dialog-helper.c	(original)
+++ trunk/src/eog-save-as-dialog-helper.c	Thu Nov 20 10:51:41 2008
@@ -190,11 +190,7 @@
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sd->replace_spaces_check),
 				      FALSE);
 	if (base_file != NULL) {
-		char *uri_str;
-
-		uri_str = g_file_get_uri (base_file);
-		gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (sd->dir_chooser), uri_str);
-		g_free (uri_str);
+		gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (sd->dir_chooser), base_file, NULL);
 	}
 
 	/*gtk_dialog_set_response_sensitive (GTK_DIALOG (dlg), GTK_RESPONSE_OK, FALSE);*/
@@ -281,7 +277,6 @@
 	gulong   counter_start;
 	GdkPixbufFormat *format;
 	GFile *base_file;
-	const char *base_uri_str;
 
 	data = g_object_get_data (G_OBJECT (dlg), "data");
 	g_assert (data != NULL);
@@ -297,8 +292,7 @@
 
 	format = get_selected_format (GTK_COMBO_BOX (data->format_combobox));
 
-	base_uri_str = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (data->dir_chooser));
-	base_file = g_file_new_for_uri (base_uri_str);
+	base_file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (data->dir_chooser));
 
 	/* create converter object */
 	conv = eog_uri_converter_new (base_file, format, format_str);

Modified: trunk/src/eog-window.c
==============================================================================
--- trunk/src/eog-window.c	(original)
+++ trunk/src/eog-window.c	Thu Nov 20 10:51:41 2008
@@ -2730,37 +2730,25 @@
 {
 	GtkWidget *dialog;
 	GFile *save_file = NULL;
-	GFile *parent_file;
 	GFile *image_file;
-	gchar *folder_uri;
 	gint response;
 
 	g_assert (image != NULL);
 
 	image_file = eog_image_get_file (image);
-	parent_file = g_file_get_parent (image_file);
-	folder_uri = g_file_get_uri (parent_file);
-	g_object_unref (parent_file);
-	g_object_unref (image_file);
 
 	dialog = eog_file_chooser_new (GTK_FILE_CHOOSER_ACTION_SAVE);
-	gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (dialog),
-						 folder_uri);
+	/* Setting the file will also navigate to its parent folder */
+	gtk_file_chooser_set_file (GTK_FILE_CHOOSER (dialog), image_file, NULL);
+	g_object_unref (image_file);
+
 	response = gtk_dialog_run (GTK_DIALOG (dialog));
 	gtk_widget_hide (dialog);
 
 	if (response == GTK_RESPONSE_OK) {
-		gchar *new_uri;
-
-		new_uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (dialog));
-
-		g_assert (new_uri != NULL);
-
-		save_file = g_file_new_for_uri (new_uri);
-		g_free (new_uri);
+		save_file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
 	}
 	gtk_widget_destroy (dialog);
-	g_free (folder_uri);
 
 	return save_file;
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]