2007-08-10 Raphael Quinet <raphael@gimp.org>
* plug-ins/jpeg/jpeg.[ch]
* plug-ins/jpeg/jpeg-save.[ch]: in the JPEG save dialog, removed
the option "Force baseline JPEG" and added the new option "Use
custom quantization tables" to allow resaving a JPEG file with the
same compression settings as the original file. This is useful if
the quantization tables are different from those that can be
created by the IJG JPEG library.
* plug-ins/jpeg/jpeg-settings.[ch]: updated comments, changed the
return type of jpeg_restore_original_tables() because the IJG JPEG
library expects unsigned integers.
svn path=/trunk/; revision=23197
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
2007-07-17 Raphael Quinet <raphael@gimp.org>
Reorganized the way JPEG comments and metadata are loaded.
* plug-ins/jpeg/jpeg-load.c (load_image): sanitize comments
containing invalid UTF-8 instead of discarding them. If there is
more than one EXIF block in a file, merge all of them instead of
keeping only the block that contains a thumbnail image (see also
bug #446809 and bug #358117). Process XMP after EXIF.
* plug-ins/jpeg/jpeg.h: include two null characters as part of the
EXIF header.
* plug-ins/jpeg/jpeg-exif.c: added jpeg_exif_get_orientation(),
removed jpeg_apply_exif_data_to_image() because this is now done
directly in jpeg-load.c.
* plug-ins/jpeg/jpeg-icc.c
* plug-ins/jpeg/jpeg-icc.h: removed jpeg_icc_setup_read_profile()
svn path=/trunk/; revision=22949
2006-03-28 Sven Neumann <sven@gimp.org>
* plug-ins/jpeg/jpeg-exif.c
* plug-ins/jpeg/jpeg-load.c
* plug-ins/jpeg/jpeg.h: added a utility function to work around
filename encoding problems when reading EXIF data (bug #335391).
2005-04-12 Raphael Quinet <raphael@gimp.org>
* configure.in: updated test for libjpeg so that it requires
version 6b (27-Mar-1998) or later.
* plug-ins/jpeg/jpeg.h
* plug-ins/jpeg/jpeg.c
* plug-ins/jpeg/jpeg-load.c
* plug-ins/jpeg/jpeg-save.h
* plug-ins/jpeg/jpeg-save.c: added support for loading and saving
XMP packets in JPEG APP1 markers, simplified the code that reads
comments from COM markers and removed #ifdef HAVE_PROGRESSIVE_JPEG
because we require jpeg-6b, which includes progressive support.
* configure.in: add check for libexif version >= 0.6.0,
necessary because of nasty incompatible api change.
* plug-ins/jpeg/exif-handling.txt: removed from here...
* devel-docs/exif-handling.txt: ...and added here
* plug-ins/jpeg/jpeg-exif.c
* plug-ins/jpeg/Makefile.am
* plug-ins/jpeg/jpeg-load.c
* plug-ins/jpeg/jpeg.c
* plug-ins/jpeg/jpeg.h: extract info from exif on loading,
and add info to exif on saving, addresses bug #56433,
bug #61499, and bug #121810.
* plug-ins/jpeg/Makefile.am
* plug-ins/jpeg/NEWS
* plug-ins/jpeg/jpeg.c
* plug-ins/jpeg/jpeg.h
* plug-ins/jpeg/jpeg_load.c
* plug-ins/jpeg/jpeg_load.h
* plug-ins/jpeg/jpeg_save.c
* plug-ins/jpeg/jpeg_save.h: moved jpeg code into new
dir and split up, already too large and a good bit more
will be needed for proper exif handling.
* plug-ins/common/jpeg.c: removed
* configure.in
* plug-ins/Makefile.am
* plug-ins/common/Makefile.am: changed accordingly
2004-11-27 Sven Neumann <sven@gimp.org>
* plug-ins/common/jpeg.c: delay the creation of the display for
the export image preview until the user requests a preview. Fixes
bug #159376.
2004-11-25 Manish Singh <yosh@gimp.org>
* plug-ins/common/jpeg.c: Use a jpeg_error_mgr that lives within
PreviewPersistent, instead of an automatic variable in save_image.
Fixes bug #159076.
2004-11-23 Michael Natterer <mitch@gimp.org>
* app/core/gimpparasitelist.c: cosmetics, untabified.
* libgimpbase/gimpparasiteio.[ch]: added g_return_if_fail()'s
to all functions.
(gimp_pixpipe_params_parse): changed "gchar*" param to "const
gchar*" (sortof API change, but these files are most probably only
used by GIMP itself). Still uses strtok() on the internal copy,
but at least not on the passed string.
* plug-ins/common/csource.c
* plug-ins/common/gif.c
* plug-ins/common/gih.c
* plug-ins/common/jpeg.c
* plug-ins/common/png.c
* plug-ins/common/tiff.c: use parasite getters instead of
accessing the scruct members directly. Always use g_strndup()
instead of just g_strdup() to get strings stored in parasites
because there is no guarantee that they are nul-terminated.
2004-11-18 Sven Neumann <sven@gimp.org>
* app/file/file-open.c (file_open_thumbnail): check the number of
return values. Only retrieve width and height if the thumbnail
load procedure does actually provide such this information.
* plug-ins/common/postscript.c: added a procedure to loads
thumbnails. For now it only renders the first page of the
document at low resolution. It should be extended to load an
embedded thumbnail if available.
* plug-ins/common/jpeg.c
* plug-ins/common/svg.c: no need to register a menu label for the
thumbnail loaders. Allocate the return_vals array large enough to
hold all return values.
2004-11-17 Michael Natterer <mitch@gimp.org>
* plug-ins/common/jpeg.c: applied (modified) patch from S. Mukund
which adds EXIF thumbnail loading and saving.
Fixes bugs #155761 and #158190.
2004-10-29 Sven Neumann <sven@gimp.org>
* plug-ins/common/jpeg.c: pass the name to filesystem encoding to
gimp_image_set_filename(). Fixes bug #153751 for the JPEG plug-in.
2004-09-13 Sven Neumann <sven@gimp.org>
* plug-ins/common/jpeg.c (save_dialog): make the "Save EXIF data"
toggle insensitive when no EXIF data is present (bug #140042).
* app/display/gimpdisplayshell-close.c: as suggested by the HIG,
ask the user to save the image when the last display is being
closed. Addresses some issues raised in bug #106726.
2004-07-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptemplateeditor.c
* plug-ins/common/gif.c
* plug-ins/common/jpeg.c: set GTK_SHADOW_IN on scrolled windows of
text views. Fixes bug #148025.
2004-07-13 Sven Neumann <sven@gimp.org>
* plug-ins/common/jpeg.c: override the output_message error
handler in order to propagate warnings to the user interface
(related to bug #145212).
2004-07-07 Manish Singh <yosh@gimp.org>
* plug-ins/common/jpeg.c: Don't try to load EXIF data if any warnings
happened, cause that likely means corruption and libexif doesn't
handle that very happily. Addresses bug #145212. Perhaps the error and
warning messages should be propagated to the user in the GUI somehow,
currently they are not.
2004-06-21 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpwidgets.[ch]
* libgimpwidgets/gimpwidgets.def: added new utility function
gimp_label_set_attributes().
* app/display/gimpdisplayshell.c
* app/gui/preferences-dialog.c
* app/gui/resolution-calibrate-dialog.c
* app/widgets/gimpviewabledialog.c
* app/widgets/gimpwidgets-utils.c: use the new function.
* app/widgets/gimpcontainergridview.c
* app/widgets/gimphistogrameditor.c: display the name in italic.
* plug-ins/common/jpeg.c: display the file size in italic.
* plug-ins/common/jpeg.c: more changes to save dialog. Moved
comment field to Advanced area. Don't set restart marker
frequency stuff insensitive. Changed range for quality
scale from 0-1 to 0-100 to follow the jpeg spec (but left
allowable range for pdb at 0-1 to avoid breaking anything).
* plug-ins/common/jpeg.c: redid save dialog along lines suggested
in bug # 138929
Only create an exif data parasite on loading file if the file actually
contains exif data.
Call exif data parasite "exif-data" instead of "jpeg-exif-data",
because it should be interchangeable with TIFF exif data.
2004-05-14 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: added new PDB function
gimp_register_file_handler_mime() that allows to associate a MIME
type with a file procecdurre.
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.[ch]: store a mimetype with file procedures.
* app/actions/file-commands.c
* app/core/gimpdocumentlist.[ch]
* app/core/gimpimagefile.[ch]
* app/file/file-open.[ch]
* app/file/file-save.c: set the thumbnail's mimetype from the file
procedure used to load/save the image.
* app/xcf/xcf.c
* plug-ins/bmp/bmp.c
* plug-ins/common/csource.c
* plug-ins/common/dicom.c
* plug-ins/common/gif.c
* plug-ins/common/gifload.c
* plug-ins/common/jpeg.c
* plug-ins/common/mng.c
* plug-ins/common/png.c
* plug-ins/common/postscript.c
* plug-ins/common/psd.c
* plug-ins/common/psd_save.c
* plug-ins/common/sunras.c
* plug-ins/common/svg.c
* plug-ins/common/tga.c
* plug-ins/common/tiff.c
* plug-ins/common/wmf.c
* plug-ins/common/xbm.c
* plug-ins/common/xpm.c
* plug-ins/common/xwd.c
* plug-ins/faxg3/faxg3.c
* plug-ins/winicon/main.c: register a mimetype, set a translatable
action name (taken from shared-mime-info) and register to the <Load>
and <Save> menus using gimp_plugin_menu_register().
2004-04-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpintcombobox.[ch]: added new widget
GimpIntComboBox, a GtkComboBox with a simple list store to hold a
label and an associated integer value. This is going to replace
gimp_int_option_menu.
* plug-ins/common/jpeg.c
* plug-ins/print/gimp_main_window.c: ported these two plug-ins to
the newly added widget.
2004-04-20 Sven Neumann <sven@gimp.org>
* libgimpwidgets/libgimpwidgets-docs.sgml
* libgimpwidgets/libgimpwidgets-sections.txt
* libgimpwidgets/libgimpwidgets.types
* libgimpwidgets/tmpl/gimpintcombobox.sgml: added docs for the new
GimpIntComboBox widget.
2004-04-17 Henrik Brix Andersen <brix@gimp.org>
* plug-ins/common/jpeg.c (save_dialog): live preview doesn't
modify the undo history of the image anymore, label changed
accordingly. Fixes bug #140296.
2004-04-09 Manish Singh <yosh@gimp.org>
* plug-ins/common/jpeg.c: Uglier workaround for bug #138357, since
the previous one did break error handling. Fixes bug #139571.
2004-04-02 Dave Neary <bolsh@gimp.org>
* plug-ins/common/jpeg.c: Added .jpe to the list of extensions
that the jpeg plug-in recognises. Fixes bug #138776.
2004-03-29 Manish Singh <yosh@gimp.org>
* plug-ins/common/jpeg.c (struct my_error_mgr): Move setjump_buffer
to the beginning of the structure, to make sure it is aligned on a
16-byte boundary for ia64, even with icc. Fixes#138357.
2004-03-14 Simon Budig <simon@gimp.org>
* plug-ins/common/jpeg.c: No need to use an undo_group *and*
freeze/thaw an image. Just using the latter keeps the undo
history ok in both directions. Also call gimp_displays_flush()
to make sure the undo keyboard shortcuts are enabled after the
plugin ends.
2004-01-20 Michael Natterer <mitch@gimp.org>
* app/widgets/gimphelp-ids.h: added help IDs for the libgimp
export and unit dialogs.
* libgimp/gimpexport.c
* libgimpwidgets/gimpunitmenu.c: replaced html links by the new
help IDs.
* plug-ins/*/*.c: replaced all html help links by help IDs. A
plug-in's help ID is its procedure name with '_' relaced by '-'.
(e.g. file_tiff_save's help ID is file-tiff-save)
Did some random indentation and whitespace cleanup.
2004-01-08 Raphaël Quinet <quinet@gamers.org>
* plug-ins/common/jpeg.c: applied a (slightly modified) patch from
keith@goatman.me.uk, fixing a problem with the save dialog for
grayscale images and a small rounding error in the JPEG quality
level. Fixes bug #130912.
2003-11-14 Manish Singh <yosh@gimp.org>
* libgimpwidgets/gimpwidgets.[ch]: implementedgimp_int_option_menu_new
and gimp_int_radio_group_new, which are the same as
gimp_option_menu_new2 and gimp_radio_group_new2, but they take
integers as values to map instead of gpointers, which avoids casts
in pretty much all uses of it in the tree.
* app/gui/image-commands.c
* app/gui/offset-dialog.c
* app/widgets/gimppropwidgets.c
* app/widgets/gimpwidgets-constructors.c
* libgimpwidgets/gimpmemsizeentry.c
* modules/cdisplay_colorblind.c
* plug-ins/FractalExplorer/Dialogs.c
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_ui.c
* plug-ins/common/AlienMap.c
* plug-ins/common/AlienMap2.c
* plug-ins/common/CML_explorer.c
* plug-ins/common/align_layers.c
* plug-ins/common/blinds.c
* plug-ins/common/borderaverage.c
* plug-ins/common/bumpmap.c
* plug-ins/common/curve_bend.c
* plug-ins/common/deinterlace.c
* plug-ins/common/edge.c
* plug-ins/common/emboss.c
* plug-ins/common/fractaltrace.c
* plug-ins/common/gif.c
* plug-ins/common/hot.c
* plug-ins/common/iwarp.c
* plug-ins/common/jigsaw.c
* plug-ins/common/jpeg.c
* plug-ins/common/lic.c
* plug-ins/common/mail.c
* plug-ins/common/max_rgb.c
* plug-ins/common/mblur.c
* plug-ins/common/mng.c
* plug-ins/common/mosaic.c
* plug-ins/common/nlfilt.c
* plug-ins/common/papertile.c
* plug-ins/common/pnm.c
* plug-ins/common/ps.c
* plug-ins/common/psp.c
* plug-ins/common/ripple.c
* plug-ins/common/shift.c
* plug-ins/common/sinus.c
* plug-ins/common/sparkle.c
* plug-ins/common/struc.c
* plug-ins/common/sunras.c
* plug-ins/common/tiff.c
* plug-ins/common/waves.c
* plug-ins/common/wind.c
* plug-ins/fits/fits.c
* plug-ins/flame/flame.c
* plug-ins/gfig/gfig.c
* plug-ins/gimpressionist/color.c
* plug-ins/gimpressionist/orientmap.c
* plug-ins/gimpressionist/placement.c
* plug-ins/maze/maze_face.c
* plug-ins/sgi/sgi.c: Use gimp_int_option_menu_new and
gimp_int_radio_group_new.
* plug-ins/common/CML_explorer.c: make function_graph_new take a
gpointer *data instead of a gpointer data, and properly pass an
int through it.
* plug-ins/common/mng.c: mark menu strings for translation.
* plug-ins/rcm/rcm.c: remove initialization for Success member
in RcmParams, since it's gone now.
2003-11-11 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpdialog.[ch] (gimp_dialog_run): new function
which does the same as gtk_dialog_run() except it does not make
the dialog modal.
* app/gui/resolution-calibrate-dialog.c
* libgimp/gimpexport.c
* plug-ins/*/*.c: use gimp_dialog_run() instead of gtk_dialog_run().
* plug-ins/common/grid.c: set update_continuous to TRUE for
the GimpColorButtons so this feature gets some testing.