Index: eog.glade
===================================================================
RCS file: /cvs/gnome/eog/eog.glade,v
retrieving revision 1.17
diff -r1.17 eog.glade
95c95
< 		      <property name="label" translatable="yes">&lt;b&gt;Image Interpolation&lt;/b&gt;</property>
---
> 		      <property name="label" translatable="yes">&lt;b&gt;Image Enhancements&lt;/b&gt;</property>
117a118,123
> 		<widget class="GtkVBox" id="vbox6">
> 		  <property name="visible">True</property>
> 		  <property name="homogeneous">False</property>
> 		  <property name="spacing">6</property>
> 		  <child>
> 		  
180a187,250
> 		  <child>
> 		    <widget class="GtkHBox" id="hboxautorotate">
> 		      <property name="visible">True</property>
> 		      <property name="homogeneous">False</property>
> 		      <property name="spacing">0</property>
> 
> 		      <child>
> 			<widget class="GtkLabel" id="labelautopad">
> 			  <property name="visible">True</property>
> 			  <property name="label" translatable="yes">    </property>
> 			  <property name="use_underline">False</property>
> 			  <property name="use_markup">False</property>
> 			  <property name="justify">GTK_JUSTIFY_LEFT</property>
> 			  <property name="wrap">False</property>
> 			  <property name="selectable">False</property>
> 			  <property name="xalign">0.5</property>
> 			  <property name="yalign">0.5</property>
> 			  <property name="xpad">0</property>
> 			  <property name="ypad">0</property>
> 			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
> 			  <property name="width_chars">-1</property>
> 			  <property name="single_line_mode">False</property>
> 			  <property name="angle">0</property>
> 			</widget>
> 			<packing>
> 			  <property name="padding">0</property>
> 			  <property name="expand">False</property>
> 			  <property name="fill">False</property>
> 			</packing>
> 		      </child>
> 
> 		      <child>
> 			<widget class="GtkCheckButton" id="autorotate_check">
> 			  <property name="visible">True</property>
> 			  <property name="can_focus">True</property>
> 			  <property name="label" translatable="yes">_Try to guess real 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>
> 		  <property name="expand">False</property>
> 		  <property name="fill">False</property>
> 		</packing>
> 	      </child>
>         </widget>
> 		    <packing>
> 		      <property name="padding">0</property>
> 		      <property name="expand">False</property>
> 		      <property name="fill">False</property>
> 		    </packing>
> 		  </child>
> 
Index: libeog/eog-config-keys.h
===================================================================
RCS file: /cvs/gnome/eog/libeog/eog-config-keys.h,v
retrieving revision 1.4
diff -r1.4 eog-config-keys.h
9a10
> #define EOG_CONF_VIEW_AUTOROTATE             "/apps/eog/view/autorotate"
Index: libeog/eog-image.c
===================================================================
RCS file: /cvs/gnome/eog/libeog/eog-image.c,v
retrieving revision 1.55
diff -r1.55 eog-image.c
1984a1985,2013
> void
> eog_image_autorotate (EogImage *img)
> {
>   EogImagePrivate *priv = NULL;
>   
> 	g_return_if_fail (EOG_IS_IMAGE (img));
> 	
> 	priv = img->priv;
> 	  
> #if HAVE_EXIF
>   if (priv->exif != NULL)
>     {
> 	    char b[32];
> 	    ExifEntry *exentry = 
> 	              exif_data_get_entry (priv->exif, EXIF_TAG_ORIENTATION);
> 	    const gchar *orientation = exif_entry_get_value (exentry, b, sizeof(b));
> 	    if (orientation != NULL)
> 		    {
> 		      /* "top - left" is normal orientation or upside down
> 		       * (at least on my camera) but seems we can't differentiate
> 		       */
> 		      if (g_utf8_collate (orientation, "right - top") == 0)
> 		        eog_image_transform (img, eog_transform_rotate_new (90), NULL);
> 		      else if (g_utf8_collate (orientation, "left - bottom") == 0)
> 		        eog_image_transform (img, eog_transform_rotate_new (270), NULL);
> 		    }
> 		}
> #endif /* HAVE_EXIF */
> }
Index: libeog/eog-image.h
===================================================================
RCS file: /cvs/gnome/eog/libeog/eog-image.h,v
retrieving revision 1.25
diff -r1.25 eog-image.h
130a131
> void                eog_image_autorotate                      (EogImage *img);
Index: shell/eog-preferences.c
===================================================================
RCS file: /cvs/gnome/eog/shell/eog-preferences.c,v
retrieving revision 1.32
diff -r1.32 eog-preferences.c
174a175,184
> 	/* autorotate flag */
> 	widget = glade_xml_get_widget (xml, "autorotate_check");
> 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), 
> 				      gconf_client_get_bool (client, EOG_CONF_VIEW_AUTOROTATE, NULL));
> 	g_object_set_data (G_OBJECT (widget), GCONF_OBJECT_KEY, EOG_CONF_VIEW_AUTOROTATE);
> 	g_signal_connect (G_OBJECT (widget), 
> 			  "toggled", 
> 			  G_CALLBACK (check_toggle_cb), 
> 			  client);
> 
Index: shell/eog-window.c
===================================================================
RCS file: /cvs/gnome/eog/shell/eog-window.c,v
retrieving revision 1.149
diff -r1.149 eog-window.c
3640c3645,3654
< 
---
> #if HAVE_EXIF
> 		/* Correct orientation */
> 		
> 		if (gconf_client_get_bool (priv->client, EOG_CONF_VIEW_AUTOROTATE, NULL))
>       {
>     		for (i = 0; i < eog_image_list_length (model); i++) {
>     			eog_image_autorotate (eog_image_list_get_img_by_pos (model, i));
>         }
>       }
> #endif
