Only in gthumb-old: combined-2006-10-05.patch
diff -r -u gthumb-old/data/glade/gthumb_tools.glade gthumb/data/glade/gthumb_tools.glade
--- gthumb-old/data/glade/gthumb_tools.glade	2006-10-06 06:26:49.000000000 -0400
+++ gthumb/data/glade/gthumb_tools.glade	2006-10-06 06:27:05.000000000 -0400
@@ -762,25 +762,6 @@
 			      <property name="fill">False</property>
 			    </packing>
 			  </child>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="j_from_exif_checkbutton">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Adjust photo _orientation</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
 			</widget>
 			<packing>
 			  <property name="padding">0</property>
diff -r -u gthumb-old/doc/C/gthumb.xml gthumb/doc/C/gthumb.xml
--- gthumb-old/doc/C/gthumb.xml	2006-10-06 06:26:49.000000000 -0400
+++ gthumb/doc/C/gthumb.xml	2006-10-06 06:27:05.000000000 -0400
@@ -1989,13 +1989,6 @@
         Click on <guibutton>Apply</guibutton> to apply the changes.
       </para>
       <para>
-        If you check the <guilabel>Adjust photo orientation</guilabel>
-        option, an attempt is done to read the current orientation from
-        the photo data embedded in the image, if the orientation data is
-	found an automatic rotation is applied to the image in order to
-	visualize the image in the right orientation.
-      </para>
-      <para>
         If you check the <guilabel>Apply to all images</guilabel>
         option, the rotation is applied to the
         currently displayed image as well as to all the remaining
diff -r -u gthumb-old/libgthumb/gthumb-module.c gthumb/libgthumb/gthumb-module.c
--- gthumb-old/libgthumb/gthumb-module.c	2006-10-06 06:26:49.000000000 -0400
+++ gthumb/libgthumb/gthumb-module.c	2006-10-06 06:27:05.000000000 -0400
@@ -36,7 +36,6 @@
 	{ "search",        "dlg_catalog_search" },
 	{ "jpegtran",      "dlg_jpegtran" },
 	{ "jpegtran",      "dlg_apply_jpegtran" },
-	{ "jpegtran",      "dlg_apply_jpegtran_from_exif" },
 	{ "duplicates",    "dlg_duplicates" },
 	{ "photoimporter", "dlg_photo_importer" },
 	{ NULL, NULL }
diff -r -u gthumb-old/src/dlg-jpegtran.c gthumb/src/dlg-jpegtran.c
--- gthumb-old/src/dlg-jpegtran.c	2006-10-06 06:26:49.000000000 -0400
+++ gthumb/src/dlg-jpegtran.c	2006-10-06 06:27:35.000000000 -0400
@@ -70,9 +70,7 @@
 	GtkWidget    *j_revert_button;;
 	GtkWidget    *j_apply_to_all_checkbutton;
 	GtkWidget    *j_preview_image;
-	GtkWidget    *j_from_exif_checkbutton;
 
-	gboolean      from_exif_data;
 	GList        *file_list;
 	GList        *files_changed_list;
 	GList        *current_image;
@@ -150,67 +148,6 @@
 }
 
 
-
-static void
-update_from_exif_data (DialogData *data)
-{
-#ifdef HAVE_LIBEXIF
-	gboolean   from_exif;
-	GdkPixbuf *src_pixbuf, *dest_pixbuf;
-	
-	from_exif = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->j_from_exif_checkbutton));
-	gtk_widget_set_sensitive (data->j_button_box, !from_exif);
-
-	if (! from_exif)
-		return;
-	
-	update_rotation_from_exif_data (data->current_image->data, data->rot_data);
-
-	src_pixbuf = data->original_preview;
-	if (src_pixbuf == NULL) 
-		return;
-
-	switch (data->rot_data->rot_type) {
-	case GTH_TRANSFORM_ROTATE_90:
-		dest_pixbuf = _gdk_pixbuf_copy_rotate_90 (src_pixbuf, FALSE);
-		break;
-	case GTH_TRANSFORM_ROTATE_180:
-		dest_pixbuf = _gdk_pixbuf_copy_mirror (src_pixbuf, TRUE, TRUE);
-		break;
-	case GTH_TRANSFORM_ROTATE_270:
-		dest_pixbuf = _gdk_pixbuf_copy_rotate_90 (src_pixbuf, TRUE);
-		break;
-	default:
-		dest_pixbuf = src_pixbuf;
-		g_object_ref (dest_pixbuf);
-		break;
-	}
-
-	src_pixbuf = dest_pixbuf;
-
-	switch (data->rot_data->tran_type) {
-	case GTH_TRANSFORM_MIRROR:
-		dest_pixbuf = _gdk_pixbuf_copy_mirror (src_pixbuf, TRUE, FALSE);
-		break;
-	case GTH_TRANSFORM_FLIP:
-		dest_pixbuf = _gdk_pixbuf_copy_mirror (src_pixbuf, FALSE, TRUE);
-		break;
-	default:
-		dest_pixbuf = src_pixbuf;
-		g_object_ref (dest_pixbuf);
-		break;
-	}
-	
-	g_object_unref (src_pixbuf);
-
-	gtk_image_set_from_pixbuf (GTK_IMAGE (data->j_preview_image), dest_pixbuf);
-		
-	g_object_unref (dest_pixbuf);
-
-#endif /* HAVE_LIBEXIF */
-}
-
-
 static void 
 image_loader_done_cb (ImageLoader  *il,
 		      DialogData   *data)
@@ -226,8 +163,6 @@
 
 		gtk_widget_set_sensitive (data->j_button_vbox, TRUE);
 		gtk_widget_set_sensitive (data->j_revert_button, TRUE);
-
-		update_from_exif_data (data);
 	}
 }
 
@@ -320,16 +255,15 @@
 	} 
 	g_free (dir);
 
-	/**/
-
-	if (data->from_exif_data)
-		update_rotation_from_exif_data (path, data->rot_data);
 	gnome_vfs_get_file_info (path, &info, GNOME_VFS_FILE_INFO_GET_ACCESS_RIGHTS|GNOME_VFS_FILE_INFO_FOLLOW_LINKS);
-	if (image_is_jpeg (path)) 
-		if (eel_gconf_get_boolean (PREF_USE_EXIF_ORIENTATION, TRUE))
-			apply_transformation_exif (window, path, data->rot_data);
-		else
-			apply_transformation_jpeg (window, path, data->rot_data);
+	if (image_is_jpeg (path)) {
+		apply_transformation_exif (window, path, data->rot_data);
+		if (!eel_gconf_get_boolean (PREF_USE_EXIF_ORIENTATION, TRUE)) {
+			update_rotation_from_exif_data (path, data->rot_data);
+                        apply_transformation_jpeg (window, path, data->rot_data);
+		}
+
+	}
 	else 
 		apply_transformation_generic (window, path, data->rot_data);
 	gnome_vfs_set_file_info (path, &info, GNOME_VFS_SET_FILE_INFO_PERMISSIONS|GNOME_VFS_SET_FILE_INFO_OWNER);
@@ -408,7 +342,6 @@
 	gboolean to_all;
 
 	to_all = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->j_apply_to_all_checkbutton));
-	data->from_exif_data = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->j_from_exif_checkbutton));
 
 	if (to_all) {
 		gtk_widget_hide (data->dialog);
@@ -438,8 +371,6 @@
 	data->rot_data->rot_type = GTH_TRANSFORM_ROTATE_0;
 	data->rot_data->tran_type = GTH_TRANSFORM_NONE;
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->j_from_exif_checkbutton), FALSE);
-
 	if (data->original_preview != NULL)
 		gtk_image_set_from_pixbuf (GTK_IMAGE (data->j_preview_image), data->original_preview);
 }
@@ -595,14 +526,6 @@
 }
 
 
-static void
-from_exif_toggled_cb (GtkToggleButton *button,
-		      DialogData      *data)
-{
-	update_from_exif_data (data);
-}
-
-
 void
 dlg_jpegtran (GthWindow *window)
 {
@@ -662,8 +585,6 @@
 	j_v_flip_button = glade_xml_get_widget (data->gui, "j_v_flip_button");
 	j_h_flip_button = glade_xml_get_widget (data->gui, "j_h_flip_button");
 
-	data->j_from_exif_checkbutton = glade_xml_get_widget (data->gui, "j_from_exif_checkbutton");
-
 	j_help_button = glade_xml_get_widget (data->gui, "j_help_button");
 	j_cancel_button = glade_xml_get_widget (data->gui, "j_cancel_button");
 	j_ok_button = glade_xml_get_widget (data->gui, "j_ok_button");
@@ -681,13 +602,6 @@
 	gtk_widget_set_sensitive (data->j_apply_to_all_checkbutton,
 				  data->file_list->next != NULL);
 
-#ifndef HAVE_LIBEXIF
-	gtk_widget_set_sensitive (data->j_from_exif_checkbutton, FALSE);
-#else
-	if (eel_gconf_get_boolean (PREF_USE_EXIF_ORIENTATION, TRUE))
-		gtk_widget_set_sensitive (data->j_from_exif_checkbutton, FALSE);
-#endif /* ! HAVE_LIBEXIF */
-
 	/* Set the signals handlers. */
 	
 	g_signal_connect (G_OBJECT (data->dialog),
@@ -727,10 +641,6 @@
 			  "clicked",
 			  G_CALLBACK (flip_clicked),
 			  data);
-	g_signal_connect (G_OBJECT (data->j_from_exif_checkbutton),
-			  "toggled",
-			  G_CALLBACK (from_exif_toggled_cb),
-			  data);
 
 	data->loader = (ImageLoader*)image_loader_new (NULL, FALSE);
 
@@ -782,29 +692,3 @@
 
 	apply_transformation_to_all (data);
 }
-
-
-
-void
-dlg_apply_jpegtran_from_exif (GthWindow *window)
-{
-	DialogData  *data;
-	GList       *list;
-
-	list = gth_window_get_file_list_selection (window);
-	if (list == NULL) {
-		g_warning ("No file selected.");
-		return;
-	}
-
-	all_windows_remove_monitor ();
-
-	data = g_new0 (DialogData, 1);
-	data->window = window;
-	data->file_list = list;
-	data->current_image = list;
-	data->from_exif_data = TRUE;
-	data->rot_data = rotation_data_new();
-
-	apply_transformation_to_all (data);
-}
diff -r -u gthumb-old/src/dlg-jpegtran.h gthumb/src/dlg-jpegtran.h
--- gthumb-old/src/dlg-jpegtran.h	2006-10-06 06:26:49.000000000 -0400
+++ gthumb/src/dlg-jpegtran.h	2006-10-06 06:27:05.000000000 -0400
@@ -31,7 +31,5 @@
 void dlg_apply_jpegtran           (GthWindow    *window,
 				   GthTransform  rot_type,
 				   GthTransform  tran_type);
-void dlg_apply_jpegtran_from_exif (GthWindow *window);
-
 
 #endif /* DLG_JPEGTRAN_H */
diff -r -u gthumb-old/src/gth-browser-ui.h gthumb/src/gth-browser-ui.h
--- gthumb-old/src/gth-browser-ui.h	2006-10-06 06:26:49.000000000 -0400
+++ gthumb/src/gth-browser-ui.h	2006-10-06 06:27:05.000000000 -0400
@@ -291,8 +291,6 @@
 "  <popup name='RotateImageMenu'>"
 "    <menuitem action='Tools_JPEGRotate_Right'/>"
 "    <menuitem action='Tools_JPEGRotate_Left'/>"
-"    <separator/>"
-"    <menuitem action='Tools_JPEGRotate_Auto'/>"
 "  </popup>"
 "  <accelerator name='ControlEqualAccel' action='ControlEqual'/>"
 "</ui>";
diff -r -u gthumb-old/src/gth-window-actions-callbacks.c gthumb/src/gth-window-actions-callbacks.c
--- gthumb-old/src/gth-window-actions-callbacks.c	2006-10-06 06:26:49.000000000 -0400
+++ gthumb/src/gth-window-actions-callbacks.c	2006-10-06 06:27:05.000000000 -0400
@@ -904,14 +904,3 @@
 	if (gthumb_module_get ("dlg_apply_jpegtran", (gpointer*) &module))
 		(*module) (window, GTH_TRANSFORM_ROTATE_270, GTH_TRANSFORM_NONE);
 }
-
-
-void
-gth_window_activate_action_tools_jpeg_rotate_auto (GtkAction *action,
-						   GthWindow *window)
-{
-	void (*module) (GthWindow *);
-
-	if (gthumb_module_get ("dlg_apply_jpegtran_from_exif", (gpointer*) &module))
-		(*module) (window);
-}
diff -r -u gthumb-old/src/gth-window-actions-callbacks.h gthumb/src/gth-window-actions-callbacks.h
--- gthumb-old/src/gth-window-actions-callbacks.h	2006-10-06 06:26:49.000000000 -0400
+++ gthumb/src/gth-window-actions-callbacks.h	2006-10-06 06:27:05.000000000 -0400
@@ -78,6 +78,5 @@
 DEFINE_ACTION(gth_window_activate_action_tools_jpeg_rotate)
 DEFINE_ACTION(gth_window_activate_action_tools_jpeg_rotate_right)
 DEFINE_ACTION(gth_window_activate_action_tools_jpeg_rotate_left)
-DEFINE_ACTION(gth_window_activate_action_tools_jpeg_rotate_auto)
 
 #endif /* GTH_WINDOW_ACTIONS_CALLBACK_H */
diff -r -u gthumb-old/src/gth-window-actions-entries.h gthumb/src/gth-window-actions-entries.h
--- gthumb-old/src/gth-window-actions-entries.h	2006-10-06 06:26:49.000000000 -0400
+++ gthumb/src/gth-window-actions-entries.h	2006-10-06 06:27:05.000000000 -0400
@@ -266,11 +266,6 @@
 	  N_("Rotate images without loss of quality"),
 	  G_CALLBACK (gth_window_activate_action_tools_jpeg_rotate_right) },
 
-	{ "Tools_JPEGRotate_Auto", NULL,
-	  N_("Adjust photo _orientation"), NULL,
-	  N_("Rotate images without loss of quality"),
-	  G_CALLBACK (gth_window_activate_action_tools_jpeg_rotate_auto) },
-
 	{ "Help_About", GTK_STOCK_ABOUT,
 	  NULL, NULL,
 	  N_("Show information about gThumb"),
