[gimp] Issue #1297 - Unhide the items hidden in the Advanced drop-down file...



commit 540cfa961171a2f8d26c183ce2291f4c507e9813
Author: Michael Natterer <mitch gimp org>
Date:   Mon Dec 3 12:19:41 2018 +0100

    Issue #1297 - Unhide the items hidden in the Advanced drop-down file...
    
    ...export dialogs
    
    Move most stuff out of the "Advanced" expander, only nerdish encoding
    options are left there.
    
    Issue #701: Add a "Save color profile" toggle which honors the default
    value configured in preferences and always saves the profile when
    enabled.

 plug-ins/file-jpeg/jpeg-save.c | 341 ++++++++++++++++++++++-------------------
 plug-ins/file-jpeg/jpeg-save.h |   3 +-
 plug-ins/file-jpeg/jpeg.c      |   1 +
 3 files changed, 184 insertions(+), 161 deletions(-)
---
diff --git a/plug-ins/file-jpeg/jpeg-save.c b/plug-ins/file-jpeg/jpeg-save.c
index 505505a0c5..72cb7dbd2b 100644
--- a/plug-ins/file-jpeg/jpeg-save.c
+++ b/plug-ins/file-jpeg/jpeg-save.c
@@ -65,9 +65,10 @@ static gboolean arithc_supported = FALSE;
 #define DEFAULT_DCT              0
 #define DEFAULT_PREVIEW          FALSE
 #define DEFAULT_EXIF             FALSE
-#define DEFAULT_THUMBNAIL        FALSE
 #define DEFAULT_XMP              FALSE
 #define DEFAULT_IPTC             FALSE
+#define DEFAULT_THUMBNAIL        FALSE
+#define DEFAULT_PROFILE          TRUE
 #define DEFAULT_USE_ORIG_QUALITY FALSE
 
 #define JPEG_DEFAULTS_PARASITE  "jpeg-save-defaults"
@@ -109,9 +110,10 @@ typedef struct
   GtkWidget     *dct;                   /*DCT side select*/
   GtkWidget     *preview;               /*show preview toggle checkbox*/
   GtkWidget     *save_exif;
-  GtkWidget     *save_thumbnail;
   GtkWidget     *save_xmp;
   GtkWidget     *save_iptc;
+  GtkWidget     *save_thumbnail;
+  GtkWidget     *save_profile;
   GtkWidget     *use_orig_quality;      /*quant tables toggle*/
 } JpegSaveGui;
 
@@ -540,21 +542,24 @@ save_image (const gchar  *filename,
     }
 
   /* Step 4.2: store the color profile if there is one */
-  {
-    GimpColorProfile *profile = gimp_image_get_color_profile (orig_image_ID);
+  if (jsvals.save_profile)
+    {
+      GimpColorProfile *profile;
 
-    if (profile)
-      {
-        const guint8 *icc_data;
-        gsize         icc_length;
+      profile = gimp_image_get_effective_color_profile (orig_image_ID);
+
+      if (profile)
+        {
+          const guint8 *icc_data;
+          gsize         icc_length;
 
-        icc_data = gimp_color_profile_get_icc_profile (profile, &icc_length);
+          icc_data = gimp_color_profile_get_icc_profile (profile, &icc_length);
 
-        jpeg_icc_write_profile (&cinfo, icc_data, icc_length);
+          jpeg_icc_write_profile (&cinfo, icc_data, icc_length);
 
-        g_object_unref (profile);
+          g_object_unref (profile);
+        }
     }
-  }
 
   /* Step 5: while (scan lines remain to be written) */
   /*           jpeg_write_scanlines(...); */
@@ -731,6 +736,7 @@ save_dialog (void)
   JpegSaveGui    pg;
   GtkWidget     *dialog;
   GtkWidget     *vbox;
+  GtkWidget     *vbox2;
   GtkAdjustment *entry;
   GtkWidget     *grid;
   GtkWidget     *grid2;
@@ -765,9 +771,13 @@ save_dialog (void)
                       vbox, TRUE, TRUE, 0);
   gtk_widget_show (vbox);
 
+  vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+  gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
+  gtk_widget_show (vbox2);
+
   grid = gtk_grid_new ();
   gtk_grid_set_column_spacing (GTK_GRID (grid), 6);
-  gtk_box_pack_start (GTK_BOX (vbox), grid, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox2), grid, FALSE, FALSE, 0);
   gtk_widget_show (grid);
 
   pg.quality = entry = gimp_scale_entry_new (GTK_GRID (grid), 0, 0,
@@ -785,13 +795,51 @@ save_dialog (void)
                     G_CALLBACK (make_preview),
                     NULL);
 
+  /* custom quantization tables - now used also for original quality */
+  pg.use_orig_quality = toggle =
+    gtk_check_button_new_with_mnemonic (_("_Use quality settings from original "
+                                          "image"));
+  gtk_box_pack_start (GTK_BOX (vbox2), toggle, FALSE, FALSE, 0);
+  gtk_widget_show (toggle);
+
+  gimp_help_set_help_data (toggle,
+                           _("If the original image was loaded from a JPEG "
+                             "file using non-standard quality settings "
+                             "(quantization tables), enable this option to "
+                             "get almost the same quality and file size."),
+                           NULL);
+
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (gimp_toggle_button_update),
+                    &jsvals.use_orig_quality);
+
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle),
+                                jsvals.use_orig_quality
+                                && (orig_quality > 0)
+                                && (orig_subsmp == jsvals.subsmp)
+                               );
+  gtk_widget_set_sensitive (toggle, (orig_quality > 0));
+
+  /* changing quality disables custom quantization tables, and vice-versa */
+  g_signal_connect (pg.quality, "value-changed",
+                    G_CALLBACK (quality_changed),
+                    pg.use_orig_quality);
+  g_signal_connect (pg.use_orig_quality, "toggled",
+                    G_CALLBACK (use_orig_qual_changed),
+                    pg.quality);
+
+  /* File size */
+  vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+  gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
+  gtk_widget_show (vbox2);
+
   preview_size = gtk_label_new (_("File size: unknown"));
   gtk_label_set_xalign (GTK_LABEL (preview_size), 0.0);
   gtk_label_set_ellipsize (GTK_LABEL (preview_size), PANGO_ELLIPSIZE_END);
   gimp_label_set_attributes (GTK_LABEL (preview_size),
                              PANGO_ATTR_STYLE, PANGO_STYLE_ITALIC,
                              -1);
-  gtk_box_pack_start (GTK_BOX (vbox), preview_size, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox2), preview_size, FALSE, FALSE, 0);
   gtk_widget_show (preview_size);
 
   gimp_help_set_help_data (preview_size,
@@ -800,7 +848,7 @@ save_dialog (void)
   pg.preview = toggle =
     gtk_check_button_new_with_mnemonic (_("Sho_w preview in image window"));
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), jsvals.preview);
-  gtk_box_pack_start (GTK_BOX (vbox), toggle, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox2), toggle, FALSE, FALSE, 0);
   gtk_widget_show (toggle);
 
   g_signal_connect (toggle, "toggled",
@@ -810,6 +858,108 @@ save_dialog (void)
                     G_CALLBACK (make_preview),
                     NULL);
 
+  vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+  gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
+  gtk_widget_show (vbox2);
+
+  /* Save EXIF data */
+  pg.save_exif = toggle =
+    gtk_check_button_new_with_mnemonic (_("Save _Exif data"));
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), jsvals.save_exif);
+  gtk_box_pack_start (GTK_BOX (vbox2), toggle, FALSE, FALSE, 0);
+  gtk_widget_show (toggle);
+
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (gimp_toggle_button_update),
+                    &jsvals.save_exif);
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (make_preview),
+                    NULL);
+
+  /* Save XMP metadata */
+  pg.save_xmp = toggle =
+    gtk_check_button_new_with_mnemonic (_("Save _XMP data"));
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), jsvals.save_xmp);
+  gtk_box_pack_start (GTK_BOX (vbox2), toggle, FALSE, FALSE, 0);
+  gtk_widget_show (toggle);
+
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (gimp_toggle_button_update),
+                    &jsvals.save_xmp);
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (make_preview),
+                    NULL);
+
+  /* Save IPTC metadata */
+  pg.save_iptc = toggle =
+    gtk_check_button_new_with_mnemonic (_("Save _IPTC data"));
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), jsvals.save_iptc);
+  gtk_box_pack_start (GTK_BOX (vbox2), toggle, FALSE, FALSE, 0);
+  gtk_widget_show (toggle);
+
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (gimp_toggle_button_update),
+                    &jsvals.save_iptc);
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (make_preview),
+                    NULL);
+
+  /* Save thumbnail */
+  pg.save_thumbnail = toggle =
+    gtk_check_button_new_with_mnemonic (_("Save _thumbnail"));
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), jsvals.save_thumbnail);
+  gtk_box_pack_start (GTK_BOX (vbox2), toggle, FALSE, FALSE, 0);
+  gtk_widget_show (toggle);
+
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (gimp_toggle_button_update),
+                    &jsvals.save_thumbnail);
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (make_preview),
+                    NULL);
+
+  /* Save color profile */
+  pg.save_profile = toggle =
+    gtk_check_button_new_with_mnemonic (_("Save color profile"));
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), jsvals.save_profile);
+  gtk_box_pack_start (GTK_BOX (vbox2), toggle, FALSE, FALSE, 0);
+  gtk_widget_show (toggle);
+
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (gimp_toggle_button_update),
+                    &jsvals.save_profile);
+  g_signal_connect (toggle, "toggled",
+                    G_CALLBACK (make_preview),
+                    NULL);
+
+  /* Comment */
+  frame = gimp_frame_new (_("Comment"));
+  gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
+  gtk_widget_show (frame);
+
+  scrolled_window = gtk_scrolled_window_new (NULL, NULL);
+  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window),
+                                       GTK_SHADOW_IN);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
+                                  GTK_POLICY_AUTOMATIC,
+                                  GTK_POLICY_AUTOMATIC);
+  gtk_widget_set_size_request (scrolled_window, 250, 50);
+  gtk_container_add (GTK_CONTAINER (frame), scrolled_window);
+  gtk_widget_show (scrolled_window);
+
+  pg.text_buffer = text_buffer = gtk_text_buffer_new (NULL);
+  if (image_comment)
+    gtk_text_buffer_set_text (text_buffer, image_comment, -1);
+
+  text_view = gtk_text_view_new_with_buffer (text_buffer);
+  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view), GTK_WRAP_WORD);
+
+  gtk_container_add (GTK_CONTAINER (scrolled_window), text_view);
+  gtk_widget_show (text_view);
+
+  g_object_unref (text_buffer);
+
+  /* Advanced expander */
   text = g_strdup_printf ("<b>%s</b>", _("_Advanced Options"));
   expander = gtk_expander_new_with_mnemonic (text);
   gtk_expander_set_use_markup (GTK_EXPANDER (expander), TRUE);
