diff --git a/plug-ins/file-tiff/file-tiff-save.c b/plug-ins/file-tiff/file-tiff-save.c index aebb0f313f..03c3ac6498 100644 --- a/plug-ins/file-tiff/file-tiff-save.c +++ b/plug-ins/file-tiff/file-tiff-save.c @@ -1271,6 +1271,18 @@ save_dialog (TiffSaveVals *tsvals, G_CALLBACK (gimp_toggle_button_update), &tsvals->save_layers); + frame = GTK_WIDGET (gtk_builder_get_object (builder, "layers-frame")); + g_object_bind_property (toggle, "active", + frame, "sensitive", + G_BINDING_SYNC_CREATE); + + toggle = GTK_WIDGET (gtk_builder_get_object (builder, "crop-layers")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), + tsvals->crop_layers); + g_signal_connect (toggle, "toggled", + G_CALLBACK (gimp_toggle_button_update), + &tsvals->crop_layers); + gtk_widget_show (dialog); run = (gimp_dialog_run (GIMP_DIALOG (dialog)) == GTK_RESPONSE_OK); diff --git a/plug-ins/file-tiff/file-tiff-save.h b/plug-ins/file-tiff/file-tiff-save.h index 24e4f85ba1..b5fb1b3157 100644 --- a/plug-ins/file-tiff/file-tiff-save.h +++ b/plug-ins/file-tiff/file-tiff-save.h @@ -34,6 +34,7 @@ typedef struct gboolean save_thumbnail; gboolean save_profile; gboolean save_layers; + gboolean crop_layers; } TiffSaveVals; diff --git a/plug-ins/file-tiff/file-tiff.c b/plug-ins/file-tiff/file-tiff.c index 3867807422..61405f12c4 100644 --- a/plug-ins/file-tiff/file-tiff.c +++ b/plug-ins/file-tiff/file-tiff.c @@ -88,7 +88,8 @@ static TiffSaveVals tsvals = FALSE, /* save iptc */ TRUE, /* save thumbnail */ TRUE, /* save profile */ - TRUE /* save layer */ + TRUE, /* save layers */ + TRUE /* crop layers */ }; static gchar *image_comment = NULL; @@ -392,7 +393,12 @@ run (const gchar *name, GIMP_EXPORT_CAN_HANDLE_ALPHA; if (tsvals.save_layers) - capabilities |= GIMP_EXPORT_CAN_HANDLE_LAYERS; + { + capabilities |= GIMP_EXPORT_CAN_HANDLE_LAYERS; + + if (tsvals.crop_layers) + capabilities |= GIMP_EXPORT_NEEDS_CROP; + } export = gimp_export_image (&image, &drawable, "TIFF", capabilities); diff --git a/plug-ins/ui/plug-in-file-tiff.ui b/plug-ins/ui/plug-in-file-tiff.ui index a2c0624724..c6672960e5 100644 --- a/plug-ins/ui/plug-in-file-tiff.ui +++ b/plug-ins/ui/plug-in-file-tiff.ui @@ -54,6 +54,26 @@ 0 + + + True + + + Cr_op layers to image bounds + True + True + False + True + True + + + + + True + True + 1 + + Save color _values from transparent pixels @@ -67,7 +87,7 @@ True True - 1 + 2