mirror of https://github.com/GNOME/gimp.git
plug-ins/jpeg/jpeg.[ch] Make the "Save XMP data" checkbox insensitive if
2007-07-27 Raphael Quinet <raphael@gimp.org> * plug-ins/jpeg/jpeg.[ch] * plug-ins/jpeg/jpeg-save.c (save_dialog): Make the "Save XMP data" checkbox insensitive if there is no XMP packet to save. svn path=/trunk/; revision=23019
This commit is contained in:
parent
554b12fbe7
commit
b361037a52
|
@ -1,3 +1,9 @@
|
|||
2007-07-27 Raphaël Quinet <raphael@gimp.org>
|
||||
|
||||
* plug-ins/jpeg/jpeg.[ch]
|
||||
* plug-ins/jpeg/jpeg-save.c (save_dialog): Make the "Save XMP
|
||||
data" checkbox insensitive if there is no XMP packet to save.
|
||||
|
||||
2007-07-26 Raphaël Quinet <raphael@gimp.org>
|
||||
|
||||
* plug-ins/jpeg/Makefile.am
|
||||
|
|
|
@ -575,6 +575,7 @@ save_image (const gchar *filename,
|
|||
jpeg_write_marker (&cinfo, JPEG_APP0 + 1, app_block,
|
||||
sizeof (JPEG_APP_HEADER_XMP) + xmp_data_size);
|
||||
g_free (app_block);
|
||||
gimp_parasite_free (parasite);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1016,9 +1017,10 @@ save_dialog (void)
|
|||
G_CALLBACK (gimp_toggle_button_update),
|
||||
&jsvals.save_xmp);
|
||||
|
||||
/* FIXME: check if XMP packet exists, disable toggle if not */
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle),
|
||||
jsvals.save_xmp);
|
||||
jsvals.save_xmp && has_metadata);
|
||||
|
||||
gtk_widget_set_sensitive (toggle, has_metadata);
|
||||
|
||||
/* Subsampling */
|
||||
label = gtk_label_new (_("Subsampling:"));
|
||||
|
|
|
@ -58,6 +58,7 @@ gint32 display_ID;
|
|||
JpegSaveVals jsvals;
|
||||
gint32 orig_image_ID_global;
|
||||
gint32 drawable_ID_global;
|
||||
gboolean has_metadata;
|
||||
|
||||
#ifdef HAVE_EXIF
|
||||
ExifData *exif_data = NULL;
|
||||
|
@ -205,6 +206,7 @@ run (const gchar *name,
|
|||
|
||||
image_ID_global = -1;
|
||||
layer_ID_global = -1;
|
||||
has_metadata = FALSE;
|
||||
|
||||
if (strcmp (name, LOAD_PROC) == 0)
|
||||
{
|
||||
|
@ -322,6 +324,13 @@ run (const gchar *name,
|
|||
gimp_parasite_free (parasite);
|
||||
}
|
||||
|
||||
parasite = gimp_image_parasite_find (orig_image_ID, "gimp-metadata");
|
||||
if (parasite)
|
||||
{
|
||||
has_metadata = TRUE;
|
||||
gimp_parasite_free (parasite);
|
||||
}
|
||||
|
||||
#ifdef HAVE_EXIF
|
||||
|
||||
exif_data = gimp_metadata_generate_exif (orig_image_ID);
|
||||
|
|
|
@ -48,6 +48,7 @@ extern gboolean undo_touched;
|
|||
extern gboolean load_interactive;
|
||||
extern gint32 display_ID;
|
||||
extern gchar *image_comment;
|
||||
extern gboolean has_metadata;
|
||||
|
||||
gint32 load_image (const gchar *filename,
|
||||
GimpRunMode runmode,
|
||||
|
|
Loading…
Reference in New Issue