@@ -830,6 +980,7 @@ save_dialog (void)
   gtk_grid_set_column_spacing (GTK_GRID (grid), 6);
   gtk_grid_set_row_spacing (GTK_GRID (grid), 6);
   gtk_container_add (GTK_CONTAINER (frame), grid);
+  gtk_widget_show (grid);
 
   grid2 = gtk_grid_new ();
   gtk_grid_set_column_spacing (GTK_GRID (grid2), 6);
@@ -946,109 +1097,6 @@ save_dialog (void)
 
   row++;
 
-  /* Save EXIF data */
-  pg.save_exif = toggle =
-    gtk_check_button_new_with_mnemonic (_("Save _Exif data"));
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), jsvals.save_exif);
-  gtk_grid_attach (GTK_GRID (grid), toggle, 0, row, 1, 1);
-  gtk_widget_show (toggle);
-
-  g_signal_connect (toggle, "toggled",
-                    G_CALLBACK (gimp_toggle_button_update),
-                    &jsvals.save_exif);
-  g_signal_connect (toggle, "toggled",
-                    G_CALLBACK (make_preview),
-                    NULL);
-
-  gtk_widget_set_sensitive (toggle, TRUE);
-
-  row++;
-
-  /* Save thumbnail */
-  pg.save_thumbnail = toggle =
-    gtk_check_button_new_with_mnemonic (_("Save _thumbnail"));
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), jsvals.save_thumbnail);
-  gtk_grid_attach (GTK_GRID (grid), toggle, 0, row, 1, 1);
-  gtk_widget_show (toggle);
-
-  g_signal_connect (toggle, "toggled",
-                    G_CALLBACK (gimp_toggle_button_update),
-                    &jsvals.save_thumbnail);
-  g_signal_connect (toggle, "toggled",
-                    G_CALLBACK (make_preview),
-                    NULL);
-
-  row++;
-
-  /* XMP metadata */
-  pg.save_xmp = toggle =
-    gtk_check_button_new_with_mnemonic (_("Save _XMP data"));
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), jsvals.save_xmp);
-  gtk_grid_attach (GTK_GRID (grid), toggle, 0, row, 1, 1);
-  gtk_widget_show (toggle);
-
-  g_signal_connect (toggle, "toggled",
-                    G_CALLBACK (gimp_toggle_button_update),
-                    &jsvals.save_xmp);
-  g_signal_connect (toggle, "toggled",
-                    G_CALLBACK (make_preview),
-                    NULL);
-
-  gtk_widget_set_sensitive (toggle, TRUE);
-
-  row++;
-
-  /* IPTC metadata */
-  pg.save_iptc = toggle =
-    gtk_check_button_new_with_mnemonic (_("Save _IPTC data"));
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), jsvals.save_iptc);
-  gtk_grid_attach (GTK_GRID (grid), toggle, 0, row, 1, 1);
-  gtk_widget_show (toggle);
-
-  g_signal_connect (toggle, "toggled",
-                    G_CALLBACK (gimp_toggle_button_update),
-                    &jsvals.save_iptc);
-  g_signal_connect (toggle, "toggled",
-                    G_CALLBACK (make_preview),
-                    NULL);
-
-  gtk_widget_set_sensitive (toggle, TRUE);
-
-  row++;
-
-  /* custom quantization tables - now used also for original quality */
-  pg.use_orig_quality = toggle =
-    gtk_check_button_new_with_mnemonic (_("_Use quality settings from original "
-                                          "image"));
-  gtk_grid_attach (GTK_GRID (grid), toggle, 0, row, 4, 1);
-  gtk_widget_show (toggle);
-
-  gimp_help_set_help_data (toggle,
-                           _("If the original image was loaded from a JPEG "
-                             "file using non-standard quality settings "
-                             "(quantization tables), enable this option to "
-                             "get almost the same quality and file size."),
-                           NULL);
-
-  g_signal_connect (toggle, "toggled",
-                    G_CALLBACK (gimp_toggle_button_update),
-                    &jsvals.use_orig_quality);
-
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle),
-                                jsvals.use_orig_quality
-                                && (orig_quality > 0)
-                                && (orig_subsmp == jsvals.subsmp)
-                               );
-  gtk_widget_set_sensitive (toggle, (orig_quality > 0));
-
-  /* changing quality disables custom quantization tables, and vice-versa */
-  g_signal_connect (pg.quality, "value-changed",
-                    G_CALLBACK (quality_changed),
-                    pg.use_orig_quality);
-  g_signal_connect (pg.use_orig_quality, "toggled",
-                    G_CALLBACK (use_orig_qual_changed),
-                    pg.quality);
-
   /* Subsampling */
   label = gtk_label_new_with_mnemonic (_("Su_bsampling:"));
   gtk_label_set_xalign (GTK_LABEL (label), 0.0);
