Only a minor nitpick from me: I don't think you actually need the "rotated" temporary variable. Regardless, looks good to my eyes (of course, I have no say over what gets included or not :o)
--xsdg On 04/02/2010 11:17 AM, Jonathan Woithe wrote: > Hi > > Find below a patch which adds auto-rotation of proof images based on image > EXIF information. It is a revision of a proof-of-concept patch I did up for > gqview 2.0.4 which, for well documented reasons, didn't get anywhere after > submission. The patch below is against geeqie 1.0. > > The proof auto-rotation feature is controlled by a new setting in the > "convenience" section of the image preferences dialog. This way the > existing behaviour is still available for those who want to use it. > > I find this new feature very useful when preparing proofing sheets and I > suspect others would too. Please consider this for inclusion in geeqie. > > Regards > jonathan > > diff -ru --unidirectional-new-file geeqie-1.0-orig/src/options.c > geeqie-1.0/src/options.c > --- geeqie-1.0-orig/src/options.c 2010-02-18 07:51:19.000000000 +1030 > +++ geeqie-1.0/src/options.c 2010-04-02 20:36:46.448672632 +1030 > @@ -66,6 +66,7 @@ > options->image.dither_quality = GDK_RGB_DITHER_NORMAL; > options->image.enable_read_ahead = TRUE; > options->image.exif_rotate_enable = TRUE; > + options->image.exif_proof_rotate_enable = TRUE; > options->image.fit_window_to_image = FALSE; > options->image.limit_autofit_size = FALSE; > options->image.limit_window_size = TRUE; > diff -ru --unidirectional-new-file geeqie-1.0-orig/src/options.h > geeqie-1.0/src/options.h > --- geeqie-1.0-orig/src/options.h 2010-02-18 07:51:19.000000000 +1030 > +++ geeqie-1.0/src/options.h 2010-04-02 20:36:17.742672675 +1030 > @@ -50,6 +50,7 @@ > /* image */ > struct { > gboolean exif_rotate_enable; > + gboolean exif_proof_rotate_enable; > guint scroll_reset_method; > gboolean fit_window_to_image; > gboolean limit_window_size; > diff -ru --unidirectional-new-file geeqie-1.0-orig/src/preferences.c > geeqie-1.0/src/preferences.c > --- geeqie-1.0-orig/src/preferences.c 2010-02-18 07:51:19.000000000 +1030 > +++ geeqie-1.0/src/preferences.c 2010-04-02 20:41:25.949672731 +1030 > @@ -285,6 +285,7 @@ > > options->update_on_time_change = c_options->update_on_time_change; > options->image.exif_rotate_enable = c_options->image.exif_rotate_enable; > + options->image.exif_proof_rotate_enable = > c_options->image.exif_proof_rotate_enable; > > options->duplicates_similarity_threshold = > c_options->duplicates_similarity_threshold; > > @@ -1309,6 +1310,9 @@ > > pref_checkbox_new_int(group, _("Auto rotate image using Exif > information"), > > options->image.exif_rotate_enable,&c_options->image.exif_rotate_enable); > + > + pref_checkbox_new_int(group, _("Auto rotate proofs using Exif > information"), > + > options->image.exif_proof_rotate_enable,&c_options->image.exif_proof_rotate_enable); > } > > /* windows tab */ > diff -ru --unidirectional-new-file geeqie-1.0-orig/src/print.c > geeqie-1.0/src/print.c > --- geeqie-1.0-orig/src/print.c 2010-02-18 07:51:19.000000000 +1030 > +++ geeqie-1.0/src/print.c 2010-04-02 20:48:31.690672852 +1030 > @@ -2189,6 +2189,7 @@ > gdouble icon_w, icon_h; > gdouble scale; > gboolean success = TRUE; > + GdkPixbuf *rotated = NULL; > > if (pw->proof_columns< 1 || pw->proof_rows< 1) > { > @@ -2202,6 +2203,11 @@ > > pixbuf = image_loader_get_pixbuf(il); > > + if (options->image.exif_proof_rotate_enable == TRUE) { > + rotated = pixbuf_apply_orientation(pixbuf, > il->fd->exif_orientation); > + pixbuf = rotated; > + } > + > w = gdk_pixbuf_get_width(pixbuf); > h = gdk_pixbuf_get_height(pixbuf); > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Geeqie-devel mailing list > Geeqie-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geeqie-devel ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel