diff --git a/libgimp/gimpexport.c b/libgimp/gimpexport.c index 6760785a5c..0855b4c5cc 100644 --- a/libgimp/gimpexport.c +++ b/libgimp/gimpexport.c @@ -554,7 +554,6 @@ export_action_perform (const ExportAction *action, /** * gimp_export_image: * @image: Pointer to the image. - * @format_name: The (short) name of the image_format (e.g. JPEG or GIF). * @capabilities: What can the image_format do? * * Takes an image to be saved together with a description @@ -573,16 +572,11 @@ export_action_perform (const ExportAction *action, * altered, GIMP_EXPORT_IGNORE is returned and the save_plugin * should try to save the original image. * - * If @format_name is NULL, no dialogs will be shown and this function - * will behave as if the user clicked on the 'Export' button, if a - * dialog would have been shown. - * * Returns: An enum of #GimpExportReturn describing the user_action. **/ GimpExportReturn -gimp_export_image (GimpImage **image, - const gchar *format_name, - GimpExportCapabilities capabilities) +gimp_export_image (GimpImage **image, + GimpExportCapabilities capabilities) { GSList *actions = NULL; GimpImageBaseType type; diff --git a/libgimp/gimpexport.h b/libgimp/gimpexport.h index 948eee8e2d..7e7156dfdc 100644 --- a/libgimp/gimpexport.h +++ b/libgimp/gimpexport.h @@ -83,7 +83,6 @@ GtkWidget * gimp_export_dialog_new (const gchar * GtkWidget * gimp_export_dialog_get_content_area (GtkWidget *dialog); GimpExportReturn gimp_export_image (GimpImage **image, - const gchar *format_name, GimpExportCapabilities capabilities); diff --git a/plug-ins/common/file-aa.c b/plug-ins/common/file-aa.c index 8824601258..ef072dce90 100644 --- a/plug-ins/common/file-aa.c +++ b/plug-ins/common/file-aa.c @@ -176,30 +176,21 @@ ascii_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "AA", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (procedure, G_OBJECT (config), image)) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); + drawables = gimp_image_list_layers (image); + if (status == GIMP_PDB_SUCCESS) { if (! export_aa (file, drawables->data, G_OBJECT (config), &error)) diff --git a/plug-ins/common/file-cel.c b/plug-ins/common/file-cel.c index 1b9b88706d..93ae4a0210 100644 --- a/plug-ins/common/file-cel.c +++ b/plug-ins/common/file-cel.c @@ -287,21 +287,11 @@ cel_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_ALPHA | + GIMP_EXPORT_CAN_HANDLE_INDEXED); - export = gimp_export_image (&image, "CEL", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_ALPHA | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - default: - break; - } drawables = gimp_image_list_layers (image); if (! export_image (file, image, drawables->data, &error)) diff --git a/plug-ins/common/file-csource.c b/plug-ins/common/file-csource.c index 00cc8c69fb..9a4280fba2 100644 --- a/plug-ins/common/file-csource.c +++ b/plug-ins/common/file-csource.c @@ -225,7 +225,7 @@ csource_export (GimpProcedure *procedure, gimp_ui_init (PLUG_IN_BINARY); - export = gimp_export_image (&image, "C Source", + export = gimp_export_image (&image, GIMP_EXPORT_CAN_HANDLE_RGB | GIMP_EXPORT_CAN_HANDLE_ALPHA); drawables = gimp_image_list_layers (image); diff --git a/plug-ins/common/file-dicom.c b/plug-ins/common/file-dicom.c index d238648e1f..329354fc64 100644 --- a/plug-ins/common/file-dicom.c +++ b/plug-ins/common/file-dicom.c @@ -279,19 +279,10 @@ dicom_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - export = gimp_export_image (&image, "DICOM", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY); - break; + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY); - default: - break; - } drawables = gimp_image_list_layers (image); if (status == GIMP_PDB_SUCCESS) diff --git a/plug-ins/common/file-farbfeld.c b/plug-ins/common/file-farbfeld.c index 671339e9e8..98102a8176 100644 --- a/plug-ins/common/file-farbfeld.c +++ b/plug-ins/common/file-farbfeld.c @@ -226,22 +226,11 @@ farbfeld_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "farbfeld", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); drawables = gimp_image_list_layers (image); if (! export_image (file, image, drawables->data, &error)) diff --git a/plug-ins/common/file-gbr.c b/plug-ins/common/file-gbr.c index eb32f22d34..fb636387f1 100644 --- a/plug-ins/common/file-gbr.c +++ b/plug-ins/common/file-gbr.c @@ -199,31 +199,22 @@ gbr_export (GimpProcedure *procedure, g_free (description); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "GBR", - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - n_drawables = g_list_length (drawables); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (procedure, G_OBJECT (config), image)) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); + drawables = gimp_image_list_layers (image); + n_drawables = g_list_length (drawables); + if (status == GIMP_PDB_SUCCESS) { GimpProcedure *procedure; diff --git a/plug-ins/common/file-gegl.c b/plug-ins/common/file-gegl.c index 487f6b8679..2026e884ca 100644 --- a/plug-ins/common/file-gegl.c +++ b/plug-ins/common/file-gegl.c @@ -286,22 +286,11 @@ goat_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "GEGL", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); drawables = gimp_image_list_layers (image); if (! export_image (file, format->export_op, image, drawables->data, diff --git a/plug-ins/common/file-gif-export.c b/plug-ins/common/file-gif-export.c index f73a91a0fc..8c404a95b7 100644 --- a/plug-ins/common/file-gif-export.c +++ b/plug-ins/common/file-gif-export.c @@ -329,7 +329,12 @@ gif_export (GimpProcedure *procedure, if (status == GIMP_PDB_SUCCESS) { - GList *drawables; + GList *drawables; + GimpExportCapabilities capabilities; + + capabilities = (GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_ALPHA); /* Create an exportable image based on the export options */ switch (run_mode) @@ -337,12 +342,7 @@ gif_export (GimpProcedure *procedure, case GIMP_RUN_INTERACTIVE: case GIMP_RUN_WITH_LAST_VALS: { - GimpExportCapabilities capabilities; - gboolean as_animation; - - capabilities = (GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_ALPHA); + gboolean as_animation; g_object_get (config, "as-animation", &as_animation, @@ -350,14 +350,13 @@ gif_export (GimpProcedure *procedure, if (as_animation) capabilities |= GIMP_EXPORT_CAN_HANDLE_LAYERS; - - export = gimp_export_image (&image, "GIF", capabilities); break; } default: break; } + export = gimp_export_image (&image, capabilities); drawables = gimp_image_list_layers (image); if (! export_image (file, image, drawables->data, orig_image, diff --git a/plug-ins/common/file-gih.c b/plug-ins/common/file-gih.c index 463f2d4303..12d422c706 100644 --- a/plug-ins/common/file-gih.c +++ b/plug-ins/common/file-gih.c @@ -279,12 +279,6 @@ gih_export (GimpProcedure *procedure, gimp_pixpipe_params_init (&gihparams); - export = gimp_export_image (&image, "GIH", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_ALPHA | - GIMP_EXPORT_CAN_HANDLE_LAYERS); - /* Possibly retrieve data */ parasite = gimp_image_get_parasite (orig_image, "gimp-brush-pipe-name"); @@ -384,6 +378,12 @@ gih_export (GimpProcedure *procedure, goto out; } } + + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_ALPHA | + GIMP_EXPORT_CAN_HANDLE_LAYERS); layers = gimp_image_list_layers (image); n_drawables = g_list_length (layers); diff --git a/plug-ins/common/file-header.c b/plug-ins/common/file-header.c index 512c7148bf..7a06d0a087 100644 --- a/plug-ins/common/file-header.c +++ b/plug-ins/common/file-header.c @@ -152,20 +152,9 @@ header_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "Header", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_INDEXED); drawables = gimp_image_list_layers (image); if (! export_image (file, image, drawables->data, diff --git a/plug-ins/common/file-heif.c b/plug-ins/common/file-heif.c index f79035958b..4f5945e902 100644 --- a/plug-ins/common/file-heif.c +++ b/plug-ins/common/file-heif.c @@ -498,28 +498,19 @@ heif_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "HEIF", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (procedure, G_OBJECT (config), image)) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_ALPHA); + drawables = gimp_image_list_layers (image); + if (status == GIMP_PDB_SUCCESS) { GimpMetadataSaveFlags metadata_flags; @@ -570,28 +561,19 @@ heif_av1_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "AVIF", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (procedure, G_OBJECT (config), image)) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_ALPHA); + drawables = gimp_image_list_layers (image); + if (status == GIMP_PDB_SUCCESS) { GimpMetadataSaveFlags metadata_flags; diff --git a/plug-ins/common/file-jpegxl.c b/plug-ins/common/file-jpegxl.c index 78bad60626..e70eab2174 100644 --- a/plug-ins/common/file-jpegxl.c +++ b/plug-ins/common/file-jpegxl.c @@ -2126,31 +2126,22 @@ jpegxl_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "JPEG XL", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (image, procedure, G_OBJECT (config))) { status = GIMP_PDB_CANCEL; } } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_ALPHA); + drawables = gimp_image_list_layers (image); + if (status == GIMP_PDB_SUCCESS) { GimpMetadataSaveFlags metadata_flags; diff --git a/plug-ins/common/file-mng.c b/plug-ins/common/file-mng.c index cd4fc41351..ac358e2d7d 100644 --- a/plug-ins/common/file-mng.c +++ b/plug-ins/common/file-mng.c @@ -370,27 +370,23 @@ mng_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - if (run_mode == GIMP_RUN_INTERACTIVE || - run_mode == GIMP_RUN_WITH_LAST_VALS) - { - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "MNG", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA | - GIMP_EXPORT_CAN_HANDLE_LAYERS); - } - drawables = gimp_image_list_layers (image); - n_drawables = g_list_length (drawables); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! mng_save_dialog (image, procedure, G_OBJECT (config))) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA | + GIMP_EXPORT_CAN_HANDLE_LAYERS); + drawables = gimp_image_list_layers (image); + n_drawables = g_list_length (drawables); + if (status == GIMP_PDB_SUCCESS) { if (! mng_export_image (file, image, n_drawables, drawables, diff --git a/plug-ins/common/file-pat.c b/plug-ins/common/file-pat.c index eb8265fdca..7c3d503f24 100644 --- a/plug-ins/common/file-pat.c +++ b/plug-ins/common/file-pat.c @@ -178,31 +178,22 @@ pat_export (GimpProcedure *procedure, g_free (description); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "PAT", - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - n_drawables = g_list_length (drawables); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (image, procedure, G_OBJECT (config))) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); + drawables = gimp_image_list_layers (image); + n_drawables = g_list_length (drawables); + if (status == GIMP_PDB_SUCCESS) { GimpProcedure *procedure; diff --git a/plug-ins/common/file-pcx.c b/plug-ins/common/file-pcx.c index 1d5aa5139e..59adff25ba 100644 --- a/plug-ins/common/file-pcx.c +++ b/plug-ins/common/file-pcx.c @@ -375,21 +375,10 @@ pcx_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "PCX", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED); drawables = gimp_image_list_layers (image); if (! export_image (file, diff --git a/plug-ins/common/file-pdf-export.c b/plug-ins/common/file-pdf-export.c index dddea21ea7..ed4c2570b2 100644 --- a/plug-ins/common/file-pdf-export.c +++ b/plug-ins/common/file-pdf-export.c @@ -716,7 +716,7 @@ pdf_export_image (GimpProcedure *procedure, */ cairo_save (cr); - if (! (gimp_export_image (&image, NULL, + if (! (gimp_export_image (&image, capabilities) == GIMP_EXPORT_EXPORT)) { /* gimp_drawable_histogram() only works within the bounds of diff --git a/plug-ins/common/file-pix.c b/plug-ins/common/file-pix.c index dfb2eae7e0..24a3f37cea 100644 --- a/plug-ins/common/file-pix.c +++ b/plug-ins/common/file-pix.c @@ -267,21 +267,10 @@ pix_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "PIX", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED); drawables = gimp_image_list_layers (image); if (! export_image (file, image, drawables->data, &error)) diff --git a/plug-ins/common/file-png.c b/plug-ins/common/file-png.c index 0abc2a3773..5f96e79e3c 100644 --- a/plug-ins/common/file-png.c +++ b/plug-ins/common/file-png.c @@ -382,22 +382,11 @@ png_export (GimpProcedure *procedure, orig_image = image; - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "PNG", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); drawables = gimp_image_list_layers (image); alpha = gimp_drawable_has_alpha (drawables->data); @@ -412,6 +401,8 @@ png_export (GimpProcedure *procedure, if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! export_dialog (orig_image, procedure, G_OBJECT (config), alpha)) status = GIMP_PDB_CANCEL; } diff --git a/plug-ins/common/file-pnm.c b/plug-ins/common/file-pnm.c index 96aa3a46a7..aad51f07cf 100644 --- a/plug-ins/common/file-pnm.c +++ b/plug-ins/common/file-pnm.c @@ -603,66 +603,57 @@ pnm_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - switch (file_type) - { - case FILE_TYPE_PNM: - export = gimp_export_image (&image, "PNM", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - case FILE_TYPE_PBM: - export = gimp_export_image (&image, "PBM", - GIMP_EXPORT_CAN_HANDLE_BITMAP); - break; - - case FILE_TYPE_PGM: - export = gimp_export_image (&image, "PGM", - GIMP_EXPORT_CAN_HANDLE_GRAY); - break; - - case FILE_TYPE_PPM: - export = gimp_export_image (&image, "PPM", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - case FILE_TYPE_PAM: - export = gimp_export_image (&image, "PAM", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_ALPHA | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - case FILE_TYPE_PFM: - export = gimp_export_image (&image, "PFM", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY); - break; - } - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (file_type != FILE_TYPE_PFM && file_type != FILE_TYPE_PAM && run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (procedure, G_OBJECT (config), image)) status = GIMP_PDB_CANCEL; } + switch (file_type) + { + case FILE_TYPE_PNM: + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED); + break; + + case FILE_TYPE_PBM: + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_BITMAP); + break; + + case FILE_TYPE_PGM: + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_GRAY); + break; + + case FILE_TYPE_PPM: + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_INDEXED); + break; + + case FILE_TYPE_PAM: + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_ALPHA | + GIMP_EXPORT_CAN_HANDLE_INDEXED); + break; + + case FILE_TYPE_PFM: + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY); + break; + } + drawables = gimp_image_list_layers (image); + if (status == GIMP_PDB_SUCCESS) { if (! export_image (file, image, drawables->data, file_type, diff --git a/plug-ins/common/file-ps.c b/plug-ins/common/file-ps.c index e198e55314..d84707fd6f 100644 --- a/plug-ins/common/file-ps.c +++ b/plug-ins/common/file-ps.c @@ -757,24 +757,7 @@ ps_export (GimpProcedure *procedure, switch (run_mode) { case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, - eps_flag ? "EPS" : "PostScript", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: ps_set_save_size (G_OBJECT (config), orig_image); if (! save_dialog (procedure, G_OBJECT (config), image)) @@ -789,6 +772,12 @@ ps_export (GimpProcedure *procedure, break; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED); + drawables = gimp_image_list_layers (image); + if (status == GIMP_PDB_SUCCESS) { gdouble width = 0.0; diff --git a/plug-ins/common/file-psp.c b/plug-ins/common/file-psp.c index 2f4883cf02..31597d5867 100644 --- a/plug-ins/common/file-psp.c +++ b/plug-ins/common/file-psp.c @@ -775,32 +775,23 @@ psp_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "PSP", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA | - GIMP_EXPORT_CAN_HANDLE_LAYERS); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - n_drawables = g_list_length (drawables); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (procedure, G_OBJECT (config), image)) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA | + GIMP_EXPORT_CAN_HANDLE_LAYERS); + drawables = gimp_image_list_layers (image); + n_drawables = g_list_length (drawables); + if (status == GIMP_PDB_SUCCESS) { if (! export_image (file, image, n_drawables, drawables, diff --git a/plug-ins/common/file-qoi.c b/plug-ins/common/file-qoi.c index 53b899af4b..95e6d35dd3 100644 --- a/plug-ins/common/file-qoi.c +++ b/plug-ins/common/file-qoi.c @@ -230,22 +230,11 @@ qoi_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "qoi", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); drawables = gimp_image_list_layers (image); if (! export_image (file, image, drawables->data, &error)) diff --git a/plug-ins/common/file-raw-data.c b/plug-ins/common/file-raw-data.c index 7ab21c9d99..e465165d0e 100644 --- a/plug-ins/common/file-raw-data.c +++ b/plug-ins/common/file-raw-data.c @@ -677,7 +677,7 @@ raw_export (GimpProcedure *procedure, NULL); } - export = gimp_export_image (&image, "RAW", + export = gimp_export_image (&image, GIMP_EXPORT_CAN_HANDLE_RGB | GIMP_EXPORT_CAN_HANDLE_GRAY | GIMP_EXPORT_CAN_HANDLE_INDEXED | diff --git a/plug-ins/common/file-sunras.c b/plug-ins/common/file-sunras.c index 506877fbca..e8843fbd94 100644 --- a/plug-ins/common/file-sunras.c +++ b/plug-ins/common/file-sunras.c @@ -376,29 +376,20 @@ sunras_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "SUNRAS", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (image, procedure, G_OBJECT (config))) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED); + drawables = gimp_image_list_layers (image); + if (status == GIMP_PDB_SUCCESS) { if (! export_image (file, image, drawables->data, G_OBJECT (config), diff --git a/plug-ins/common/file-tga.c b/plug-ins/common/file-tga.c index cd44bc967d..f6f24a1319 100644 --- a/plug-ins/common/file-tga.c +++ b/plug-ins/common/file-tga.c @@ -365,30 +365,21 @@ tga_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "TGA", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (image, procedure, G_OBJECT (config))) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); + drawables = gimp_image_list_layers (image); + if (status == GIMP_PDB_SUCCESS) { if (! export_image (file, image, drawables->data, G_OBJECT (config), diff --git a/plug-ins/common/file-xbm.c b/plug-ins/common/file-xbm.c index 609d2cddc6..fac47afd80 100644 --- a/plug-ins/common/file-xbm.c +++ b/plug-ins/common/file-xbm.c @@ -349,22 +349,6 @@ xbm_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "XBM", - GIMP_EXPORT_CAN_HANDLE_BITMAP | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (run_mode == GIMP_RUN_INTERACTIVE || run_mode == GIMP_RUN_WITH_LAST_VALS) { @@ -372,10 +356,16 @@ xbm_export (GimpProcedure *procedure, mask_basename = g_strdup (init_prefix (file, G_OBJECT (config))); } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_BITMAP | + GIMP_EXPORT_CAN_HANDLE_ALPHA); + drawables = gimp_image_list_layers (image); + if (run_mode == GIMP_RUN_INTERACTIVE) { GimpParasite *parasite; + gimp_ui_init (PLUG_IN_BINARY); parasite = gimp_image_get_parasite (image, "hot-spot"); if (parasite) diff --git a/plug-ins/common/file-xmc.c b/plug-ins/common/file-xmc.c index 92597926ee..7adc39fc45 100644 --- a/plug-ins/common/file-xmc.c +++ b/plug-ins/common/file-xmc.c @@ -531,8 +531,8 @@ xmc_export (GimpProcedure *procedure, { GimpPDBStatusType status = GIMP_PDB_SUCCESS; GimpExportReturn export = GIMP_EXPORT_IGNORE; - GList *drawables = gimp_image_list_layers (image); - gint n_drawables = g_list_length (drawables); + GList *drawables = NULL; + gint n_drawables = NULL; GimpImage *orig_image; GeglRectangle *hotspot_range; gint hot_spot_x; @@ -560,25 +560,7 @@ xmc_export (GimpProcedure *procedure, switch (run_mode) { case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "XMC", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_ALPHA | - GIMP_EXPORT_CAN_HANDLE_LAYERS | - GIMP_EXPORT_NEEDS_ALPHA); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - n_drawables = g_list_length (drawables); - - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: load_default_hotspot (image, hotspot_range, G_OBJECT (config)); if (! save_dialog (procedure, G_OBJECT (config), image, hotspot_range)) @@ -610,6 +592,14 @@ xmc_export (GimpProcedure *procedure, break; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_ALPHA | + GIMP_EXPORT_CAN_HANDLE_LAYERS | + GIMP_EXPORT_NEEDS_ALPHA); + drawables = gimp_image_list_layers (image); + n_drawables = g_list_length (drawables); + if (! export_image (file, image, n_drawables, drawables, orig_image, G_OBJECT (config), &error)) { diff --git a/plug-ins/common/file-xpm.c b/plug-ins/common/file-xpm.c index 6c4a0a5119..5e6faa9d9c 100644 --- a/plug-ins/common/file-xpm.c +++ b/plug-ins/common/file-xpm.c @@ -313,26 +313,17 @@ xpm_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "XPM", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); drawables = gimp_image_list_layers (image); if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (gimp_drawable_has_alpha (drawables->data)) if (! save_dialog (image, procedure, G_OBJECT (config))) status = GIMP_PDB_CANCEL; diff --git a/plug-ins/common/file-xwd.c b/plug-ins/common/file-xwd.c index 490a451ec5..9a2d1fcf85 100644 --- a/plug-ins/common/file-xwd.c +++ b/plug-ins/common/file-xwd.c @@ -423,27 +423,14 @@ xwd_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "XWD", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED); drawables = gimp_image_list_layers (image); if (! export_image (file, image, drawables->data, &error)) - { - status = GIMP_PDB_EXECUTION_ERROR; - } + status = GIMP_PDB_EXECUTION_ERROR; if (export == GIMP_EXPORT_EXPORT) gimp_image_delete (image); diff --git a/plug-ins/file-bmp/bmp.c b/plug-ins/file-bmp/bmp.c index 6765b93e8f..7d809bf310 100644 --- a/plug-ins/file-bmp/bmp.c +++ b/plug-ins/file-bmp/bmp.c @@ -267,22 +267,14 @@ bmp_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); + if (run_mode == GIMP_RUN_INTERACTIVE) + gimp_ui_init (PLUG_IN_BINARY); - export = gimp_export_image (&image, "BMP", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_ALPHA | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_ALPHA | + GIMP_EXPORT_CAN_HANDLE_INDEXED); drawables = gimp_image_list_layers (image); status = export_image (file, image, drawables->data, run_mode, diff --git a/plug-ins/file-dds/dds.c b/plug-ins/file-dds/dds.c index bd5ffaed67..6cc7419dd4 100644 --- a/plug-ins/file-dds/dds.c +++ b/plug-ins/file-dds/dds.c @@ -382,23 +382,15 @@ dds_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init ("dds"); + if (run_mode == GIMP_RUN_INTERACTIVE) + gimp_ui_init ("dds"); - export = gimp_export_image (&image, "DDS", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA | - GIMP_EXPORT_CAN_HANDLE_LAYERS); - break; - - default: - break; - } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA | + GIMP_EXPORT_CAN_HANDLE_LAYERS); drawables = gimp_image_list_layers (image); g_object_get (config, diff --git a/plug-ins/file-fits/fits.c b/plug-ins/file-fits/fits.c index d90df15221..6ccfafff80 100644 --- a/plug-ins/file-fits/fits.c +++ b/plug-ins/file-fits/fits.c @@ -302,21 +302,14 @@ fits_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); + if (run_mode == GIMP_RUN_INTERACTIVE) + gimp_ui_init (PLUG_IN_BINARY); - export = gimp_export_image (&image, "FITS", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED); - break; + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED); - default: - break; - } drawables = gimp_image_list_layers (image); n_drawables = g_list_length (drawables); diff --git a/plug-ins/file-fli/fli-gimp.c b/plug-ins/file-fli/fli-gimp.c index b5ba8d007d..12053ac801 100644 --- a/plug-ins/file-fli/fli-gimp.c +++ b/plug-ins/file-fli/fli-gimp.c @@ -345,30 +345,21 @@ fli_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "FLI", - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_ALPHA | - GIMP_EXPORT_CAN_HANDLE_LAYERS); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (image, procedure, G_OBJECT (config))) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_ALPHA | + GIMP_EXPORT_CAN_HANDLE_LAYERS); + drawables = gimp_image_list_layers (image); + if (status == GIMP_PDB_SUCCESS) { if (! export_image (file, image, G_OBJECT (config), diff --git a/plug-ins/file-jpeg/jpeg.c b/plug-ins/file-jpeg/jpeg.c index d968a86cb2..eec22cca20 100644 --- a/plug-ins/file-jpeg/jpeg.c +++ b/plug-ins/file-jpeg/jpeg.c @@ -436,33 +436,6 @@ jpeg_export (GimpProcedure *procedure, orig_image = image; - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "JPEG", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY); - - switch (export) - { - case GIMP_EXPORT_EXPORT: - display = NULL; - separate_display = TRUE; - break; - - case GIMP_EXPORT_IGNORE: - break; - } - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - /* Override preferences from JPG export defaults (if saved). */ switch (run_mode) @@ -545,10 +518,17 @@ jpeg_export (GimpProcedure *procedure, "original-num-quant-tables", orig_num_quant_tables, NULL); + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY); + drawables = gimp_image_list_layers (image); + if (run_mode == GIMP_RUN_INTERACTIVE) { gboolean show_preview = FALSE; + gimp_ui_init (PLUG_IN_BINARY); + g_object_get (config, "show-preview", &show_preview, NULL); if (show_preview) { @@ -563,6 +543,8 @@ jpeg_export (GimpProcedure *procedure, preview_image = image; orig_image_global = orig_image; drawable_global = drawables->data; + display = NULL; + separate_display = TRUE; /* First acquire information with a dialog */ if (! save_dialog (procedure, config, drawables->data, orig_image)) diff --git a/plug-ins/file-psd/psd.c b/plug-ins/file-psd/psd.c index cf5a7a0a45..bc1d404685 100644 --- a/plug-ins/file-psd/psd.c +++ b/plug-ins/file-psd/psd.c @@ -432,33 +432,24 @@ psd_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "PSD", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA | - GIMP_EXPORT_CAN_HANDLE_LAYERS | - GIMP_EXPORT_CAN_HANDLE_LAYER_MASKS); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (image, procedure, G_OBJECT (config))) return gimp_procedure_new_return_values (procedure, GIMP_PDB_CANCEL, NULL); } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA | + GIMP_EXPORT_CAN_HANDLE_LAYERS | + GIMP_EXPORT_CAN_HANDLE_LAYER_MASKS); + drawables = gimp_image_list_layers (image); + if (export_image (file, image, G_OBJECT (config), &error)) { if (metadata) diff --git a/plug-ins/file-sgi/sgi.c b/plug-ins/file-sgi/sgi.c index 05ff637aff..8395e21741 100644 --- a/plug-ins/file-sgi/sgi.c +++ b/plug-ins/file-sgi/sgi.c @@ -245,30 +245,21 @@ sgi_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - switch (run_mode) - { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - gimp_ui_init (PLUG_IN_BINARY); - - export = gimp_export_image (&image, "SGI", - GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - break; - - default: - break; - } - drawables = gimp_image_list_layers (image); - if (run_mode == GIMP_RUN_INTERACTIVE) { + gimp_ui_init (PLUG_IN_BINARY); + if (! save_dialog (procedure, G_OBJECT (config), image)) status = GIMP_PDB_CANCEL; } + export = gimp_export_image (&image, + GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); + drawables = gimp_image_list_layers (image); + if (status == GIMP_PDB_SUCCESS) { if (! export_image (file, image, drawables->data, diff --git a/plug-ins/file-tiff/file-tiff.c b/plug-ins/file-tiff/file-tiff.c index fef6a84352..aeae08dba5 100644 --- a/plug-ins/file-tiff/file-tiff.c +++ b/plug-ins/file-tiff/file-tiff.c @@ -394,53 +394,45 @@ tiff_export_rec (GimpProcedure *procedure, } } - switch (run_mode) + if (status == GIMP_PDB_SUCCESS) { - case GIMP_RUN_INTERACTIVE: - case GIMP_RUN_WITH_LAST_VALS: - { - GimpExportCapabilities capabilities; - GimpCompression compression; - gboolean save_layers; - gboolean crop_layers; + GimpExportCapabilities capabilities; + GimpCompression compression; + gboolean save_layers; + gboolean crop_layers; - g_object_get (config, - "bigtiff", &bigtiff, - "save-layers", &save_layers, - "crop-layers", &crop_layers, - NULL); - compression = gimp_procedure_config_get_choice_id (config, "compression"); + g_object_get (config, + "bigtiff", &bigtiff, + "save-layers", &save_layers, + "crop-layers", &crop_layers, + NULL); + compression = gimp_procedure_config_get_choice_id (config, "compression"); - if (compression == GIMP_COMPRESSION_CCITTFAX3 || - compression == GIMP_COMPRESSION_CCITTFAX4) - { - /* G3/G4 are fax compressions. They only support - * monochrome images without alpha support. - */ - capabilities = GIMP_EXPORT_CAN_HANDLE_INDEXED; - } - else - { - capabilities = (GIMP_EXPORT_CAN_HANDLE_RGB | - GIMP_EXPORT_CAN_HANDLE_GRAY | - GIMP_EXPORT_CAN_HANDLE_INDEXED | - GIMP_EXPORT_CAN_HANDLE_ALPHA); - } + if (compression == GIMP_COMPRESSION_CCITTFAX3 || + compression == GIMP_COMPRESSION_CCITTFAX4) + { + /* G3/G4 are fax compressions. They only support + * monochrome images without alpha support. + */ + capabilities = GIMP_EXPORT_CAN_HANDLE_INDEXED; + } + else + { + capabilities = (GIMP_EXPORT_CAN_HANDLE_RGB | + GIMP_EXPORT_CAN_HANDLE_GRAY | + GIMP_EXPORT_CAN_HANDLE_INDEXED | + GIMP_EXPORT_CAN_HANDLE_ALPHA); + } - if (save_layers && image_is_multi_layer (orig_image)) - { - capabilities |= GIMP_EXPORT_CAN_HANDLE_LAYERS; + if (save_layers && image_is_multi_layer (orig_image)) + { + capabilities |= GIMP_EXPORT_CAN_HANDLE_LAYERS; - if (crop_layers) - capabilities |= GIMP_EXPORT_NEEDS_CROP; - } + if (crop_layers) + capabilities |= GIMP_EXPORT_NEEDS_CROP; + } - export = gimp_export_image (&image, "TIFF", capabilities); - } - break; - - default: - break; + export = gimp_export_image (&image, capabilities); } drawables = gimp_image_list_layers (image); diff --git a/plug-ins/file-webp/file-webp.c b/plug-ins/file-webp/file-webp.c index c64f4c6c5f..4ac934dcb2 100644 --- a/plug-ins/file-webp/file-webp.c +++ b/plug-ins/file-webp/file-webp.c @@ -295,8 +295,7 @@ webp_export (GimpProcedure *procedure, gegl_init (NULL, NULL); - if (run_mode == GIMP_RUN_INTERACTIVE || - run_mode == GIMP_RUN_WITH_LAST_VALS) + if (run_mode == GIMP_RUN_INTERACTIVE) gimp_ui_init (PLUG_IN_BINARY); if (run_mode == GIMP_RUN_INTERACTIVE) @@ -311,8 +310,7 @@ webp_export (GimpProcedure *procedure, "animation", &animation, NULL); - if (run_mode == GIMP_RUN_INTERACTIVE || - run_mode == GIMP_RUN_WITH_LAST_VALS) + if (status == GIMP_PDB_SUCCESS) { GimpExportCapabilities capabilities = (GIMP_EXPORT_CAN_HANDLE_RGB | GIMP_EXPORT_CAN_HANDLE_GRAY | @@ -322,7 +320,7 @@ webp_export (GimpProcedure *procedure, if (animation) capabilities |= GIMP_EXPORT_CAN_HANDLE_LAYERS_AS_ANIMATION; - export = gimp_export_image (&image, "WebP", capabilities); + export = gimp_export_image (&image, capabilities); } drawables = gimp_image_list_layers (image); n_drawables = g_list_length (drawables);