@@ -1115,41 +1163,12 @@ save_dialog (void)
                     G_CALLBACK (make_preview),
                     NULL);
 
-  frame = gimp_frame_new (_("Comment"));
-  gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
-  gtk_widget_show (frame);
-
-  scrolled_window = gtk_scrolled_window_new (NULL, NULL);
-  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window),
-                                       GTK_SHADOW_IN);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
-                                  GTK_POLICY_AUTOMATIC,
-                                  GTK_POLICY_AUTOMATIC);
-  gtk_widget_set_size_request (scrolled_window, 250, 50);
-  gtk_container_add (GTK_CONTAINER (frame), scrolled_window);
-  gtk_widget_show (scrolled_window);
-
-  pg.text_buffer = text_buffer = gtk_text_buffer_new (NULL);
-  if (image_comment)
-    gtk_text_buffer_set_text (text_buffer, image_comment, -1);
-
-  text_view = gtk_text_view_new_with_buffer (text_buffer);
-  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view), GTK_WRAP_WORD);
-
-  gtk_container_add (GTK_CONTAINER (scrolled_window), text_view);
-  gtk_widget_show (text_view);
-
-  g_object_unref (text_buffer);
-
-  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
-  gtk_box_pack_start (GTK_BOX (gimp_export_dialog_get_content_area (dialog)),
-                      vbox, TRUE, TRUE, 0);
-  gtk_widget_show (vbox);
-
+  /* Load/Save defaults */
   griddefaults = gtk_grid_new ();
+  gtk_container_set_border_width (GTK_CONTAINER (griddefaults), 12);
   gtk_grid_set_column_spacing (GTK_GRID (griddefaults), 6);
-  gtk_box_pack_start (GTK_BOX (vbox), griddefaults, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (gimp_export_dialog_get_content_area (dialog)),
+                      griddefaults, FALSE, FALSE, 0);
   gtk_widget_show (griddefaults);
 
   button = gtk_button_new_with_mnemonic (_("_Load Defaults"));
@@ -1167,9 +1186,7 @@ save_dialog (void)
   g_signal_connect_swapped (button, "clicked",
                             G_CALLBACK (save_defaults),
                             &pg);
-  gtk_widget_show (frame);
 
-  gtk_widget_show (grid);
   gtk_widget_show (dialog);
 
   make_preview ();
@@ -1221,9 +1238,10 @@ load_defaults (void)
   jsvals.dct              = DEFAULT_DCT;
   jsvals.preview          = DEFAULT_PREVIEW;
   jsvals.save_exif        = DEFAULT_EXIF;
-  jsvals.save_thumbnail   = DEFAULT_THUMBNAIL;
   jsvals.save_xmp         = DEFAULT_XMP;
   jsvals.save_iptc        = DEFAULT_IPTC;
+  jsvals.save_thumbnail   = DEFAULT_THUMBNAIL;
+  jsvals.save_profile     = DEFAULT_PROFILE;
   jsvals.use_orig_quality = DEFAULT_USE_ORIG_QUALITY;
 }
 
@@ -1251,7 +1269,7 @@ load_parasite (void)
   memcpy(&tmpvals, &jsvals, sizeof jsvals);
 
   num_fields = sscanf (def_str,
-                       "%lf %lf %d %d %d %d %d %d %d %d %d %d %d %d %d",
+                       "%lf %lf %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
                        &tmpvals.quality,
                        &tmpvals.smoothing,
                        &tmpvals.optimize,
@@ -1266,11 +1284,12 @@ load_parasite (void)
                        &tmpvals.save_xmp,
                        &tmpvals.use_orig_quality,
                        &tmpvals.save_iptc,
-                       &tmpvals.arithmetic_coding);
+                       &tmpvals.arithmetic_coding,
+                       &tmpvals.save_profile);
 
   tmpvals.subsmp = subsampling;
 
-  if (num_fields == 13 || num_fields == 15)
+  if (num_fields == 13 || num_fields == 15 || num_fields == 16)
     {
       memcpy (&jsvals, &tmpvals, sizeof (tmpvals));
     }
@@ -1284,7 +1303,7 @@ save_defaults (void)
   GimpParasite *parasite;
   gchar        *def_str;
 
-  def_str = g_strdup_printf ("%lf %lf %d %d %d %d %d %d %d %d %d %d %d %d %d",
+  def_str = g_strdup_printf ("%lf %lf %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
                              jsvals.quality,
                              jsvals.smoothing,
                              jsvals.optimize,
@@ -1299,7 +1318,8 @@ save_defaults (void)
                              jsvals.save_xmp,
                              jsvals.use_orig_quality,
                              jsvals.save_iptc,
-                             jsvals.arithmetic_coding);
+                             jsvals.arithmetic_coding,
+                             jsvals.save_profile);
   parasite = gimp_parasite_new (JPEG_DEFAULTS_PARASITE,
                                 GIMP_PARASITE_PERSISTENT,
                                 strlen (def_str), def_str);
@@ -1326,9 +1346,10 @@ load_gui_defaults (JpegSaveGui *pg)
   SET_ACTIVE_BTTN (use_orig_quality);
   SET_ACTIVE_BTTN (preview);
   SET_ACTIVE_BTTN (save_exif);
-  SET_ACTIVE_BTTN (save_thumbnail);
   SET_ACTIVE_BTTN (save_xmp);
   SET_ACTIVE_BTTN (save_iptc);
+  SET_ACTIVE_BTTN (save_thumbnail);
+  SET_ACTIVE_BTTN (save_profile);
 
 #undef SET_ACTIVE_BTTN
 
diff --git a/plug-ins/file-jpeg/jpeg-save.h b/plug-ins/file-jpeg/jpeg-save.h
index 102ad1c8f2..34f0eb544d 100644
--- a/plug-ins/file-jpeg/jpeg-save.h
+++ b/plug-ins/file-jpeg/jpeg-save.h
@@ -31,9 +31,10 @@ typedef struct
   gint             dct;
   gboolean         preview;
   gboolean         save_exif;
-  gboolean         save_thumbnail;
   gboolean         save_xmp;
   gboolean         save_iptc;
+  gboolean         save_thumbnail;
+  gboolean         save_profile;
   gboolean         use_orig_quality;
 } JpegSaveVals;
 
diff --git a/plug-ins/file-jpeg/jpeg.c b/plug-ins/file-jpeg/jpeg.c
index 66b0074079..b23e89842e 100644
--- a/plug-ins/file-jpeg/jpeg.c
+++ b/plug-ins/file-jpeg/jpeg.c
@@ -347,6 +347,7 @@ run (const gchar      *name,
       jsvals.save_xmp       = (metadata_flags & GIMP_METADATA_SAVE_XMP) != 0;
       jsvals.save_iptc      = (metadata_flags & GIMP_METADATA_SAVE_IPTC) != 0;
       jsvals.save_thumbnail = (metadata_flags & GIMP_METADATA_SAVE_THUMBNAIL) != 0;
+      jsvals.save_profile   = gimp_export_color_profile ();
 
       parasite = gimp_image_get_parasite (orig_image_ID, "gimp-comment");
       if (parasite)


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